pyshacl-0.30.1/CHANGELOG.md0000644000000000000000000017312500000000000011747 0ustar00# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Python PEP 440 Versioning](https://www.python.org/dev/peps/pep-0440/). ## [Unreleased] - Nothing yet ## [0.30.1] - 2025-03-15 ### Fixed - Fixed a bug in SHACL Shape Targeting feature, BNode shapes that are referenced by a shape in `sh:or`, `sh:and` or `sh:xone` were not getting selected. - Fixes #280 ## [0.30.0] - 2025-01-24 ### Fixed - Finalize the decoupling of `base_uri` from graph `identifier`. - Blame the conflated naming of `publicID` in RDFLib for that confusion. - `load_from_source` will now correctly detect and use the BaseURI of files passed in, for relative URIs. - Fixes #281 ### Changed - Update to Poetry v2.0 and new pyproject.toml format. - Removed "Black", switched to "Ruff" for formatting as well as linting. - Switched to parsing `file:` IRIs in line with the RDF spec, and allow (base-less, or root-less) relative `file:` IRIs (as per the RDF spec). - But "" IRIs in Turtle files are now _not_ made relative to BaseURI, because they are relative to the CWD. ## [0.29.1] - 2024-12-16 ### Added - Two new basic examples in the Examples folder. - "sparql_assert_datatype.py" shows how to use SPARQL-based Constraints to assert a datatype on a literal. - "remote_sparql.py" shows how to use SparqlConnector store to validate data on a remote SPARQL endpoint. ### Fixed - Fixed a bug where the `identifier` would become "None" (string) in the `load_from_source` function. - Typos in the example Ontology files in the test suite. ## [0.29.0] - 2024-11-01 ### Added - When validating a Dataset instead of a bare Graph, PySHACL will now expand RDFS and OWL-RL inferences into a separate named graph, to avoid polluting the datagraph. - When using SHACL Triple Rules from SHACL-AF spec, PySHACL will now add the expressed triples into a separate named graph. This allows you to more easily get the expanded triples back out again afterward. - This is implemented for TripleRules, SPARQLRules and JSRules ### Changed - PySHACL no longer supports older RDFLib versions - PySHACL relies on the latest OWL-RL version, that in-turn relies on the latest RDFLib version - Therefore PySHACL now requires RDFLib v7.1.1 or newer - Dropped Python 3.8 support. - Python developers discontinued Python 3.8 last month - The next version of RDFLib and OWL-RL will not support Python 3.8 - Removed Python 3.8 from the RDFLib test suite - Python 3.9-specific typing changes will be incrementally introduced ## [0.28.1] - 2024-10-25 ### Fixed - PySHACL no longer overwrites the Python `root` logger and removes all its handlers. How Rude. ## [0.28.0] - 2024-10-23 ### Added - owl:imports now works with bnode values, where it contains the following: - schema:url is the string where to find the imported ontology - schema:url (again) with a "file://" path, to a local copy of the ontology - schema:identifier that is the canonical name to use for the ontology at load time (this is the publicID) - RDFUtil.loader `load_from_source` function now supports `identifier` that is akin to the publicID of the file being loaded, and that is passed to RDFLib parser to correctly do relative URIs, etc. ### Changed - Big change to how Milti-graph datasets (ie, rdflib.ConjunctiveGraph and rdflib.Dataset) are handled. - Instead of validating each named graph individually, PySHACL now sets `defaultUnion=True` and now validates the entire Dataset at once. - This allows you to logically segment your dataset as desired into many individual named graphs, and validation will still work as you expect it to. - This is in preparation for another big upcoming change in pySHACL that will allow OWL-RL inferencing to place inferred triples into a separate named graph, and SHACL Rules to place inferred triples into a separate named graph, and validation will still work as expected because validation is now against a union of the whole dataset. - Pre-Compile Regexs in sh:Pattern constraints. This allows faster re-use of the constraint, if is applied to many different targets. ### Fixed - Attempting to stringify a focus_node ar a value_node from the datagraph, where that node doesn't actually exist in the datagraph, no longer crashes, it falls back to a different method. ## [0.27.0] - 2024-10-11 ### Added - SHACL Rules Expander Mode - A new alternative Run Mode for PySHACL - PySHACL will not validate the DataGraph against Shapes and Constraints, instead it will simply run all SHACL-AF Rules to expand the DataGraph. - By default it will output a new graph containing the existing DataGraph Triples plus the expanded triples - Run with inplace mode to expand the new triples directly into the input DataGraph - Focus Node Filtering - You can now pass in a list of focus nodes to the validator, and it will only validate those focus nodes. - Note, you still need to pass in a SHACL Shapes Graph, and the shapes still need to target the focus nodes. - This feature will filter the Shapes' targeted focus nodes to include only those that are in the list of specified focus nodes. - SHACL Shape selection - You can now pass in a list of SHACL Shapes to the validator, and it will use only those Shapes for validation. - This is useful for testing new shapes in your shapes graph, or for many other procedure-driven use cases. - Combined Shape Selection with Focus Node filtering - The combination of the above two new features is especially powerful. - If you give the validator a list of Shapes to use, and a list of focus nodes, the validator will operate in a highly-targeted mode, it feeds those focus nodes directly into those given Shapes for validation. - In this mode, the selected SHACL Shape does not need to specify any focus-targeting mechanisms of its own. - Combined Rules Expander Mode with Shape Selection - The combination of SHACL Rules Expander Mode and Shape Selection will allow specialised workflows. - For example, you can run specific expansion rules from a SHACL Shapes File, based on the new triples required. ### Changed - Don't make a clone of the DataGraph if the input data graph is ephemeral. - An ephemeral graph is one that is loaded from a string or file location by PySHACL - This includes all files opened by the PySHACL CLI validator tool - We don't need to make a copy because PySHACL parsed the Graph into memory itself already, so we are not concerned about not polluting the user's graph. - Refactorings - shacl_path_to_sparql_path code to a reusable importable function - move sht_validate and dash_validate routes to `validator_conformance.py` module. - Removes some complexity from the main `validate` function. - Typing - A whole swathe of python typing fixes and new type annotations. Thanks @ajnelson-nist ### Fixed - Fixed SHACL Path generation where sh:inversePath is wrapping a different kind of SHACL Path. - This probably fixes lots of unreported sh:inversePath bugs - Fixes #227 - Fixed generic message generation when there are multiple sh:and, sh:or, or sh:xone constraints on a Shape. - Fixes #220 - Fix logic determining if a datagraph is ephemeral. ## [0.26.0] - 2024-04-11 ### Added - Added ability to specify a custom max-evaluation-depth. If you find yourself with a legitimate use case, and you are certain you need to increase this limit, and you are cetain you know what you are doing: - use `--max-depth i` argument on the commandline where `i` is an integer 1 to 999. - or use `max_validation_depth=i` in the validator arguments if using PySHACL as a library. - Fixes #224 - Add a "SHACLExecutor" context to be passed down to all Shape and Constraint objects, to allow them to operate in a common mode with common configuration values, as chosen by the mechanism that starts them (eg, the Validator). - This will allow for further configuration of "modes of operation" for PySHACL in the future, to allow for forms of exectors other than "Validator". ### Changed - Bumped Black version to 24.3.0 to mitigate CVE. - Bumped Poetry and Poetry-Core version to latest-and-greatest (fixes a bunch of long-standing bugs, I highly recommend updating). - cli `main()` no longer returns and `int`, it now emits `sys.exit(code)` and never returns. ### Fixed - Fixed typing on Python 3.8 and 3.12 (PRs #192 and #223). Thanks @ajnelson-nist - Fixed auto-generated validation message for `sh:not` when more than one `sh:not` is used on a constraint. ## [0.25.0] - 2023-11-23 ### Changed - Dropped support for Python 3.7 - Note, for compatibility with RDFLib 7.0, we specify a minimum Python version of v3.8.1 - https://github.com/RDFLib/rdflib/blob/3bee979cd0e5b6efc57296b4fc43dd8ede8cf375/CHANGELOG.md?plain=1#L53 - Add preliminary support for Python 3.12 - Dropped support for RDFLib v6.2.0 and earlier - Only RDFLib v6.3.2 and v7.0 are supported by PySHACL v0.25.0+ - Bumped to updated version of Black and Ruff - Reformatted everything according to py38 codestyle ### Fixed - Do not hard-pin to importlib-metadata. Fixes #214 ## [0.24.1] - 2023-11-23 ## Note - The 0.24.x series is the last to support Python 3.7 ### RDFLib v7.0.0 and some other dependencies already don't support 3.7, so PySHACL will drop it from 0.25+ ### Fixed - Shape can have multiple values for `sh:not`. Fixes #217 ## [0.24.0] - 2023-11-08 ## Note - The 0.24.x series is the last to support Python 3.7 ### RDFLib v7.0.0 and some other dependencies already don't support 3.7, so PySHACL will drop it from 0.25+ ### Added - Compatibility with RDFLib v7.0.0 - Closes #197 ### Fixed - `sh:qualifiedMinValue` on `sh:qualifiedValueShape` now works again, even if there are no value nodes found on the path of the parent `PropertyShape`. Fixes #213 Thank you @ajnelson-nist for finding and reporting this. - Fixes in rdfuitl (clone dataset, mixin dataset, and innoculate dataset) to support the case where all the DS's triples are in the default-context-uri graph. ### Changed - In accordance with corresponding changes in RDFLib v7.0.0, PySHACL will now always use the default-context-uri graph when parsing a grpah into a Dataset or a ConjunctiveGraph - Switched from deprecated `pkg_resources` to `importlib.metadata` for compatibility with Python 3.11 and 3.12. - This changes the way `pyshacl[extras]` are detected at runtime. If this adversely affects you, let us know. - Bumped PrettyTable dependency to a much newer version, to fix distro packaging conflicts and other issues. - Fixed more internal typing issues, particularly with newer versions of MyPy and Python 3.11+ ## [0.23.0] - 2023-05-23 ### Added - Added Python 3.11 support (use it, internal benchmarking shows its 25-30% faster than Python 3.8) - `sh:node` NodeConstraint now includes details of its child validation results, that were normally not included in the validation report. - exposed via the `sh:detail` property on the NodeConstraint validation report ### Changed - Added compatibility with Python 3.11, this requires: - RDFLib v6.3 or greater (recommended v6.3.2) - PyDuktape v0.4.3 for python 3.11 support - Poetry v1.5.0 (or poetry-core v1.6.0) - Graph Namespace manager now only registers 'core' namespaces, this avoids having inconsistencies and incompatibilities with your own namespaces. - Replaced Flake8 and isort with Ruff - Updated to latest Black version for formatting ### Fixed - Extend ontology inoculation to include triples where NamedIndividual URI is object. - Re-black all files, re-sort with new Ruff isort, fix some Mypy typing inconsistencies ## [0.22.2] - 2023-04-27 ### In this release: ### Fixed - Inoculating the datagraph using an extra ontology graph now copies over any missing namespace prefixes from the ontology graph to the datagraph. - This is to match old ontology-graph-mixin behaviour that had this side-effect. - Added a test to ensure this behaviour is not broken again. - Stringifying nodes in `QualifiedValueShape` default message was using wrong stringification operation. ## [0.22.1] - 2023-04-26 ### In this release: ### Fixed - Clone full contents of an `OWL:NamedIndividual` from the ontology graph to the datagraph, during the inoculation procedure. - This fixes the case where an NamedIndividual in an OWL ontology had properties that were required in the datagraph at runtime to ensure successful validation - Avoid hitting the recursion limit when stringifying a blank node, when OWL inferencing has inserted owl:sameAs the same blank node as is being serialized. - Avoid hitting the recursion limit when cloning a graph with a blank node, when OWL inferencing has inserted owl:sameAs the same blank node as is being cloned. ### Added - Added a default message for `QualifiedValueShape` constraint component. It never had one before. ### Changed - Lots more debug messaging. Debugging is now _much_ more verbose. - This gives more insight into how PySHACL runs, what it is doing, and how long each step takes. - All constraint evaluations will now output their results, regardless of whether are conformant or non-conformant or if they are used in the final conformance report. - You will probably want debug turned off unless you are tracking down the source of a problem or performance issue. ## [0.22.0] - 2023-04-18 ### In this release: ### Changed - Big change to how ontology mix-in mechanism works - Feature is now called datagraph inoculation - Inoculation copies _only_ RDFS and OWL axioms (classes, properties and relationships) from the extra-ontology file into the datagraph - This mitigates a class of errors that cause the validator to perform validation on Nodes that should not be in the datagraph - Such as cases where the Shapes graph and Extra-ontology graph are the same graph, but having SHACL Shapes and constraints in the datagraph is undesired. - Details around automatically cloning the datagraph before modification (inoculation) remain unchanged. - If you preferred the old behaviour, where the _whole_ extra-ontology file was mixed-in to the datafile, please file a Github issue outlining your need for that. ## [0.21.0] - 2023-03-31 ### In this release: ### Added - New HTTP Server functionality - run PySHACL as a persistent service, exposing an OpenAPI3.0-compatible REST interface - Detection of filename when downloading web attachments is added - Better detection of invalid integer values for sh:minLength and sh:maxLength string constraints. ### Fixed - Opening a http link that has chunked encoding, or content-disposition attachment will now work correctly. ## [0.20.0] - 2022-09-08 ### In this release: ### Fixed - Ill-typed/Ill-formed literals now fail the DataType test, as expected - Requires RDFLib v6.2.0+ - Fixes #140 (and possibly fixes #151) - Unskipped one of the remaining skipped shacl-test-suite SHT tests (`datatype-ill-formed_ttl.ttl`) - Fixed detection of recursion to be more lenient of deliberately recursive (but not infinitely recursive) shapes. - Fixes #154 - MetaShacl works again now with RDFLib >= v6.2.0 - Fixes #153 - Fixed typing issues affecting interoperability of new version of RDFLib and PySHACL. ### Changed - RDFLib v6.2.0 or greater is now _required_ to run PySHACL - This new version of RDFLib implements the ill-typed Literals feature, that helps with `sh:datatype` constraint validation. - Removing support for older versions of RDFLib allows PySHACL to implement new features, and have less unnecessary code - Bumped to using new Poetry v1.2.0 (or newest poetry-core v1.1.0) - Changed pytest-cov and coverage tests to be optional dependencies for dev - Bumped version of Black to 22.8.0, and re-blacked all files - Removed old monkey patches, no longer needed for the latest version of RDFLib - Removed bundled "Memory2" store, now using the default "Memory" from RDFLib - Regenerated bundled pickled triplestores, to use Memory instead of Memory2 - Updated official dockerfile with newest version of PySHACL and RDFLib - Published to dockerhub at [ashleysommer/pyshacl](https://hub.docker.com/repository/docker/ashleysommer/pyshacl) - `docker pull docker.io/ashleysommer/pyshacl:latest` ## [0.19.1] - 2022-06-30 ### In this release: ### Fixed - CLI Output Table formatting crashed when report graph did not contain a resultMessage - Fixes #145 - Executing advanced-mode triples rules can sometimes skip the graph clone step, and incorrectly emits new triples directly into the input data-graph - Discovered when investigating #148 ### Changed - Executing advanced triples rules no longer incorrectly emits new triples directly into the input data-graph - This _may_ been seen as a breaking change, if your workflow relied on this incorrect behaviour. - If you _really_ the rules engine to emit new triples into your input data graph, use the `inplace` validator option. - Updated built-in `schema.ttl` file to newer version that doesn't have UTF-8 encoding issues ### Added - Official Dockerfile is now included in the repository - Thanks @KonradHoeffner; Fixes #135 - Published to dockerhub at [ashleysommer/pyshacl](https://hub.docker.com/repository/docker/ashleysommer/pyshacl) - `docker pull docker.io/ashleysommer/pyshacl:latest` ## [0.19.0] - 2022-03-22 ### In this release: ### Fixed - Fixed a long-standing oversight where ShapeLoadErrors and ConstraintLoadErrors were not reported correctly when running PySHACL in CLI mode. - Sorry about that. Thanks lots of people for reporting this over the last year. I wish I fixed it sooner. - Fixed a long-standing bug where using `$PATH` in a sh:sparql query on a PropertyShape would not work correctly. - Fixes #124, Thanks @Martijn-Y-ai - Fixed a long-standing bug, that allows PySHACL to more reliably determine if graph source is a file path, or a graph string. - Fixes #132, Thanks @Zezombye - Fixed an issue where `sh:pattern` could not be applied to a Literal that was not an `xsd:string` or URI. - Fixes #133, Thanks @nicholascar - Fixed the outdated/incorrect error reported when a PropertyShape's `sh:path` value gets an unknown path type. - Fixes #129, Thanks @edmondchuc ### Added - New `--allow-infos` option in CLI mode and Python Module mode. - This is like `--allow-warnings` except it only allows violations with severity of `sh:Info`. - (`--allow-warnings` continues to allow both `sh:Warning` and `sh:Info` as it used to.) - Fixes #126, Thanks @ajnelson-nist - SPARQL-based Constraints can now substitute arbitrary bound SPARQL variables into their sh:message - Fixes #120 ### Changed - `--allow-infos` and `--allow-warnings` can now also be enabled with `--allow-info` and `--allow-warning` respectively. - Removed Snyk check on CI/CD pipeline, because there is an RDFLib issue blocking Snyk on PySHACL from passing. ## [0.18.1] - 2022-01-22 ### Added - Added the ability to pipe in SHACL file or ONT file via stdin on Linux or MacOS ### Fixed - Fixed an issue where the filetype detection routine in the RDF loader would fail to reset the file back to the start. ## [0.18.0] - 2022-01-13 ### Added - Added Python 3.10 support (when using RDFLib v6.1.1 or greater) - Added more type hinting, to conform to the new type hinting added by RDFLib 6.1.1 ### Changed - Subtle correction in the way `sh:prefixs` works with `sh:declare` on the given named ontology. - Bumped some min versions of libraries, to gain compatibility with Python 3.10 ### Fixed - Fixed test for issue #76 - Fixed #76 again (after fixed test) ## [0.17.3] - 2021-12-13 ### Fixed - Don't crash when a SHACL function is registered more than once (eg, if a function is both SPARQLFunction and JSFunction), fixes \#108, thanks Gabe Fierro - Fixed typo in CLI help output, thanks Alex Nelson - Don't print env vars when importing JS module, thanks MPolitze - Fix typo preventing OWL-RL >=6.0 to be used with pySHACL, Fixes #111 ### Added - Add Snyk checks to CI/CD pipeline ## [0.17.2] - 2021-10-25 ### Fixed - SPARQL queries with words "values", "minus", or "service" in its comments no longer incorrectly throw an exception. ### Changed - Switched from Travis to Drone for CI testing ### Added - New Table output type for commandline tool. Thanks @nicholascar ## [0.17.1] - 2021-10-11 ### Fixed - Handle transitive subclasses when evaluating sh:targetClass - @gtfierro - Fixes #96 - Improve detection of RDF/XML files when loading unknown content - Fixes #98 - Imported type stubs and resolved ALL MyPy issues! (this was a big effort) - Logic fixes in the dataset loader (thanks to inconsistencies exposed by MyPy) ### Changed - Add special cases to sh:dataclass constraint, when the given shape uses rdfs:Literal or rdfs:Dataclass as the dataclass to match on - Fixes #71 ### Added - Add datashapes.org/schema as a built-in graph - Fixes #98 - Added ability to pass a TextIO or TextIOWrapper object into the dataset loader ## [0.17.0.post1] - 2021-09-15 ## Notice This version of PySHACL **requires RDFLib 6.0.0_**. As a direct result of that, this version of PySHACL **also requires Python v3.7**. ### Changed - Lazy-load OWL-RL module to avoid owl-rl import warnings when not required ## [0.17.0] - 2021-09-13 ## Notice This version of PySHACL **requires RDFLib 6.0.0_**. As a direct result of that, this version of PySHACL **also requires Python v3.7**. ### Changed - Upped RDFLib min version to 6.0.0 in order to get built-in json-ld - Upped OWL-RL to min version 5.2.3 in order to remove json-ld dependency - Made min python version v3.7 - Change black config to use python 3.7 compat code - Re-black and isort all source files ## [0.16.2] - 2021-09-13 ## Notice This is the **last version of PySHACL to support RDFLib 5.0.0**, subsequent releases of PySHACL will depend on RDFLib v6.0.0. As a direct result of that, this is also the **last version of PySHACL to support Python v3.6**. ### Changed - Pinned JSON-ld dep to <6.0 to avoid the tombstone release (so not to force rdflib 6.0) - Updated minimum Black version to 21.8b0 to fix a black bug - Re-black and isort all source files ### Fixed - Fixed detection of import error when loading json-ld module in RDF loader - Fixed Black bug with new version of black ## [0.16.1] - 2021-08-20 ### Added - [ExpressionConstraintComponent](https://www.w3.org/TR/shacl-af/#ExpressionConstraintComponent) is implemented! - Use your previously defined SHACL Functions to express complex constraints - Added DASH-tests for ExpressionConstraintComponent - Added advanced tests for ExpressionConstraintComponent, SHACLRules, and SHACLFunctions. - New Advanced features example, showcasing ExpressionConstraint and others features ### Changed - Allow sh:message to be attached to an expression block, without breaking its functionality - A SHACL Function within a SHACL Expression now must be a list-valued property. - Refactored node-expression and path-expression methods to be common and reusable code - Re-black and isort all source files ## [0.16.0] - 2021-08-19 ### Changed - `sh:class` Constraint now applies transitively. - This means it will follow `rdfs:subClassOf` relationships right to the top of the hierarchy. - Be careful with this, could lead to recursion or infinite loops! - This requires a big version number bump because it's technically a breaking change. - Fixes #87, thanks `@gtfierro` ## [0.15.0] - 2021-07-20 ### Fixed - Compatibility with RDFLib 6.0.0 - Don't use `.term()` (PR #84) - Use Namespaces in a way that works on both RDFLib 5 and 6. ### Changed - Do not patch rdflib with Memory2 store on RDFLib 6.0.0+ ## [0.14.5] - 2021-07-07 ### Added - Allow-Warnings is finally available. (Closes #64) - Setting this option puts PySHACL into a non-standard operation mode, where Shapes marked with severity of sh:Warning or sh:Info will not cause result to be invalid. - Despite the name, it allows both sh:Info and sh:Warning. - Try it with `allow_warnings=True` on `validate()` or `-w` in the CLI tool. ### Fixed - Fixed Abort Mode. (Fixes #75) - This optional mode allows the validator to exit early, on the first time your data fails to validate against a Constraint. - Name changed from `abort_on_error` to `abort_on_first` - Try it out with `abort_on_first=True` on `validate()` or `--abort` in the CLI tool. ## [0.14.4] - 2021-05-26 ### Added - Added an iterate_rules option, that causes SHACL Rules to run repeatedly until reaching a steady state. (Closes #76) - Works with SPARQLRules, TripleRules, and JSRules. - Variables {$this}, {$path}, and {$value} will be populated in the sh:message of a SPARQL Constraint. (Closes #30) ## [0.14.3] - 2021-02-20 ### Changed - Relaxed the Max Evaluation Depth from 28 to 30, we were seeing some real-world cases where meta-shacl was failing on large Shapes Graphs at 28 levels deep. - sh:namespace values can now be xsd:anyURI or xsd:string or "literal string", but now cannot be . - sh:order can now support xsd:decimal values and xsd:integer values, and can be interchanged at will. ## [0.14.2] - 2021-01-02 ### Added - Potential speedups when executing validation by lazy-loading large modules which may never be required in a normal validation run. ### Fixed - Black and Flake8 issues outstanding from 0.14.1 release. - Workaround a RDFLib bug trying to import `requests` when requests is not required to be installed. - This bug will still be observed if you use SPARQLConstraints, SPARQLFunction or JSFunction features, but it can be worked around by simply installing `requests` in your python environment. ## [0.14.1] - 2020-12-23 ### Added - Inplace Mode, for when cloning your datagraph is undesirable - Normally pyshacl will create an in-memory copy of your datagraph before modifying it (when using ontology mixin, or inferencing features) - This might be unwanted if your datagraph is very large or remote and cloning it into memory is not a good option - Enabling inplace mode will bypass this clone step, and apply modification operations directly on your data_graph (use with caution!) - Enable with `inplace=True` kwarg on `validate()`. - Inplace mode is not yet available via the CLI application, and perhaps doesn't even make sense to have it available there. ### Fixed - Inferencing will no longer incorrectly place expanded triples into your original data_graph, unless you enable 'inplace' - SHACL-JS loader will no longer fail if the `regex` module is not installed (it will fall back to using builtin `re`) - SHACL-Rule DASH-tests will now pass when the SHACL-rule is applied on multigraph (Dataset or ConjunctiveGraph) ## [0.14.0] - 2020-10-14 ### Added - SHACL-JS Support! - Implements all of the features in the SHACL-JS SHACL Extension specification: https://www.w3.org/TR/shacl-js/ - Includes: - JS Constraints - JS ConstraintComponents - JS SHACL Functions - JS SHACL Rules - JS Target - JS TargetType - To install it, make sure you do `pip3 install pyshacl[js]` to get the correct extra packages. ### Changed - Added JS flag to the CLI tool to enable SHACL-JS features - Updated README and FEATURES matrix ## [0.13.3] - 2020-09-11 ### Fixed - Fixed a long standing issue where our fancy loader would try to `seek()` on a file, after the file was closed by the JSON-LD parser - (thanks @nicholsn for reporting it) - Fixed https://github.com/RDFLib/pySHACL/issues/62 ## [0.13.2] - 2020-09-10 ### Added - Added the ability for PySHACL to use baked in graphs instead of fetching them from a HTTP endpoint when a known graph is imported using owl:imports - This allows for time savings on graph-load and saves a HTTP request - Also allows us to embed fixed errata versions of files in place of release-time ones online ### Fixed - With new features, comes new bugs - With the ability to now load SPARQLFunctions, this removes the barrier for loading Schema.org SHACL in advanced mode - But when doing so revealed more issues. They are now fixed: - Fixed SPARQLConstraintComponent getting confused when `shacl.ttl` was loaded into your Shapes file using owl:imports - Fixed https://github.com/RDFLib/pySHACL/issues/61 ### Changed - Refactored `SPARQLConstraintComponent` code, to allow for other custom constraint components in the future - This prevented SPARQLConstraintComponent getting confused when `shacl.ttl` was loaded into the Shapes file using owl:imports ## [0.13.1] - 2020-09-07 ### Added - SPARQLTargetType - New SPARQL-based Target Type feature - The Paramaterisable form of SPARQLTarget from the SHACL Advanced Features spec - https://www.w3.org/TR/shacl-af/#SPARQLTargetType - Added a test for SPARQLTargetType - Theres none in the SHT suite, or the DASH suite. ### Changed - Refactored `sh:parameter` code in SPARQL-based Constraint Components, SHACLFunctions, and SPARQL-Based Target Types - They all now share a common SHACLParameter helper class, reducing code duplication - Refactored `SPARQLQueryHelper` - `SPARQLQueryHelper` internal class is now more helpful - `query_helper` can now extract param bindings into param-value pairs for parameterised queries - Reduces more code duplication ## [0.13.0] - 2020-09-04 ### Added - New SHACL Advanced Spec Features! - All NodeExpressions can now be used in SHACL Rules - Focus Node (sh:this) - FilterShape (sh:filterShape) - Function Expressions (any sh:SHACLFunction and args) - Path Expressions (use sh:path in a NodeExpression) - Intersection Expressions (sh:intersection) - Union Expressions (sh:union) - SHACLFunctions (including SPARQLFunction) - Both SHACLFunction and SPARQLFunction are now fully implemented including unit tests and edge cases - SHACLFunctions are bound to PySHACL and can be used in SHACL Rules and NodeExpressions - SPARQLFunctions are bound to the RDFLib SPARQL Engine, so they can be used in other SPARQL queries - Read the manual for more info: https://www.w3.org/TR/shacl-af/#functions ### Fixed - Short versions of uris were sometimes not used in the Validation Report when they should've been - Checking results of some tests was being skipped! Lucky this wasn't letting through any SHACL errors. - Fixed error message when using sh:ignoredProperties on a node that isn't sh:closed issue #58 ## [0.12.2] - 2020-08-12 ### Fixed - In a validation report graph, when FocusNode and ValueNode are the same node, and are a blank node, when they get copied into the validation report graph they will have the same bnode id as each other. - Optimised the algorithm for copying different kinds of rdf nodes into the validation graph. ### Changed - When the FocusNode and ValueNode are copied into the validation graph from the data graph, they will try to keep the same bnode id they had before, if possible. ## [0.12.1.post2] - 2020-07-23 ### Fixed - A couple of autogenerated sh:message strings were trying to serialize from dataGraph rather than shapeGraph ## [0.12.1.post1] - 2020-07-22 ### Fixed - A couple of autogenerated sh:message strings were missing their focusNode element in v0.12.1 ## [0.12.1] - 2020-07-22 ### Added - All SHACL Core constraints now have their own autogenerated sh:message. - This is used as a fallback when your Shape does not provide its own sh:message - See the new sh:resultMessage entries in the Validation Report output - These are hopefully more human-readable than the other fields of the Validation Report results - Added a copy of the implementation of the new 'Memory2' rdflib triplestore backend. - This when using Python 3.6 or above, this is faster than the default 'IOMemory' store by: - 10.3% when benchmarking validation with no inferencing - 17% when benchmarking validation with rdfs inferencing - 19.5% when benchmarking validation with rdfs+owlrl inferencing ### Changed - PySHACL is now categorised as **Production/Stable**. - This marks a level of maturity in PySHACL we are happy to no longer consider a beta - A v1.0.0 might be coming soon, but its just a version number, doesn't mean anything special - Changed default rdflib triplestore backend to 'Memory2' as above. - Tiny optimisations in the way sh:message items are added to a validation report graph. ### Fixed - Regression since v0.11.0, sh:value and sh:focusNode from the datagraph were not included in the validation report graph if the datagraph was of type rdflib.ConjunctiveGraph or rdflib.Dataset. ## [0.12.0] - 2020-07-10 ### Removed - Python 3.5 support is removed. PySHACL now requires Python 3.6 or above. - Routine tests are run using Python 3.6.11, 3.7.8, and 3.8.2. - Python 3.9 might work but is not yet supported. ### Added - Python 3.6-compatible type hinting is added throughout the codebase - MyPy library is used to run type checking during testing process - Flake8 linting is added to enforce PEP8 - isort is added to enforce imports linting - Black is added to keep formatting consistent across releases ### Changed - PySHACL is no longer a setuptools-based project with a `setup.py` and `requirements.txt` file. - PySHACL is now a PEP518 & PEP517 project, it uses `pyproject.toml` and `poetry` to manage dependencies, build and install. - For best compatibility when installing from PyPI with `pip`, upgrade to pip v18.1.0 or above. - If you're on Ubuntu 16.04 or 18.04, you will need to run `sudo pip3 install --upgrade pip` - Editor Line Length for PySHACL code is now set to 119 as opposed to 79 chars. ## [0.11.6.post1] - 2020-07-09 ### Added - New feature to CLI tool - `-V` shows the PySHACL version - Run module directly - You can get access to the same CLI tool if you install the module and run it using `python3 -m pyshacl` - See `python3 -m pyshacl --help` for more details ### Deprecated #### Announcement - **This is the final version with Python v3.5 support** - Versions 0.12.0 and above will have newer package management and dependency management, and will require Python v3.6+. ## [0.11.6] - 2020-07-09 ### Fixed - Fixed a bug present since `v0.11.0`. If the data graph has multiple named graphs, and an extra ontology mixin source used and that also has multiple named graphs, then only the first graph in the mixins source was added to the datagraph. - Now all named graphs from the mixin source are mixed into all named graphs of the datagraph, as originally intended. - Fixed one unit test which had been intermittently failing - Cleaned up the behaviour around performing patch to Boolean Literal parsing on rdflib 5.0.0 ## [0.11.5] - 2020-03-28 ### Fixed - Preparatory changes for the incoming rdflib 5.0.0 release - Changed to a new more predictable literal comparison routine for minInclusive, minExclusive, maxInclusive, and maxExclusive. This removes the need for one monkey-patch in rdflib 4.2.2 and works around the `TOTAL_ORDER_CASTERS` special cases in rdflib `5.0.0`. ## [0.11.4] - 2020-01-31 ### Fixed - Fixed Issue [#040](https://github.com/RDFLib/pySHACL/issues/40) - Fixed badly-formatted dates in the changelog ### Added - Added ability for pySHACL to track and monitor its evaluation path during validation - This allows for the validator to detect two different scenarios: - A recursive shape has triggered an infinitely-recursive validation, back out - Evaluation Path too deep (error generated, prevents python recursion depth errors) - Added a test for Issue #40 ## [0.11.3.post1] - 2019-11-02 ### Fixed - Fixed Issue [#036](https://github.com/RDFLib/pySHACL/issues/36) ### Added - Added test for [#036](https://github.com/RDFLib/pySHACL/issues/36) ### Changed - Nodes defined as TargetNode by a SHACL Shape no longer is required to be present in the DataGraph. ## [0.11.3] - 2019-10-21 ### Fixed - Fixed Issue [#032](https://github.com/RDFLib/pySHACL/issues/32) - Stringification of Focus Node, and Value Node in the results text string now works correctly - This is an old bug, that has been around since the first versions of pySHACL - Manifests when the DataGraph is a different graph than the ShapesGraph - Recent change from using Graphs by default to using Datasets by default helped to expose this bug - Thanks to @jameshowison for reporting the bug ### Changed - Stringification of a blank node now operates on a rdflib.Graph only, rather than a Dataset. - Added mechanism to extract the correct named graph from a dataset when stringifying a blank node. - Added a workaround for a json-ld loader bug where the namespace_manager for named graphs within a conjunctive graph is set to the parent conjunctive graph. - This necessary workaround was exposed only after changing the blank node stringification above. (Fixing one bug exposed another bug!) ## [0.11.2] - 2019-10-17 ### Changed - Bumped min OWL-RL version to 5.2.1 to bring in some new bugfixes - Corrected some tiny typos in readme ## [0.11.1.post1] - 2019-10-11 ### Fixed - Fixed an inferencing bug introduced in v0.11.0 (present in v0.11.0 and v0.11.1) - OWL or RDFS or BOTH inferencing wasn't being applied correctly because RDF data is now loaded in as a Dataset rather than a Graph. ### Changed - Fixed the "extras" tests to take advantage of RDFS inferencing to better expose this kind of bug in the future. ## [0.11.1] - 2019-09-16 ### Changed - Implemented change in behaviour to resolve issue #029 - A SHACL Shapes file will now get populated with some basic subClassOf relationships before the shapes are executed. This allows you to use owl:Class rather than rdfs:Class if you want to for implicit shapes. ## [0.11.0] - 2019-09-06 ### Added - Ability to load files with embedded named graphs (like in json-ld or trig) - Shape constraints are validated against every named graph in the dataset. - Added a new SHACL Advanced Features feature, the Custom Target feature using sh:target - Only works with `sh:SPARQLTarget` custom targets for now - New internal utilities in rdfutil module, for cloning a dataset and mixing datasets (as well as graphs) - New test for issue #029 ### Changed - Big changes internally: - All loaded files are loaded into a Dataset, rather than a graph - All graph operations are now Dataset operations - Shapes are applied on every named graph on the dataset ## [0.10.0] - 2019-08-08 ### Added - New features from SHACL Advanced Features spec: - SHACL Triple Rules - SHACL SPARQL Rules - New option in the cli application to enable advanced features with `--advanced`. - Changed the `-a` shortcut to mean `--advanced` rather than `--abort`. - New tests for the advanced features ### Changed - Changed usage of setup.py scripts, to proper cli entrypoints. [#23](https://github.com/RDFLib/pySHACL/pull/23) - This should not affect end user usability of the pyshacl script. - Updated README.md to reflect changes including Advanced Features, and cli `--advanced` arg. - Updated feature matrix to add section for SHACL Advanced Features. - Fix owl:imports typo [#27](https://github.com/RDFLib/pySHACL/pull/27) ## [0.9.11] - 2019-05-01 ### Changed - When using the pySHACL `Validator` class directly, the `target_graph` property will now be correctly updated to always refer to the fully expanded graph if inferencing is enabled, and will be the mixed graph if the ontology-mixin option is enabled. - Fixed a bug in the commandline tool when the validator throws a ValidationError, the `validator()` helper would catch and format the error, so the commandline tool would output the wrong text and return the wrong exit code. ## [0.9.10.post2] - 2019-03-28 ### Added - New ability for the RDF source loader to directly load a bytes string (for example, from a HTTP request body) - To use, just put the bytes dump as the source parameter to the rdf load function ## [0.9.10.post1] - 2019-03-11 ### Changed - More refinements to the RDF Source loader. Fixes some minor bugs. - Moved some of the SHACL-specific RDF Utility functions (into the RDF Source loader) into a submodule. - This will one day be pulled out into its own RDF Utilities python module. - Listed some additional Trove Classifiers in the setup.py file. ## [0.9.10] - 2019-03-07 ### Added - Added the ability to for the graph loader to load multiple source files into a single graph. - This gives the ability follow `owl:imports` statements. We currently go (base+3) levels of imports deep maximum. - Added `--imports` switch to the cmdline script, that turns on the owl:imports feature. - Added the ability for the web rdf retriever to inspect the HTTP headers for 'Content-Type' for the RDF format - Added documentation to the readme about `--imports` option. - Add more coverage tests. Bumped coverage to 86%. ### Changed - More potential Windows fixes - Fixed a bug where the graph_id and base_uri was calculated incorrectly in some cases. - Fix an issue when extracting base uri and prefix from comments in turtle when it was formatted in Windows line endings. - Hitting a HTTP error when importing a subgraph is no longer an issue, we just ignore that import statement. ## [0.9.9.post1] - 2019-02-28 ### Changed - Fixed an issue with loading RDF files on Windows - Fixed an issue running the test suite on Windows - Main pyshacl module now exports the Validator class by default ## [0.9.9] - 2019-01-09 - This is a big release, building up to the major 1.0 release. - Expect some issues, there will be 0.9.9.postX releases with just bug fixes between now and 1.0 ### Added - Major new feature. Added the ability to pass in an extra ontology document which gets parsed and mixed with the data graph before pre-inferencing. This helps in the cases where the target data graph contains a data snippet which can only be fully expanded with the help of an external ontology document containing RDFS and OWL axioms. - Use `ont_graph=path_to_graph` in the python module or - Use `-e` or `--ont-graph` on the command line utility to take advantage of this feature. - SHACL graph or ONT graph can now be a Web URL, rather than a file path. - This works from the module validator entrypoint or the commandline tool. - Added built in tests for issue#14 and for the commandline tool. - Added new details to the README about the above new features. - Added coverage statistics to the README. - Started adding some hopefully-informative debugging output messages when debug mode is turned on. More to come. ### Changed - Pre-inferencing can now only ever be run once per Validator instance, this is an attempt to prevent running pre-inferencing multiple times unnecessarily. - Internal shapes lookup cache is now stored in the `SHACLGraph` instance, rather than in a global static class variable on the `Shape` class - Fixed some bugs in the examples code, thanks @johannesloetzsch! - Lots of code coverage specific changes, and comments where we can improve coverage. ## [0.9.8.post1] - 2018-12-05 ### Changed - Fixed a bug where files passed in to the command-line utility would get closed after being parsed, but sometimes they would need to be reopened again, like in the case of doing metashacl. The fix detects when this is the case and just leaves the files open. Now it is up to the command-line client to close the files. ## [0.9.8] - 2018-11-30 ### Changed - Fixed a bug in 0.9.7 where some references to the RDFClosure module were still in use in the code. - So v0.9.7 only worked if you had installed 0.9.6 and upgraded to 0.9.7. New installs didn't work. - All references to RDFClosure are now changed to owlrl. - Bumped required owlrl version to the new 5.2 release, which is faster (doesn't use LiteralProxy anymore). ## [0.9.7] - 2018-11-23 ### Added - A new tests directory for testing reported github issues, and ensuring they pass even in future versions of this tool ### Changed - RDFClosure is now named `owlrl`, and is now published on PyPI. - Use the new package name - Use the version from pypi - No longer need dependency_links when installing - Resume issuing binary builds - Remove dependency_links instructions from readme.md ## [0.9.6] - 2018-11-18 ### Added - CLI tool got two new options, `--shacl_file_format` (`-sf`) and `--data_file_format` (`-df`), for when the auto file format detection doesn't work for you. ### Changed - The `validate` entrypoint, renamed `target_graph` to `data_graph`, and `target_graph_format` to `data_graph_format` - Updated example files to match - Fixed a bug in sh:closed rule. It was incorrectly checking the rule against the shacl shapes graph, instead of the target graph ## [0.9.5] - 2018-09-25 ### Added - Added the missed 'proposed' test in the SHT conformance suite ### Changed - EARL namespace https->http - No longer publishing Binary Wheels for now, this is to force pip to run setup.py when installing the module, in order to process dependency links. ## [0.9.4.post1] - 2018-09-24 ### Added - Post-Release fixed a setup.py issue where it was not installing all of the required pySHACL modules. - This has actually been a severe bug since 0.8.3, sorry! ## [0.9.4] - 2018-09-24 ### Added - Additional required check that all potentially pre-bound variables are SELECTED from a nested SELECT statement in a SPARQL subquery. - Better Literal less-than-or-equal and greater-than-or-equal comparison - fixes date-time comparisons with timezones, and other small issues - Formal EARL validation report generator - Submitted EARL validation report ### Changed - Graph cleaner now works in a much more agressive manner, to remove all rdfs:Resource added triples - Fixed SPARQL-based Constraint Component validator now outputs a default sh:value item if it is validating with a sourceShape that is a SHACL NodeShape - Fixed a tiny bug in the list-compare subsection of the blank-node deep-compare utility - Changed OWL-RL dependency from @py3 to @master, because master branch is now on Py3. - One test from the SHT test suite was changed by Holger, so it passes now. - Two timezone-based datetime comparison tests now pass ## [0.9.3] - 2018-09-22 ### Added - A new deep-compare feature to check actual validation-result blank-nodes against expected validation-result blank nodes - Added a validation-report graph cleaner, to remove all unwanted triples from a validation report graph. - A new RDF Node deep-clone feature to properly clone nodes into the Validation Report graph, rather than copying them. ### Changed - Removed old test suite directory accidentally left in - Fixed some bugs identified by the new expected-result deep-compare feature - Changed incorrectly named constraint components (mislead by typo in the SHACL spec) - PropertyShapeComponent -> PropertyConstraintComponent - NodeShapeComponent -> NodeConstraintComponent - Fixed some bugs identified by the [data-shapes-test-suite](https://w3c.github.io/data-shapes/data-shapes-test-suite) - Bumped version number ## [0.9.2] - 2018-09-20 ### Added - A feature to patch RDFLib Literal conversion functions, to fix some RDFLib bugs - A new exception ConstrainLoadWarning, for when a constraint is invalid but we want to ignore it - Additional rules are now applied to the SPARQL queries in SPARQL-based constraints, as per the SHACL spec - Currently failing [data-shapes-test-suite](https://w3c.github.io/data-shapes/data-shapes-test-suite) documented in the FEATURES file ### Changed - Fixed some bugs identified by the [data-shapes-test-suite](https://w3c.github.io/data-shapes/data-shapes-test-suite) - Bumped version number - 206 of 212 tests are now passing ## [0.9.1] - 2018-09-19 ### Added - A second testing framework is in place - this one tests against the [data-shapes-test-suite](https://w3c.github.io/data-shapes/data-shapes-test-suite). ### Changed - Changed the layout and structure of the tests folder - Fixed a bug in the XOne constraint, discovered indicated by the new tests - 199 of 212 tests are now passing ## [0.9.0] - 2018-09-19 ### Added - Sparql Based Constraint Components - Sparql Constraint Component Validators - AskConstraintValidator - SelectConstraintValidator - New meta-shacl mode! - You can now validate your SHACL Shapes Graph against the built-in SHACL-SHACL Shapes graph, as an added step before validating the Data Graph. - Updated README with Command-Line tool instructions - Updated README with Meta-SHACL instructions - Added new sections to the FEATURES matrix ### Changed - Internally, a SHACL Shapes graph is now represented as a python object with type `SHACLGraph`, rather than simply an `rdflib.Graph`. - This allows more SHACL-specific functionality and properties that are of the SHACL graph itself. - Updated FEATURES matrix - Bumped version to show magnitude of progress - 92 tests now pass ## [0.8.3] - 2018-09-17 ### Added - Another example, this one with separate SHACL and Target files. ### Changed - Fixed an issue where the content of a separate SHACL graph was ignored by the validator - Fixed a crash caused by the result generator receiving a value node that was a string but not an RDF literal. - Refactored constraint file layouts, in preparation for the new SPARQL constraint component functionality - Bumped version number ## [0.8.2] - 2018-09-16 ### Added - Added a CONTRIBUTORS file - Minor fixes for PyPI upload compatibility ## [0.8.1] - 2018-09-14 ### Added - Basic SPARQL Query functionality. - SPARQL Prefix support capability ### Changed - Changed make_v_report function name to make_v_result, because it actually makes individual validation results, not reports. - Changed one of the SPARQL prefix tests to better test the SPARQL uri shortening functionality - Bumped version number - 88 Tests now passing ## [0.8.0] - 2018-09-12 ### Added - Added the CLI script. pySHACL can now be easily run from the command-line. - Added the ability for the `validate` function to work on already-open file descriptors for target data file, and for shacl file. ### Changed - Main `validation` function now outputs a three-item-tuple: `(conformance: bool, validation_report_graph: rdflib.Graph, validation_report_text: str)` - Level for seeing runtime output is now DEBUG - Changed the way a single logging interface is used across the whole application - Bumped version number way up to show project maturity ## [0.1.0b1.dev20180912] - 2018-09-12 ### Added - The SHACL Core functionality is Feature-Complete! - Added languageIn and uniqueLang constraint components! - Added the rest of the SHACL Property Path functionality - Added a new error type, ReportableRuntimeError, which is a RuntimeError which is desgned to pass information back to the user (via commandline, or web interface). ### Changed - Changed most RuntimeErrors to ReportableRuntimeErrors - Adding the new property path rules required refactoring the way shapes generate their targets. It is much more complicated now. - Updated Features Matrix - Bumped Version, changed Alpha to Beta - All 84 Core tests now passing! ## [0.1.0a10.dev20180911] - 2018-09-11 ### Added - Added 3 more new constraint components! - sh:qualifiedValueShape - QualifiedValueShapeConstraintComponent - sh:qualifiedMinCount - QualifiedMinCountConstraintComponent - sh:qualifiedMaxCount - QualifiedMaxCountConstraintComponent ### Changed - the make_v_result function can now take an argument to overwrite the target failing component with a custom value. - this is required to allow QualifiedValueShapeConstraintComponent to output the correct type of failure - Bumped version number - 73 tests now passing! ## [0.1.0a9.dev20180911] - 2018-09-11 ### Added - Added 5 more new constraint components! - sh:equals - EqualsConstraintComponenet - sh:disjoint - DisjointConstraintComponent - sh:lessThan - LessThanConstraintComponent - sh:lessThanOrEqual - LessThanOrEqualConstraintComponent - sh:hasValue - HasValueConstraintComponent ### Changed - Bumped version number - 70 tests now passing! ## [0.1.0a8.dev20180910] - 2018-09-10 ### Changed - Bug: Fixed setup.py to also install the pyshacl submodules - Bug: Use the correct parse parameters when parsing plain-text RDF as a graph input source ## [0.1.0a7.dev20180910] - 2018-09-10 ### Added - Added the ability to specify a rdf_format string (for the target graph and/or the shacl graph) on the main `validate` callable. - Added the ability to ingest and validate RDF n-triples .nt files (as the target graph, or the shacl graph) - Added the option to serialize the output ValidationReport graph - Added an example script to show a full working example of how to use the validator ### Changed - Bug: Fixed the main validate function so that it actually returns the results to the caller ## [0.1.0a6.dev20180909] - 2018-09-09 ### Added - Added a benchmark file, run it on your computer to see how fast you can do a validation. ### Changed - Changed the default inferencing method to 'none' to make the validator both faster and more predictable - Bug: Fixed the default_options function, it no longer incorrectly overwrites a passed in option. - Removed the stray main.py file which served no purpose anymore. - Bumped version number ## [0.1.0a5.dev20180907] - 2018-09-07 ### Added - Added new ConstraintComponent: - Closed Constraint - Added a new custom RDFS semantic closure for the OWL-RL reasoner. - Added new properties to Shape objects as per the SHACL spec: - `sh:deactivated` to turn off a shape - `sh:name` to name/title a shape when represented in a form - `sh:description` to describe a shape when represented in a form - `sh:message` a shape's message to include in the shape report output - Added new Shape Target types: - `sh:targetSubjectsOf` and `sh:targetObjectsOf` - Added the Shape's message to the message output of the ValidationReport - Added a link to a correctly rendered view of the FEATURES table ### Changed - Changed the default pre-inferencing type. Now only do RDFS by default, not RDFS+OWLRL - The SHACL validator run approx 10-15x faster when the target graph is inferenced using RDFS rather than RDFS+OWLRL. - And all the the tests still pass, so OWL-RL inferencing is not required for normal SHACL validation. - Changed the RDFS Semantic closure for inferencing to our new custom one which ignores the 'hidden' rules. - 61 tests now passing - Updated FEATURES list. - Bumped version number ## [0.1.0a4.dev20180906] - 2018-09-06 ### Added - Added 4 value-range constraint - MinExclusive, MinInclusive - MaxExclusive, MaxInclusive - Added a misc constraint: InComponentConstraint ### Changed - Fixed some other edge cases so that more tests pass - 52 tests now passing - Bumped version number ## [0.1.0a3.dev20180906] - 2018-09-06 ### Added - Added string-based min-length and max-length constraints - Added logic-shape constraints (not, or, and, xone) - Fixed the or-datatype.test.ttl file, which would never pass due to the nature of how RDFLib parses boolean literals. ### Changed - Fixed a bug in the string-based pattern-match constraint - Changed the variable naming convention to more closely match the SHACL spec - Renamed `fails`, `failures`, `f`, etc to "Reports", because failures in SHACL are a different thing, reports are their correct name. - Fixed some minor issues to get more tests passing - 40 Tests now passing ## [0.1.0a2.dev20180906] - 2018-09-06 ### Added - Added full pattern matching ConstraintComponent, with working flags. - Result reporting and report generation is implemented - Two types of shapes are now implemented (NodeShapes and PropertyShapes) - Implicit class targeting on target-less is implemented - Basic path traversal on PropertyShapes is implemented - Seven key types of ConstraintComponents are added and working ### Changed - Fixed bug in datatype matcher that would cause some tests to fail. - Switched to running all tests in the directory, rather than running individual tests. - Fixed textual report output to format Literals better (to see how they are wrong). - Bug fixes since previous version - 10+ tests are passing. ## [0.1.0a4.dev20180906] - 2018-09-04 ### Added - Initial version, limited functionality [Unreleased]: https://github.com/RDFLib/pySHACL/compare/v0.30.1...HEAD [0.30.1]: https://github.com/RDFLib/pySHACL/compare/v0.30.0...v0.30.1 [0.30.0]: https://github.com/RDFLib/pySHACL/compare/v0.29.1...v0.30.0 [0.29.1]: https://github.com/RDFLib/pySHACL/compare/v0.29.0...v0.29.1 [0.29.0]: https://github.com/RDFLib/pySHACL/compare/v0.28.1...v0.29.0 [0.28.1]: https://github.com/RDFLib/pySHACL/compare/v0.28.0...v0.28.1 [0.28.0]: https://github.com/RDFLib/pySHACL/compare/v0.27.0...v0.28.0 [0.27.0]: https://github.com/RDFLib/pySHACL/compare/v0.26.0...v0.27.0 [0.26.0]: https://github.com/RDFLib/pySHACL/compare/v0.25.0...v0.26.0 [0.25.0]: https://github.com/RDFLib/pySHACL/compare/v0.24.1...v0.25.0 [0.24.1]: https://github.com/RDFLib/pySHACL/compare/v0.24.0...v0.24.1 [0.24.0]: https://github.com/RDFLib/pySHACL/compare/v0.23.0...v0.24.0 [0.23.0]: https://github.com/RDFLib/pySHACL/compare/v0.22.2...v0.23.0 [0.22.2]: https://github.com/RDFLib/pySHACL/compare/v0.22.1...v0.22.2 [0.22.1]: https://github.com/RDFLib/pySHACL/compare/v0.22.0...v0.22.1 [0.22.0]: https://github.com/RDFLib/pySHACL/compare/v0.21.0...v0.22.0 [0.21.0]: https://github.com/RDFLib/pySHACL/compare/v0.20.0...v0.21.0 [0.20.0]: https://github.com/RDFLib/pySHACL/compare/v0.19.1...v0.20.0 [0.19.1]: https://github.com/RDFLib/pySHACL/compare/v0.19.0...v0.19.1 [0.19.0]: https://github.com/RDFLib/pySHACL/compare/v0.18.1...v0.19.0 [0.18.1]: https://github.com/RDFLib/pySHACL/compare/v0.18.0...v0.18.1 [0.18.0]: https://github.com/RDFLib/pySHACL/compare/v0.17.3...v0.18.0 [0.17.3]: https://github.com/RDFLib/pySHACL/compare/v0.17.2...v0.17.3 [0.17.2]: https://github.com/RDFLib/pySHACL/compare/v0.17.1...v0.17.2 [0.17.1]: https://github.com/RDFLib/pySHACL/compare/v0.17.0.post1...v0.17.1 [0.17.0.post1]: https://github.com/RDFLib/pySHACL/compare/v0.17.0...v0.17.0.post1 [0.17.0]: https://github.com/RDFLib/pySHACL/compare/v0.16.2...v0.17.0 [0.16.2]: https://github.com/RDFLib/pySHACL/compare/v0.16.1...v0.16.2 [0.16.1]: https://github.com/RDFLib/pySHACL/compare/v0.16.0...v0.16.1 [0.16.0]: https://github.com/RDFLib/pySHACL/compare/v0.15.0...v0.16.0 [0.15.0]: https://github.com/RDFLib/pySHACL/compare/v0.14.5...v0.15.0 [0.14.5]: https://github.com/RDFLib/pySHACL/compare/v0.14.4...v0.14.5 [0.14.4]: https://github.com/RDFLib/pySHACL/compare/v0.14.3...v0.14.4 [0.14.3]: https://github.com/RDFLib/pySHACL/compare/v0.14.2...v0.14.3 [0.14.2]: https://github.com/RDFLib/pySHACL/compare/v0.14.1...v0.14.2 [0.14.1]: https://github.com/RDFLib/pySHACL/compare/v0.14.0...v0.14.1 [0.14.0]: https://github.com/RDFLib/pySHACL/compare/v0.13.3...v0.14.0 [0.13.3]: https://github.com/RDFLib/pySHACL/compare/v0.13.2...v0.13.3 [0.13.2]: https://github.com/RDFLib/pySHACL/compare/v0.13.1...v0.13.2 [0.13.1]: https://github.com/RDFLib/pySHACL/compare/v0.13.0...v0.13.1 [0.13.0]: https://github.com/RDFLib/pySHACL/compare/v0.12.2...v0.13.0 [0.12.2]: https://github.com/RDFLib/pySHACL/compare/v0.12.1.post2...v0.12.2 [0.12.1.post2]: https://github.com/RDFLib/pySHACL/compare/v0.12.1.post1...v0.12.1.post2 [0.12.1.post1]: https://github.com/RDFLib/pySHACL/compare/v0.12.1...v0.12.1.post1 [0.12.1]: https://github.com/RDFLib/pySHACL/compare/v0.12.0...v0.12.1 [0.12.0]: https://github.com/RDFLib/pySHACL/compare/v0.11.6.post1...v0.12.0 [0.11.6.post1]: https://github.com/RDFLib/pySHACL/compare/v0.11.6...v0.11.6.post1 [0.11.6]: https://github.com/RDFLib/pySHACL/compare/v0.11.5...v0.11.6 [0.11.5]: https://github.com/RDFLib/pySHACL/compare/v0.11.4...v0.11.5 [0.11.4]: https://github.com/RDFLib/pySHACL/compare/v0.11.3.post1...v0.11.4 [0.11.3.post1]: https://github.com/RDFLib/pySHACL/compare/v0.11.3...v0.11.3.post1 [0.11.3]: https://github.com/RDFLib/pySHACL/compare/v0.11.2...v0.11.3 [0.11.2]: https://github.com/RDFLib/pySHACL/compare/v0.11.1.post1...v0.11.2 [0.11.1.post1]: https://github.com/RDFLib/pySHACL/compare/v0.11.1...v0.11.1.post1 [0.11.1]: https://github.com/RDFLib/pySHACL/compare/v0.11.0...v0.11.1 [0.11.0]: https://github.com/RDFLib/pySHACL/compare/v0.10.0...v0.11.0 [0.10.0]: https://github.com/RDFLib/pySHACL/compare/v0.9.11...v0.10.0 [0.9.11]: https://github.com/RDFLib/pySHACL/compare/v0.9.10.post2...v0.9.11 [0.9.10.post2]: https://github.com/RDFLib/pySHACL/compare/v0.9.10.post1...v0.9.10.post2 [0.9.10.post1]: https://github.com/RDFLib/pySHACL/compare/v0.9.10...v0.9.10.post1 [0.9.10]: https://github.com/RDFLib/pySHACL/compare/v0.9.9.post1...v0.9.10 [0.9.9.post1]: https://github.com/RDFLib/pySHACL/compare/v0.9.9...v0.9.9.post1 [0.9.9]: https://github.com/RDFLib/pySHACL/compare/v0.9.8.post1...v0.9.9 [0.9.8.post1]: https://github.com/RDFLib/pySHACL/compare/v0.9.8...v0.9.8.post1 [0.9.8]: https://github.com/RDFLib/pySHACL/compare/v0.9.7...v0.9.8 [0.9.7]: https://github.com/RDFLib/pySHACL/compare/v0.9.6...v0.9.7 [0.9.6]: https://github.com/RDFLib/pySHACL/compare/v0.9.5...v0.9.6 [0.9.5]: https://github.com/RDFLib/pySHACL/compare/v0.9.4.post1...v0.9.5 [0.9.4.post1]: https://github.com/RDFLib/pySHACL/compare/v0.9.4...v0.9.4.post1 [0.9.4]: https://github.com/RDFLib/pySHACL/compare/v0.9.3...v0.9.4 [0.9.3]: https://github.com/RDFLib/pySHACL/compare/v0.9.2...v0.9.3 [0.9.2]: https://github.com/RDFLib/pySHACL/compare/v0.9.1...v0.9.2 [0.9.1]: https://github.com/RDFLib/pySHACL/compare/v0.9.0...v0.9.1 [0.9.0]: https://github.com/RDFLib/pySHACL/compare/v0.8.3...v0.9.0 [0.8.3]: https://github.com/RDFLib/pySHACL/compare/v0.8.2...v0.8.3 [0.8.2]: https://github.com/RDFLib/pySHACL/compare/v0.8.1...v0.8.2 [0.8.1]: https://github.com/RDFLib/pySHACL/compare/v0.8.0...v0.8.1 [0.8.0]: https://github.com/RDFLib/pySHACL/compare/v0.1.0b1.dev20180912...v0.8.0 [0.1.0b1.dev20180912]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a10.dev20180911...v0.1.0b1.dev20180912 [0.1.0a10.dev20180911]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a9.dev20180911...v0.1.0a10.dev20180911 [0.1.0a9.dev20180911]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a8.dev20180910...v0.1.0a9.dev20180911 [0.1.0a8.dev20180910]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a7.dev20180910...v0.1.0a8.dev20180910 [0.1.0a7.dev20180910]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a6.dev20180909...v0.1.0a7.dev20180910 [0.1.0a6.dev20180909]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a5.dev20180907...v0.1.0a6.dev20180909 [0.1.0a5.dev20180907]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a4.dev20180906...v0.1.0a5.dev20180907 [0.1.0a4.dev20180906]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a3.dev20180906...v0.1.0a4.dev20180906 [0.1.0a3.dev20180906]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a2.dev20180906...v0.1.0a3.dev20180906 [0.1.0a2.dev20180906]: https://github.com/RDFLib/pySHACL/compare/v0.1.0a1.dev20180904...v0.1.0a2.dev20180906 pyshacl-0.30.1/CONTRIBUTING.md0000644000000000000000000000305400000000000012360 0ustar00# CONTRIBUTING ### The PySHACL project encourages submissions from anyone who wishes to contribute There are some strict submission quality requirements: ## Code Format PySHACL uses the `black` code style. https://github.com/psf/black Specifically, we use v20.8b1 in `py36` mode, with line length of `119`, and `skip-string-normalization = true`. ## Code Linting PySHACL requires all code to pass the Flake8 linter. In the internal test suite, we use Flake8 v3.8.0. In addition to Flake8, we use `isort` to keep the import strings at the top of each source file in a consistent sorted order. The version if isort used is v5.7.0 and it is configured with the isort settings listed in the pyproject.toml file. ## Type Checking PySHACL uses MyPy to run static type analysis checks on the code. Not all parts of PySHACL have type annotations, but those parts that do should be annotated correctly to pass the MyPy test. The internal test suite uses MyPy v0.800. ## Testing The best way to comprehensively test PySHACL is to use [Tox](https://tox.readthedocs.io/en/latest/). It is a simple matter of running `pip3 install tox` then `tox` on the commandline in the project root. This will run a whole suite of tests, including pytest, flake8, mypy, black and isort. All tests in the PySHACL pytest test suite should pass without errors. ## Makefile There is also a Makefile in the project root that you can for covenience to kick off tests with `make test`, as well as some non-tox commands that can be invoked with `make format`, `make list` and `make type-check`. pyshacl-0.30.1/CONTRIBUTORS.md0000644000000000000000000000030000000000000012375 0ustar00# Contributors **Ashley Sommer** * almost everything! **Nicholas Car** * a few small admin bits and pieces **Jonathan Yu** * pyinstaller spec for compiling pySHACL cli as a Windows binary pyshacl-0.30.1/FEATURES.md0000644000000000000000000005326200000000000011675 0ustar00# pySHACL Features Matrix ## [Core Constraint Components](https://www.w3.org/TR/shacl/#core-components) ### [Value Type Constraint Components](https://www.w3.org/TR/shacl/#core-components-value-type) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:class` | `ClassConstraintComponent` | [â–¶][ClassConstraintComponent] | ![status-complete] | | | `sh:datatype` | `DatatypeConstraintComponent` | [â–¶][DatatypeConstraintComponent] | ![status-complete] | | | `sh:nodeKind` | `NodeKindConstraintComponent` | [â–¶][NodeKindConstraintComponent] | ![status-complete] | | ### [Cardinality Constraint Components](https://www.w3.org/TR/shacl/#core-components-count) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:minCount` | `MinCountConstraintComponent` | [â–¶][MinCountConstraintComponent] | ![status-complete] | | | `sh:maxCount` | `MaxCountConstraintComponent` | [â–¶][MaxCountConstraintComponent] | ![status-complete] | | ### [Value Range Constraint Components](https://www.w3.org/TR/shacl/#core-components-range) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:minExclusive` | `MinExclusiveConstraintComponent` | [â–¶][MinExclusiveConstraintComponent] | ![status-complete] | | | `sh:minInclusive` | `MinInclusiveConstraintComponent` | [â–¶][MinInclusiveConstraintComponent] | ![status-complete] | | | `sh:maxExclusive` | `MaxExclusiveConstraintComponent` | [â–¶][MaxExclusiveConstraintComponent] | ![status-complete] | | | `sh:maxInclusive` | `MaxInclusiveConstraintComponent` | [â–¶][MaxInclusiveConstraintComponent] | ![status-complete] | | ### [String-based Constraint Components](https://www.w3.org/TR/shacl/#core-components-string) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:minLength` | `MinLengthConstraintComponent` | [â–¶][MinLengthConstraintComponent] | ![status-complete] | | | `sh:maxLength` | `MaxLengthConstraintComponent` | [â–¶][MaxLengthConstraintComponent] | ![status-complete] | | | `sh:pattern` | `PatternConstraintComponent` | [â–¶][PatternConstraintComponent] | ![status-complete] | includes `sh:flags` | | `sh:languageIn` | `LanguageInConstraintComponent` | [â–¶][LanguageInConstraintComponent] | ![status-complete] | | | `sh:uniqueLang` | `UniqueLangConstraintComponent` | [â–¶][UniqueLangConstraintComponent] | ![status-complete] | | ### [Property Pair Constraint Components](https://www.w3.org/TR/shacl/#core-components-property-pairs) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:equals` | `EqualsConstraintComponent` | [â–¶][EqualsConstraintComponent] | ![status-complete] | | | `sh:disjoint` | `DisjointConstraintComponent` | [â–¶][DisjointConstraintComponent] | ![status-complete] | | | `sh:lessThan` | `LessThanConstraintComponent` | [â–¶][LessThanConstraintComponent] | ![status-complete] | | | `sh:lessThanOrEquals` | `LessThanOrEqualsConstraintComponent` | [â–¶][LessThanOrEqualsConstraintComponent] | ![status-complete] | | ### [Logical Constraint Components](https://www.w3.org/TR/shacl/#core-components-logical) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:not` | `NotConstraintComponent` | [â–¶][NotConstraintComponent] | ![status-complete] | | | `sh:and` | `AndConstraintComponent` | [â–¶][AndConstraintComponent] | ![status-complete] | | | `sh:or` | `OrConstraintComponent` | [â–¶][OrConstraintComponent] | ![status-complete] | | | `sh:xone` | `XoneConstraintComponent` | [â–¶][XoneConstraintComponent] | ![status-complete] | | ### [Shape-based Constraint Components](https://www.w3.org/TR/shacl/#core-components-shape) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:node` | `NodeConstraintComponent` | [â–¶][NodeConstraintComponent] | ![status-complete] | | | `sh:property` | `PropertyConstraintComponent` | [â–¶][PropertyConstraintComponent] | ![status-complete] | See SHACL Property Paths feature table below | | `sh:qualifiedValueShape` | `QualifiedValueShapeConstraintComponent` | [â–¶][QualifiedValueShapeConstraintComponent] | ![status-complete] | includes `sh:qualifiedValueShapesDisjoint` | | `sh:qualifiedMinCount` | `QualifiedMinCountConstraintComponent` | [â–¶][QualifiedValueShapeConstraintComponent] | ![status-complete] | | | `sh:qualifiedMaxCount` | `QualifiedMaxCountConstraintComponent` | [â–¶][QualifiedValueShapeConstraintComponent] | ![status-complete] | | ### [Other Constraint Components](https://www.w3.org/TR/shacl/#core-components-others) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:closed` | `ClosedConstraintComponent` | [â–¶][ClosedConstraintComponent] | ![status-complete] | | | `sh:ignoredProperties` | `ClosedConstraintComponent` | [â–¶][ClosedConstraintComponent] | ![status-complete] | | | `sh:hasValue` | `HasValueConstraintComponent` | [â–¶][HasValueConstraintComponent] | ![status-complete] | | | `sh:in` | `InConstraintComponent` | [â–¶][InConstraintComponent] | ![status-complete] | | ## [SPARQL Constraints](https://www.w3.org/TR/shacl/#sparql-constraints) ### [SPARQL Based Constraints](https://www.w3.org/TR/shacl/#sparql-constraints) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:sparql` | `SPARQLConstraintComponent` | [â–¶][SPARQLConstraintComponent] | ![status-complete] | | ### [SPARQL Based Constraint Components](https://www.w3.org/TR/shacl/#dfn-sparql-based-constraint-component) | Parameter | Constraint | Link | Status | Comments | |:---------- |:------------- |:------: |:-------------: |:------ | | `sh:validator` | `ConstraintComponent` | [â–¶][ConstraintComponent] | ![status-complete] | | | `sh:select` | `SPARQLSelectValidator` | [â–¶][SPARQLSelectValidator] | ![status-complete] | | | `sh:ask` | `SPARQLAskValidator` | [â–¶][SPARQLAskValidator] | ![status-complete] | | ### [SHACL Property Paths](https://www.w3.org/TR/shacl/#property-paths) | Path | Link | Status | Comments | |:---------- |:------: |:-------------: |:------ | | Predicate Path | [â–¶][PredicatePath] | ![status-complete] | | | Sequence Paths | [â–¶][SequencePath] | ![status-complete] | | | Alternative Paths | [â–¶][AlternativePath] | ![status-complete] | | | Inverse Paths | [â–¶][InversePath] | ![status-complete] | | | Zero-Or-More Paths | [â–¶][ZeroOrMorePath] | ![status-complete] | | | One-Or-More Paths | [â–¶][OneOrMorePath] | ![status-complete] | | | Zero-Or-One Paths | [â–¶][ZeroOrOnePath] | ![status-complete] | | ### [Non-Validating Shape Characteristics](https://www.w3.org/TR/shacl/#nonValidation) | Path | Link | Status | Comments | |:---------- |:------: |:-------------: |:------ | | `sh:name` | [â–¶][ShapeName] | ![status-complete] | | | `sh:description` | [â–¶][ShapeName] | ![status-complete] | | | `sh:order` | [â–¶][ShapeOrder] | ![status-missing] | | | `sh:group` | [â–¶][ShapeGroup] | ![status-missing] | | | `sh:defaultValue` | [â–¶][ShapeDefaultValue] | ![status-missing] | | # SHACL Advanced Features [spec](https://www.w3.org/TR/shacl-af/) ### [Custom Targets](https://www.w3.org/TR/shacl-af/#targets) | Parameter | Link | Status | Comments | |:---------- |:------: |:-------------: |:------ | | `sh:target` | [â–¶][AFSPARQLTarget] | ![status-complete] | | | `sh:SPARQLTarget` | [â–¶][AFSPARQLTarget] | ![status-complete] | | | `sh:SPARQLTargetType` | [â–¶][AFSPARQLTargetType] | ![status-complete] | | ### [Annotation Properties](https://www.w3.org/TR/shacl-af/#sparql-constraints-annotations) | Parameter | Link | Status | Comments | |:---------- |:------: |:-------------: |:------ | | `sh:annotationProperty` | [â–¶][AFAnnotation] | ![status-missing] | | | `sh:annotationVarName` | [â–¶][AFAnnotation] | ![status-missing] | | | `sh:annotationValue` | [â–¶][AFAnnotation] | ![status-missing] | | ### [SHACL Functions](https://www.w3.org/TR/shacl-af/#functions) | Parameter | Link | Status | Comments | |:---------- |:------: |:-------------: |:------: | | `sh:SHACLFunction` | [â–¶][AFSPARQLFunction] | ![status-complete] | fully implemented | | `sh:SPARQLFunction` | [â–¶][AFSPARQLFunction] | ![status-complete] | implemented using RDFLib | ### [Node Expressions](https://www.w3.org/TR/shacl-af/#node-expressions) | Path | Link | Status | Comments | |:---------- |:------: |:-------------: |:---------: | | `sh:this` | [â–¶][AFExpressionFocus] | ![status-complete] | | | Constant Term | [â–¶][AFExpConstantTerm] | ![status-complete] | | | `sh:filterShape` | [â–¶][AFExpFilterShape] | ![status-complete] | not tested | | SHACL Function | [â–¶][AFExpFunction] | ![status-complete] | | | `sh:path` | [â–¶][AFExpPath] | ![status-complete] | | | `sh:intersection` | [â–¶][AFExpIntersection] | ![status-complete] | not tested | | `sh:union` | [â–¶][AFExpUnion] | ![status-complete] | not tested | ### [Expression Constraints][AFExpression] | Path | Link | Status | Comments | |:---------- |:------: |:-------------: |:------: | | `sh:ExpressionConstraintComponent` | [â–¶][AFExpression] | ![status-complete] | | ### [SHACL Rules](https://www.w3.org/TR/shacl-af/#rules) | Parameter | Link | Status | Comments | |:---------- |:------: |:-------------: |:------: | | `sh:condition` | [â–¶][AFCondition] | ![status-complete] | | | `sh:order` | [â–¶][AFOrder] | ![status-complete] | | | `sh:deactivated` | [â–¶][AFDeactivated] | ![status-complete] | | | `sh:entailment` | [â–¶][AFEntailment] | ![status-missing] | | | `sh:TripleRule` | [â–¶][AFTripleRule] | ![status-complete] | | | `sh:SPARQLRule` | [â–¶][AFSPARQLRule] | ![status-complete] | | # SHACL-JS [spec](https://www.w3.org/TR/shacl-js/) The SHACL-JS features are implemented behind a Python "extras" feature. To enable it, you must install PySHACL using PIP with the extras included like `pyshacl[js]` ### [Javascript-based Constraints](https://www.w3.org/TR/shacl-js/#js-constraints) | Parameter | Link | Status | Comments | |:---------- |:------: |:-----------------: |:------ | | `sh:js` | [â–¶][JSConstraintValidation] | ![status-complete] | | ### [Javascript-based Constraints-Components](https://www.w3.org/TR/shacl-js/#js-components) | Parameter | Link | Status | Comments | |:---------- |:------: |:-----------------: |:------ | | `sh:validator` | [â–¶][JSConstraintComponentValidation] | ![status-complete] | | | `sh:JSValidator` | [â–¶][JSConstraintComponentValidation] | ![status-complete] | | ### [Javascript-based SHACL Functions](https://www.w3.org/TR/shacl-js/#js-functions) | Parameter | Link | Status | Comments | |:---------- |:------: |:-----------------: |:------ | | `sh:JSFunction` | [â–¶][JSFunctionsSyntax] | ![status-complete] | | | `sh:parameter` | [â–¶][JSFunctionsSyntax] | ![status-complete] | | ### [Javascript-based SHACL Rules](https://www.w3.org/TR/shacl-js/#rules) | Parameter | Link | Status | Comments | |:---------- |:------: |:-----------------: |:------ | | `sh:JSRule` | [â–¶][JSRulesExecution] | ![status-complete] | | ### [Javascript-based Custom Targets](https://www.w3.org/TR/shacl-js/#targets) | Parameter | Link | Status | Comments | |:---------- |:------: |:-----------------: |:------ | | `sh:JSTarget` | [â–¶][JSTarget] | ![status-complete] | | | `sh:JSTargetType` | [â–¶][JSTargetType] | ![status-complete] | | # Implementation Notes ## SHACL Test Suite Failures: ``` - core/property/datatype-ill-formed.ttl : Waiting on RDFLib support for determining ill-formed Literals https://github.com/RDFLib/rdflib/issues/848 - sparql/pre-binding/shapesGraph-001.ttl : Prebinding to $shapesGraph is currently unsupported. This will be supported in the future. ``` [status-complete]: https://img.shields.io/badge/status-complete-green.svg?longCache=true&style=popout [status-partial]: https://img.shields.io/badge/status-partial-yellow.svg?longCache=true&style=popout [status-missing]: https://img.shields.io/badge/status-missing-orange.svg?longCache=true&style=popout [link-icon]: https://assets-cdn.github.com/images/icons/emoji/unicode/1f517.png [ClassConstraintComponent]: https://www.w3.org/TR/shacl/#ClassConstraintComponent [DatatypeConstraintComponent]: https://www.w3.org/TR/shacl/#DatatypeConstraintComponent [NodeKindConstraintComponent]: https://www.w3.org/TR/shacl/#NodeKindConstraintComponent [MinCountConstraintComponent]: https://www.w3.org/TR/shacl/#MinCountConstraintComponent [MaxCountConstraintComponent]: https://www.w3.org/TR/shacl/#MaxCountConstraintComponent [MinExclusiveConstraintComponent]: https://www.w3.org/TR/shacl/#MinExclusiveConstraintComponent [MinInclusiveConstraintComponent]: https://www.w3.org/TR/shacl/#MinInclusiveConstraintComponent [MaxExclusiveConstraintComponent]: https://www.w3.org/TR/shacl/#MaxExclusiveConstraintComponent [MaxInclusiveConstraintComponent]: https://www.w3.org/TR/shacl/#MaxInclusiveConstraintComponent [MinLengthConstraintComponent]: https://www.w3.org/TR/shacl/#MinLengthConstraintComponent [MaxLengthConstraintComponent]: https://www.w3.org/TR/shacl/#MaxLengthConstraintComponent [PatternConstraintComponent]: https://www.w3.org/TR/shacl/#PatternConstraintComponent [LanguageInConstraintComponent]: https://www.w3.org/TR/shacl/#LanguageInConstraintComponent [UniqueLangConstraintComponent]: https://www.w3.org/TR/shacl/#UniqueLangConstraintComponent [EqualsConstraintComponent]: https://www.w3.org/TR/shacl/#EqualsConstraintComponent [DisjointConstraintComponent]: https://www.w3.org/TR/shacl/#DisjointConstraintComponent [LessThanConstraintComponent]: https://www.w3.org/TR/shacl/#LessThanConstraintComponent [LessThanOrEqualsConstraintComponent]: https://www.w3.org/TR/shacl/#LessThanOrEqualsConstraintComponent [NotConstraintComponent]: https://www.w3.org/TR/shacl/#NotConstraintComponent [AndConstraintComponent]: https://www.w3.org/TR/shacl/#AndConstraintComponent [OrConstraintComponent]: https://www.w3.org/TR/shacl/#OrConstraintComponent [XoneConstraintComponent]: https://www.w3.org/TR/shacl/#XoneConstraintComponent [NodeConstraintComponent]: https://www.w3.org/TR/shacl/#NodeConstraintComponent [PropertyConstraintComponent]: https://www.w3.org/TR/shacl/#PropertyConstraintComponent [QualifiedValueShapeConstraintComponent]: https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent [ClosedConstraintComponent]: https://www.w3.org/TR/shacl/#ClosedConstraintComponent [HasValueConstraintComponent]: https://www.w3.org/TR/shacl/#HasValueConstraintComponent [InConstraintComponent]: https://www.w3.org/TR/shacl/#InConstraintComponent [SPARQLConstraintComponent]: https://www.w3.org/TR/shacl/#dfn-sparql-based-constraints [ConstraintComponent]: https://www.w3.org/TR/shacl/#dfn-sparql-based-constraint-component [SPARQLAskValidator]: https://www.w3.org/TR/shacl/#SPARQLAskValidator [SPARQLSelectValidator]: https://www.w3.org/TR/shacl/#SPARQLSelectValidator [PredicatePath]: https://www.w3.org/TR/shacl/#property-path-predicate [SequencePath]: https://www.w3.org/TR/shacl/#property-path-sequence [AlternativePath]: https://www.w3.org/TR/shacl/#property-path-alternative [InversePath]: https://www.w3.org/TR/shacl/#property-path-inverse [ZeroOrMorePath]: https://www.w3.org/TR/shacl/#property-path-zero-or-more [OneOrMorePath]: https://www.w3.org/TR/shacl/#property-path-one-or-more [ZeroOrOnePath]: https://www.w3.org/TR/shacl/#property-path-zero-or-one [ShapeName]: https://www.w3.org/TR/shacl/#name [ShapeOrder]: https://www.w3.org/TR/shacl/#order [ShapeGroup]: https://www.w3.org/TR/shacl/#group [ShapeDefaultValue]: https://www.w3.org/TR/shacl/#defaultValue [AFSPARQLTarget]: https://www.w3.org/TR/shacl-af/#SPARQLTarget [AFSPARQLTargetType]: https://www.w3.org/TR/shacl-af/#SPARQLTargetType [AFAnnotation]: https://www.w3.org/TR/shacl-af/#sparql-constraints-annotations [AFSPARQLFunction]: https://www.w3.org/TR/shacl-af/#SPARQLFunction [AFExpressionFocus]: https://www.w3.org/TR/shacl-af/#node-expressions-focus [AFExpConstantTerm]: https://www.w3.org/TR/shacl-af/#node-expressions-constant [AFExpFilterShape]: https://www.w3.org/TR/shacl-af/#node-expressions-filter-shape [AFExpFunction]: https://www.w3.org/TR/shacl-af/#node-expressions-function [AFExpPath]: https://www.w3.org/TR/shacl-af/#node-expressions-path [AFExpIntersection]: https://www.w3.org/TR/shacl-af/#intersection [AFExpUnion]: https://www.w3.org/TR/shacl-af/#union [AFExpression]: https://www.w3.org/TR/shacl-af/#ExpressionConstraintComponent [AFCondition]: https://www.w3.org/TR/shacl-af/#condition [AFOrder]: https://www.w3.org/TR/shacl-af/#rules-order [AFDeactivated]: https://www.w3.org/TR/shacl-af/#deactivated [AFEntailment]: https://www.w3.org/TR/shacl-af/#Rules [AFTripleRule]: https://www.w3.org/TR/shacl-af/#TripleRule [AFSPARQLRule]: https://www.w3.org/TR/shacl-af/#SPARQLRule [JSConstraintValidation]: https://www.w3.org/TR/shacl-js/#js-constraints-validation [JSConstraintComponentValidation]: https://www.w3.org/TR/shacl-js/#validation-of-javascript-based-constraint-components [JSFunctionsSyntax]: https://www.w3.org/TR/shacl-js/#syntax-and-semantics-of-javascript-based-functions [JSRulesExecution]: https://www.w3.org/TR/shacl-js/#rules-execution [JSTarget]: https://www.w3.org/TR/shacl-js/#JSTarget [JSTargetType]: https://www.w3.org/TR/shacl-js/#JSTargetType pyshacl-0.30.1/LICENSE.txt0000644000000000000000000002613600000000000011760 0ustar00 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. pyshacl-0.30.1/MANIFEST.in0000644000000000000000000000044300000000000011664 0ustar00include *.txt *.md include pyproject.toml include poetry.lock include Makefile include MANIFEST.in include hooks/* include pyshacl/assets/*.pickle include pyshacl/*.spec include test/*.py include test/issues/*.py recursive-include test/resources *.ttl *.js recursive-include docs *.txt *.md pyshacl-0.30.1/Makefile0000644000000000000000000000461300000000000011571 0ustar00.PHONY: help help: @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' .PHONY: venvcheck ## Check if venv is active venvcheck: ifeq ("$(VIRTUAL_ENV)","") @echo "Venv is not activated!" @echo "Activate venv first." @echo exit 1 endif .PHONY: env env: venvcheck ## Double check environment variables env .PHONY: install install: venvcheck ## Install the dependencies, but not dev-dependencies poetry install --no-dev .PHONY: dev dev: venvcheck ## Install dependencies and dev-dependencies, but not this project itself poetry install --no-root --extras "js dev-lint dev-type-checking dev-coverage" .PHONY: test test: venvcheck ## Run the TOX tests in a TOX environment poetry run tox .PHONY: dev-test dev-test: venvcheck ## Run the tests in dev environment poetry run pytest --cov=pyshacl test/ poetry run pytest test/issues/ .PHONY: format format: venvcheck ## Run Ruff and isort Formatters ifeq ("$(FilePath)", "") poetry run ruff check --select I --fix ./pyshacl #isort fix poetry run ruff format --no-preview --target-version py39 pyshacl else poetry run ruff check --select I --fix "$(FilePath)" #isort fix poetry run ruff format --no-preview --target-version py39 "$(FilePath)" endif .PHONY: lint lint: venvcheck ## Validate with Ruff and isort in check-only mode ifeq ("$(FilePath)", "") poetry run ruff check ./pyshacl #flake8 poetry run ruff check --select I ./pyshacl #isort poetry run ruff format --check --no-preview --target-version py39 pyshacl else poetry run ruff check ./"$(FilePath)" #flake8 poetry run ruff check --select I ./"$(FilePath)" #isort poetry run ruff format --check --no-preview --target-version py39 "$(FilePath)" endif .PHONY: type-check type-check: venvcheck ## Validate with MyPy in check-only mode ifeq ("$(FilePath)", "") poetry run python3 -m mypy --python-version 3.9 --ignore-missing-imports pyshacl else poetry run python3 -m mypy --python-version 3.9 --ignore-missing-imports "$(FilePath)" endif .PHONY: upgrade upgrade: venvcheck ## Upgrade the dependencies poetry update .PHONY: downgrade downgrade: venvcheck ## Downgrade the dependencies git checkout pyproject.toml && git checkout poetry.lock poetry install --no-root --extras "js dev-lint dev-type-checking dev-coverage" .PHONY: publish publish: venvcheck ## Build and publish to PYPI poetry build poetry publish pyshacl-0.30.1/README.md0000644000000000000000000004577000000000000011421 0ustar00![](pySHACL-250.png) # pySHACL A Python validator for SHACL. [![Build Status](https://drone.rdflib.ashs.dev/api/badges/RDFLib/pySHACL/status.svg)](https://drone.rdflib.ashs.dev/RDFLib/pySHACL) [![DOI](https://zenodo.org/badge/147505799.svg)](https://zenodo.org/badge/latestdoi/147505799) [![Downloads](https://pepy.tech/badge/pyshacl)](https://pepy.tech/project/pyshacl) [![Downloads](https://pepy.tech/badge/pyshacl/month)](https://pepy.tech/project/pyshacl/month) [![Downloads](https://pepy.tech/badge/pyshacl/week)](https://pepy.tech/project/pyshacl/week) This is a pure Python module which allows for the validation of [RDF](https://www.w3.org/2001/sw/wiki/RDF) graphs against Shapes Constraint Language ([SHACL](https://www.w3.org/TR/shacl/)) graphs. This module uses the [rdflib](https://github.com/RDFLib/rdflib) Python library for working with RDF and is dependent on the [OWL-RL](https://github.com/RDFLib/OWL-RL) Python module for [OWL2 RL Profile](https://www.w3.org/TR/owl2-overview/#ref-owl-2-profiles) based expansion of data graphs. This module is developed to adhere to the SHACL Recommendation: > Holger Knublauch; Dimitris Kontokostas. *Shapes Constraint Language (SHACL)*. 20 July 2017. W3C Recommendation. URL: ED: # Community for Help and Support The SHACL community has a discord server for discussion of topics around SHACL and the SHACL specification. [Use this invitation link: https://discord.gg/RTbGfJqdKB to join the server](https://discord.gg/RTbGfJqdKB) There is a \#pyshacl channel for discussion of this python library, and you can ask for general SHACL help too. ## Installation Install with PIP (Using the Python3 pip installer `pip3`) ```bash $ pip3 install pyshacl ``` Or in a python virtualenv _(these example commandline instructions are for a Linux/Unix based OS)_ ```bash $ python3 -m virtualenv --python=python3 --no-site-packages .venv $ source ./.venv/bin/activate $ pip3 install pyshacl ``` To exit the virtual enviornment: ```bash $ deactivate ``` ## Command Line Use For command line use: _(these example commandline instructions are for a Linux/Unix based OS)_ ```bash $ pyshacl -s /path/to/shapesGraph.ttl -m -i rdfs -a -j -f human /path/to/dataGraph.ttl ``` Where - `-s` is an (optional) path to the shapes graph to use - `-e` is an (optional) path to an extra ontology graph to import - `-i` is the pre-inferencing option - `-f` is the ValidationReport output format (`human` = human-readable validation report) - `-m` enable the meta-shacl feature - `-a` enable SHACL Advanced Features - `-j` enable SHACL-JS Features (if `pyshacl[js]` is installed) System exit codes are: `0` = DataGraph is Conformant `1` = DataGraph is Non-Conformant `2` = The validator encountered a RuntimeError (check stderr output for details) `3` = Not-Implemented; The validator encountered a SHACL feature that is not yet implemented. Full CLI Usage options: ```bash $ pyshacl -h $ python3 -m pyshacl -h usage: pyshacl [-h] [-s [SHACL]] [-e [ONT]] [-i {none,rdfs,owlrl,both}] [-m] [-im] [-a] [-j] [-it] [--abort] [--allow-info] [-w] [--max-depth [MAX_DEPTH]] [-d] [-f {human,table,turtle,xml,json-ld,nt,n3}] [-df {auto,turtle,xml,json-ld,nt,n3}] [-sf {auto,turtle,xml,json-ld,nt,n3}] [-ef {auto,turtle,xml,json-ld,nt,n3}] [-V] [-o [OUTPUT]] [--server] DataGraph PySHACL 0.27.0 command line tool. positional arguments: DataGraph The file containing the Target Data Graph. optional arguments: --server Ignore all the rest of the options, start the HTTP Server. -h, --help show this help message and exit -s [SHACL], --shacl [SHACL] A file containing the SHACL Shapes Graph. -e [ONT], --ont-graph [ONT] A file path or URL to a document containing extra ontological information. RDFS and OWL definitions from this are used to inoculate the DataGraph. -i {none,rdfs,owlrl,both}, --inference {none,rdfs,owlrl,both} Choose a type of inferencing to run against the Data Graph before validating. -m, --metashacl Validate the SHACL Shapes graph against the shacl- shacl Shapes Graph before validating the Data Graph. -im, --imports Allow import of sub-graphs defined in statements with owl:imports. -a, --advanced Enable features from the SHACL Advanced Features specification. -j, --js Enable features from the SHACL-JS Specification. -it, --iterate-rules Run Shape's SHACL Rules iteratively until the data_graph reaches a steady state. --abort Abort on first invalid data. --allow-info, --allow-infos Shapes marked with severity of Info will not cause result to be invalid. -w, --allow-warning, --allow-warnings Shapes marked with severity of Warning or Info will not cause result to be invalid. --max-depth [MAX_DEPTH] The maximum number of SHACL shapes "deep" that the validator can go before reaching an "endpoint" constraint. -d, --debug Output additional verbose runtime messages. --focus [FOCUS] Optional IRIs of focus nodes from the DataGraph, the shapes will validate only these node. Comma-separated list. --shape [SHAPE] Optional IRIs of a NodeShape or PropertyShape from the SHACL ShapesGraph, only these shapes will be used to validate the DataGraph. Comma-separated list. -f {human,table,turtle,xml,json-ld,nt,n3}, --format {human,table,turtle,xml,json-ld,nt,n3} Choose an output format. Default is "human". -df {auto,turtle,xml,json-ld,nt,n3}, --data-file-format {auto,turtle,xml,json-ld,nt,n3} Explicitly state the RDF File format of the input DataGraph file. Default="auto". -sf {auto,turtle,xml,json-ld,nt,n3}, --shacl-file-format {auto,turtle,xml,json-ld,nt,n3} Explicitly state the RDF File format of the input SHACL file. Default="auto". -ef {auto,turtle,xml,json-ld,nt,n3}, --ont-file-format {auto,turtle,xml,json-ld,nt,n3} Explicitly state the RDF File format of the extra ontology file. Default="auto". -V, --version Show PySHACL version and exit. -o [OUTPUT], --output [OUTPUT] Send output to a file (defaults to stdout). --server Ignore all the rest of the options, start the HTTP Server. Same as `pyshacl_server`. ``` ## Python Module Use For basic use of this module, you can just call the `validate` function of the `pyshacl` module like this: ```python from pyshacl import validate r = validate(data_graph, shacl_graph=sg, ont_graph=og, inference='rdfs', abort_on_first=False, allow_infos=False, allow_warnings=False, meta_shacl=False, advanced=False, js=False, debug=False) conforms, results_graph, results_text = r ``` Where: * `data_graph` is an rdflib `Graph` object or file path of the graph to be validated * `shacl_graph` is an rdflib `Graph` object or file path or Web URL of the graph containing the SHACL shapes to validate with, or None if the SHACL shapes are included in the data_graph. * `ont_graph` is an rdflib `Graph` object or file path or Web URL a graph containing extra ontological information, or None if not required. RDFS and OWL definitions from this are used to inoculate the DataGraph. * `inference` is a Python string value to indicate whether or not to perform OWL inferencing expansion of the `data_graph` before validation. Options are 'rdfs', 'owlrl', 'both', or 'none'. The default is 'none'. * `abort_on_first` (optional) `bool` value to indicate whether or not the program should abort after encountering the first validation failure or to continue. Default is to continue. * `allow_infos` (optional) `bool` value, Shapes marked with severity of Info will not cause result to be invalid. * `allow_warnings` (optional) `bool` value, Shapes marked with severity of Warning or Info will not cause result to be invalid. * `meta_shacl` (optional) `bool` value to indicate whether or not the program should enable the Meta-SHACL feature. Default is False. * `advanced`: (optional) `bool` value to enable SHACL Advanced Features * `js`: (optional) `bool` value to enable SHACL-JS Features (if `pyshacl[js]` is installed) * `debug` (optional) `bool` value to indicate whether or not the program should emit debugging output text, including violations that didn't lead to non-conformance overall. So when debug is True don't judge conformance by absense of violation messages. Default is False. Some other optional keyword variables available on the `validate` function: * `data_graph_format`: Override the format detection for the given data graph source file. * `shacl_graph_format`: Override the format detection for the given shacl graph source file. * `ont_graph_format`: Override the format detection for the given extra ontology graph source file. * `iterate_rules`: Iterate SHACL Rules until steady state is found (only works with advanced mode). * `do_owl_imports`: Enable the feature to allow the import of subgraphs using `owl:imports` for the shapes graph and the ontology graph. Note, you explicitly cannot use this on the target data graph. * `serialize_report_graph`: Convert the report results_graph into a serialised representation (for example, 'turtle') * `check_dash_result`: Check the validation result against the given expected DASH test suite result. Return value: * a three-component `tuple` containing: * `conforms`: a `bool`, indicating whether the `data_graph` conforms to the `shacl_graph` * `results_graph`: a `Graph` object built according to the SHACL specification's [Validation Report](https://www.w3.org/TR/shacl/#validation-report) scheme * `results_text`: python string representing a verbose textual representation of the [Validation Report](https://www.w3.org/TR/shacl/#validation-report) ## Python Module Call You can get an equivalent of the Command Line Tool using the Python3 executable by doing: ```bash $ python3 -m pyshacl ``` ## Errors Under certain circumstances pySHACL can produce a [`Validation Failure`](https://www.w3.org/TR/shacl/#failures). This is a formal error [defined by the SHACL specification](https://www.w3.org/TR/shacl/#failures) and is required to be produced as a result of specific conditions within the SHACL graph that leads to the inability to complete the validation. If the validator produces a [`Validation Failure`](https://www.w3.org/TR/shacl/#failures), the `results_graph` variable returned by the `validate()` function will be an instance of `ValidationFailure`. See the `message` attribute on that instance to get more information about the validation failure. Other errors the validator can generate: - `ShapeLoadError`: This error is thrown when a SHACL Shape in the SHACL graph is in an invalid state and cannot be loaded into the validation engine. - `ConstraintLoadError`: This error is thrown when a SHACL Constraint Component is in an invalid state and cannot be loaded into the validation engine. - `ReportableRuntimeError`: An error occurred for a different reason, and the reason should be communicated back to the user of the validator. - `RuntimeError`: The validator encountered a situation that caused it to throw an error, but the reason does not concern the user. Unlike `ValidationFailure`, these errors are not passed back as a result by the `validate()` function, but thrown as exceptions by the validation engine and must be caught in a `try ... except` block. In the case of `ShapeLoadError` and `ConstraintLoadError`, see the `str()` string representation of the exception instance for the error message along with a link to the relevant section in the SHACL spec document. ## Focus Node Filtering, and Shape Selection PySHACL v0.27.0 and above has two powerful new features: - Focus Node Filtering - You can pass in a list of focus nodes to the validator, and it will only validate those focus nodes. - _Note_, you still need to use a SHACL ShapesGraph, and the Shapes _still need to target_ the focus nodes. - This feature will filter the Shapes' targeted focus nodes to include only those that are in the list of specified focus nodes. - SHACL Shape selection - You can pass in a list of SHACL Shapes to the validator, and it will use only those Shapes for validation. - This is useful for testing new shapes in your shapes graph, or for many other procedure-driven use cases. - Combined Shape Selection with Focus Node filtering - The combination of the above two new features is especially powerful. - If you give the validator a list of Shapes to use, and a list of focus nodes, the validator will operate in a highly-targeted mode, it feeds those focus nodes directly into those given Shapes for validation. - In this mode, the selected SHACL Shape does not need to specify any focus-targeting mechanisms of its own. ## SPARQL Remote Graph Mode _**PySHACL now has a built-in SPARQL Remote Graph Mode, which allows you to validate a data graph that is stored on a remote server.**_ - In this mode, PySHAL operates strictly in read-only mode, and does not modify the remote data graph. - Some features are disabled when using the SPARQL Remote Graph Mode: - "rdfs" and "owl" inferencing is not allowed (because the remote graph is read-only, it cannot be expanded) - Extra Ontology file (Inoculation or Mix-In mode) is disabled (because the remote graph is read-only) - SHACL Rules (Advanced mode SPARQL-Rules) are not allowed (because the remote graph is read-only) - All SHACL-JS features are disabled (this is not safe when operating on a remote graph) - "inplace" mode is disabled (actually all operations on the remote data graph are inherently performed in-place) ## Integrated OpenAPI-3.0-compatible HTTP REST Service PySHACL now has a built-in validation service, exposed via an OpenAPI3.0-compatible REST API. Due to the additional dependencies required to run, this feature is an optional extra. You must first install PySHACL with the `http` extra option enabled: ```bash $ pip3 install -U pyshacl[http] ``` When that is installed, you can start the service using the by executing the CLI entrypoint: ```bash $ pyshacl --server # or $ pyshacl_server # or $ python3 -m pyshacl server # or $ docker run --rm -e PYSHACL_SERVER=TRUE -i -t docker.io/ashleysommer/pyshacl:latest ``` By default, this will run the service on localhost address `127.0.0.1` on port `8099`. To view the SwaggerUI documentation for the service, navigate to `http://127.0.0.1:8099/docs/swagger` and for the ReDoc version, go to `http://127.0.0.1:8099/docs/redoc`. To view the OpenAPI3 schema see `http://127.0.0.1:8099/docs/openapi.json` ### Configuring the HTTP REST Service - You can force PySHACL CLI to start up in HTTP Server mode by passing environment variable `PYSHACL_SERVER=TRUE`. This is useful in a containerised service, where you will _only_ be running PySHACL in this mode. - `PYSHACL_SERVER_LISTEN=1.2.3.4` listen on a different IP Address or hostname - `PYSHACL_SERVER_PORT=8080` listen on given different TCP PORT - `PYSHACL_SERVER_HOSTNAME=example.org` when you are hosting the server behind a reverse-proxy or in a containerised environment, use this so PySHACL server knows what your externally facing hostname is ## Windows CLI [Pyinstaller](https://www.pyinstaller.org/) can be [used](https://pyinstaller.readthedocs.io/en/stable/usage.html) to create an executable for Windows that has the same characteristics as the Linux/Mac CLI program. The necessary ``.spec`` file is already included in ``pyshacl/pyshacl-cli.spec``. The ``pyshacl-cli.spec`` PyInstaller spec file creates a ``.exe`` for the pySHACL Command Line utility. See above for the pySHACL command line util usage instructions. See [the PyInstaller installation guide](https://pyinstaller.readthedocs.io/en/stable/installation.html#installing-in-windows) for info on how to install PyInstaller for Windows. Once you have pyinstaller, use pyinstaller to generate the ``pyshacl.exe`` CLI file like so: ```bash powershell $ cd src/pyshacl $ pyinstaller pyshacl-cli.spec ``` This will output ``pyshacl.exe`` in the ``dist`` directory in ``src/pyshacl``. You can now run the pySHACL Command Line utility via ``pyshacl.exe``. See above for the pySHACL command line util usage instructions. ## Docker Pull the official docker image from Dockerhub: `docker pull docker.io/ashleysommer/pyshacl:latest` Or build the image yourself, from the PySHACL repository with `docker build . -t pyshacl`. You can now run PySHACL inside a container; but you need to mount the data you want to validate. For example, to validate `graph.ttl` against `shacl.ttl`, run : ```bash docker run --rm -i -t --mount type=bind,src=`pwd`,dst=/data pyshacl -s /data/shacl.ttl /data/graph.ttl ``` ## Compatibility PySHACL is a Python3 library. For best compatibility use Python v3.8 or greater. Python3 v3.7 or below is _**not supported**_ and this library _**does not work**_ on Python v2.7.x or below. PySHACL is a PEP518 & PEP517 project, it uses `pyproject.toml` and `poetry` to manage dependencies, build and install. For best compatibility when installing from PyPI with `pip`, upgrade to pip v20.0.2 or above. - If you're on Ubuntu 18.04 or older, you will need to run `sudo pip3 install --upgrade pip` to get the newer version. ## Features A features matrix is kept in the [FEATURES file](https://github.com/RDFLib/pySHACL/blob/master/FEATURES.md). ## Changelog A comprehensive changelog is kept in the [CHANGELOG file](https://github.com/RDFLib/pySHACL/blob/master/CHANGELOG.md). ## Benchmarks This project includes a script to measure the difference in performance of validating the same source graph that has been inferenced using each of the four different inferencing options. Run it on your computer to see how fast the validator operates for you. ## License This repository is licensed under Apache License, Version 2.0. See the [LICENSE deed](https://github.com/RDFLib/pySHACL/blob/master/LICENSE.txt) for details. ## Contributors See the [CONTRIBUTORS file](https://github.com/RDFLib/pySHACL/blob/master/CONTRIBUTORS.md). ## Citation DOI: [10.5281/zenodo.4750840](https://doi.org/10.5281/zenodo.4750840) (For all versions/latest version) ## Contacts Project Lead: **Nicholas Car** *Senior Experimental Scientist* CSIRO Land & Water, Environmental Informatics Group Brisbane, Qld, Australia Lead Developer: **Ashley Sommer** *Informatics Software Engineer* CSIRO Land & Water, Environmental Informatics Group Brisbane, Qld, Australia pyshacl-0.30.1/benchmarks/benchmark.py0000644000000000000000000000273200000000000014552 0ustar00# -*- coding: utf-8 -*- import timeit # set up code is not included in the benchmark # this includes loading the SHACL file into a rdflib graph # this is a benchmark of the validator, not of rdflib ttl parsing. set_up_script = ''' import rdflib from pyshacl import monkey import pyshacl from os import path monkey.apply_patches() target_ttl_file = \ '../test/resources/dash_tests/core/complex/personexample.test.ttl' target_ttl_file = path.abspath(target_ttl_file) target_graph = rdflib.Graph("Memory") with open(target_ttl_file, 'rb') as file: target_graph.parse(file=file, format='turtle') ''' run_script_pre_none = ''' r = pyshacl.validate(target_graph, inference='none') ''' run_script_pre_rdfs = ''' r = pyshacl.validate(target_graph, inference='rdfs') ''' run_script_pre_owlrl = ''' r = pyshacl.validate(target_graph, inference='owlrl') ''' run_script_pre_both = ''' r = pyshacl.validate(target_graph, inference='both') ''' t1 = timeit.timeit(run_script_pre_none, set_up_script, number=200) / 200.0 t2 = timeit.timeit(run_script_pre_rdfs, set_up_script, number=200) / 200.0 t3 = timeit.timeit(run_script_pre_owlrl, set_up_script, number=200) / 200.0 t4 = timeit.timeit(run_script_pre_both, set_up_script, number=200) / 200.0 print("Benchmark completed. Validation took:\n" "With no inferencing: {} seconds\n" "With rdfs inferencing: {} seconds\n" "With owl-rl inferencing: {} seconds\n" "With both inferencing: {} seconds\n".format(t1, t2, t3, t4)) pyshacl-0.30.1/examples/advanced.py0000644000000000000000000000736300000000000014073 0ustar00"""\ A cool test that combines a bunch of SHACL-AF features, including: SHACL Functions (implemented as SPARQL functions) SHACL Rules Node Expressions Expression Constraint """ from pyshacl import validate from rdflib import Graph shacl_file = '''\ # prefix: ex @prefix ex: . @prefix exOnt: . @prefix exData: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of advanced features" ; . ex:concat a sh:SPARQLFunction ; rdfs:comment "Concatenates strings $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The first string" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:string ; sh:description "The second string" ; ] ; sh:returnType xsd:string ; sh:select """ SELECT ?result WHERE { BIND(CONCAT(STR(?op1),STR(?op2)) AS ?result) . } """ . ex:strlen a sh:SPARQLFunction ; rdfs:comment "Returns length of the given string." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The string" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ?result WHERE { BIND(STRLEN(?op1) AS ?result) . } """ . ex:lessThan a sh:SPARQLFunction ; rdfs:comment "Returns True if op1 < op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first int" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second int" ; ] ; sh:returnType xsd:boolean ; sh:select """ SELECT ?result WHERE { BIND(IF(?op1 < ?op2, true, false) AS ?result) . } """ . ex:PersonExpressionShape a sh:NodeShape ; sh:targetClass exOnt:Person ; sh:expression [ sh:message "Person's firstName and lastName together should be less than 35 chars long." ; ex:lessThan ( [ ex:strlen ( [ ex:concat ( [ sh:path exOnt:firstName] [ sh:path exOnt:lastName ] ) ] ) ] 35 ); ] . ex:PersonRuleShape a sh:NodeShape ; sh:targetClass exOnt:Administrator ; sh:message "An administrator is a person too." ; sh:rule [ a sh:TripleRule ; sh:subject sh:this ; sh:predicate rdf:type ; sh:object exOnt:Person ; ] . ''' data_graph = ''' # prefix: ex @prefix ex: . @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . ex:Kate rdf:type exOnt:Person ; exOnt:firstName "Kate" ; exOnt:lastName "Jones" ; . ex:Jenny rdf:type exOnt:Administrator ; exOnt:firstName "Jennifer" ; exOnt:lastName "Wolfeschlegelsteinhausenbergerdorff" ; . ''' if __name__ == "__main__": d = Graph().parse(data=data_graph, format="turtle") s = Graph().parse(data=shacl_file, format="turtle") conforms, report, message = validate(d, shacl_graph=s, advanced=True, debug=False) print(message) pyshacl-0.30.1/examples/example.py0000644000000000000000000000062700000000000013755 0ustar00# -*- coding: utf-8 -*- from pyshacl import validate from os import path data_ttl_file = \ '../test/resources/dash_tests/core/complex/personexample.test.ttl' data_ttl_file = path.abspath(data_ttl_file) conforms, v_graph, v_text = validate(data_ttl_file, shacl_graph=None, inference='rdfs', serialize_report_graph=True) print(conforms) print(v_graph) print(v_text) pyshacl-0.30.1/examples/remote_sparql.py0000644000000000000000000000106000000000000015167 0ustar00from pyshacl import validate from rdflib import Dataset, Graph from rdflib.plugins.stores.sparqlstore import SPARQLStore # Remote sparql endpoint: my_sparql_endpoint = "https://my.service.com/repo/data/sparql" store = SPARQLStore(my_sparql_endpoint, auth=('username', 'password')) data_dataset = Dataset(store, default_union=True) # Shapes graph: shapes_graph = Graph().parse("my_shapes.ttl", format="turtle") # Validate: result_tuple = validate(data_dataset, shacl_graph=shapes_graph, sparql_mode=True) conforms, results_graph, results_text = result_tuple pyshacl-0.30.1/examples/sparql_assert_datatype.py0000644000000000000000000000470100000000000017075 0ustar00from pyshacl import validate data_graph = """\ @prefix xsd: . { a . "zero"^^ . "one"^^xsd:string . "two"@en . 3 . "4"^^ . a . "five"^^ . }""" shapes_graph = '''\ @prefix sh: . @prefix owl: . @prefix xsd: . { a owl:Ontology ; sh:declare [ sh:prefix "ex" ; sh:namespace "http://example.org/"^^xsd:anyURI ; ] ; sh:declare [ sh:prefix "geo" ; sh:namespace "http://www.opengis.net/ont/geosparql#"^^xsd:anyURI ; ] ; sh:declare [ sh:prefix "my-dt" ; sh:namespace "http://example.org/datatypes/"^^xsd:anyURI ; ] . a sh:NodeShape ; sh:targetClass , ; sh:sparql [ sh:prefixes ; sh:select """ SELECT DISTINCT $this ?value WHERE { { SELECT $this ?value WHERE { $this ?_p ?o . FILTER (isLITERAL(?o)) BIND(DATATYPE(?o) as ?value) } } FILTER( !( STRSTARTS(STR(?value), STR(xsd:)) || STRSTARTS(STR(?value), STR(rdf:)) || STRSTARTS(STR(?value), STR(my-dt:)) || STRSTARTS(STR(?value), STR(geo:)) ) ) } """ ; ] ; sh:message "Datatype must be from the Datatypes Namespace" . } ''' conforms, result_graph, result_text = \ validate(data_graph, data_graph_format="trig", shacl_graph=shapes_graph, shacl_graph_format="trig") print(result_text) pyshacl-0.30.1/examples/two_file_example.py0000644000000000000000000000406400000000000015644 0ustar00from pyshacl import validate shapes_file = ''' @prefix dash: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix sh: . @prefix xsd: . schema:PersonShape a sh:NodeShape ; sh:targetClass schema:Person ; sh:property [ sh:path schema:givenName ; sh:datatype xsd:string ; sh:name "given name" ; ] ; sh:property [ sh:path schema:birthDate ; sh:lessThan schema:deathDate ; sh:maxCount 1 ; ] ; sh:property [ sh:path schema:gender ; sh:in ( "female" "male" ) ; ] ; sh:property [ sh:path schema:address ; sh:node schema:AddressShape ; ] . schema:AddressShape a sh:NodeShape ; sh:closed true ; sh:property [ sh:path schema:streetAddress ; sh:datatype xsd:string ; ] ; sh:property [ sh:path schema:postalCode ; sh:or ( [ sh:datatype xsd:string ] [ sh:datatype xsd:integer ] ) ; sh:minInclusive 10000 ; sh:maxInclusive 99999 ; ] . ''' shapes_file_format = 'turtle' data_file = ''' { "@context": { "@vocab": "http://schema.org/" }, "@id": "http://example.org/ns#Bob", "@type": "Person", "givenName": "Robert", "familyName": "Junior", "birthDate": "1971-07-07", "deathDate": "1968-09-10", "address": { "@id": "http://example.org/ns#BobsAddress", "streetAddress": "1600 Amphitheatre Pkway", "postalCode": 9404 } } ''' data_file_format = 'json-ld' conforms, v_graph, v_text = validate(data_file, shacl_graph=shapes_file, data_graph_format=data_file_format, shacl_graph_format=shapes_file_format, inference='rdfs', debug=True, serialize_report_graph=True) print(conforms) print(v_graph) print(v_text) pyshacl-0.30.1/hooks/pre-commit0000644000000000000000000000412400000000000013250 0ustar00#!/bin/sh # # To activate this git hook on your local dev environment: # copy or symlink this file to .git/hooks/pre-commit, and chmod +x to make executable if git rev-parse --verify HEAD >/dev/null 2>&1 then against=HEAD else # Initial commit: diff against an empty tree object against=$(git hash-object -t tree /dev/null) fi # If you want to allow non-ASCII filenames set this variable to true. allownonascii=$(git config --bool hooks.allownonascii) # Redirect output to stderr. exec 1>&2 # Cross platform projects tend to avoid non-ASCII filenames; prevent # them from being added to the repository. We exploit the fact that the # printable range starts at the space character and ends with tilde. if [ "$allownonascii" != "true" ] && # Note that the use of brackets around a tr range is ok here, (it's # even required, for portability to Solaris 10's /usr/bin/tr), since # the square bracket bytes happen to fall in the designated range. test $(git diff --cached --name-only --diff-filter=A -z $against | LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 then cat <<\EOF Error: Attempt to add a non-ASCII file name. This can cause problems if you want to work with people on other platforms. To be portable it is advisable to rename the file. If you know what you are doing you can disable this check using: git config hooks.allownonascii true EOF exit 1 fi if [ -n "$VIRTUAL_ENV" ]; then echo "Trying to activate venv at $VIRTUAL_ENV" . "$VIRTUAL_ENV"/bin/activate else echo "Trying to activate venv at ./.venv" . ./.venv/bin/activate fi OUT1=`make dev-test 1>&2` if [ $? -eq 0 ]; then echo "Tests passed\n" else echo "Tests failed! Cannot commit changes.\n" exit 1 fi OUT2=`make lint 1>&2` if [ $? -eq 0 ]; then echo "Lints passed\n" else echo "Lints failed! Cannot commit changes.\n" exit 1 fi OUT3=`make type-check 1>&2` if [ $? -eq 0 ]; then echo "Type Checking passed\n" else echo "Type Checking failed! Cannot commit changes.\n" exit 1 fi # If there are whitespace errors, print the offending file names and fail. exec git diff-index --check --cached $against -- pyshacl-0.30.1/poetry.lock0000644000000000000000000033431300000000000012330 0ustar00# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. [[package]] name = "aiofiles" version = "24.1.0" description = "File support for asyncio." optional = true python-versions = ">=3.8" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5"}, {file = "aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c"}, ] [[package]] name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" groups = ["main", "dev"] markers = "sys_platform == \"win32\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] [[package]] name = "coverage" version = "6.5.0" description = "Code coverage measurement for Python" optional = true python-versions = ">=3.7" groups = ["main", "dev"] files = [ {file = "coverage-6.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef8674b0ee8cc11e2d574e3e2998aea5df5ab242e012286824ea3c6970580e53"}, {file = "coverage-6.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:784f53ebc9f3fd0e2a3f6a78b2be1bd1f5575d7863e10c6e12504f240fd06660"}, {file = "coverage-6.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4a5be1748d538a710f87542f22c2cad22f80545a847ad91ce45e77417293eb4"}, {file = "coverage-6.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83516205e254a0cb77d2d7bb3632ee019d93d9f4005de31dca0a8c3667d5bc04"}, {file = "coverage-6.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af4fffaffc4067232253715065e30c5a7ec6faac36f8fc8d6f64263b15f74db0"}, {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:97117225cdd992a9c2a5515db1f66b59db634f59d0679ca1fa3fe8da32749cae"}, {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a1170fa54185845505fbfa672f1c1ab175446c887cce8212c44149581cf2d466"}, {file = "coverage-6.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:11b990d520ea75e7ee8dcab5bc908072aaada194a794db9f6d7d5cfd19661e5a"}, {file = "coverage-6.5.0-cp310-cp310-win32.whl", hash = "sha256:5dbec3b9095749390c09ab7c89d314727f18800060d8d24e87f01fb9cfb40b32"}, {file = "coverage-6.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:59f53f1dc5b656cafb1badd0feb428c1e7bc19b867479ff72f7a9dd9b479f10e"}, {file = "coverage-6.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4a5375e28c5191ac38cca59b38edd33ef4cc914732c916f2929029b4bfb50795"}, {file = "coverage-6.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4ed2820d919351f4167e52425e096af41bfabacb1857186c1ea32ff9983ed75"}, {file = "coverage-6.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33a7da4376d5977fbf0a8ed91c4dffaaa8dbf0ddbf4c8eea500a2486d8bc4d7b"}, {file = "coverage-6.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fb6cf131ac4070c9c5a3e21de0f7dc5a0fbe8bc77c9456ced896c12fcdad91"}, {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a6b7d95969b8845250586f269e81e5dfdd8ff828ddeb8567a4a2eaa7313460c4"}, {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1ef221513e6f68b69ee9e159506d583d31aa3567e0ae84eaad9d6ec1107dddaa"}, {file = "coverage-6.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cca4435eebea7962a52bdb216dec27215d0df64cf27fc1dd538415f5d2b9da6b"}, {file = "coverage-6.5.0-cp311-cp311-win32.whl", hash = "sha256:98e8a10b7a314f454d9eff4216a9a94d143a7ee65018dd12442e898ee2310578"}, {file = "coverage-6.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:bc8ef5e043a2af066fa8cbfc6e708d58017024dc4345a1f9757b329a249f041b"}, {file = "coverage-6.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4433b90fae13f86fafff0b326453dd42fc9a639a0d9e4eec4d366436d1a41b6d"}, {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f05d88d9a80ad3cac6244d36dd89a3c00abc16371769f1340101d3cb899fc3"}, {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:94e2565443291bd778421856bc975d351738963071e9b8839ca1fc08b42d4bef"}, {file = "coverage-6.5.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:027018943386e7b942fa832372ebc120155fd970837489896099f5cfa2890f79"}, {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:255758a1e3b61db372ec2736c8e2a1fdfaf563977eedbdf131de003ca5779b7d"}, {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:851cf4ff24062c6aec510a454b2584f6e998cada52d4cb58c5e233d07172e50c"}, {file = "coverage-6.5.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:12adf310e4aafddc58afdb04d686795f33f4d7a6fa67a7a9d4ce7d6ae24d949f"}, {file = "coverage-6.5.0-cp37-cp37m-win32.whl", hash = "sha256:b5604380f3415ba69de87a289a2b56687faa4fe04dbee0754bfcae433489316b"}, {file = "coverage-6.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:4a8dbc1f0fbb2ae3de73eb0bdbb914180c7abfbf258e90b311dcd4f585d44bd2"}, {file = "coverage-6.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d900bb429fdfd7f511f868cedd03a6bbb142f3f9118c09b99ef8dc9bf9643c3c"}, {file = "coverage-6.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2198ea6fc548de52adc826f62cb18554caedfb1d26548c1b7c88d8f7faa8f6ba"}, {file = "coverage-6.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c4459b3de97b75e3bd6b7d4b7f0db13f17f504f3d13e2a7c623786289dd670e"}, {file = "coverage-6.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:20c8ac5386253717e5ccc827caad43ed66fea0efe255727b1053a8154d952398"}, {file = "coverage-6.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b07130585d54fe8dff3d97b93b0e20290de974dc8177c320aeaf23459219c0b"}, {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:dbdb91cd8c048c2b09eb17713b0c12a54fbd587d79adcebad543bc0cd9a3410b"}, {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:de3001a203182842a4630e7b8d1a2c7c07ec1b45d3084a83d5d227a3806f530f"}, {file = "coverage-6.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e07f4a4a9b41583d6eabec04f8b68076ab3cd44c20bd29332c6572dda36f372e"}, {file = "coverage-6.5.0-cp38-cp38-win32.whl", hash = "sha256:6d4817234349a80dbf03640cec6109cd90cba068330703fa65ddf56b60223a6d"}, {file = "coverage-6.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:7ccf362abd726b0410bf8911c31fbf97f09f8f1061f8c1cf03dfc4b6372848f6"}, {file = "coverage-6.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:633713d70ad6bfc49b34ead4060531658dc6dfc9b3eb7d8a716d5873377ab745"}, {file = "coverage-6.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:95203854f974e07af96358c0b261f1048d8e1083f2de9b1c565e1be4a3a48cfc"}, {file = "coverage-6.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9023e237f4c02ff739581ef35969c3739445fb059b060ca51771e69101efffe"}, {file = "coverage-6.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:265de0fa6778d07de30bcf4d9dc471c3dc4314a23a3c6603d356a3c9abc2dfcf"}, {file = "coverage-6.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f830ed581b45b82451a40faabb89c84e1a998124ee4212d440e9c6cf70083e5"}, {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7b6be138d61e458e18d8e6ddcddd36dd96215edfe5f1168de0b1b32635839b62"}, {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:42eafe6778551cf006a7c43153af1211c3aaab658d4d66fa5fcc021613d02518"}, {file = "coverage-6.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:723e8130d4ecc8f56e9a611e73b31219595baa3bb252d539206f7bbbab6ffc1f"}, {file = "coverage-6.5.0-cp39-cp39-win32.whl", hash = "sha256:d9ecf0829c6a62b9b573c7bb6d4dcd6ba8b6f80be9ba4fc7ed50bf4ac9aecd72"}, {file = "coverage-6.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:fc2af30ed0d5ae0b1abdb4ebdce598eafd5b35397d4d75deb341a614d333d987"}, {file = "coverage-6.5.0-pp36.pp37.pp38-none-any.whl", hash = "sha256:1431986dac3923c5945271f169f59c45b8802a114c8f548d611f2015133df77a"}, {file = "coverage-6.5.0.tar.gz", hash = "sha256:f642e90754ee3e06b0e7e51bce3379590e76b7f76b708e1a71ff043f87025c84"}, ] [package.extras] toml = ["tomli ; python_full_version <= \"3.11.0a6\""] [[package]] name = "exceptiongroup" version = "1.2.2" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" groups = ["main", "dev"] markers = "python_version < \"3.11\"" files = [ {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] [package.extras] test = ["pytest (>=6)"] [[package]] name = "html5rdf" version = "1.2.1" description = "HTML parser based on the WHATWG HTML specification" optional = false python-versions = ">=3.8" groups = ["main"] files = [ {file = "html5rdf-1.2.1-py2.py3-none-any.whl", hash = "sha256:1f519121bc366af3e485310dc8041d2e86e5173c1a320fac3dc9d2604069b83e"}, {file = "html5rdf-1.2.1.tar.gz", hash = "sha256:ace9b420ce52995bb4f05e7425eedf19e433c981dfe7a831ab391e2fa2e1a195"}, ] [[package]] name = "httptools" version = "0.6.4" description = "A collection of framework independent HTTP protocol utils." optional = true python-versions = ">=3.8.0" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "httptools-0.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3c73ce323711a6ffb0d247dcd5a550b8babf0f757e86a52558fe5b86d6fefcc0"}, {file = "httptools-0.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:345c288418f0944a6fe67be8e6afa9262b18c7626c3ef3c28adc5eabc06a68da"}, {file = "httptools-0.6.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deee0e3343f98ee8047e9f4c5bc7cedbf69f5734454a94c38ee829fb2d5fa3c1"}, {file = "httptools-0.6.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca80b7485c76f768a3bc83ea58373f8db7b015551117375e4918e2aa77ea9b50"}, {file = "httptools-0.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90d96a385fa941283ebd231464045187a31ad932ebfa541be8edf5b3c2328959"}, {file = "httptools-0.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:59e724f8b332319e2875efd360e61ac07f33b492889284a3e05e6d13746876f4"}, {file = "httptools-0.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:c26f313951f6e26147833fc923f78f95604bbec812a43e5ee37f26dc9e5a686c"}, {file = "httptools-0.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f47f8ed67cc0ff862b84a1189831d1d33c963fb3ce1ee0c65d3b0cbe7b711069"}, {file = "httptools-0.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0614154d5454c21b6410fdf5262b4a3ddb0f53f1e1721cfd59d55f32138c578a"}, {file = "httptools-0.6.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f8787367fbdfccae38e35abf7641dafc5310310a5987b689f4c32cc8cc3ee975"}, {file = "httptools-0.6.4-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40b0f7fe4fd38e6a507bdb751db0379df1e99120c65fbdc8ee6c1d044897a636"}, {file = "httptools-0.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:40a5ec98d3f49904b9fe36827dcf1aadfef3b89e2bd05b0e35e94f97c2b14721"}, {file = "httptools-0.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:dacdd3d10ea1b4ca9df97a0a303cbacafc04b5cd375fa98732678151643d4988"}, {file = "httptools-0.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:288cd628406cc53f9a541cfaf06041b4c71d751856bab45e3702191f931ccd17"}, {file = "httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2"}, {file = "httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44"}, {file = "httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1"}, {file = "httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2"}, {file = "httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81"}, {file = "httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f"}, {file = "httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970"}, {file = "httptools-0.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ade273d7e767d5fae13fa637f4d53b6e961fb7fd93c7797562663f0171c26660"}, {file = "httptools-0.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:856f4bc0478ae143bad54a4242fccb1f3f86a6e1be5548fecfd4102061b3a083"}, {file = "httptools-0.6.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:322d20ea9cdd1fa98bd6a74b77e2ec5b818abdc3d36695ab402a0de8ef2865a3"}, {file = "httptools-0.6.4-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4d87b29bd4486c0093fc64dea80231f7c7f7eb4dc70ae394d70a495ab8436071"}, {file = "httptools-0.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:342dd6946aa6bda4b8f18c734576106b8a31f2fe31492881a9a160ec84ff4bd5"}, {file = "httptools-0.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b36913ba52008249223042dca46e69967985fb4051951f94357ea681e1f5dc0"}, {file = "httptools-0.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:28908df1b9bb8187393d5b5db91435ccc9c8e891657f9cbb42a2541b44c82fc8"}, {file = "httptools-0.6.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:d3f0d369e7ffbe59c4b6116a44d6a8eb4783aae027f2c0b366cf0aa964185dba"}, {file = "httptools-0.6.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:94978a49b8f4569ad607cd4946b759d90b285e39c0d4640c6b36ca7a3ddf2efc"}, {file = "httptools-0.6.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40dc6a8e399e15ea525305a2ddba998b0af5caa2566bcd79dcbe8948181eeaff"}, {file = "httptools-0.6.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab9ba8dcf59de5181f6be44a77458e45a578fc99c31510b8c65b7d5acc3cf490"}, {file = "httptools-0.6.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:fc411e1c0a7dcd2f902c7c48cf079947a7e65b5485dea9decb82b9105ca71a43"}, {file = "httptools-0.6.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:d54efd20338ac52ba31e7da78e4a72570cf729fac82bc31ff9199bedf1dc7440"}, {file = "httptools-0.6.4-cp38-cp38-win_amd64.whl", hash = "sha256:df959752a0c2748a65ab5387d08287abf6779ae9165916fe053e68ae1fbdc47f"}, {file = "httptools-0.6.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85797e37e8eeaa5439d33e556662cc370e474445d5fab24dcadc65a8ffb04003"}, {file = "httptools-0.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:db353d22843cf1028f43c3651581e4bb49374d85692a85f95f7b9a130e1b2cab"}, {file = "httptools-0.6.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ffd262a73d7c28424252381a5b854c19d9de5f56f075445d33919a637e3547"}, {file = "httptools-0.6.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:703c346571fa50d2e9856a37d7cd9435a25e7fd15e236c397bf224afaa355fe9"}, {file = "httptools-0.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aafe0f1918ed07b67c1e838f950b1c1fabc683030477e60b335649b8020e1076"}, {file = "httptools-0.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0e563e54979e97b6d13f1bbc05a96109923e76b901f786a5eae36e99c01237bd"}, {file = "httptools-0.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:b799de31416ecc589ad79dd85a0b2657a8fe39327944998dea368c1d4c9e55e6"}, {file = "httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c"}, ] [package.extras] test = ["Cython (>=0.29.24)"] [[package]] name = "importlib-metadata" version = "8.6.1" description = "Read metadata from Python packages" optional = false python-versions = ">=3.9" groups = ["main"] markers = "python_version < \"3.12\"" files = [ {file = "importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e"}, {file = "importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580"}, ] [package.dependencies] zipp = ">=3.20" [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] test = ["flufl.flake8", "importlib_resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.7" groups = ["main", "dev"] files = [ {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, ] [[package]] name = "isodate" version = "0.7.2" description = "An ISO 8601 date/time/duration parser and formatter" optional = false python-versions = ">=3.7" groups = ["main"] markers = "python_version < \"3.11\"" files = [ {file = "isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15"}, {file = "isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6"}, ] [[package]] name = "multidict" version = "6.1.0" description = "multidict implementation" optional = true python-versions = ">=3.8" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, ] [package.dependencies] typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} [[package]] name = "mypy" version = "1.15.0" description = "Optional static typing for Python" optional = true python-versions = ">=3.9" groups = ["main", "dev"] files = [ {file = "mypy-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:979e4e1a006511dacf628e36fadfecbcc0160a8af6ca7dad2f5025529e082c13"}, {file = "mypy-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c4bb0e1bd29f7d34efcccd71cf733580191e9a264a2202b0239da95984c5b559"}, {file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:be68172e9fd9ad8fb876c6389f16d1c1b5f100ffa779f77b1fb2176fcc9ab95b"}, {file = "mypy-1.15.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7be1e46525adfa0d97681432ee9fcd61a3964c2446795714699a998d193f1a3"}, {file = "mypy-1.15.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2e2c2e6d3593f6451b18588848e66260ff62ccca522dd231cd4dd59b0160668b"}, {file = "mypy-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:6983aae8b2f653e098edb77f893f7b6aca69f6cffb19b2cc7443f23cce5f4828"}, {file = "mypy-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2922d42e16d6de288022e5ca321cd0618b238cfc5570e0263e5ba0a77dbef56f"}, {file = "mypy-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2ee2d57e01a7c35de00f4634ba1bbf015185b219e4dc5909e281016df43f5ee5"}, {file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:973500e0774b85d9689715feeffcc980193086551110fd678ebe1f4342fb7c5e"}, {file = "mypy-1.15.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a95fb17c13e29d2d5195869262f8125dfdb5c134dc8d9a9d0aecf7525b10c2c"}, {file = "mypy-1.15.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1905f494bfd7d85a23a88c5d97840888a7bd516545fc5aaedff0267e0bb54e2f"}, {file = "mypy-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:c9817fa23833ff189db061e6d2eff49b2f3b6ed9856b4a0a73046e41932d744f"}, {file = "mypy-1.15.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:aea39e0583d05124836ea645f412e88a5c7d0fd77a6d694b60d9b6b2d9f184fd"}, {file = "mypy-1.15.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f2147ab812b75e5b5499b01ade1f4a81489a147c01585cda36019102538615f"}, {file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce436f4c6d218a070048ed6a44c0bbb10cd2cc5e272b29e7845f6a2f57ee4464"}, {file = "mypy-1.15.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8023ff13985661b50a5928fc7a5ca15f3d1affb41e5f0a9952cb68ef090b31ee"}, {file = "mypy-1.15.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1124a18bc11a6a62887e3e137f37f53fbae476dc36c185d549d4f837a2a6a14e"}, {file = "mypy-1.15.0-cp312-cp312-win_amd64.whl", hash = "sha256:171a9ca9a40cd1843abeca0e405bc1940cd9b305eaeea2dda769ba096932bb22"}, {file = "mypy-1.15.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:93faf3fdb04768d44bf28693293f3904bbb555d076b781ad2530214ee53e3445"}, {file = "mypy-1.15.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:811aeccadfb730024c5d3e326b2fbe9249bb7413553f15499a4050f7c30e801d"}, {file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:98b7b9b9aedb65fe628c62a6dc57f6d5088ef2dfca37903a7d9ee374d03acca5"}, {file = "mypy-1.15.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c43a7682e24b4f576d93072216bf56eeff70d9140241f9edec0c104d0c515036"}, {file = "mypy-1.15.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:baefc32840a9f00babd83251560e0ae1573e2f9d1b067719479bfb0e987c6357"}, {file = "mypy-1.15.0-cp313-cp313-win_amd64.whl", hash = "sha256:b9378e2c00146c44793c98b8d5a61039a048e31f429fb0eb546d93f4b000bedf"}, {file = "mypy-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e601a7fa172c2131bff456bb3ee08a88360760d0d2f8cbd7a75a65497e2df078"}, {file = "mypy-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:712e962a6357634fef20412699a3655c610110e01cdaa6180acec7fc9f8513ba"}, {file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95579473af29ab73a10bada2f9722856792a36ec5af5399b653aa28360290a5"}, {file = "mypy-1.15.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f8722560a14cde92fdb1e31597760dc35f9f5524cce17836c0d22841830fd5b"}, {file = "mypy-1.15.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fbb8da62dc352133d7d7ca90ed2fb0e9d42bb1a32724c287d3c76c58cbaa9c2"}, {file = "mypy-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:d10d994b41fb3497719bbf866f227b3489048ea4bbbb5015357db306249f7980"}, {file = "mypy-1.15.0-py3-none-any.whl", hash = "sha256:5469affef548bd1895d86d3bf10ce2b44e33d86923c29e4d675b3e323437ea3e"}, {file = "mypy-1.15.0.tar.gz", hash = "sha256:404534629d51d3efea5c800ee7c42b72a6554d6c400e6a79eafe15d11341fd43"}, ] [package.dependencies] mypy_extensions = ">=1.0.0" tomli = {version = ">=1.1.0", markers = "python_version < \"3.11\""} typing_extensions = ">=4.6.0" [package.extras] dmypy = ["psutil (>=4.0)"] faster-cache = ["orjson"] install-types = ["pip"] mypyc = ["setuptools (>=50)"] reports = ["lxml"] [[package]] name = "mypy-extensions" version = "1.0.0" description = "Type system extensions for programs checked with the mypy type checker." optional = true python-versions = ">=3.5" groups = ["main", "dev"] files = [ {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, ] [[package]] name = "owlrl" version = "7.1.3" description = "A simple implementation of the OWL2 RL Profile, as well as a basic RDFS inference, on top of RDFLib. Based mechanical forward chaining." optional = false python-versions = "<4.0,>=3.8.1" groups = ["main"] files = [ {file = "owlrl-7.1.3-py3-none-any.whl", hash = "sha256:371076ed3427b7962bf5675aded0bb2d23bee61595b85582f8dce11f75ee10a8"}, {file = "owlrl-7.1.3.tar.gz", hash = "sha256:c9acf66135821ed7a6c4e002387bdb60a5804c86bf0210310df7d5a5da5d2eb1"}, ] [package.dependencies] rdflib = ">=7.1.3" [[package]] name = "packaging" version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] name = "platformdirs" version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = true python-versions = ">=3.8" groups = ["main", "dev"] files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" version = "1.5.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" groups = ["main", "dev"] files = [ {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] dev = ["pre-commit", "tox"] testing = ["pytest", "pytest-benchmark"] [[package]] name = "prettytable" version = "3.15.1" description = "A simple Python library for easily displaying tabular data in a visually appealing ASCII table format" optional = false python-versions = ">=3.9" groups = ["main"] files = [ {file = "prettytable-3.15.1-py3-none-any.whl", hash = "sha256:1bb0da7437e904ec879d2998aded19abc722719aa3d384a7faa44dcbe4aeb2e9"}, {file = "prettytable-3.15.1.tar.gz", hash = "sha256:f0edb38060cb9161b2417939bfd5cd9877da73388fb19d1e8bf7987e8558896e"}, ] [package.dependencies] wcwidth = "*" [package.extras] tests = ["pytest", "pytest-cov", "pytest-lazy-fixtures"] [[package]] name = "pyduktape2" version = "0.4.6" description = "Python integration for the Duktape Javascript interpreter" optional = true python-versions = "*" groups = ["main"] markers = "extra == \"js\"" files = [ {file = "pyduktape2-0.4.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9255d2ac1d52c5c5633962e815b6513c4845830ee095705e0851ae95693738e2"}, {file = "pyduktape2-0.4.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94ddfc90bb36e8fa8b32fe916f08702d0edb4ff628d7dd631cc40974d4ee6994"}, {file = "pyduktape2-0.4.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28708fb07c44a03e4af7fff7724d01c44a36bbd8233643afa55e061906692de6"}, {file = "pyduktape2-0.4.6-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b47dc422d86fbb526b2b0d615b7bbc66d8f0064f502890521acadc0edf559935"}, {file = "pyduktape2-0.4.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:212c1a3eaf772b136cc6ea8d56684c5c95298eb80e75e163cc0ffa116d19e77f"}, {file = "pyduktape2-0.4.6-cp310-cp310-win32.whl", hash = "sha256:d369719d98986af790f19e3371579b76beb1f4648f0f0e7ad0f9a78b60a39fdb"}, {file = "pyduktape2-0.4.6-cp310-cp310-win_amd64.whl", hash = "sha256:8fbfd6170ea78781463d01b5e4d63427b43dde61d42eeaa16b4061bbc882c380"}, {file = "pyduktape2-0.4.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9341beea16e35d6fdb717708fcb6f6dc6e44b652806b8f3b13e1feedece56e50"}, {file = "pyduktape2-0.4.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9704f6a6b7bd6c90fefd5c2c759956cc1efa467c53fc096cda45ac941073602c"}, {file = "pyduktape2-0.4.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3bf97b6ad0ca6d5e6f1c9f14e9dffe5649ec5532e8333b4bb680135212696f5"}, {file = "pyduktape2-0.4.6-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:ebf1238fcbad3133647f7946d449286294a4ef2b54e4410a8faacc786d27f135"}, {file = "pyduktape2-0.4.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:37acb400a3a9a70505259066ad043ad5f42ee4459edb49b8025bc220814eeef1"}, {file = "pyduktape2-0.4.6-cp311-cp311-win32.whl", hash = "sha256:2c49184ed6b2a653d03ba2da9f790303f57557575927a85f82165e49ab3fe8d0"}, {file = "pyduktape2-0.4.6-cp311-cp311-win_amd64.whl", hash = "sha256:6d3915c822ec1e950a8840799f6b5083caaaf0dfcaad26f18dc79db86aad5e44"}, {file = "pyduktape2-0.4.6-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:baea2304eef58c54ed3a1972b417793117a4fcaabd80c8c029a4e573538ac83a"}, {file = "pyduktape2-0.4.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b495b9c0a88110723fcb7ef33077af01d86a9b892ee8e5c60dfe565aff292fdf"}, {file = "pyduktape2-0.4.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02988ccd7392be0bc4bfbd56dc7c303cbd54ff7dd3c028faf7932c43f500a9ce"}, {file = "pyduktape2-0.4.6-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:d981284c43307e4e71c0a90ec49681f9ebb0ec7917a65cbc32d6d547beca0e7a"}, {file = "pyduktape2-0.4.6-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58285917cc06e56060524a87680d1fdfb99e985e806b7a0b1d47833bb2bf7f78"}, {file = "pyduktape2-0.4.6-cp312-cp312-win32.whl", hash = "sha256:b8b37f3fdb72e052f7b281fff3b5169b5fbaa3aeb9cf29725a9fc78e47ee2b84"}, {file = "pyduktape2-0.4.6-cp312-cp312-win_amd64.whl", hash = "sha256:91ba9520d61ff5c154fedd07fa7ca12862b7e0a828cf49d2c72d2519489ac292"}, {file = "pyduktape2-0.4.6-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:a1e3825b3830322170121f725e2426c11ac783d2591008cf3fb2e671ab026f31"}, {file = "pyduktape2-0.4.6-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7510b2821cf66234b5bfee5b29c7e3fa19d82dd9f9553d645b58f06bf1d91d23"}, {file = "pyduktape2-0.4.6-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8fabb608a549c78e0de91e22b9e669be05562b276d53cf878886e596cef759bc"}, {file = "pyduktape2-0.4.6-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:5172218a1785db25868e4f19ba8d83629c04bfac9a58589c56a2693a04c289fe"}, {file = "pyduktape2-0.4.6-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:e94b84f2ada8877f891ed6708be902e6ef5a9a33cb20a28465258dc0fd63ba1f"}, {file = "pyduktape2-0.4.6-cp36-cp36m-win32.whl", hash = "sha256:0769cc69104ad51131bbe9619e0a9e7927c56477e0199c90a04b7831086ddc65"}, {file = "pyduktape2-0.4.6-cp36-cp36m-win_amd64.whl", hash = "sha256:1ee7fb6d9ed40d739b1bc379d2137759881682872d1227580b01172c9bfd178b"}, {file = "pyduktape2-0.4.6-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d048fe6ae9d665d37b22f669aac80da6ffc23c4d00660c337de3a1317b8d06e8"}, {file = "pyduktape2-0.4.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c808fb17f5d39e13f7ca565b66a252cc45a4df26b3f3599a6533e79475854fdf"}, {file = "pyduktape2-0.4.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:efecc1b164a45c0cfbb794bc3cb2c95f287af5d1b9195ae3022e30f31d169912"}, {file = "pyduktape2-0.4.6-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:17febf5f9c633c65d0afa25f1386ef076990f6b359b17576146b702bda08a586"}, {file = "pyduktape2-0.4.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6f94abb7fe2d5e168ff2d004baa730eb0c2ced4c1ed733eca51e0871761daeb1"}, {file = "pyduktape2-0.4.6-cp37-cp37m-win32.whl", hash = "sha256:b006e19eb28afa7be05b3bd20f50944603eaa6beefff706603e8f27c4933f2e8"}, {file = "pyduktape2-0.4.6-cp37-cp37m-win_amd64.whl", hash = "sha256:37033889dcb64b1c747683a7f52e374f500e41a7b52085976181afc8899095bb"}, {file = "pyduktape2-0.4.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:681c7e8d116885fd41288b841f97a1eb5e8389084fd06dacffb4f44df70d376b"}, {file = "pyduktape2-0.4.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e76290d527933412b31683c8675593fe53bf1286411decfde2127ea88f75dcd1"}, {file = "pyduktape2-0.4.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1a48b9f17c1cb9d36a877a1a3e8f4ac561574be4539729d27bfc02a13e1848ed"}, {file = "pyduktape2-0.4.6-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:fe7e22d34392e8205a51feaa54bc7819d76a444cc72fadd33fc24327d77bcd99"}, {file = "pyduktape2-0.4.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9fe79cc5340126ab1db65d3415c09267b149e0f857167b85a4ca1e5a68474223"}, {file = "pyduktape2-0.4.6-cp38-cp38-win32.whl", hash = "sha256:e01a6967cb76ec2965320c40997448673b66708e37d8322b80edc3e13ae2f446"}, {file = "pyduktape2-0.4.6-cp38-cp38-win_amd64.whl", hash = "sha256:57a916b43f22a906e28663ebec7100ef9513f126a720212a03bfc2561ba48e2f"}, {file = "pyduktape2-0.4.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:059ed48d04cff7d5bced67f9262e40d5c4f70ec69d11b403266898437467c24b"}, {file = "pyduktape2-0.4.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e97abdeefd0b9374be2ff7e82d18ec79aad5bd5245bb823af2e987f9fc1461ee"}, {file = "pyduktape2-0.4.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84566c804b94766993037a3daa5a5d4d8a30a2b35e79fbca62640dde1fcec754"}, {file = "pyduktape2-0.4.6-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d89812f7fcfa4eb27b5bbc83a624534a626b001d486836dbd509a7d3206bd810"}, {file = "pyduktape2-0.4.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:64d773767aaa81c325f10c32bbbbde7578a167233275cc09394c721f21880373"}, {file = "pyduktape2-0.4.6-cp39-cp39-win32.whl", hash = "sha256:5478420c56c13189689e562602240990884c889f49faabd5b09b26d19a4c611e"}, {file = "pyduktape2-0.4.6-cp39-cp39-win_amd64.whl", hash = "sha256:e7c5ace734cd7c6cdd751d4c7cf6eab8c9c7052b5db8f5d500f62b069b9463ae"}, {file = "pyduktape2-0.4.6-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:230ffa2a28155efbd2983aaf313f669009fee41fe8f9bf8bcf378d3dfc667d89"}, {file = "pyduktape2-0.4.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95264e3661e182ea2ef229c8026177da83131221944f407e710d7a12ab6daede"}, {file = "pyduktape2-0.4.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4d2093eb942e303b9b7bfa81a47d6b2488ffd368f23dd4a41d27428477ac50c"}, {file = "pyduktape2-0.4.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f8427312db3a2298b310b290623b06b687c75b440df71096ae73d2555fed4433"}, {file = "pyduktape2-0.4.6-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9fe05c261025c7a7368be0dab6bb62e8d8ada4e9fe52beb8a39d593cdced5dbc"}, {file = "pyduktape2-0.4.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1054b74ff0242e589c105d20eec7fff3433c7e76a3bf806b3b227e55352ec31c"}, {file = "pyduktape2-0.4.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6258be9143a98eb46aedde7b99dc7779557119c7935eab74b8ceda25331c3909"}, {file = "pyduktape2-0.4.6-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:600e20bc9ce3f4c93c2baaedc9430684b962df2992a9574ec833fa77b0ae290b"}, {file = "pyduktape2-0.4.6-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:e8920f8d4321511d3ad5edae7ce049ff86f8be8a891781b0eca3ccbc21796c39"}, {file = "pyduktape2-0.4.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfaad70b2c389efcf4e3b3ebc0afbd0aae4ca1f2488006a98cf9ca8454d364d3"}, {file = "pyduktape2-0.4.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a55314ec9a1d26ba04cd949c986592a506b66b8599045a9d77bebf6d4386047"}, {file = "pyduktape2-0.4.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:52a9869c2964c20215baa19843e6094a1536d437d22463c08dc5ebfadd88586d"}, {file = "pyduktape2-0.4.6-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3ed71365991969c22c675a9b35cc425c609c10a7073feb439bc3cbcc723c4a16"}, {file = "pyduktape2-0.4.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75a215e53e79ccd4efaea89ed7b4d5480c24d45df49e92d069377bd916c00994"}, {file = "pyduktape2-0.4.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a447ee8f9cef620de68a8d2600b49d48354075f7e1a734ce05c83f01baf05c0"}, {file = "pyduktape2-0.4.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e62e3195a8315abe84ddaa52cf6e52d0924b180ab037c50f6e35cc269d9a96f"}, {file = "pyduktape2-0.4.6.tar.gz", hash = "sha256:c84674e202ef4901bca8f6ea8b40197259bf44656167a1106ef076a491421bec"}, ] [[package]] name = "pyparsing" version = "3.2.1" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.9" groups = ["main"] files = [ {file = "pyparsing-3.2.1-py3-none-any.whl", hash = "sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1"}, {file = "pyparsing-3.2.1.tar.gz", hash = "sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a"}, ] [package.extras] diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pytest" version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" groups = ["main", "dev"] files = [ {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" pluggy = ">=0.12,<2.0" tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} [package.extras] testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-cov" version = "2.12.1" description = "Pytest plugin for measuring coverage." optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" groups = ["main", "dev"] files = [ {file = "pytest-cov-2.12.1.tar.gz", hash = "sha256:261ceeb8c227b726249b376b8526b600f38667ee314f910353fa318caa01f4d7"}, {file = "pytest_cov-2.12.1-py2.py3-none-any.whl", hash = "sha256:261bb9e47e65bd099c89c3edf92972865210c36813f80ede5277dceb77a4a62a"}, ] [package.dependencies] coverage = ">=5.2.1" pytest = ">=4.6" toml = "*" [package.extras] testing = ["fields", "hunter", "process-tests", "pytest-xdist", "six", "virtualenv"] [[package]] name = "pyyaml" version = "6.0.2" description = "YAML parser and emitter for Python" optional = true python-versions = ">=3.8" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] name = "rdflib" version = "7.1.3" description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." optional = false python-versions = "<4.0.0,>=3.8.1" groups = ["main"] files = [ {file = "rdflib-7.1.3-py3-none-any.whl", hash = "sha256:5402310a9f0f3c07d453d73fd0ad6ba35616286fe95d3670db2b725f3f539673"}, {file = "rdflib-7.1.3.tar.gz", hash = "sha256:f3dcb4c106a8cd9e060d92f43d593d09ebc3d07adc244f4c7315856a12e383ee"}, ] [package.dependencies] html5rdf = {version = ">=1.2,<2", optional = true, markers = "extra == \"html\""} isodate = {version = ">=0.7.2,<1.0.0", markers = "python_version < \"3.11\""} pyparsing = ">=2.1.0,<4" [package.extras] berkeleydb = ["berkeleydb (>=18.1.0,<19.0.0)"] html = ["html5rdf (>=1.2,<2)"] lxml = ["lxml (>=4.3,<6.0)"] networkx = ["networkx (>=2,<4)"] orjson = ["orjson (>=3.9.14,<4)"] [[package]] name = "ruff" version = "0.9.10" description = "An extremely fast Python linter and code formatter, written in Rust." optional = true python-versions = ">=3.7" groups = ["main", "dev"] files = [ {file = "ruff-0.9.10-py3-none-linux_armv6l.whl", hash = "sha256:eb4d25532cfd9fe461acc83498361ec2e2252795b4f40b17e80692814329e42d"}, {file = "ruff-0.9.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:188a6638dab1aa9bb6228a7302387b2c9954e455fb25d6b4470cb0641d16759d"}, {file = "ruff-0.9.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:5284dcac6b9dbc2fcb71fdfc26a217b2ca4ede6ccd57476f52a587451ebe450d"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47678f39fa2a3da62724851107f438c8229a3470f533894b5568a39b40029c0c"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99713a6e2766b7a17147b309e8c915b32b07a25c9efd12ada79f217c9c778b3e"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:524ee184d92f7c7304aa568e2db20f50c32d1d0caa235d8ddf10497566ea1a12"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:df92aeac30af821f9acf819fc01b4afc3dfb829d2782884f8739fb52a8119a16"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de42e4edc296f520bb84954eb992a07a0ec5a02fecb834498415908469854a52"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d257f95b65806104b6b1ffca0ea53f4ef98454036df65b1eda3693534813ecd1"}, {file = "ruff-0.9.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b60dec7201c0b10d6d11be00e8f2dbb6f40ef1828ee75ed739923799513db24c"}, {file = "ruff-0.9.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:d838b60007da7a39c046fcdd317293d10b845001f38bcb55ba766c3875b01e43"}, {file = "ruff-0.9.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:ccaf903108b899beb8e09a63ffae5869057ab649c1e9231c05ae354ebc62066c"}, {file = "ruff-0.9.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f9567d135265d46e59d62dc60c0bfad10e9a6822e231f5b24032dba5a55be6b5"}, {file = "ruff-0.9.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5f202f0d93738c28a89f8ed9eaba01b7be339e5d8d642c994347eaa81c6d75b8"}, {file = "ruff-0.9.10-py3-none-win32.whl", hash = "sha256:bfb834e87c916521ce46b1788fbb8484966e5113c02df216680102e9eb960029"}, {file = "ruff-0.9.10-py3-none-win_amd64.whl", hash = "sha256:f2160eeef3031bf4b17df74e307d4c5fb689a6f3a26a2de3f7ef4044e3c484f1"}, {file = "ruff-0.9.10-py3-none-win_arm64.whl", hash = "sha256:5fd804c0327a5e5ea26615550e706942f348b197d5475ff34c19733aee4b2e69"}, {file = "ruff-0.9.10.tar.gz", hash = "sha256:9bacb735d7bada9cfb0f2c227d3658fc443d90a727b47f206fb33f52f3c0eac7"}, ] [[package]] name = "sanic" version = "22.12.0" description = "A web server and web framework that's written to go fast. Build fast. Run fast." optional = true python-versions = ">=3.7" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "sanic-22.12.0-py3-none-any.whl", hash = "sha256:84edf46cc17d13264ccec0ae6622e43087498f95644dc336ade74a2d5e6c88cb"}, {file = "sanic-22.12.0.tar.gz", hash = "sha256:e5f81115f838956957046b6c52e7a08c1bd6e8ff530ee1376471eaf1579bfffa"}, ] [package.dependencies] aiofiles = ">=0.6.0" httptools = ">=0.0.10" multidict = ">=5.0,<7.0" sanic-routing = ">=22.8.0" ujson = {version = ">=1.35", markers = "sys_platform != \"win32\" and implementation_name == \"cpython\""} uvloop = {version = ">=0.15.0", markers = "sys_platform != \"win32\" and implementation_name == \"cpython\""} websockets = ">=10.0" [package.extras] all = ["bandit", "beautifulsoup4", "black", "chardet (==3.*)", "coverage", "cryptography", "docutils", "enum-tools[sphinx]", "flake8", "isort (>=5.0.0)", "m2r2", "mistune (<2.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==7.1.*)", "pytest-benchmark", "pytest-sanic", "sanic-testing (>=22.9.0)", "slotscheck (>=0.8.0,<1)", "sphinx (>=2.1.2)", "sphinx-rtd-theme (>=0.4.3)", "towncrier", "tox", "types-ujson ; sys_platform != \"win32\" and implementation_name == \"cpython\"", "uvicorn (<0.15.0)"] dev = ["bandit", "beautifulsoup4", "black", "chardet (==3.*)", "coverage", "cryptography", "docutils", "flake8", "isort (>=5.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==7.1.*)", "pytest-benchmark", "pytest-sanic", "sanic-testing (>=22.9.0)", "slotscheck (>=0.8.0,<1)", "towncrier", "tox", "types-ujson ; sys_platform != \"win32\" and implementation_name == \"cpython\"", "uvicorn (<0.15.0)"] docs = ["docutils", "enum-tools[sphinx]", "m2r2", "mistune (<2.0.0)", "pygments", "sphinx (>=2.1.2)", "sphinx-rtd-theme (>=0.4.3)"] ext = ["sanic-ext"] http3 = ["aioquic"] test = ["bandit", "beautifulsoup4", "black", "chardet (==3.*)", "coverage", "docutils", "flake8", "isort (>=5.0.0)", "mypy (>=0.901,<0.910)", "pygments", "pytest (==7.1.*)", "pytest-benchmark", "pytest-sanic", "sanic-testing (>=22.9.0)", "slotscheck (>=0.8.0,<1)", "types-ujson ; sys_platform != \"win32\" and implementation_name == \"cpython\"", "uvicorn (<0.15.0)"] [[package]] name = "sanic-cors" version = "2.2.0" description = "A Sanic extension adding a decorator for CORS support. Based on flask-cors by Cory Dolphin." optional = true python-versions = "*" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "Sanic-Cors-2.2.0.tar.gz", hash = "sha256:f8d7515da4c8b837871d422c66314c4b5704396a78894b59c50e26aa72a95873"}, {file = "Sanic_Cors-2.2.0-py2.py3-none-any.whl", hash = "sha256:c3b133ff1f0bb609a53db35f727f5c371dc4ebeb6be4cc2c37c19dd8b9301115"}, ] [package.dependencies] packaging = ">=21.3" sanic = ">=21.9.3" [[package]] name = "sanic-ext" version = "23.3.0" description = "Extend your Sanic installation with some core functionality." optional = true python-versions = "*" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "sanic-ext-23.3.0.tar.gz", hash = "sha256:73c8b21061211cbfa8beb282b1cb052ec10033f3ab02fff854482b52bace5a4b"}, {file = "sanic_ext-23.3.0-py3-none-any.whl", hash = "sha256:263dce66c262f1e59f663dca6e115a1d3ad20b68fcaab04bf48f6cb70dcae9d0"}, ] [package.dependencies] pyyaml = ">=3.0.0" [package.extras] dev = ["Jinja2", "black (>=21.4b2)", "coverage", "flake8 (>=3.7.7)", "isort (>=5.0.0)", "pytest", "pytest-asyncio", "pytest-cov", "sanic-testing (>=22.9.0)", "tox"] test = ["Jinja2", "coverage", "pytest", "pytest-asyncio", "pytest-cov", "sanic-testing (>=22.9.0)", "tox"] [[package]] name = "sanic-routing" version = "23.12.0" description = "Core routing component for Sanic" optional = true python-versions = "*" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "sanic-routing-23.12.0.tar.gz", hash = "sha256:1dcadc62c443e48c852392dba03603f9862b6197fc4cba5bbefeb1ace0848b04"}, {file = "sanic_routing-23.12.0-py3-none-any.whl", hash = "sha256:1558a72afcb9046ed3134a5edae02fc1552cff08f0fff2e8d5de0877ea43ed73"}, ] [[package]] name = "setuptools" version = "76.0.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = true python-versions = ">=3.9" groups = ["main", "dev"] files = [ {file = "setuptools-76.0.0-py3-none-any.whl", hash = "sha256:199466a166ff664970d0ee145839f5582cb9bca7a0a3a2e795b6a9cb2308e9c6"}, {file = "setuptools-76.0.0.tar.gz", hash = "sha256:43b4ee60e10b0d0ee98ad11918e114c70701bc6051662a9a675a0496c1a158f4"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"] [[package]] name = "toml" version = "0.10.2" description = "Python Library for Tom's Obvious, Minimal Language" optional = true python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*" groups = ["main", "dev"] files = [ {file = "toml-0.10.2-py2.py3-none-any.whl", hash = "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b"}, {file = "toml-0.10.2.tar.gz", hash = "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"}, ] [[package]] name = "tomli" version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" groups = ["main", "dev"] markers = "python_version < \"3.11\"" files = [ {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] [[package]] name = "types-setuptools" version = "76.0.0.20250313" description = "Typing stubs for setuptools" optional = true python-versions = ">=3.9" groups = ["main", "dev"] files = [ {file = "types_setuptools-76.0.0.20250313-py3-none-any.whl", hash = "sha256:bf454b2a49b8cfd7ebcf5844d4dd5fe4c8666782df1e3663c5866fd51a47460e"}, {file = "types_setuptools-76.0.0.20250313.tar.gz", hash = "sha256:b2be66f550f95f3cad2a7d46177b273c7e9c80df7d257fa57addbbcfc8126a9e"}, ] [package.dependencies] setuptools = "*" [[package]] name = "typing-extensions" version = "4.12.2" description = "Backported and Experimental Type Hints for Python 3.8+" optional = true python-versions = ">=3.8" groups = ["main", "dev"] files = [ {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "ujson" version = "5.10.0" description = "Ultra fast JSON encoder and decoder for Python" optional = true python-versions = ">=3.8" groups = ["main"] markers = "sys_platform != \"win32\" and implementation_name == \"cpython\" and extra == \"http\"" files = [ {file = "ujson-5.10.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2601aa9ecdbee1118a1c2065323bda35e2c5a2cf0797ef4522d485f9d3ef65bd"}, {file = "ujson-5.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:348898dd702fc1c4f1051bc3aacbf894caa0927fe2c53e68679c073375f732cf"}, {file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22cffecf73391e8abd65ef5f4e4dd523162a3399d5e84faa6aebbf9583df86d6"}, {file = "ujson-5.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26b0e2d2366543c1bb4fbd457446f00b0187a2bddf93148ac2da07a53fe51569"}, {file = "ujson-5.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:caf270c6dba1be7a41125cd1e4fc7ba384bf564650beef0df2dd21a00b7f5770"}, {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a245d59f2ffe750446292b0094244df163c3dc96b3ce152a2c837a44e7cda9d1"}, {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:94a87f6e151c5f483d7d54ceef83b45d3a9cca7a9cb453dbdbb3f5a6f64033f5"}, {file = "ujson-5.10.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:29b443c4c0a113bcbb792c88bea67b675c7ca3ca80c3474784e08bba01c18d51"}, {file = "ujson-5.10.0-cp310-cp310-win32.whl", hash = "sha256:c18610b9ccd2874950faf474692deee4223a994251bc0a083c114671b64e6518"}, {file = "ujson-5.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:924f7318c31874d6bb44d9ee1900167ca32aa9b69389b98ecbde34c1698a250f"}, {file = "ujson-5.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a5b366812c90e69d0f379a53648be10a5db38f9d4ad212b60af00bd4048d0f00"}, {file = "ujson-5.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:502bf475781e8167f0f9d0e41cd32879d120a524b22358e7f205294224c71126"}, {file = "ujson-5.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b91b5d0d9d283e085e821651184a647699430705b15bf274c7896f23fe9c9d8"}, {file = "ujson-5.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:129e39af3a6d85b9c26d5577169c21d53821d8cf68e079060602e861c6e5da1b"}, {file = "ujson-5.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f77b74475c462cb8b88680471193064d3e715c7c6074b1c8c412cb526466efe9"}, {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7ec0ca8c415e81aa4123501fee7f761abf4b7f386aad348501a26940beb1860f"}, {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ab13a2a9e0b2865a6c6db9271f4b46af1c7476bfd51af1f64585e919b7c07fd4"}, {file = "ujson-5.10.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:57aaf98b92d72fc70886b5a0e1a1ca52c2320377360341715dd3933a18e827b1"}, {file = "ujson-5.10.0-cp311-cp311-win32.whl", hash = "sha256:2987713a490ceb27edff77fb184ed09acdc565db700ee852823c3dc3cffe455f"}, {file = "ujson-5.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:f00ea7e00447918ee0eff2422c4add4c5752b1b60e88fcb3c067d4a21049a720"}, {file = "ujson-5.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:98ba15d8cbc481ce55695beee9f063189dce91a4b08bc1d03e7f0152cd4bbdd5"}, {file = "ujson-5.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a9d2edbf1556e4f56e50fab7d8ff993dbad7f54bac68eacdd27a8f55f433578e"}, {file = "ujson-5.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6627029ae4f52d0e1a2451768c2c37c0c814ffc04f796eb36244cf16b8e57043"}, {file = "ujson-5.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8ccb77b3e40b151e20519c6ae6d89bfe3f4c14e8e210d910287f778368bb3d1"}, {file = "ujson-5.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3caf9cd64abfeb11a3b661329085c5e167abbe15256b3b68cb5d914ba7396f3"}, {file = "ujson-5.10.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6e32abdce572e3a8c3d02c886c704a38a1b015a1fb858004e03d20ca7cecbb21"}, {file = "ujson-5.10.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a65b6af4d903103ee7b6f4f5b85f1bfd0c90ba4eeac6421aae436c9988aa64a2"}, {file = "ujson-5.10.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:604a046d966457b6cdcacc5aa2ec5314f0e8c42bae52842c1e6fa02ea4bda42e"}, {file = "ujson-5.10.0-cp312-cp312-win32.whl", hash = "sha256:6dea1c8b4fc921bf78a8ff00bbd2bfe166345f5536c510671bccececb187c80e"}, {file = "ujson-5.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:38665e7d8290188b1e0d57d584eb8110951a9591363316dd41cf8686ab1d0abc"}, {file = "ujson-5.10.0-cp313-cp313-macosx_10_9_x86_64.whl", hash = "sha256:618efd84dc1acbd6bff8eaa736bb6c074bfa8b8a98f55b61c38d4ca2c1f7f287"}, {file = "ujson-5.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:38d5d36b4aedfe81dfe251f76c0467399d575d1395a1755de391e58985ab1c2e"}, {file = "ujson-5.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67079b1f9fb29ed9a2914acf4ef6c02844b3153913eb735d4bf287ee1db6e557"}, {file = "ujson-5.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d7d0e0ceeb8fe2468c70ec0c37b439dd554e2aa539a8a56365fd761edb418988"}, {file = "ujson-5.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:59e02cd37bc7c44d587a0ba45347cc815fb7a5fe48de16bf05caa5f7d0d2e816"}, {file = "ujson-5.10.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a890b706b64e0065f02577bf6d8ca3b66c11a5e81fb75d757233a38c07a1f20"}, {file = "ujson-5.10.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:621e34b4632c740ecb491efc7f1fcb4f74b48ddb55e65221995e74e2d00bbff0"}, {file = "ujson-5.10.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b9500e61fce0cfc86168b248104e954fead61f9be213087153d272e817ec7b4f"}, {file = "ujson-5.10.0-cp313-cp313-win32.whl", hash = "sha256:4c4fc16f11ac1612f05b6f5781b384716719547e142cfd67b65d035bd85af165"}, {file = "ujson-5.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:4573fd1695932d4f619928fd09d5d03d917274381649ade4328091ceca175539"}, {file = "ujson-5.10.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a984a3131da7f07563057db1c3020b1350a3e27a8ec46ccbfbf21e5928a43050"}, {file = "ujson-5.10.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73814cd1b9db6fc3270e9d8fe3b19f9f89e78ee9d71e8bd6c9a626aeaeaf16bd"}, {file = "ujson-5.10.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:61e1591ed9376e5eddda202ec229eddc56c612b61ac6ad07f96b91460bb6c2fb"}, {file = "ujson-5.10.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2c75269f8205b2690db4572a4a36fe47cd1338e4368bc73a7a0e48789e2e35a"}, {file = "ujson-5.10.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7223f41e5bf1f919cd8d073e35b229295aa8e0f7b5de07ed1c8fddac63a6bc5d"}, {file = "ujson-5.10.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc2fd6b3067c0782e7002ac3b38cf48608ee6366ff176bbd02cf969c9c20fe"}, {file = "ujson-5.10.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:232cc85f8ee3c454c115455195a205074a56ff42608fd6b942aa4c378ac14dd7"}, {file = "ujson-5.10.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:cc6139531f13148055d691e442e4bc6601f6dba1e6d521b1585d4788ab0bfad4"}, {file = "ujson-5.10.0-cp38-cp38-win32.whl", hash = "sha256:e7ce306a42b6b93ca47ac4a3b96683ca554f6d35dd8adc5acfcd55096c8dfcb8"}, {file = "ujson-5.10.0-cp38-cp38-win_amd64.whl", hash = "sha256:e82d4bb2138ab05e18f089a83b6564fee28048771eb63cdecf4b9b549de8a2cc"}, {file = "ujson-5.10.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dfef2814c6b3291c3c5f10065f745a1307d86019dbd7ea50e83504950136ed5b"}, {file = "ujson-5.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4734ee0745d5928d0ba3a213647f1c4a74a2a28edc6d27b2d6d5bd9fa4319e27"}, {file = "ujson-5.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d47ebb01bd865fdea43da56254a3930a413f0c5590372a1241514abae8aa7c76"}, {file = "ujson-5.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dee5e97c2496874acbf1d3e37b521dd1f307349ed955e62d1d2f05382bc36dd5"}, {file = "ujson-5.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7490655a2272a2d0b072ef16b0b58ee462f4973a8f6bbe64917ce5e0a256f9c0"}, {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ba17799fcddaddf5c1f75a4ba3fd6441f6a4f1e9173f8a786b42450851bd74f1"}, {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2aff2985cef314f21d0fecc56027505804bc78802c0121343874741650a4d3d1"}, {file = "ujson-5.10.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ad88ac75c432674d05b61184178635d44901eb749786c8eb08c102330e6e8996"}, {file = "ujson-5.10.0-cp39-cp39-win32.whl", hash = "sha256:2544912a71da4ff8c4f7ab5606f947d7299971bdd25a45e008e467ca638d13c9"}, {file = "ujson-5.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:3ff201d62b1b177a46f113bb43ad300b424b7847f9c5d38b1b4ad8f75d4a282a"}, {file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5b6fee72fa77dc172a28f21693f64d93166534c263adb3f96c413ccc85ef6e64"}, {file = "ujson-5.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:61d0af13a9af01d9f26d2331ce49bb5ac1fb9c814964018ac8df605b5422dcb3"}, {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecb24f0bdd899d368b715c9e6664166cf694d1e57be73f17759573a6986dd95a"}, {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fbd8fd427f57a03cff3ad6574b5e299131585d9727c8c366da4624a9069ed746"}, {file = "ujson-5.10.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeaf1c48e32f07d8820c705ff8e645f8afa690cca1544adba4ebfa067efdc88"}, {file = "ujson-5.10.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:baed37ea46d756aca2955e99525cc02d9181de67f25515c468856c38d52b5f3b"}, {file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7663960f08cd5a2bb152f5ee3992e1af7690a64c0e26d31ba7b3ff5b2ee66337"}, {file = "ujson-5.10.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:d8640fb4072d36b08e95a3a380ba65779d356b2fee8696afeb7794cf0902d0a1"}, {file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78778a3aa7aafb11e7ddca4e29f46bc5139131037ad628cc10936764282d6753"}, {file = "ujson-5.10.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0111b27f2d5c820e7f2dbad7d48e3338c824e7ac4d2a12da3dc6061cc39c8e6"}, {file = "ujson-5.10.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:c66962ca7565605b355a9ed478292da628b8f18c0f2793021ca4425abf8b01e5"}, {file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba43cc34cce49cf2d4bc76401a754a81202d8aa926d0e2b79f0ee258cb15d3a4"}, {file = "ujson-5.10.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:ac56eb983edce27e7f51d05bc8dd820586c6e6be1c5216a6809b0c668bb312b8"}, {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f44bd4b23a0e723bf8b10628288c2c7c335161d6840013d4d5de20e48551773b"}, {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c10f4654e5326ec14a46bcdeb2b685d4ada6911050aa8baaf3501e57024b804"}, {file = "ujson-5.10.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0de4971a89a762398006e844ae394bd46991f7c385d7a6a3b93ba229e6dac17e"}, {file = "ujson-5.10.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e1402f0564a97d2a52310ae10a64d25bcef94f8dd643fcf5d310219d915484f7"}, {file = "ujson-5.10.0.tar.gz", hash = "sha256:b3cd8f3c5d8c7738257f1018880444f7b7d9b66232c64649f562d7ba86ad4bc1"}, ] [[package]] name = "uvloop" version = "0.21.0" description = "Fast implementation of asyncio event loop on top of libuv" optional = true python-versions = ">=3.8.0" groups = ["main"] markers = "sys_platform != \"win32\" and implementation_name == \"cpython\" and extra == \"http\"" files = [ {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ec7e6b09a6fdded42403182ab6b832b71f4edaf7f37a9a0e371a01db5f0cb45f"}, {file = "uvloop-0.21.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:196274f2adb9689a289ad7d65700d37df0c0930fd8e4e743fa4834e850d7719d"}, {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f38b2e090258d051d68a5b14d1da7203a3c3677321cf32a95a6f4db4dd8b6f26"}, {file = "uvloop-0.21.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c43e0f13022b998eb9b973b5e97200c8b90823454d4bc06ab33829e09fb9bb"}, {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:10d66943def5fcb6e7b37310eb6b5639fd2ccbc38df1177262b0640c3ca68c1f"}, {file = "uvloop-0.21.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:67dd654b8ca23aed0a8e99010b4c34aca62f4b7fce88f39d452ed7622c94845c"}, {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c0f3fa6200b3108919f8bdabb9a7f87f20e7097ea3c543754cabc7d717d95cf8"}, {file = "uvloop-0.21.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0878c2640cf341b269b7e128b1a5fed890adc4455513ca710d77d5e93aa6d6a0"}, {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9fb766bb57b7388745d8bcc53a359b116b8a04c83a2288069809d2b3466c37e"}, {file = "uvloop-0.21.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a375441696e2eda1c43c44ccb66e04d61ceeffcd76e4929e527b7fa401b90fb"}, {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:baa0e6291d91649c6ba4ed4b2f982f9fa165b5bbd50a9e203c416a2797bab3c6"}, {file = "uvloop-0.21.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4509360fcc4c3bd2c70d87573ad472de40c13387f5fda8cb58350a1d7475e58d"}, {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c"}, {file = "uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2"}, {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d"}, {file = "uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc"}, {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb"}, {file = "uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f"}, {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bfd55dfcc2a512316e65f16e503e9e450cab148ef11df4e4e679b5e8253a5281"}, {file = "uvloop-0.21.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:787ae31ad8a2856fc4e7c095341cccc7209bd657d0e71ad0dc2ea83c4a6fa8af"}, {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ee4d4ef48036ff6e5cfffb09dd192c7a5027153948d85b8da7ff705065bacc6"}, {file = "uvloop-0.21.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3df876acd7ec037a3d005b3ab85a7e4110422e4d9c1571d4fc89b0fc41b6816"}, {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bd53ecc9a0f3d87ab847503c2e1552b690362e005ab54e8a48ba97da3924c0dc"}, {file = "uvloop-0.21.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a5c39f217ab3c663dc699c04cbd50c13813e31d917642d459fdcec07555cc553"}, {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:17df489689befc72c39a08359efac29bbee8eee5209650d4b9f34df73d22e414"}, {file = "uvloop-0.21.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bc09f0ff191e61c2d592a752423c767b4ebb2986daa9ed62908e2b1b9a9ae206"}, {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0ce1b49560b1d2d8a2977e3ba4afb2414fb46b86a1b64056bc4ab929efdafbe"}, {file = "uvloop-0.21.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e678ad6fe52af2c58d2ae3c73dc85524ba8abe637f134bf3564ed07f555c5e79"}, {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:460def4412e473896ef179a1671b40c039c7012184b627898eea5072ef6f017a"}, {file = "uvloop-0.21.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:10da8046cc4a8f12c91a1c39d1dd1585c41162a15caaef165c2174db9ef18bdc"}, {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c097078b8031190c934ed0ebfee8cc5f9ba9642e6eb88322b9958b649750f72b"}, {file = "uvloop-0.21.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46923b0b5ee7fc0020bef24afe7836cb068f5050ca04caf6b487c513dc1a20b2"}, {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e420a3afe22cdcf2a0f4846e377d16e718bc70103d7088a4f7623567ba5fb0"}, {file = "uvloop-0.21.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88cb67cdbc0e483da00af0b2c3cdad4b7c61ceb1ee0f33fe00e09c81e3a6cb75"}, {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:221f4f2a1f46032b403bf3be628011caf75428ee3cc204a22addf96f586b19fd"}, {file = "uvloop-0.21.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2d1f581393673ce119355d56da84fe1dd9d2bb8b3d13ce792524e1607139feff"}, {file = "uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3"}, ] [package.extras] dev = ["Cython (>=3.0,<4.0)", "setuptools (>=60)"] docs = ["Sphinx (>=4.1.2,<4.2.0)", "sphinx-rtd-theme (>=0.5.2,<0.6.0)", "sphinxcontrib-asyncio (>=0.3.0,<0.4.0)"] test = ["aiohttp (>=3.10.5)", "flake8 (>=5.0,<6.0)", "mypy (>=0.800)", "psutil", "pyOpenSSL (>=23.0.0,<23.1.0)", "pycodestyle (>=2.9.0,<2.10.0)"] [[package]] name = "wcwidth" version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" groups = ["main"] files = [ {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] name = "websockets" version = "15.0.1" description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)" optional = true python-versions = ">=3.9" groups = ["main"] markers = "extra == \"http\"" files = [ {file = "websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b"}, {file = "websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205"}, {file = "websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a"}, {file = "websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e"}, {file = "websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf"}, {file = "websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb"}, {file = "websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d"}, {file = "websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9"}, {file = "websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c"}, {file = "websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256"}, {file = "websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41"}, {file = "websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431"}, {file = "websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57"}, {file = "websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905"}, {file = "websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562"}, {file = "websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792"}, {file = "websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413"}, {file = "websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8"}, {file = "websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3"}, {file = "websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf"}, {file = "websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85"}, {file = "websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065"}, {file = "websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3"}, {file = "websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665"}, {file = "websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2"}, {file = "websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215"}, {file = "websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5"}, {file = "websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65"}, {file = "websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe"}, {file = "websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4"}, {file = "websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597"}, {file = "websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9"}, {file = "websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7"}, {file = "websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931"}, {file = "websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675"}, {file = "websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151"}, {file = "websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22"}, {file = "websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f"}, {file = "websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8"}, {file = "websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375"}, {file = "websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d"}, {file = "websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4"}, {file = "websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa"}, {file = "websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561"}, {file = "websockets-15.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5f4c04ead5aed67c8a1a20491d54cdfba5884507a48dd798ecaf13c74c4489f5"}, {file = "websockets-15.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abdc0c6c8c648b4805c5eacd131910d2a7f6455dfd3becab248ef108e89ab16a"}, {file = "websockets-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a625e06551975f4b7ea7102bc43895b90742746797e2e14b70ed61c43a90f09b"}, {file = "websockets-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d591f8de75824cbb7acad4e05d2d710484f15f29d4a915092675ad3456f11770"}, {file = "websockets-15.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47819cea040f31d670cc8d324bb6435c6f133b8c7a19ec3d61634e62f8d8f9eb"}, {file = "websockets-15.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac017dd64572e5c3bd01939121e4d16cf30e5d7e110a119399cf3133b63ad054"}, {file = "websockets-15.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4a9fac8e469d04ce6c25bb2610dc535235bd4aa14996b4e6dbebf5e007eba5ee"}, {file = "websockets-15.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363c6f671b761efcb30608d24925a382497c12c506b51661883c3e22337265ed"}, {file = "websockets-15.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2034693ad3097d5355bfdacfffcbd3ef5694f9718ab7f29c29689a9eae841880"}, {file = "websockets-15.0.1-cp39-cp39-win32.whl", hash = "sha256:3b1ac0d3e594bf121308112697cf4b32be538fb1444468fb0a6ae4feebc83411"}, {file = "websockets-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7643a03db5c95c799b89b31c036d5f27eeb4d259c798e878d6937d71832b1e4"}, {file = "websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3"}, {file = "websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1"}, {file = "websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475"}, {file = "websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9"}, {file = "websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04"}, {file = "websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122"}, {file = "websockets-15.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7f493881579c90fc262d9cdbaa05a6b54b3811c2f300766748db79f098db9940"}, {file = "websockets-15.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:47b099e1f4fbc95b701b6e85768e1fcdaf1630f3cbe4765fa216596f12310e2e"}, {file = "websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67f2b6de947f8c757db2db9c71527933ad0019737ec374a8a6be9a956786aaf9"}, {file = "websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d08eb4c2b7d6c41da6ca0600c077e93f5adcfd979cd777d747e9ee624556da4b"}, {file = "websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b826973a4a2ae47ba357e4e82fa44a463b8f168e1ca775ac64521442b19e87f"}, {file = "websockets-15.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:21c1fa28a6a7e3cbdc171c694398b6df4744613ce9b36b1a498e816787e28123"}, {file = "websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f"}, {file = "websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee"}, ] [[package]] name = "zipp" version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" groups = ["main"] markers = "python_version < \"3.12\"" files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] [package.extras] check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [extras] dev-coverage = ["coverage", "platformdirs", "pytest-cov"] dev-lint = ["platformdirs", "ruff"] dev-type-checking = ["mypy", "platformdirs", "types-setuptools"] http = ["sanic", "sanic-cors", "sanic-ext"] js = ["pyduktape2"] [metadata] lock-version = "2.1" python-versions = ">=3.9,<4" content-hash = "963662cab3640d90efe7a54ea856e095ef47ee8c25a8333c8fb0ade73e162a59" pyshacl-0.30.1/pyproject.toml0000644000000000000000000001544500000000000013052 0ustar00[build-system] requires = ["poetry-core<3,>=2.0"] build-backend = "poetry.core.masonry.api" [project] name = "pyshacl" # Don't forget to change the version number in __init__.py, Dockerfile, and CITATION.cff along with this one version = "0.30.1" # Ruff and Poetry both now read target-version from [project.requires-python] # The <4 is reauired for compatiblity with OWL-RL that requdires Python <4 requires-python = ">=3.9,<4" description = "Python SHACL Validator" license = { file = "LICENSE.txt" } authors = [ {name = "Ashley Sommer", email = "Ashley.Sommer@csiro.au"} ] readme = "README.md" keywords = [ "Linked Data", "Semantic Web", "RDF", "Graph", "Python", "SHACL", "Shapes", "Schema", "Validate", "Validator" ] classifiers = [ "License :: OSI Approved :: Apache Software License", "Development Status :: 5 - Production/Stable", "Topic :: Utilities", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Topic :: Software Development :: Libraries :: Python Modules", "Operating System :: OS Independent" ] dependencies = [ "rdflib[html]>=7.1.1,<8.0,!=7.1.2", "owlrl>=7.1.2,<8", "prettytable>=3.5.0; python_version<'3.12'", "prettytable>=3.7.0; python_version>='3.12'", "packaging>=21.3", "importlib-metadata>6; python_version<'3.12'", ] [project.urls] homepage = "https://github.com/RDFLib/pySHACL" source = "https://github.com/RDFLib/pySHACL" issues = "https://github.com/RDFLib/pySHACL/issues" download = "https://github.com/RDFLib/pySHACL/releases" changelog = "https://github.com/RDFLib/pySHACL/blob/master/CHANGELOG.md" [project.optional-dependencies] # These are equivelent to python package "extras" js = [ "pyduktape2<1,>=0.4.6" ] http = [ "sanic<23,>=22.12", "sanic-ext<23.6,>=23.3", "sanic-cors==2.2.0" ] dev-lint = [ "ruff<0.10,>=0.9.3", "platformdirs" ] dev-type-checking = [ "mypy>=1.13.0", "types-setuptools", "platformdirs" ] dev-coverage = [ "pytest-cov<3,>=2.8.1", "coverage>6,<7,!=6.0.*,!=6.1,!=6.1.1", "platformdirs" ] [project.scripts] pyshacl = "pyshacl.cli:main" pyshacl_rules = "pyshacl.cli_rules:main" pyshacl_validate = "pyshacl.cli:main" pyshacl_server = "pyshacl.http:cli" [tool.poetry] packages = [ { include = "pyshacl" }, { include = "examples", format = "sdist" }, { include = "benchmarks", format = "sdist" }, { include = "test", format = "sdist" } ] include = [ { path = "pyshacl/assets/*.ttl", format = "sdist" }, { path = "pyshacl/assets/*.py", format = "sdist" }, { path = "hooks/*", format = "sdist" }, { path = "MANIFEST.in", format = "sdist" }, { path = "pyproject.toml", format = "sdist" }, { path = "poetry.lock", format = "sdist" }, { path = "Makefile", format = "sdist" }, { path = "*.md" }, { path = "*.txt" }, { path = "pyshacl/py.typed" }, { path = "pyshacl/assets/*.pickle" }, { path = "pyshacl/*.spec" } ] [tool.poetry.group.dev.dependencies] pytest = "^7.2" coverage = {version=">6,<7,!=6.0.*,!=6.1,!=6.1.1", optional=true} pytest-cov = {version="^2.8.1", optional=true} ruff = {version="<0.10,>=0.9.3", optional=true} mypy = {version=">=1.13.0", optional=true} types-setuptools = {version="*", optional=true} platformdirs = {version="*", optional=true} [tool.dephell.main] from = {format = "poetry", path = "pyproject.toml"} to = {format = "setuppy", path = "setup.py"} [tool.ruff] # Exclude a variety of commonly ignored directories. exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".pytest_cache", ".svn", ".tox", ".venv", ".idea", "htmlcov", "__pypackages__", "_build", "buck-out", "pyshacl.egg-info", "build", "dist", "node_modules", "venv", ] line-length = 119 [tool.ruff.format] quote-style = "preserve" [lint] # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. select = ["E", "F"] ignore = ["E501"] # Turn off ruff's too-long-line detection for now, we'll have to enable it again later. # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"] unfixable = [] # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" [lint.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 10 [lint.pycodestyle] ignore-overlong-task-comments = true [tool.pytest.ini_options] minversion = "6.0" testpaths = [ "test", ] [tool.tox] legacy_tox_ini = """ [tox] skipsdist = true envlist = py39, py310, py311, py312, lint, type-checking toxworkdir={env:TOX_WORK_DIR:.tox} [testenv] deps = poetry>=2.1 passenv = DBUS_SESSION_BUS_ADDRESS PIP_KEYRING_PROVIDER PIP_FORCE_KEYRING PYTHON_KEYRING_BACKEND skip_install = true allowlist_externals = python3, ls, pwd, env, poetry commands_pre = py39: poetry run pip3 install -U "pip>=21.0" py310: poetry run pip3 install -U "pip>=21.3" py311: poetry run pip3 install -U "pip>=22.1" poetry install -vv -n --no-root --extras "js dev-coverage" commands = - poetry show poetry run pytest -v --log-level=INFO --cov=pyshacl test/ poetry run pytest -v --log-level=INFO test/issues/ - poetry run coverage combine --append poetry run coverage report -m poetry run coverage html -i [testenv:lint] commands_pre = python --version poetry install -vv -n --no-root --extras "dev-lint" commands = - poetry show poetry run ruff check ./pyshacl poetry run ruff check --select I ./pyshacl #isort poetry run ruff format --check --no-preview --target-version py39 pyshacl #black [testenv:type-checking] commands_pre = python --version poetry install -vv -n --no-root --extras "dev-type-checking" poetry run pip3 install "mypy>=0.812" "types-setuptools" commands = - poetry show poetry run python3 -m mypy --python-version 3.9 --ignore-missing-imports pyshacl [gh] # Don't include lint or type-checking in gh-actions matrix python = 3.12 = py312 3.11 = py311 3.10 = py310 3.9 = py39 """ pyshacl-0.30.1/pyshacl/__init__.py0000644000000000000000000000102600000000000013700 0ustar00# -*- coding: latin-1 -*- # from .entrypoints import shacl_rules, validate from .rule_expand_runner import RuleExpandRunner from .shape import Shape from .shapes_graph import ShapesGraph from .validator import Validator # version compliant with https://www.python.org/dev/peps/pep-0440/ __version__ = '0.30.1' # Don't forget to change the version number in pyproject.toml, Dockerfile, and CITATION.cff along with this one __all__ = ['validate', 'shacl_rules', 'Validator', 'RuleExpandRunner', '__version__', 'Shape', 'ShapesGraph'] pyshacl-0.30.1/pyshacl/__main__.py0000644000000000000000000000150100000000000013657 0ustar00# -*- coding: latin-1 -*- # import os import sys from pyshacl.cli import main as validate_main from pyshacl.cli_rules import main as rules_main def str_is_true(s_var: str): if len(s_var) > 0: if s_var.lower() not in ("0", "f", "n", "false", "no"): return True return False do_server = os.getenv("PYSHACL_HTTP", "") do_server = os.getenv("PYSHACL_SERVER", do_server) first_arg = None if len(sys.argv) < 2 else sys.argv[1] if first_arg is not None and str(first_arg).lower() in ('rules', '--rules'): rules_main(prog="python3 -m pyshacl") elif (first_arg is not None and str(first_arg).lower() in ('serve', 'server', '--server')) or ( do_server and str_is_true(do_server) ): from pyshacl.sh_http import main as http_main http_main() else: validate_main(prog="python3 -m pyshacl") pyshacl-0.30.1/pyshacl/assets/dash.pickle0000644000000000000000000100417700000000000015214 0ustar00€• Œrdflib.plugins.stores.memory”ŒMemory”“”)”}”(Œ_Store__node_pickler”NŒ dispatcher”Œ rdflib.events”Œ Dispatcher”“”)”Œ identifier”Œ rdflib.term”ŒURIRef”“”Œhttp://datashapes.org/dash”…”R”Œ _Memory__spo”}”(hŒhttp://datashapes.org/dash”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h ŒLiteral”“”ŒÉDASH is a SHACL library for frequently needed features and design patterns. The constraint components in this library are 100% standards compliant and will work on any engine that fully supports SHACL.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDASH Data Shapes Vocabulary”NN‡”R”KshŒ%http://www.w3.org/2002/07/owl#imports”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KshŒ"http://www.w3.org/ns/shacl#declare”…”R”}”(h ŒBNode”“”Œ#n63c4247d8f45438e96f1546bad13cbe2b1”…”R”Kh;Œ#n63c4247d8f45438e96f1546bad13cbe2b2”…”R”Kh;Œ#n63c4247d8f45438e96f1546bad13cbe2b3”…”R”Kh;Œ#n63c4247d8f45438e96f1546bad13cbe2b4”…”R”Kh;Œ#n63c4247d8f45438e96f1546bad13cbe2b5”…”R”Kh;Œ#n63c4247d8f45438e96f1546bad13cbe2b6”…”R”Kh;Œ#n63c4247d8f45438e96f1546bad13cbe2b7”…”R”Kuuh>}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œhttp://datashapes.org/dash#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œdash”NN‡”R”KsuhA}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œhttp://purl.org/dc/terms/”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œdcterms”NN‡”R”KsuhD}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œ+http://www.w3.org/1999/02/22-rdf-syntax-ns#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œrdf”NN‡”R”KsuhG}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œ%http://www.w3.org/2000/01/rdf-schema#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œrdfs”NN‡”R”KsuhJ}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œ!http://www.w3.org/2001/XMLSchema#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œxsd”NN‡”R”KsuhM}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œhttp://www.w3.org/2002/07/owl#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œowl”NN‡”R”KsuhP}”(hŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œ$http://www.w3.org/2004/02/skos/core#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KshŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œskos”NN‡”R”KsuhŒ$http://datashapes.org/dash#APIStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0The class of possible values for dash:apiStatus.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ API Status”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ!http://datashapes.org/dash#Action”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn executable command triggered by an agent, backed by a Script implementation. Actions may get deactivated using sh:deactivated.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAction”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KuuhŒ&http://datashapes.org/dash#ActionGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ´A group of ResourceActions, used to arrange items in menus etc. Similar to sh:PropertyGroups, they may have a sh:order and should have labels (in multiple languages if applicable).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Action group”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ)http://datashapes.org/dash#ActionTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X=A test case that evaluates a dash:Action using provided input parameters. Requires exactly one value for dash:action and will operate on the test case's graph (with imports) as both data and shapes graph. Currently only supports read-only actions, allowing the comparison of actual results with the expected results.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAction test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KsuhŒ%http://datashapes.org/dash#AllObjects”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ+http://datashapes.org/dash#AllObjectsTarget”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-A reusable instance of dash:AllObjectsTarget.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ All objects”NN‡”R”KsuhŒ+http://datashapes.org/dash#AllObjectsTarget”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ+http://www.w3.org/ns/shacl#SPARQLTargetType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAA target containing all objects in the data graph as focus nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAll objects target”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://www.w3.org/ns/shacl#Target”…”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ All objects”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$Œ7SELECT DISTINCT ?this WHERE { ?anyS ?anyP ?this . }”NN‡”R”KsuhŒ&http://datashapes.org/dash#AllSubjects”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ,http://datashapes.org/dash#AllSubjectsTarget”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.A reusable instance of dash:AllSubjectsTarget.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ All subjects”NN‡”R”KsuhŒ,http://datashapes.org/dash#AllSubjectsTarget”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ+http://www.w3.org/ns/shacl#SPARQLTargetType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBA target containing all subjects in the data graph as focus nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAll subjects target”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://www.w3.org/ns/shacl#Target”…”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ All subjects”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$Œ7SELECT DISTINCT ?this WHERE { ?this ?anyP ?anyO . }”NN‡”R”KsuhŒ-http://datashapes.org/dash#AutoCompleteEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒšAn auto-complete field to enter the label of instances of a class. This is the fallback editor for any URI resource if no other editors are more suitable.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAuto-complete editor”NN‡”R”KsuhŒ*http://datashapes.org/dash#BlankNodeViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒCA Viewer for blank nodes, rendering as the label of the blank node.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBlank node viewer”NN‡”R”KsuhŒ.http://datashapes.org/dash#BooleanSelectEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¾An editor for boolean literals, rendering as a select box with values true and false. Also displays the current value (such as "1"^^xsd:boolean), but only allows to switch to true or false.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBoolean select editor”NN‡”R”KsuhŒ'http://datashapes.org/dash#ChangeScript”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X€Class of ADS scripts that are executed after edits to the data graph were made, but within the same edit. These scripts may access the current changes from the graphs with names dataset.addedGraphURI and dataset.deletedGraphURI to learn about which resource values have been added or deleted. For example query them using graph.withDataGraph(dataset.addedGraphURI, ...) or via SPARQL's GRAPH keyword. Change scripts may then perform further changes which would again become visible to other change scripts. They MUST NOT have other side effects though, because they may get executed in Preview mode, or the change may cause constraint violations and then be rejected. For side effects, after the change has been applied, use commit scripts (dash:CommitScript). Change scripts are executed by their relative sh:order, with a default value of 0. Use lower values to execute before other scripts.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Change script”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Script”…”R”KsuhŒ;http://datashapes.org/dash#ClosedByTypesConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X`A constraint component that can be used to declare that focus nodes are "closed" based on their rdf:types, meaning that focus nodes may only have values for the properties that are explicitly enumerated via sh:property/sh:path in property constraints at their rdf:types and the superclasses of those. This assumes that the type classes are also shapes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ$Closed by types constraint component”NN‡”R”KshŒ(http://www.w3.org/ns/shacl#nodeValidator”…”R”}”h;Œ#n63c4247d8f45438e96f1546bad13cbe2b8”…”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒIhttp://datashapes.org/dash#ClosedByTypesConstraintComponent-closedByTypes”…”R”Ksuj…}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒBProperty {?path} is not among those permitted for any of the types”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$X(SELECT $this (?predicate AS ?path) ?value WHERE { FILTER ($closedByTypes) . $this ?predicate ?value . FILTER (?predicate != rdf:type) . FILTER NOT EXISTS { $this rdf:type ?type . ?type rdfs:subClassOf* ?class . GRAPH $shapesGraph { ?class sh:property/sh:path ?predicate . } } }”NN‡”R”KsuhŒIhttp://datashapes.org/dash#ClosedByTypesConstraintComponent-closedByTypes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://datashapes.org/dash#closedByTypes”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XWTrue to indicate that the focus nodes are closed by their types. A constraint violation is reported for each property value of the focus node where the property is not among those that are explicitly declared via sh:property/sh:path in any of the rdf:types of the focus node (and their superclasses). The property rdf:type is always permitted.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsuhŒ:http://datashapes.org/dash#CoExistsWithConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½A constraint component that can be used to express a constraint on property shapes so that if the property path has any value then the given property must also have a value, and vice versa.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ#Co-exists-with constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ3Values must co-exist with values of {$coExistsWith}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒGhttp://datashapes.org/dash#CoExistsWithConstraintComponent-coExistsWith”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ#n63c4247d8f45438e96f1546bad13cbe2b9”…”R”Ksuj}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$ŒÓSELECT $this WHERE { { FILTER (EXISTS { $this $PATH ?any } && NOT EXISTS { $this $coExistsWith ?any }) } UNION { FILTER (NOT EXISTS { $this $PATH ?any } && EXISTS { $this $coExistsWith ?any }) } }”NN‡”R”KsuhŒGhttp://datashapes.org/dash#CoExistsWithConstraintComponent-coExistsWith”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://datashapes.org/dash#coExistsWith”…”R”KshŒ!http://datashapes.org/dash#editor”…”R”}”hŒ5http://datashapes.org/dash#PropertyAutoCompleteEditor”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ!http://datashapes.org/dash#viewer”…”R”}”hŒ.http://datashapes.org/dash#PropertyLabelViewer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¶The properties that must co-exist with the surrounding property (path). If the surrounding property path has any value then the given property must also have a value, and vice versa.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œco-exists with”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ'http://datashapes.org/dash#CommitScript”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XClass of ADS scripts that are executed after edits to the data graph were made and have been committed. These scripts may access the changes that have just happened from the graphs with names dataset.addedGraphURI and dataset.deletedGraphURI to learn about which resource values have been added or deleted. For example query them using graph.withDataGraph(dataset.addedGraphURI, ...) or via SPARQL's GRAPH keyword. Commit scripts may then perform side effects such as updating other graphs or sending out notifications to external systems. For edits that should be made within a finishing change, use change scripts (dash:ChangeScript). Commit scripts are executed by their relative sh:order, with a default value of 0. Use lower values to execute before other scripts.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Commit script”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Script”…”R”KsuhŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ^Can be used to attach sh:severity and sh:messages to individual constraints using reification.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒConstraint reification shape”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ=http://datashapes.org/dash#ConstraintReificationShape-message”…”R”KhŒ>http://datashapes.org/dash#ConstraintReificationShape-severity”…”R”KuuhŒ=http://datashapes.org/dash#ConstraintReificationShape-message”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://www.w3.org/ns/shacl#message”…”R”KshŒ%http://datashapes.org/dash#singleLine”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmessages”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”hŒ-http://datashapes.org/dash#StringOrLangString”…”R”KsuhŒ>http://datashapes.org/dash#ConstraintReificationShape-severity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#severity”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://www.w3.org/ns/shacl#Severity”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseverity”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ&http://datashapes.org/dash#Constructor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XñA script that is executed when a new instance of the class associated via dash:constructor is created, e.g. from a New button. Such scripts typically declare one or more parameters that are collected from the user when the script starts. The values of these parameters can be used as named variables in the script for arbitrary purposes such as setting the URI or initializing some property values of the new instance. The variable focusNode will hold the named node of the selected type, for example when a constructor is associated with a superclass but the user has pressed New for a subclass. The last expression of the script will be used as result of the constructor, so that the surrounding tool knows which resource shall be navigated to next.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Constructor”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KuuhŒ)http://datashapes.org/dash#DateOrDateTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b10”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b12”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒšAn rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either xsd:date or xsd:dateTime.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDate or date time”NN‡”R”Ksuj>}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b11”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjE}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j^KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://datashapes.org/dash#DatePickerEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFAn editor for xsd:date literals, offering a calendar-like date picker.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDate picker editor”NN‡”R”KsuhŒ/http://datashapes.org/dash#DateTimePickerEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ^An editor for xsd:dateTime literals, offering a calendar-like date picker and a time selector.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDate time picker editor”NN‡”R”KsuhŒ(http://datashapes.org/dash#DepictionRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#PropertyRole”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‡Depiction properties provide images representing the focus nodes. Typical examples may be a photo of an animal or the map of a country.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Depiction”NN‡”R”KsuhŒ%http://datashapes.org/dash#Deprecated”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://datashapes.org/dash#APIStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¼Features that have been marked deprecated will remain in the API but should no longer be used by new code and may get deleted in the foreseeable future (e.g., with the next major release).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ deprecated”NN‡”R”KsuhŒ*http://datashapes.org/dash#DescriptionRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#PropertyRole”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒzDescription properties should produce text literals that may be used as an introduction/summary of what a focus node does.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Description”NN‡”R”KsuhŒ(http://datashapes.org/dash#DetailsEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒôAn editor for non-literal values, typically displaying a nested form where the values of the linked resource can be edited directly on the "parent" form. Implementations that do not support this (yet) could fall back to an auto-complete widget.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDetails editor”NN‡”R”KsuhŒ(http://datashapes.org/dash#DetailsViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒvA Viewer for resources that shows the details of the value using its default view shape as a nested form-like display.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDetails viewer”NN‡”R”KsuhŒ!http://datashapes.org/dash#Editor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-The class of widgets for editing value nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEditor”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Widget”…”R”KsuhŒ+http://datashapes.org/dash#EnumSelectEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJA drop-down editor for enumerated values (typically based on sh:in lists).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEnum select editor”NN‡”R”KsuhŒ'http://datashapes.org/dash#Experimental”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://datashapes.org/dash#APIStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ€Features that are marked experimental can be used by early adopters but there is no guarantee that they will reach stable state.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ experimental”NN‡”R”KsuhŒ(http://datashapes.org/dash#ExploreAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmAn action typically showing up in an Explore section of a selected resource. Cannot make changes to the data.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒExplore action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://datashapes.org/dash#ResourceAction”…”R”KsuhŒ(http://datashapes.org/dash#FailureResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLA result representing a validation failure such as an unsupported recursion.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFailure result”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KsuhŒ0http://datashapes.org/dash#FailureTestCaseResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ$Represents a failure of a test case.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFailure test case result”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://datashapes.org/dash#TestCaseResult”…”R”KsuhŒ+http://datashapes.org/dash#FunctionTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[A test case that verifies that a given SPARQL expression produces a given, expected result.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFunction test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KsuhŒ'http://datashapes.org/dash#GraphService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÝA service that does not apply to a specific resource (as ResourceService does) but operates on the whole graph. The focusNode variable will be the URI of the current base graph (e.g. as a NamedNode.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Graph service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://datashapes.org/dash#Service”…”R”KsuhŒ-http://datashapes.org/dash#GraphStoreTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ™A test case that can be used to verify that an RDF file could be loaded (from a file) and that the resulting RDF graph is equivalent to a given TTL file.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGraph store test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KsuhŒ&http://datashapes.org/dash#GraphUpdate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒƒA suggestion consisting of added and/or deleted triples, represented as rdf:Statements via dash:addedTriple and dash:deletedTriple.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Graph update”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://datashapes.org/dash#Suggestion”…”R”KsuhŒ2http://datashapes.org/dash#GraphValidationTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X9A test case that performs SHACL constraint validation on the whole graph and compares the results with the expected validation results stored with the test case. By default this excludes meta-validation (i.e. the validation of the shape definitions themselves). If that's desired, set dash:validateShapes to true.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGraph validation test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://datashapes.org/dash#ValidationTestCase”…”R”KsuhŒ3http://datashapes.org/dash#HTMLOrStringOrLangString”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b13”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b16”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÆAn rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either rdf:HTML, xsd:string or rdf:langString (in that order of preference).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHTML or string or langString”NN‡”R”Ksuj}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b14”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b15”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ5http://www.w3.org/1999/02/22-rdf-syntax-ns#langString”…”R”Kssj–}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¯KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b17”…”R”KsujÎ}”(jÆ}”jºKsjÊ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://datashapes.org/dash#HTMLViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ²A Viewer for HTML encoded text from rdf:HTML literals, rendering as parsed HTML DOM elements. Also displays the language if the HTML has a lang attribute on its root DOM element.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ HTML viewer”NN‡”R”KsuhŒ8http://datashapes.org/dash#HasValueInConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¬A constraint component that can be used to express a constraint on property shapes so that one of the values of the property path must be a member of a given list of nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ!Has value in constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ3At least one of the values must be in {$hasValueIn}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒChttp://datashapes.org/dash#HasValueInConstraintComponent-hasValueIn”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b18”…”R”Ksuj}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$ŒSELECT $this WHERE { FILTER NOT EXISTS { $this $PATH ?value . GRAPH $shapesGraph { $hasValueIn rdf:rest*/rdf:first ?value . } } }”NN‡”R”KsuhŒChttp://datashapes.org/dash#HasValueInConstraintComponent-hasValueIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://datashapes.org/dash#hasValueIn”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCAt least one of the value nodes must be a member of the given list.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ has value in”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ$http://datashapes.org/dash#ListShape”…”R”KsuhŒ)http://datashapes.org/dash#HasValueTarget”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ+http://www.w3.org/ns/shacl#SPARQLTargetType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRA target type for all subjects where a given predicate has a certain object value.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHas Value target”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://www.w3.org/ns/shacl#Target”…”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ3All subjects where {$predicate} has value {$object}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”(h;Œ$n63c4247d8f45438e96f1546bad13cbe2b19”…”R”Kh;Œ$n63c4247d8f45438e96f1546bad13cbe2b20”…”R”KuhŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$Œ>SELECT DISTINCT ?this WHERE { ?this $predicate $object . }”NN‡”R”Ksuj}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://datashapes.org/dash#object”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)The value that is expected to be present.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œobject”NN‡”R”Ksuj}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://datashapes.org/dash#predicate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe predicate property.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ predicate”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ?http://datashapes.org/dash#HasValueWithClassConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ§A constraint component that can be used to express a constraint on property shapes so that one of the values of the property path must be an instance of a given class.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ)Has value with class constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒLAt least one of the values must be an instance of class {$hasValueWithClass}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒQhttp://datashapes.org/dash#HasValueWithClassConstraintComponent-hasValueWithClass”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b21”…”R”Ksuj }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$Œ‰SELECT $this WHERE { FILTER NOT EXISTS { $this $PATH ?value . ?value a ?type . ?type rdfs:subClassOf* $hasValueWithClass . } }”NN‡”R”KsuhŒQhttp://datashapes.org/dash#HasValueWithClassConstraintComponent-hasValueWithClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://datashapes.org/dash#hasValueWithClass”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNOne of the values of the property path must be an instance of the given class.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œhas value with class”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ*http://datashapes.org/dash#HyperlinkViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒËA Viewer for literals, rendering as a hyperlink to a URL. For literals it assumes the lexical form is the URL. This is often used as default viewer for xsd:anyURI literals. Unsupported for blank nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHyperlink viewer”NN‡”R”KsuhŒ!http://datashapes.org/dash#IDRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#PropertyRole”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŒID properties are short strings or other literals that identify the focus node among siblings. Examples may include social security numbers.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒID”NN‡”R”KsuhŒ#http://datashapes.org/dash#IconRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#PropertyRole”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X+Icon properties produce images that are typically small and almost square-shaped, and that may be displayed in the upper left corner of a focus node's display. Values should be xsd:string or xsd:anyURI literals or IRI nodes pointing at URLs. Those URLs should ideally be vector graphics such as .svg files. Instances of the same class often have the same icon, and this icon may be computed using a sh:values rule or as sh:defaultValue. If the value is a relative URL then those should be resolved against the server that delivered the surrounding page.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIcon”NN‡”R”KsuhŒ&http://datashapes.org/dash#ImageViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒZA Viewer for URI values that are recognized as images by a browser, rendering as an image.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Image viewer”NN‡”R”KsuhŒ)http://datashapes.org/dash#IncludedScript”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XúThe code associated with instances of this class will get injected into the generated APIs, as global code snippets. Typically used to declare libraries of utility functions or constants that are (compared to shape scripts) not necessarily associated with specific classes or shapes. Note that the JavaScript code stored in dash:js cannot use the export keyword because the code must also work in external scripts (such as on Node.js). Instead, you need to enumerate the exported symbols via dash:exports.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIncluded script”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Script”…”R”KsuhŒ5http://datashapes.org/dash#IndexedConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ˜A constraint component that can be used to mark property shapes to be indexed, meaning that each of its value nodes must carry a dash:index from 0 to N.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIndexed constraint component”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ=http://datashapes.org/dash#IndexedConstraintComponent-indexed”…”R”KsuhŒ=http://datashapes.org/dash#IndexedConstraintComponent-indexed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://datashapes.org/dash#indexed”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,True to activate indexing for this property.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œindexed”NN‡”R”KsuhŒ.http://datashapes.org/dash#InferencingTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒwA test case to verify whether an inferencing engine is producing identical results to those stored as expected results.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInferencing test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KsuhŒ'http://datashapes.org/dash#InlineViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://datashapes.org/dash#MultiViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmA multi-viewer that renders all values horizontally, in a more compact form that just a single value per row.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Inline viewer”NN‡”R”KsuhŒ0http://datashapes.org/dash#InstancesSelectEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ]A drop-down editor for all instances of the target class (based on sh:class of the property).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInstances select editor”NN‡”R”KsuhŒ*http://datashapes.org/dash#JSONTableViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XŸA tabular viewer for rdf:JSON literals with a lexical form in the following format: { vars: [ 'col1', 'col2' ], // These are the column keys headerLabels: [ 'Column 1', 'Column 2' ], // Optional, for the column headers bindings: [ // These become the rows { col1: { lex: 'Value2', datatype: '...#string', }, col2: { uri: 'http://.../Instance', label: 'Example Instance', }, }, ... ], } The resulting table will use the headerLabels (if they exist) as column headers, otherwise derive the headers from the variable names. The vars must match the fields in the bindings. The table will contain one row for each binding. Using Active Data Shapes, you can construct such literals dynamically using a sh:values rule, e.g. ex:MyClass-myProperty a sh:PropertyShape ; sh:path ex:myProperty ; sh:values [ dash:js """ DataViewers.createTableViewerJSON(focusNode.select(` SELECT ?col1 ?col2 WHERE { $this ex:prop1 ?col1 . $this ex:prop2 ?col2 . } `))""" ] . You may also produce the JSON literal programmatically in JavaScript, or assert the triples by other means.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒJSON table viewer”NN‡”R”KsuhŒ&http://datashapes.org/dash#KeyInfoRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#PropertyRole”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¨The Key info role may be assigned to properties that are likely of special interest to a reader, so that they should appear whenever a summary of a focus node is shown.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒKey info”NN‡”R”KsuhŒ$http://datashapes.org/dash#LabelRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#PropertyRole”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÓProperties with this role produce strings that may serve as display label for the focus nodes. Labels should be either plain string literals or strings with a language tag. The values should also be single-line.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLabel”NN‡”R”KsuhŒ&http://datashapes.org/dash#LabelViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒËA Viewer for URI resources, rendering as a hyperlink to that URI based on the display label of the resource. Also includes other ways of interacting with the URI such as opening a nested summary display.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Label viewer”NN‡”R”KsuhŒ+http://datashapes.org/dash#LangStringViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[A Viewer for literals with a language tag, rendering as the text plus a language indicator.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLangString viewer”NN‡”R”KsuhŒ(http://datashapes.org/dash#ListNodeShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÜDefines constraints on what it means for a node to be a node within a well-formed RDF list. Note that this does not check whether the rdf:rest items are also well-formed lists as this would lead to unsupported recursion.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒList node shape”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b29”…”R”Ksuh;Œ$n63c4247d8f45438e96f1546bad13cbe2b22”…”R”}”(hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(h;Œ$n63c4247d8f45438e96f1546bad13cbe2b23”…”R”Kh;Œ$n63c4247d8f45438e96f1546bad13cbe2b24”…”R”Kuuj5 }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj8 }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuh;Œ$n63c4247d8f45438e96f1546bad13cbe2b26”…”R”}”hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b25”…”R”}”(hŒhttp://www.w3.org/ns/shacl#not”…”R”}”jm KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(h;Œ$n63c4247d8f45438e96f1546bad13cbe2b27”…”R”Kh;Œ$n63c4247d8f45438e96f1546bad13cbe2b28”…”R”Kuuj„ }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#minCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj‡ }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#minCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj# }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j& KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b30”…”R”KsujÙ }”(jÑ }”jx KsjÕ }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://datashapes.org/dash#ListShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XDefines constraints on what it means for a node to be a well-formed RDF list. The focus node must either be rdf:nil or not recursive. Furthermore, this shape uses dash:ListNodeShape as a "helper" to walk through all members of the whole list (including itself).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ List shape”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b36”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b38”…”R”Ksuh;Œ$n63c4247d8f45438e96f1546bad13cbe2b31”…”R”}”hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b33”…”R”}”hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b32”…”R”}”(hŒhttp://www.w3.org/ns/shacl#not”…”R”}”j KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b34”…”R”Ksuj+ }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b35”…”R”KshŒ'http://datashapes.org/dash#nonRecursive”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”Ksuj: }”hŒ(http://www.w3.org/ns/shacl#oneOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Kssjÿ }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b37”…”R”KsujX }”(jP }”j KsjT }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b39”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒQEach list member (including this node) must be have the shape dash:ListNodeShape.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ(http://datashapes.org/dash#ListNodeShape”…”R”Ksujm }”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”KsshŒ(http://datashapes.org/dash#LiteralViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFA simple viewer for literals, rendering the lexical form of the value.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLiteral viewer”NN‡”R”KsuhŒ'http://datashapes.org/dash#ModifyAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒhAn action typically showing up in a Modify section of a selected resource. May make changes to the data.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Modify action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://datashapes.org/dash#ResourceAction”…”R”KsuhŒ&http://datashapes.org/dash#MultiEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/An editor for multiple/all value nodes at once.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Multi editor”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Editor”…”R”KsuhŒ(http://datashapes.org/dash#MultiFunction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XçA multi-function is a function that can return zero or more result objects consisting of one or more result variables. While normal (SPARQL/SHACL) functions can only return a single result node, multi-functions may not only return multiple nodes but even multiple individual variables per solution. A common way of defining multi-functions is by wrapping a SPARQL SELECT query, using dash:SPARQLMultiFunction. However, some MultiFunctions (in TopBraid) may also be implemented natively.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMulti-function”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ&http://datashapes.org/dash#MultiViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)A viewer for multiple/all values at once.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Multi viewer”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Viewer”…”R”KsuhŒ+http://datashapes.org/dash#NoSuitableEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ|An "editor" that simply informs the user that the values cannot be edited here, but for example through source code editing.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒNo suitable editor”NN‡”R”KsuhŒ/http://datashapes.org/dash#NodeExpressionViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ$A viewer for SHACL Node Expressions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒNode expression viewer”NN‡”R”KsuhŒ:http://datashapes.org/dash#NonRecursiveConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDUsed to state that a property or path must not point back to itself.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Non-recursive constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ#Points back at itself (recursively)”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒGhttp://datashapes.org/dash#NonRecursiveConstraintComponent-nonRecursive”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b40”…”R”Ksuj‰ }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$ŒhSELECT DISTINCT $this ($this AS ?value) WHERE { { FILTER (?nonRecursive) } $this $PATH $this . }”NN‡”R”KsuhŒGhttp://datashapes.org/dash#NonRecursiveConstraintComponent-nonRecursive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://datashapes.org/dash#nonRecursive”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XKUsed to state that a property or path must not point back to itself. For example, "a person cannot have itself as parent" can be expressed by setting dash:nonRecursive=true for a given sh:path. To express that a person cannot have itself among any of its (recursive) parents, use a sh:path with the + operator such as ex:parent+.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ non-recursive”NN‡”R”KsuhŒhttp://datashapes.org/dash#None”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'A Shape that is no node can conform to.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒNone”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#in”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ7http://datashapes.org/dash#ParameterConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒfA constraint component that can be used to verify that all value nodes conform to the given Parameter.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒParameter constraint component”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒAhttp://datashapes.org/dash#ParameterConstraintComponent-parameter”…”R”KsuhŒAhttp://datashapes.org/dash#ParameterConstraintComponent-parameter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”KsuhŒ8http://datashapes.org/dash#PrimaryKeyConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XžEnforces a constraint that the given property (sh:path) serves as primary key for all resources in the target of the shape. If a property has been declared to be the primary key then each resource must have exactly one value for that property. Furthermore, the URIs of those resources must start with a given string (dash:uriStart), followed by the URL-encoded primary key value. For example if dash:uriStart is "http://example.org/country-" and the primary key for an instance is "de" then the URI must be "http://example.org/country-de". Finally, as a result of the URI policy, there can not be any other resource with the same value under the same primary key policy.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Primary key constraint component”NN‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒLThe property {?predicate} is the primary key and URIs start with {?uriStart}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ#Violation of primary key constraint”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒAhttp://datashapes.org/dash#PrimaryKeyConstraintComponent-uriStart”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b41”…”R”Ksujj }”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$XoSELECT DISTINCT $this WHERE { FILTER ( # Must have a value for the primary key NOT EXISTS { ?this $PATH ?any } || # Must have no more than one value for the primary key EXISTS { ?this $PATH ?value1 . ?this $PATH ?value2 . FILTER (?value1 != ?value2) . } || # The value of the primary key must align with the derived URI EXISTS { { ?this $PATH ?value . FILTER NOT EXISTS { ?this $PATH ?value2 . FILTER (?value != ?value2) } } BIND (CONCAT($uriStart, ENCODE_FOR_URI(str(?value))) AS ?uri) . FILTER (str(?this) != ?uri) . } ) }”NN‡”R”KsuhŒAhttp://datashapes.org/dash#PrimaryKeyConstraintComponent-uriStart”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://datashapes.org/dash#uriStart”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X#The start of the URIs of well-formed resources. If specified then the associated property/path serves as "primary key" for all target nodes (instances). All such target nodes need to have a URI that starts with the given string, followed by the URI-encoded value of the primary key property.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ URI start”NN‡”R”KsuhŒ5http://datashapes.org/dash#PropertyAutoCompleteEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒËAn editor for properties that are either defined as instances of rdf:Property or used as IRI values of sh:path. The component uses auto-complete to find these properties by their rdfs:labels or sh:names.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProperty auto-complete editor”NN‡”R”KsuhŒ.http://datashapes.org/dash#PropertyLabelViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒôA viewer for properties that renders a hyperlink using the display label or sh:name, allowing users to either navigate to the rdf:Property resource or the property shape definition. Should be used in conjunction with PropertyAutoCompleteEditor.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProperty label viewer”NN‡”R”KsuhŒ'http://datashapes.org/dash#PropertyRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒHThe class of roles that a property (shape) may take for its focus nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Property role”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ(http://datashapes.org/dash#QueryTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA test case running a given SPARQL SELECT query and comparing its results with those stored as JSON Result Set in the expected result property.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒQuery test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ#http://datashapes.org/dash#TestCase”…”R”KhŒ1http://www.w3.org/ns/shacl#SPARQLSelectExecutable”…”R”• KuuhŒ9http://datashapes.org/dash#ReifiableByConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ!Reifiable-by constraint component”NN‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒReifiable by {$reifiableBy}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒEhttp://datashapes.org/dash#ReifiableByConstraintComponent-reifiableBy”…”R”KsuhŒEhttp://datashapes.org/dash#ReifiableByConstraintComponent-reifiableBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://datashapes.org/dash#reifiableBy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XøCan be used to specify the node shape that may be applied to reified statements produced by a property shape. The property shape must have a URI resource as its sh:path. The values of this property must be node shapes. User interfaces can use this information to determine which properties to present to users when reified statements are explored or edited. Also, SHACL validators can use it to determine how to validate reified triples. Use dash:None to indicate that no reification should be permitted.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ reifiable by”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ)http://datashapes.org/dash#ResourceAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ†An Action that can be executed for a selected resource. Such Actions show up in context menus once they have been assigned a sh:group.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒResource action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Action”…”R”KsuhŒ*http://datashapes.org/dash#ResourceService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¡A Service that can (and must) be applied to a given resource as focus node. Use dash:resourceService to link a class to the services that apply to its instances.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒResource service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://datashapes.org/dash#Service”…”R”KsuhŒ)http://datashapes.org/dash#RichTextEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÀA rich text editor to enter the lexical value of a literal and a drop down to select language. The selected language is stored in the HTML lang attribute of the root node in the HTML DOM tree.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRich text editor”NN‡”R”KsuhŒ7http://datashapes.org/dash#RootClassConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒïA constraint component defining the parameter dash:rootClass, which restricts the values to be either the root class itself or one of its subclasses. This is typically used in conjunction with properties that have rdfs:Class as their type.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRoot class constraint component”NN‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒRoot class {$rootClass}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ&Value must be subclass of {$rootClass}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒAhttp://datashapes.org/dash#RootClassConstraintComponent-rootClass”…”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ'http://datashapes.org/dash#hasRootClass”…”R”KsuhŒAhttp://datashapes.org/dash#RootClassConstraintComponent-rootClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://datashapes.org/dash#rootClass”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe root class.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ root class”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ2http://datashapes.org/dash#SPARQLConstructTemplate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‡Encapsulates one or more SPARQL CONSTRUCT queries that can be parameterized. Parameters will become pre-bound variables in the queries.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSPARQL CONSTRUCT template”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KhŒ4http://www.w3.org/ns/shacl#SPARQLConstructExecutable”…”R”KuuhŒ.http://datashapes.org/dash#SPARQLMultiFunction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒäA multi-function based on a SPARQL SELECT query. The query gets executed with the arguments pre-bound to the variables declared as parameters. The results of the multi-function are all result bindings from the SPARQL result set.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSPARQL multi-function”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ(http://datashapes.org/dash#MultiFunction”…”R”KhŒ1http://www.w3.org/ns/shacl#SPARQLSelectExecutable”…”R”KuuhŒ/http://datashapes.org/dash#SPARQLSelectTemplate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒvEncapsulates a SPARQL SELECT query that can be parameterized. Parameters will become pre-bound variables in the query.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSPARQL SELECT template”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KhŒ1http://www.w3.org/ns/shacl#SPARQLSelectExecutable”…”R”KuuhŒ:http://datashapes.org/dash#SPARQLUpdateSuggestionGenerator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XºA SuggestionGenerator based on a SPARQL UPDATE query (sh:update), producing an instance of dash:GraphUpdate. The INSERTs become dash:addedTriple and the DELETEs become dash:deletedTriple. The WHERE clause operates on the data graph with the pre-bound variables $focusNode, $predicate and $value, as well as the other pre-bound variables for the parameters of the constraint. In many cases, there may be multiple possible suggestions to fix a problem. For example, with sh:maxLength there are many ways to slice a string. In those cases, the system will first iterate through the result variables from a SELECT query (sh:select) and apply these results as pre-bound variables into the UPDATE query.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"SPARQL UPDATE suggestion generator”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ.http://datashapes.org/dash#SuggestionGenerator”…”R”KhŒ1http://www.w3.org/ns/shacl#SPARQLSelectExecutable”…”R”KhŒ1http://www.w3.org/ns/shacl#SPARQLUpdateExecutable”…”R”KuuhŒ!http://datashapes.org/dash#Script”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKAn executable unit implemented in one or more languages such as JavaScript.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ3http://datashapes.org/dash#ScriptAPIGenerationRules”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyGroup”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript API Generation Rules”NN‡”R”KsuhŒ)http://datashapes.org/dash#ScriptAPIShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyDefines the properties that instruct the ADS Script API generator about what prefixes, constants and classes to generate.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Script API”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://datashapes.org/dash#ScriptAPIShape-generateClass”…”R”KhŒ?http://datashapes.org/dash#ScriptAPIShape-generatePrefixClasses”…”R”KhŒAhttp://datashapes.org/dash#ScriptAPIShape-generatePrefixConstants”…”R”KuhŒ&http://www.w3.org/ns/shacl#targetClass”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KsuhŒ7http://datashapes.org/dash#ScriptAPIShape-generateClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://datashapes.org/dash#generateClass”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoThe API generator will produce classes for each value of this property and all its subclasses and superclasses.”NN‡”R”KshŒ http://www.w3.org/ns/shacl#group”…”R”}”hŒ3http://datashapes.org/dash#ScriptAPIGenerationRules”…”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgenerate class”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ http://www.w3.org/ns/shacl#order”…”R”}”h$Œ0”NhŒ(http://www.w3.org/2001/XMLSchema#decimal”…”R”‡”R”KsuhŒ?http://datashapes.org/dash#ScriptAPIShape-generatePrefixClasses”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ0http://datashapes.org/dash#generatePrefixClasses”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ™If a prefix (such as "edg") is listed here then the API generator will produce classes for all RDFS classes or node shapes from the associated namespace.”NN‡”R”KshŒ http://www.w3.org/ns/shacl#group”…”R”}”hŒ3http://datashapes.org/dash#ScriptAPIGenerationRules”…”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgenerate prefix classes”NN‡”R”KshŒ http://www.w3.org/ns/shacl#order”…”R”}”h$Œ15”NhŒ(http://www.w3.org/2001/XMLSchema#decimal”…”R”‡”R”KsuhŒAhttp://datashapes.org/dash#ScriptAPIShape-generatePrefixConstants”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ2http://datashapes.org/dash#generatePrefixConstants”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‡If a prefix (such as "edg") is listed here then the API generator will produce constants for class, datatype, shape and property names.”NN‡”R”KshŒ http://www.w3.org/ns/shacl#group”…”R”}”hŒ3http://datashapes.org/dash#ScriptAPIGenerationRules”…”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgenerate prefix constants”NN‡”R”KshŒ http://www.w3.org/ns/shacl#order”…”R”}”h$Œ10”NhŒ(http://www.w3.org/2001/XMLSchema#decimal”…”R”‡”R”KsuhŒ+http://datashapes.org/dash#ScriptConstraint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XaThe class of constraints that are based on Scripts. Depending on whether dash:onAllValues is set to true, these scripts can access the following pre-assigned variables: - focusNode: the focus node of the constraint (a NamedNode) - if dash:onAllValues is not true: value: the current value node (e.g. a JavaScript string for xsd:string literals, a number for numeric literals or true or false for xsd:boolean literals. All other literals become LiteralNodes, and non-literals become instances of NamedNode) - if dash:onAllValues is true: values: an array of current value nodes, as above. If the expression returns an array then each array member will be mapped to one validation result, following the mapping rules below. For string results, a validation result will use the string as sh:resultMessage. For boolean results, a validation result will be produced if the result is false (true means no violation). For object results, a validation result will be produced using the value of the field "message" of the object as result message. If the field "value" has a value then this will become the sh:value in the violation. Unless another sh:message has been directly returned, the sh:message of the dash:ScriptConstraint will be used, similar to sh:message at SPARQL Constraints. These sh:messages can access the values {$focusNode}, {$value} etc as template variables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript constraint”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Script”…”R”KsuhŒ4http://datashapes.org/dash#ScriptConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript constraint component”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒEhttp://datashapes.org/dash#ScriptConstraintComponent-scriptConstraint”…”R”KsuhŒEhttp://datashapes.org/dash#ScriptConstraintComponent-scriptConstraint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://datashapes.org/dash#scriptConstraint”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ+http://datashapes.org/dash#ScriptConstraint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The Script constraint(s) to apply.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œscript constraint”NN‡”R”KsuhŒ)http://datashapes.org/dash#ScriptFunction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XScript functions can be used from SPARQL queries and will be injected into the generated prefix object (in JavaScript, for ADS scripts). The dash:js will be inserted into a generated JavaScript function and therefore needs to use the return keyword to produce results. These JS snippets can access the parameter values based on the local name of the sh:Parameter's path. For example ex:value can be accessed using value. SPARQL use note: Since these functions may be used from any data graph and any shapes graph, they must not rely on any API apart from what's available in the shapes graph that holds the rdf:type triple of the function itself. In other words, at execution time from SPARQL, the ADS shapes graph will be the home graph of the function's declaration.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript function”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ#http://www.w3.org/ns/shacl#Function”…”R”KuuhŒ4http://datashapes.org/dash#ScriptSuggestionGenerator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XÌA Suggestion Generator that is backed by an Active Data Shapes script. The script needs to return a JSON object or an array of JSON objects if it shall generate multiple suggestions. It may also return null to indicate that nothing was suggested. Note that the whole script is evaluated as a (JavaScript) expression, and those will use the last value as result. So simply putting an object at the end of your script should do. Alternatively, define the bulk of the operation as a function and simply call that function in the script. Each response object can have the following fields: { message: "The human readable message", // Defaults to the rdfs:label(s) of the suggestion generator add: [ // An array of triples to add, each triple as an array with three nodes [ subject, predicate, object ], [ ... ] ], delete: [ ... like add, for the triples to delete ] } Suggestions with neither added nor deleted triples will be discarded. At execution time, the script operates on the data graph as the active graph, with the following pre-bound variables: - focusNode: the NamedNode that is the sh:focusNode of the validation result - predicate: the NamedNode representing the predicate of the validation result, assuming sh:resultPath is a URI - value: the value node from the validation result's sh:value, cast into the most suitable JS object - the other pre-bound variables for the parameters of the constraint, e.g. in a sh:maxCount constraint it would be maxCount The script will be executed in read-only mode, i.e. it cannot modify the graph. Example with dash:js: ({ message: `Copy labels into ${graph.localName(predicate)}`, add: focusNode.values(rdfs.label).map(label => [ focusNode, predicate, label ] ) })”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript suggestion generator”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ.http://datashapes.org/dash#SuggestionGenerator”…”R”KuuhŒ)http://datashapes.org/dash#ScriptTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÓA test case that evaluates a script. Requires exactly one value for dash:js and will operate on the test case's graph (with imports) as both data and shapes graph. Supports read-only scripts only at this stage.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ#http://datashapes.org/dash#TestCase”…”R”KuuhŒ*http://datashapes.org/dash#ScriptValidator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA SHACL validator based on an Active Data Shapes script. See the comment at dash:ScriptConstraint for the basic evaluation approach. Note that in addition to focusNode and value/values, the script can access pre-bound variables for each declared argument of the constraint component.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScript validator”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ$http://www.w3.org/ns/shacl#Validator”…”R”KuuhŒ"http://datashapes.org/dash#Service”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKA script that gets exposed as a web service, e.g. /tbl/service/ex/MyService”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒService”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://datashapes.org/dash#Script”…”R”KhŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KuuhŒ%http://datashapes.org/dash#ShapeClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ!http://datashapes.org/dash#hidden”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ€A class that is also a node shape. This class can be used as rdf:type instead of the combination of rdfs:Class and sh:NodeShape.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Shape class”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuuhŒ&http://datashapes.org/dash#ShapeScript”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒéA shape script contains extra code that gets injected into the API for the associated node shape. In particular you can use this to define additional functions that operate on the current focus node (the this variable in JavaScript).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Shape script”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Script”…”R”KsuhŒ'http://datashapes.org/dash#SingleEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%An editor for individual value nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Single editor”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Editor”…”R”KsuhŒ8http://datashapes.org/dash#SingleLineConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA constraint component that can be used to declare that all values that are literals must have a lexical form that contains no line breaks ('\n' or '\r'). User interfaces may use the dash:singleLine flag to prefer a text field over a (multi-line) text area.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Single line constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒMust not contain line breaks.”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒChttp://datashapes.org/dash#SingleLineConstraintComponent-singleLine”…”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b42”…”R”Ksuj¬}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$ŒyASK { FILTER (!$singleLine || !isLiteral($value) || (!contains(str($value), '\n') && !contains(str($value), '\r'))) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒChttp://datashapes.org/dash#SingleLineConstraintComponent-singleLine”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://datashapes.org/dash#singleLine”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ–True to state that the lexical form of literal value nodes must not contain any line breaks. False to state that line breaks are explicitly permitted.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ single line”NN‡”R”KsuhŒ'http://datashapes.org/dash#SingleViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA viewer for a single value.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Single viewer”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Viewer”…”R”KsuhŒ!http://datashapes.org/dash#Stable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://datashapes.org/dash#APIStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒiFeatures that have been marked stable are deemed of good quality and can be used until marked deprecated.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œstable”NN‡”R”KsuhŒ2http://datashapes.org/dash#StemConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA constraint component that can be used to verify that every value node is an IRI and the IRI starts with a given string value.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒStem constraint component”Œen”N‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ Value needs to have stem {$stem}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ Value does not have stem {$stem}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ7http://datashapes.org/dash#StemConstraintComponent-stem”…”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ"http://datashapes.org/dash#hasStem”…”R”KsuhŒ7http://datashapes.org/dash#StemConstraintComponent-stem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://datashapes.org/dash#stem”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeIf specified then every value node must be an IRI and the IRI must start with the given string value.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œstem”NN‡”R”KsuhŒ-http://datashapes.org/dash#StringOrLangString”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b43”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b45”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒžAn rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either xsd:string or rdf:langString.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒString or langString”NN‡”R”Ksuj¾}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b44”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ5http://www.w3.org/1999/02/22-rdf-syntax-ns#langString”…”R”KssjÅ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÞKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://datashapes.org/dash#StringOrLangStringOrHTML”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b46”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b49”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÆAn rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either xsd:string, rdf:langString or rdf:HTML (in that order of preference).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œstring or langString or HTML”NN‡”R”Ksuj}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b47”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ5http://www.w3.org/1999/02/22-rdf-syntax-ns#langString”…”R”Kssh;Œ$n63c4247d8f45438e96f1546bad13cbe2b48”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”Kssj }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j$KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b50”…”R”KsujC}”(j;}”j/Ksj?}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://datashapes.org/dash#SubClassEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ…An editor for properties that declare a dash:rootClass. The editor allows selecting either the class itself or one of its subclasses.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSub-Class editor”NN‡”R”KsuhŒ6http://datashapes.org/dash#SubSetOfConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA constraint component that can be used to state that the set of value nodes must be a subset of the value of a given property.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSub set of constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ(Must be one of the values of {$subSetOf}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://datashapes.org/dash#SubSetOfConstraintComponent-subSetOf”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b51”…”R”Ksujš}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ$ASK { $this $subSetOf $value . }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ?http://datashapes.org/dash#SubSetOfConstraintComponent-subSetOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://datashapes.org/dash#subSetOf”…”R”KshŒ!http://datashapes.org/dash#editor”…”R”}”hŒ5http://datashapes.org/dash#PropertyAutoCompleteEditor”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ!http://datashapes.org/dash#viewer”…”R”}”hŒ.http://datashapes.org/dash#PropertyLabelViewer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒsCan be used to state that all value nodes must also be values of a specified other property at the same focus node.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ sub-set of”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ(http://datashapes.org/dash#SuccessResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:A result representing a successfully validated constraint.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuccess result”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KsuhŒ0http://datashapes.org/dash#SuccessTestCaseResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+Represents a successful run of a test case.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuccess test case result”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://datashapes.org/dash#TestCaseResult”…”R”KsuhŒ%http://datashapes.org/dash#Suggestion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYBase class of suggestions that modify a graph to "fix" the source of a validation result.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Suggestion”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ.http://datashapes.org/dash#SuggestionGenerator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‡Base class of objects that can generate suggestions (added or deleted triples) for a validation result of a given constraint component.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuggestion generator”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ+http://datashapes.org/dash#SuggestionResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XMClass of results that have been produced as suggestions, not through SHACL validation. How the actual results are produced is up to implementers. Each instance of this class should have values for sh:focusNode, sh:resultMessage, sh:resultSeverity (suggested default: sh:Info), and dash:suggestion to point at one or more suggestions.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuggestion result”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KsuhŒ7http://datashapes.org/dash#SymmetricConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ˜A contraint component for property shapes to validate that a property is symmetric. For symmetric properties, if A relates to B then B must relate to A.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSymmetric constraint component”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒSymmetric value expected”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒAhttp://datashapes.org/dash#SymmetricConstraintComponent-symmetric”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b52”…”R”KsujÎ}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$ŒvSELECT $this ?value { FILTER ($symmetric) . $this $PATH ?value . FILTER NOT EXISTS { ?value $PATH $this . } }”NN‡”R”KsuhŒAhttp://datashapes.org/dash#SymmetricConstraintComponent-symmetric”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://datashapes.org/dash#symmetric”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>If set to true then if A relates to B then B must relate to A.”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ symmetric”NN‡”R”KsuhŒ#http://datashapes.org/dash#TestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEA test case to verify that a (SHACL-based) feature works as expected.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ)http://datashapes.org/dash#TestCaseResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6Base class for results produced by running test cases.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTest case result”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KsuhŒ*http://datashapes.org/dash#TestEnvironment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ\Abstract base class for test environments, holding information on how to set up a test case.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTest environment”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ)http://datashapes.org/dash#TextAreaEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7A multi-line text area to enter the value of a literal.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒText area editor”NN‡”R”KsuhŒ1http://datashapes.org/dash#TextAreaWithLangEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ\A multi-line text area to enter the value of a literal and a drop down to select a language.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒText area with lang editor”NN‡”R”KsuhŒ*http://datashapes.org/dash#TextFieldEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½A simple input field to enter the value of a literal, without the ability to change language or datatype. This is the fallback editor for any literal if no other editors are more suitable.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒText field editor”NN‡”R”KsuhŒ2http://datashapes.org/dash#TextFieldWithLangEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¦A single-line input field to enter the value of a literal and a drop down to select language, which is mandatory unless xsd:string is among the permissible datatypes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒText field with lang editor”NN‡”R”KsuhŒ$http://datashapes.org/dash#URIEditor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleEditor”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒQAn input field to enter the URI of a resource, e.g. rdfs:seeAlso links or images.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ URI editor”NN‡”R”KsuhŒ$http://datashapes.org/dash#URIViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A Viewer for URI resources, rendering as a hyperlink to that URI. Also includes other ways of interacting with the URI such as opening a nested summary display.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ URI viewer”NN‡”R”KsuhŒAhttp://datashapes.org/dash#UniqueValueForClassConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ–A constraint component that can be used to state that the values of a property must be unique for all instances of a given class (and its subclasses).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ+Unique value for class constraint component”NN‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒCValues must be unique among all instances of {?uniqueValueForClass}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒUhttp://datashapes.org/dash#UniqueValueForClassConstraintComponent-uniqueValueForClass”…”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b53”…”R”Ksuj^}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ:Value {?value} must be unique but is also used by {?other}”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$ŒÃSELECT DISTINCT $this ?value ?other WHERE { { $this $PATH ?value . ?other $PATH ?value . FILTER (?other != $this) . } ?other a ?type . ?type rdfs:subClassOf* $uniqueValueForClass . }”NN‡”R”KsuhŒUhttp://datashapes.org/dash#UniqueValueForClassConstraintComponent-uniqueValueForClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://datashapes.org/dash#uniqueValueForClass”…”R”KshŒ&http://datashapes.org/dash#reifiableBy”…”R”}”hŒ5http://datashapes.org/dash#ConstraintReificationShape”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒnStates that the values of the property must be unique for all instances of a given class (and its subclasses).”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œunique value for class”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ.http://datashapes.org/dash#UntrustedHTMLViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://datashapes.org/dash#SingleViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒñA Viewer for HTML content from untrusted sources. This viewer will sanitize the HTML before rendering. Any a, button, checkbox, form, hidden, input, img, script, select, style and textarea tags and class and style attributes will be removed.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUntrusted HTML viewer”NN‡”R”KsuhŒ-http://datashapes.org/dash#ValidationTestCase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ®Abstract superclass for test cases concerning SHACL constraint validation. Future versions may add new kinds of validatin test cases, e.g. to validate a single resource only.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒValidation test case”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KsuhŒ+http://datashapes.org/dash#ValueTableViewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://datashapes.org/dash#MultiViewer”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ®A viewer that renders all values of a given property as a table, with one value per row, and the columns defined by the shape that is the sh:node or sh:class of the property.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒValue table viewer”NN‡”R”KsuhŒ!http://datashapes.org/dash#Viewer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-The class of widgets for viewing value nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒViewer”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://datashapes.org/dash#Widget”…”R”KsuhŒ!http://datashapes.org/dash#Widget”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://datashapes.org/dash#ShapeClass”…”R”KshŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXBase class of user interface components that can be used to display or edit value nodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWidget”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ#http://datashapes.org/dash#abstract”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ§Indicates that a class is "abstract" and cannot be used in asserted rdf:type triples. Only non-abstract subclasses of abstract classes should be instantiated directly.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œabstract”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ&http://datashapes.org/dash#actionGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒCLinks an Action with the ActionGroup that it should be arranged in.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ!http://datashapes.org/dash#Action”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ action group”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ&http://datashapes.org/dash#ActionGroup”…”R”KsuhŒ*http://datashapes.org/dash#actionIconClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFThe (CSS) class of an Action for display purposes alongside the label.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ!http://datashapes.org/dash#Action”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œaction icon class”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KsuhŒ&http://datashapes.org/dash#addedTriple”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ–May link a dash:GraphUpdate with one or more triples (represented as instances of rdf:Statement) that should be added to fix the source of the result.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ&http://datashapes.org/dash#GraphUpdate”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ added triple”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ4http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement”…”R”KsuhŒhttp://datashapes.org/dash#all”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbRepresents all users/roles, for example as a possible value of the default view for role property.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œall”NN‡”R”KsuhŒ$http://datashapes.org/dash#apiStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒšDefines how and whether the associated feature is part of an external API. APIs may be implemented as (REST) web services, via GraphQL or ADS Script APIs.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ API status”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ$http://datashapes.org/dash#APIStatus”…”R”KsuhŒ,http://datashapes.org/dash#applicableToClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XZCan be used to state that a shape is applicable to instances of a given class. This is a softer statement than "target class": a target means that all instances of the class must conform to the shape. Being applicable to simply means that the shape may apply to (some) instances of the class. This information can be used by algorithms or humans.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œapplicable to class”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KsuhŒ#http://datashapes.org/dash#cachable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒàIf set to true then the results of the SHACL function can be cached in between invocations with the same arguments. In other words, they are stateless and do not depend on triples in any graph, or the current time stamp etc.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ#http://www.w3.org/ns/shacl#Function”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œcachable”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ(http://datashapes.org/dash#closedByTypes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œclosed by types”NN‡”R”KsuhŒ'http://datashapes.org/dash#coExistsWith”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ“Specifies a property that must have a value whenever the property path has a value, and must have no value whenever the property path has no value.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œco-exists with”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KsuhŒ$http://datashapes.org/dash#composite”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X£Can be used to indicate that a property/path represented by a property constraint represents a composite relationship. In a composite relationship, the life cycle of a "child" object (value of the property/path) depends on the "parent" object (focus node). If the parent gets deleted, then the child objects should be deleted, too. Tools may use dash:composite (if set to true) to implement cascading delete operations.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ composite”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ&http://datashapes.org/dash#contextFree”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‘Used to mark certain parameterizables as context-free, meaning that the outcome of a process does not depend on the currently active query graph.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ context-free”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ&http://datashapes.org/dash#defaultLang”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÖCan be used to annotate a graph (usually the owl:Ontology) with the default language that tools should suggest for new literal values. For example, predominantly English graphs should have "en" as default language.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdefault language”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KsuhŒ-http://datashapes.org/dash#defaultViewForRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X)Links a node shape with the roles for which it shall be used as default view. User interfaces can use these values to select how to present a given RDF resource. The values of this property are URIs representing a group of users or agents. There is a dedicated URI dash:all representing all users.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdefault view for role”NN‡”R”KsuhŒ(http://datashapes.org/dash#deletedTriple”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŸMay link a dash:GraphUpdate result with one or more triples (represented as instances of rdf:Statement) that should be deleted to fix the source of the result.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ&http://datashapes.org/dash#GraphUpdate”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdeleted triple”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ4http://www.w3.org/1999/02/22-rdf-syntax-ns#Statement”…”R”KsuhŒ.http://datashapes.org/dash#dependencyPredicate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XˆCan be used in dash:js node expressions to enumerate the predicates that the computation of the values may depend on. This can be used by clients to determine whether an edit requires re-computation of values on a form or elsewhere. For example, if the dash:js is something like "focusNode.firstName + focusNode.lastName" then the dependency predicates should be ex:firstName and ex:lastName.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdependency predicate”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KsuhŒ*http://datashapes.org/dash#detailsEndpoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X*Can be used to link a SHACL property shape with the URL of a SPARQL endpoint that may contain further RDF triples for the value nodes delivered by the property. This can be used to inform a processor that it should switch to values from an external graph when the user wants to retrieve more information about a value. This property should be regarded as an "annotation", i.e. it does not have any impact on validation or other built-in SHACL features. However, selected tools may want to use this information. One implementation strategy would be to periodically fetch the values specified by the sh:node or sh:class shape associated with the property, using the property shapes in that shape, and add the resulting triples into the main query graph. An example value is "https://query.wikidata.org/sparql".”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdetails endpoint”NN‡”R”KsuhŒ'http://datashapes.org/dash#detailsGraph”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XCan be used to link a SHACL property shape with a SHACL node expression that produces the URIs of one or more graphs that contain further RDF triples for the value nodes delivered by the property. This can be used to inform a processor that it should switch to another data graph when the user wants to retrieve more information about a value. The node expressions are evaluated with the focus node as input. (It is unclear whether there are also cases where the result may be different for each specific value, in which case the node expression would need a second input argument). This property should be regarded as an "annotation", i.e. it does not have any impact on validation or other built-in SHACL features. However, selected tools may want to use this information.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ details graph”NN‡”R”KsuhŒ!http://datashapes.org/dash#editor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlCan be used to link a property shape with an editor, to state a preferred editing widget in user interfaces.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œeditor”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ!http://datashapes.org/dash#Editor”…”R”KsuhŒ)http://datashapes.org/dash#expectedResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒqThe expected result(s) of a test case. The value range of this property is different for each kind of test cases.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œexpected result”NN‡”R”KsuhŒ/http://datashapes.org/dash#expectedResultIsJSON”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ´A flag to indicate that the expected result represents a JSON string. If set to true, then tests would compare JSON structures (regardless of whitespaces) instead of actual syntax.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œexpected result is JSON”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ.http://datashapes.org/dash#expectedResultIsTTL”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ§A flag to indicate that the expected result represents an RDF graph encoded as a Turtle file. If set to true, then tests would compare graphs instead of actual syntax.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ#http://datashapes.org/dash#TestCase”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œexpected result is Turtle”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ http://datashapes.org/dash#fixed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLCan be used to mark that certain validation results have already been fixed.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ+http://www.w3.org/ns/shacl#ValidationResult”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œfixed”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ#http://datashapes.org/dash#hasClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ has class”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ< ASK { $value rdf:type/rdfs:subClassOf* $class . } ”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ"Value does not have class {$class}”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ*http://datashapes.org/dash#hasMaxExclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¸Checks whether a given node (?value) has a value less than (<) the provided ?maxExclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas max exclusive”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ'ASK { FILTER ($value < $maxExclusive) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ*http://datashapes.org/dash#hasMaxInclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÅChecks whether a given node (?value) has a value less than or equal to (<=) the provided ?maxInclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas max inclusive”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ(ASK { FILTER ($value <= $maxInclusive) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ'http://datashapes.org/dash#hasMaxLength”…”R”•}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYChecks whether a given string (?value) has a length within a given maximum string length.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas max length”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ? ASK { FILTER (STRLEN(str($value)) <= $maxLength) . } ”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ*http://datashapes.org/dash#hasMinExclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¹Checks whether a given node (?value) has value greater than (>) the provided ?minExclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas min exclusive”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ'ASK { FILTER ($value > $minExclusive) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ*http://datashapes.org/dash#hasMinInclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÆChecks whether a given node (?value) has value greater than or equal to (>=) the provided ?minInclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas min inclusive”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ(ASK { FILTER ($value >= $minInclusive) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ'http://datashapes.org/dash#hasMinLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYChecks whether a given string (?value) has a length within a given minimum string length.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas min length”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ? ASK { FILTER (STRLEN(str($value)) >= $minLength) . } ”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ&http://datashapes.org/dash#hasNodeKind”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ}Checks whether a given node (?value) has a given sh:NodeKind (?nodeKind). For example, sh:hasNodeKind(42, sh:Literal) = true.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ has node kind”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$X7 ASK { FILTER ((isIRI($value) && $nodeKind IN ( sh:IRI, sh:BlankNodeOrIRI, sh:IRIOrLiteral ) ) || (isLiteral($value) && $nodeKind IN ( sh:Literal, sh:BlankNodeOrLiteral, sh:IRIOrLiteral ) ) || (isBlank($value) && $nodeKind IN ( sh:BlankNode, sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral ) )) . } ”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ%http://datashapes.org/dash#hasPattern”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒœChecks whether the string representation of a given node (?value) matches a given regular expression (?pattern). Returns false if the value is a blank node.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ has pattern”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$ŒzASK { FILTER (!isBlank($value) && IF(bound($flags), regex(str($value), $pattern, $flags), regex(str($value), $pattern))) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ'http://datashapes.org/dash#hasRootClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas root class”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ0ASK { $value rdfs:subClassOf* $rootClass . }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ"http://datashapes.org/dash#hasStem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAChecks whether a given node is an IRI starting with a given stem.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas stem”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ?ASK { FILTER (isIRI($value) && STRSTARTS(str($value), $stem)) }”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ%http://datashapes.org/dash#hasValueIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ_Specifies a constraint that at least one of the value nodes must be a member of the given list.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ has value in”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KsuhŒ,http://datashapes.org/dash#hasValueWithClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒaSpecifies a constraint that at least one of the value nodes must be an instance of a given class.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhas value with class”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KsuhŒ!http://datashapes.org/dash#height”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ The height.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œheight”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KsuhŒ!http://datashapes.org/dash#hidden”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¬Properties marked as hidden do not appear in user interfaces, yet remain part of the shape for other purposes such as validation and scripting or GraphQL schema generation.”NN‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œhidden”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ http://datashapes.org/dash#index”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œindex”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KsuhŒ"http://datashapes.org/dash#indexed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KsuhŒ(http://datashapes.org/dash#isDeactivated”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://www.w3.org/ns/shacl#SPARQLFunction”…”R”KshŒ$http://datashapes.org/dash#apiStatus”…”R”}”hŒ!http://datashapes.org/dash#Stable”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒaChecks whether a given shape or constraint has been marked as "deactivated" using sh:deactivated.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œis deactivated”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$Œ4ASK { ?constraintOrShape sh:deactivated true . }”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b54”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ%http://www.w3.org/ns/shacl#returnType”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Ksujþ}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://datashapes.org/dash#constraintOrShape”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&The sh:Constraint or sh:Shape to test.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œconstraint or shape”NN‡”R”KsuhŒhttp://datashapes.org/dash#isIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œis in”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$ŒS ASK { GRAPH $shapesGraph { $in (rdf:rest*)/rdf:first $value . } } ”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ'http://datashapes.org/dash#isLanguageIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œis language in”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$ŒÉ ASK { BIND (lang($value) AS ?valueLang) . FILTER EXISTS { GRAPH $shapesGraph { $languageIn (rdf:rest*)/rdf:first ?lang . FILTER (langMatches(?valueLang, ?lang)) } } } ”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KsuhŒ.http://datashapes.org/dash#isNodeKindBlankNode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://www.w3.org/ns/shacl#SPARQLFunction”…”R”KshŒ$http://datashapes.org/dash#apiStatus”…”R”}”hŒ!http://datashapes.org/dash#Stable”…”R”KshŒ#http://datashapes.org/dash#cachable”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ&http://datashapes.org/dash#contextFree”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ>Checks if a given sh:NodeKind is one that includes BlankNodes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œis NodeKind BlankNode”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$ŒYASK { FILTER ($nodeKind IN ( sh:BlankNode, sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral )) }”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b55”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ%http://www.w3.org/ns/shacl#returnType”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Ksuj«}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://datashapes.org/dash#nodeKind”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe sh:NodeKind to check.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ node kind”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ(http://datashapes.org/dash#isNodeKindIRI”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://www.w3.org/ns/shacl#SPARQLFunction”…”R”KshŒ$http://datashapes.org/dash#apiStatus”…”R”}”hŒ!http://datashapes.org/dash#Stable”…”R”KshŒ#http://datashapes.org/dash#cachable”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ&http://datashapes.org/dash#contextFree”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8Checks if a given sh:NodeKind is one that includes IRIs.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œis NodeKind IRI”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#ask”…”R”}”h$ŒMASK { FILTER ($nodeKind IN ( sh:IRI, sh:BlankNodeOrIRI, sh:IRIOrLiteral )) }”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b56”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ%http://www.w3.org/ns/shacl#returnType”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Ksuj&}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://datashapes.org/dash#nodeKind”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe sh:NodeKind to check.”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ node kind”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ,http://datashapes.org/dash#isNodeKindLiteral”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://www.w3.org/ns/shacl#SPARQLFunction”…”R”KshŒ$http://datashapes.org/dash#apiStatus”…”R”}”hŒ!http://datashapes.org/dash#Stable”…”R”KshŒ#http://datashapes.org/dash#cachable”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ&http://datashapes.org/dash#contextFree”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œhttp://www.w3.org/ns/shacl#LessThanOrEqualsConstraintComponent”…”R”}”(hŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ,Value is not <= value of {$lessThanOrEquals}”NN‡”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b70”…”R”Ksuj£'}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$ŒÈ SELECT DISTINCT $this ?value WHERE { $this $PATH ?value . $this $lessThanOrEquals ?otherValue . BIND (?value <= ?otherValue AS ?result) . FILTER (!bound(?result) || !(?result)) . } ”NN‡”R”KsuhŒ6http://www.w3.org/ns/shacl#MaxCountConstraintComponent”…”R”}”(hŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ*Must not have more than {$maxCount} values”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒMore than {$maxCount} values”NN‡”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b71”…”R”KsujÜ'}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$Œw SELECT $this WHERE { $this $PATH ?value . } GROUP BY $this HAVING (COUNT(DISTINCT ?value) > $maxCount) ”NN‡”R”KsuhŒ:http://www.w3.org/ns/shacl#MaxExclusiveConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒValue must be < {$maxExclusive}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒValue is not < {$maxExclusive}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ*http://datashapes.org/dash#hasMaxExclusive”…”R”KsuhŒ:http://www.w3.org/ns/shacl#MaxInclusiveConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ Value must be <= {$maxInclusive}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒValue is not <= {$maxInclusive}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ*http://datashapes.org/dash#hasMaxInclusive”…”R”KsuhŒ7http://www.w3.org/ns/shacl#MaxLengthConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ5Value must not have more than {$maxLength} characters”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ+Value has more than {$maxLength} characters”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ'http://datashapes.org/dash#hasMaxLength”…”R”KsuhŒ6http://www.w3.org/ns/shacl#MinCountConstraintComponent”…”R”}”(hŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ%Must have at least {$minCount} values”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒFewer than {$minCount} values”NN‡”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b72”…”R”Ksuj~(}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$Œ‹ SELECT $this WHERE { OPTIONAL { $this $PATH ?value . } } GROUP BY $this HAVING (COUNT(DISTINCT ?value) < $minCount) ”NN‡”R”KsuhŒ:http://www.w3.org/ns/shacl#MinExclusiveConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒValue must be > {$minExclusive}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒValue is not > {$minExclusive}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ*http://datashapes.org/dash#hasMinExclusive”…”R”KsuhŒ:http://www.w3.org/ns/shacl#MinInclusiveConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ Value must be >= {$minInclusive}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒValue is not >= {$minInclusive}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ*http://datashapes.org/dash#hasMinInclusive”…”R”KsuhŒ7http://www.w3.org/ns/shacl#MinLengthConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ1Value must have less than {$minLength} characters”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ+Value has less than {$minLength} characters”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ'http://datashapes.org/dash#hasMinLength”…”R”KsuhŒ2http://www.w3.org/ns/shacl#NodeConstraintComponent”…”R”}”hŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ!Value does not have shape {$node}”NN‡”R”KsshŒ6http://www.w3.org/ns/shacl#NodeKindConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ%Value must have node kind {$nodeKind}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ)Value does not have node kind {$nodeKind}”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ&http://datashapes.org/dash#hasNodeKind”…”R”KsuhŒ1http://www.w3.org/ns/shacl#NotConstraintComponent”…”R”}”(hŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ Value must not have shape {$not}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒValue does have shape {$not}”NN‡”R”KsuhŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ5http://www.w3.org/ns/shacl#PatternConstraintComponent”…”R”}”(hŒ+http://datashapes.org/dash#staticConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ%Value must match pattern "{$pattern}"”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ)Value does not match pattern "{$pattern}"”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#validator”…”R”}”hŒ%http://datashapes.org/dash#hasPattern”…”R”KsuhŒ?http://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent”…”R”}”(hŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒNNo more than {$qualifiedMaxCount} values can have shape {$qualifiedValueShape}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒGMore than {$qualifiedMaxCount} values have shape {$qualifiedValueShape}”NN‡”R”KsuhŒ?http://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent”…”R”}”(hŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$ŒONo fewer than {$qualifiedMinCount} values can have shape {$qualifiedValueShape}”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$ŒHFewer than {$qualifiedMinCount} values have shape {$qualifiedValueShape}”NN‡”R”KsuhŒhttp://www.w3.org/ns/shacl#Rule”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ http://www.w3.org/ns/shacl#Rules”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"The SHACL rules entailment regime.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ SHACL Rules”NN‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#seeAlso”…”R”}”hŒ%https://www.w3.org/TR/shacl-af/#Rules”…”R”KsuhŒ+http://www.w3.org/ns/shacl#SPARQLExecutable”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ http://www.w3.org/ns/shacl#Shape”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ!http://www.w3.org/ns/shacl#Target”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ%http://www.w3.org/ns/shacl#TargetType”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ8http://www.w3.org/ns/shacl#UniqueLangConstraintComponent”…”R”}”(hŒ*http://datashapes.org/dash#localConstraint”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”h$Œ&No language can be used more than once”NN‡”R”KshŒ"http://www.w3.org/ns/shacl#message”…”R”}”h$Œ&Language "{?lang}" used more than once”NN‡”R”KshŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”h;Œ$n63c4247d8f45438e96f1546bad13cbe2b73”…”R”Ksuj*}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”KshŒ#http://www.w3.org/ns/shacl#prefixes”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ!http://www.w3.org/ns/shacl#select”…”R”}”h$X> SELECT DISTINCT $this ?lang WHERE { { FILTER sameTerm($uniqueLang, true) . } $this $PATH ?value . BIND (lang(?value) AS ?lang) . FILTER (bound(?lang) && ?lang != "") . FILTER EXISTS { $this $PATH ?otherValue . FILTER (?otherValue != ?value && ?lang = lang(?otherValue)) . } } ”NN‡”R”KsuhŒ$http://www.w3.org/ns/shacl#Validator”…”R”}”hŒ#http://datashapes.org/dash#abstract”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KsshŒ http://www.w3.org/ns/shacl#order”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#decimal”…”R”KssuŒ _Memory__pos”}”(h}”(h}”hKshÙ}”(hÑKj KjÀKj@Kjß Kjí KjXKj{Kj¡KjÄKjXKjAKjïKjKj/KjYKjƒKjIKjsKjŸ%KuhÜ}”(hÑKj‡Kj Kjâ Kjß KjÚ Kjí Kj{KjKjXKuhü}”(hôKj!KjAKjHKjgKj Kj$Kj€KjàKjKj Kj`Kj¿Kj7 KjŸ Kj¿ Kj KjKj‹KjµKjêKjøKj~Kj¡KjÄKjçKjKjaKjýKjKjÌKjKj9Kuji}”jaKsj‚}”(jzKjÈKjbKuj·}”j¯Ksj}”(jýKj/KjuKjŽKjòKjNKjp Kj) Kj» KjÕKjLKjKj¶KjÏKjèKjKuj}”(jKj Kj×Kj[Kj¦Kj‰ KjÔ Kjí Kj† KjB KjÔ KjKj³Kujp}”(jhKjÝKjðKjâKjßKj^ Kjú Kj. Kj3KjîKjKjKj6KjeKj£Kj3Kuj”}”(j…KjKjKj Kj‰ Kjj KjÎKj^Kjê%Kjq&Kjx&KjÕ&Kjq'Kj£'KjÜ'Kj~(Kj*Kuj´}”(j¬Kj+Kj4KjKjKj&KjÿKj¢ Kj Kjƒ KjSKj#Kj1KjÅKjwKj³KjçKj~KjþKj«Kj&Kj¡Kj KjC KjY#Kjß#Kjâ#Kj¡$Kj¤$Kuj²}”(jªKjÛKj5 Kj8 Kj„ Kj‡ Kj+ Kj KjIKjˆKjÀKuj7}”(j/Kj€Kj¯KjõKuj¯}”(j§KjÙKjtKjKj¢ Kj» KujÈ}”(jÀKjgKjKuj_ }”(jW KjöKuj}”j Ksj´}”(j¬KjšKjtKj›KjÂKjéKjKj7Kj^Kj…Kj¬KjÓKjóKj,KjLKj8&KjÎ&Kujk}”(jcKjŠKj±KjØKjKj8Kj_Kj†Kj˜Kj¸KjßKjÿKj&KjFKjmKjKj¦Kj¿KjæKjKj&KjMKjKj:KjZKjzKj¡KjºKjt Kj› Kj Kjé Kj!Kj0!KjW!Kjw!Kjž!KjÅ!Kj×!Kj÷!Kj"Kj)"KjP"Kjr"Kj„"Kj«"KjÒ"Kjò"Kj#Kj•#KjV$Kj%Kj?%Kj_%Kj%Kuj}”(jÿKj£)KujÛ}”(jÓKjlKjçKjbKjÝKj+#Kj§#Kj}$Kuuh!}”(h'}”hKshã}”hÑKsj }”hôKsj0}”j!KsjP}”jAKsjp}”jaKsj‰}”jzKsj¾}”j¯Ksj×}”jÈKsj }”jýKsj%}”jKsj>}”j/KsjW}”jHKsjw}”jhKsjö}”jÝKsjv}”jgKsj–}”j‡Ksj}”j KsjL}”j/Ksj„}”juKsj}”jŽKsj¶}”j§KsjÏ}”jÀKsjè}”jÙKsj}”jòKsj}”j Ksj=}”j$Ksj]}”jNKsjv}”jgKsj}”j€Ksj¯}”j KsjÏ}”jÀKsjï}”jàKsj}”jKsj/}”j KsjO}”j@Ksjo}”j`Ksj}”j€Ksjæ}”j×Ksjÿ}”jðKsjq}”jbKsjñ}”jâKsjj}”j[Ksjƒ}”jtKsjœ}”jKsjµ}”j¦KsjÎ}”j¿Ksjî}”jßKsjF }”j7 Ksjf }”jW Ksj }”jp Ksj˜ }”j‰ Ksj± }”j¢ KsjÊ }”j» Ksjã }”jÔ Ksjü }”jí Ksj }”j Ksjñ }”jâ Ksjt }”j Ksj• }”j† Ksj® }”jŸ KsjÎ }”j¿ Ksjñ }”jß Ksj }”j Ksj8 }”j) KsjT }”jB Ksjm }”j^ Ksjé }”jÚ Ksj }”jú KsjG }”j. KsjÊ }”j» Ksjã }”jÔ Ksjÿ }”jí Ksj}”jKsj¤}”j‹KsjÄ}”jµKsjä}”jÕKsjý}”jîKsjg}”jXKsj}”j{Ksj°}”j¡KsjÓ}”jÄKsjù}”jêKsj+}”jKsj}”jøKsjj}”jXKsj}”j~Ksj°}”j¡KsjÓ}”jÄKsj}”jçKsj-}”jKsjP}”jAKsjp}”jaKsj}”jKsj }”jýKsj,}”jKsjP}”j6KsjÌ}”j¯Ksj}”jõKsj[}”jLKsj~}”jeKsjþ}”jïKsj}”jKsjH}”j/Ksjr}”jYKsj’}”jƒKsj²}”j£Ksj8}”jKsjb}”jIKsjŒ}”jsKsj¬}”jKsjÅ}”j¶KsjÞ}”jÏKsj÷}”jèKsj}”jKsj)}”jKsjB}”j3KsjÂ}”j³Ksjå}”jÌKsj}”jöKsj(}”jKsjR}”j9Ksjr}”jcKsj™}”jŠKsjÀ}”j±Ksjç}”jØKsj}”jÿKsj'}”jKsjG}”j8Ksjn}”j_Ksj§}”j˜KsjÇ}”j¸Ksjî}”jßKsj}”jÿKsj5}”j&KsjU}”jFKsj|}”jmKsjœ}”jKsjµ}”j¦KsjÎ}”j¿Ksjõ}”jæKsj}”jKsj5}”j&Ksj\}”jMKsjª}”j›KsjÑ}”jÂKsjø}”jéKsj}”jKsjF}”j7Ksjm}”j^Ksj”}”j…Ksj»}”j¬Ksj}”jóKsj)}”jKsjI}”j:Ksji}”jZKsj‰}”jzKsjé}”jÓKsj–}”jlKsj}”jçKsjŒ}”jbKsjó}”jÝKsjƒ }”jt Ksjª }”j› KsjÑ }”j Ksjø }”jé Ksj!}”j!Ksj?!}”j0!Ksjf!}”jW!Ksj†!}”jw!Ksj­!}”jž!Ksjæ!}”j×!Ksj8"}”j)"Ksj`"}”jP"Ksj“"}”j„"Ksjº"}”j«"Ksjá"}”jÒ"Ksj#}”jò"Ksj!#}”j#KsjD#}”j+#KsjÑ#}”j§#Ksje$}”jV$Ksj“$}”j}$Ksj'%}”j%KsjN%}”j?%Ksjn%}”j_%KsjŽ%}”j%Ksj²)}”j£)Ksuh*}”(h.}”hKshê}”hÑKsj}”hôKsj7}”j!KsjW}”jAKsjw}”jaKsj}”jzKsjÅ}”j¯KsjÞ}”jÈKsj}”jýKsj,}”jKsjE}”j/Ksj^}”jHKsj~}”jhKsjý}”jÝKsj}}”jgKsj}”j‡Ksj"}”j KsjS}”j/Ksj‹}”juKsj¤}”jŽKsj½}”j§KsjÖ}”jÀKsjï}”jÙKsj}”jòKsj!}”j KsjD}”j$Ksjd}”jNKsj}}”jgKsj–}”j€Ksj¶}”j KsjÖ}”jÀKsjö}”jàKsj}”jKsj6}”j KsjV}”j@Ksjv}”j`Ksj¤}”j€Ksjí}”j×Ksj}”jðKsjx}”jbKsjø}”jâKsjq}”j[KsjŠ}”jtKsj£}”jKsj¼}”j¦KsjÕ}”j¿Ksjõ}”jßKsjM }”j7 Ksjm }”jW Ksj† }”jp KsjŸ }”j‰ Ksj¸ }”j¢ KsjÑ }”j» Ksjê }”jÔ Ksj }”jí Ksj }”j Ksjø }”jâ Ksjœ }”j† Ksjµ }”jŸ KsjÕ }”j¿ Ksjø }”jß Ksj }”j Ksj? }”j) Ksj[ }”jB Ksjt }”j^ Ksjð }”jÚ Ksj }”jú KsjN }”j. KsjÑ }”j» Ksjê }”jÔ Ksj}”jí Ksj&}”jKsjB}”j3Ksj«}”j‹KsjË}”jµKsjë}”jÕKsj}”jîKsjn}”jXKsj”}”j{Ksj·}”j¡KsjÚ}”jÄKsj}”jêKsj}”j Ksj2}”jKsj}”jøKsj'}”jKsjq}”jXKsj”}”j~Ksj·}”j¡KsjÚ}”jÄKsj}”jçKsj4}”jKsjW}”jAKsjw}”jaKsj—}”jKsj}”jýKsj3}”jKsjX}”j6KsjÓ}”j¯Ksj}”jõKsjb}”jLKsj…}”jeKsj}”jïKsj%}”jKsjO}”j/Ksjy}”jYKsj™}”jƒKsj¹}”j£Ksj?}”jKsji}”jIKsj“}”jsKsj³}”jKsjÌ}”j¶Ksjå}”jÏKsjþ}”jèKsj}”jKsj0}”jKsjI}”j3KsjÉ}”j³Ksjì}”jÌKsj }”jöKsj/}”jKsjY}”j9Ksj€}”jcKsj§}”jŠKsjÎ}”j±Ksjõ}”jØKsj}”jÿKsj.}”jKsjU}”j8Ksj|}”j_Ksj•}”j†Ksj®}”j˜KsjÕ}”j¸Ksjõ}”jßKsj}”jÿKsjC}”j&Ksjc}”jFKsjƒ}”jmKsj£}”jKsj¼}”j¦KsjÜ}”j¿Ksj}”jæKsj}”jKsjC}”j&Ksjj}”jMKsjƒ}”jtKsj±}”j›KsjØ}”jÂKsjÿ}”jéKsj&}”jKsjM}”j7Ksjt}”j^Ksj›}”j…KsjÂ}”j¬Ksjâ}”jÓKsj }”jóKsj0}”jKsjP}”j:Ksjp}”jZKsj—}”jzKsj°}”j¡Ksjð}”jÓKsj;}”j,Ksj[}”jLKsj}”jlKsj}”jçKsj“}”jbKsjú}”jÝKsj‘ }”jt Ksj¸ }”j› Ksjß }”j Ksj!}”jé Ksj&!}”j!KsjM!}”j0!Ksjt!}”jW!Ksj”!}”jw!Ksj»!}”jž!KsjÔ!}”jÅ!Ksjí!}”j×!Ksj "}”j÷!Ksj"}”j"KsjF"}”j)"Ksjh"}”jP"Ksj"}”jr"Ksj¡"}”(j„"Kjò"KujÈ"}”j«"Ksjè"}”jÒ"Ksj(#}”j#KsjK#}”•j+#Ksj¤#}”j•#KsjØ#}”j§#Ksjs$}”jV$Ksjš$}”j}$Ksj5%}”j%KsjU%}”j?%Ksju%}”j_%Ksj•%}”j%Ksj¹)}”j£)Ksuh1}”h5}”hKsshT}”(h[}”h>Kshm}”hAKsh}”hDKsh‘}”hGKsh£}”hJKshµ}”hMKshÇ}”hPKsuh^}”(hb}”h>Ksht}”hAKsh†}”hDKsh˜}”hGKshª}”hJKsh¼}”hMKshÎ}”hPKsuh8}”(h>}”hKshA}”hKshD}”hKshG}”hKshJ}”hKshM}”hKshP}”hKsuhí}”(hñ}”(hÑKj!Kjí KjêKj/KjYKjKjsKj9Kuj}”(hôKjHKjgKj Kj¿KjøKjXKj~Kj¡KjÄKjçKjAKuj}”(hôKj Kjß KjXKj¡KjçKuj^}”(jAKjàKj Kj7 KjKj¡KjÌKuj—}”(jzKjÈKjbKujK}”(j$KjKuj}”(j€KjŸ Kuj½}”(j KjïKjƒKjIKujÝ}”(jÀKjKuj}”(jKjµKuj]}”j@Ksj}}”j`KsjÜ }”(j¿ KjaKuj& }”(j KjýKuj0}”(jKj{Kj¡KjÄKuj²}”j‹Ksjx}”jXKsj›}”j{Ksjá}”(jÄKj~Kujç}”jÄKsj{}”jXKsjä}”jÄKsj;}”(jKjŸ%Kuj>}”jKsuhÿ}”j}”(hôKj$Kj‹KjçKj/KjYKjKjIKjsKjÌKjKj9Kj±%Kj§&Kj@)Kj•)KjÃ)KjÑ)Kjß)Kjí)Kj4*Kusjš}”(jž}”jzKsjì}”jÈKsj†}”jbKsjU }”j. KsjI}”j3Ksj }”jîKsj_}”j6KsjP}”j3KsjR#}”j+#KsjÇ%}”j¿%Ksjã%}”jÑ%Ksj&}”j &KsjÇ&}”jµ&Ksj$'}”j'KsjG'}”j5'KsjÎ'}”j¼'Ksj(}”jõ'Ksj*(}”j(KsjM(}”j;(Ksjp(}”j^(Ksj©(}”j—(KsjÌ(}”jº(Ksjï(}”jÝ(Ksj)}”j )Ksj6)}”j.)Ksj`)}”jN)Ksjy)}”jq)Ksj‹)}”jƒ)Ksj *}”jû)Ksuj¡}”j¥}”(jzKjÈKj…KjKjKjbKj Kj‰ Kjj Kj¬KjšKjÎKj^KjtKj›KjÂKjéKjKj7Kj^Kj…Kj¬KjÓKjóKjÓKj,KjLKjlKjçKjbKjÝKj+#Kj§#Kj}$Kjê%Kj8&Kjq&Kjx&KjÎ&KjÕ&Kjq'Kj£'KjÜ'Kj~(Kj*Kusj¨}”(j¬}”jzKsjú}”jÈKsj©}”j…Ksj(}”jKsj1}”jKsjž}”jbKsj#}”j KsjŸ }”j‰ Ksj€ }”jj Ksjä}”jÎKsj{}”j^Ksjn#}”j+#Ksj÷#}”j§#Ksj¹$}”j}$Ksj&}”jê%KsjŽ&}”jq&Ksj¤&}”jx&Ksj'}”jÕ&Ksj‡'}”jq'Ksj¹'}”j£'Ksjò'}”jÜ'Ksj”(}”j~(Ksj1*}”j*Ksuj—}”(j›}”j…Ksj}”jÝKsj }”jðKsjÿ}”jâKsj{ }”j^ Ksj\ }”j. Ksj}”jîKsjž}”jKsjf}”j6KsjŒ}”jeKsjÀ}”j£Ksjm}”j^Ksj‘}”jtKsjù%}”jê%Ksj#&}”j &KsjN&}”j8&Ksjj&}”jX&Ksjë&}”jÎ&Ksj'}”jÕ&Ksj+'}”j'KsjN'}”j5'Ksjj'}”jX'Ksjœ'}”jŠ'KsjÕ'}”j¼'Ksj(}”jõ'Ksj1(}”j(KsjT(}”j;(Ksjw(}”j^(Ksj°(}”j—(KsjÓ(}”jº(Ksjö(}”jÝ(Ksj)}”j)Ksj$)}”j )Ksj=)}”j.)Ksjg)}”jN)Ksj€)}”jq)Ksj’)}”jƒ)Ksj*}”jû)Ksuj}”(j…}”jhKsjê%}”jÑ%Ksjq&}”jX&KsjÎ&}”jµ&Ksujˆ}”(jŒ}”jhKsj }”jÝKsj}”jðKsj}”jbKsj}”jbKsj}”jâKsjü}”jßKsj‚ }”j^ Ksj }”jú Ksjc }”j. KsjP}”j3Ksj}”jîKsj.}”jKsj¥}”jKsjm}”j6Ksj“}”jeKsjÇ}”j£KsjW}”j3Ksjþ}”jÓKsj«}”jlKsj&}”jçKsj¡}”jbKsj }”jÝKsj }”jÝKsjY#}”j+#Ksjß#}”j§#Ksjâ#}”j§#Ksj¡$}”j}$Ksj¤$}”j}$Ksuj·}”(j»}”j¬Ksj:}”j+Ksj¹}”jªKsjê}”jÛKsjC}”j4Ksj­}”jKsjÊ}”(jKj¡$Kuj5}”j&Ksj }”jÿKsjG }”(j5 Kj„ Kuj` }”(j8 Kj‡ Kuj: }”j+ Ksjm }”j Ksj± }”j¢ Ksj+ }”j Ksj’ }”jƒ Ksjb}”jSKsj2}”j#KsjX}”jIKsj—}”jˆKsjÏ}”jÀKsj@}”j1KsjÔ}”jÅKsj†}”jwKsjÂ}”j³Ksjö}”jçKsj}”j~Ksj}”jþKsjÈ}”(j«Kj&Kj¡Kuj+ }”j KsjR }”jC Ksj}#}”jY#Ksj$}”jß#Ksj4$}”jâ#Ksjö$}”j¤$Ksuj¾}”jÂ}”(j¬Kj+Kj4Kj&KjÿKj¢ Kjƒ Kj#KjÅKjwKj³KjçKj~KusjÅ}”(jÉ}”(j¬KjÿKj¢ KjÅKjçKuj[}”j>Ksjf}”j^Ksj¬}”(jKj/Kuj·}”(j¯Kjƒ KjˆKjÀKjwKj¾KjKjß#KujÂ}”(jºKjÞKj$KuujÌ}”(jÐ}”j¬KsjV}”j+KsjQ}”j4Ksj´}”jKsjÑ}”jKsjJ}”j&Ksj# }”jÿKsjÆ }”j¢ Ksj§ }”jƒ Ksjp}”jSKsjG}”j#Ksjf}”jIKsj¥}”jˆKsjÝ}”jÀKsjN}”j1Ksjé}”jÅKsj›}”jwKsjÞ}”j³Ksj }”jçKsj¢}”j~Ksj"}”jþKsjÖ}”(j«Kj&Kj¡Kuj9 }”j Ksj` }”jC Ksj„#}”jY#Ksj$}”jß#Ksj;$}”jâ#KsjÖ$}”j¡$Ksj%}”j¤$KsujÓ}”(jÚ}”(j¬KjÛKjÿKj„ Kj‡ Kj¢ Kjƒ KjSKjÅKjwKjçKujQ }”(j5 Kj8 Kuujè}”jï}”(jÝKj. KjeKjÑ%Kj&&KjX&Kjµ&Kj'Kj5'KjX'KjŠ'Kj¼'Kj^(Kjû)Kusj}”(j}”jÝKsj}”jðKsj }”jâKsj‰ }”j^ Ksjj }”j. Ksjš}”jeKsjÎ}”j£Ksj^}”j3Ksjx&}”jX&KsjÕ&}”jµ&Ksjq'}”jX'Ksj£'}”jŠ'KsjÜ'}”j¼'Ksj~(}”j^(Ksj*}”jû)Ksuj=}”jA}”(j+Kj³KusjK}”jO}”(j+Kj³KusjY}”(j]}”j+KsjÊ}”jªKsj}”jÛKsjX}”j4Ksj»}”jKsjØ}”(jKj¡$KujQ}”j&Ksj4 }”jÿKsj× }”j¢ Ksj¸ }”jƒ Ksj}”jSKsjN}”j#Ksjt}”jIKsj³}”jˆKsjë}”jÀKsjU}”j1Ksjú}”jÅKsj¬}”jwKsjå}”j³Ksj}”jçKsj©}”j~Ksj)}”jþKsjÝ}”(j«Kj&Kj¡Kuj@ }”j Ksjg }”jC Ksj‹#}”jY#Ksj$}”jß#KsjB$}”jâ#Ksj %}”j¤$Ksuj`}”(jd}”(j+KjÛKjKj&Kjß KjSKj#KjIKj³Kj~Kj«Kj&Kj¡KujÑ}”(jªKjâ#Kuj’#}”jY#Ksuj }”(j¤}”j‡Ksj§}”j‡Ksj5 }”j& Ksj8 }”j& Ksj„ }”jx Ksj‡ }”jx Ksj+ }”j Ksj }”jâ Ksj9}”jKsj<}”jKsj?}”jKsuj¼}”jÃ}”jªKssjÔ}”(jØ}”jªKsj# }”j Ksjÿ }”jâ Ksují}”(jñ}”jÛKsjC}”(j&Kj#Kj~Kj KjC Kuji}”(jSKjIKujG}”j1KsjÏ}”(j«Kj&Kj¡KujÏ$}”(j¡$Kj¤$Kuuj:}”(j>}”j/Ksj^}”jEKsj}”j€Ksj¯}”j–Ksjº}”jÎKsj& }”j# Ksjx }”jÙ Ksj }”jÿ Ksj }”jX Ksj¾}”j¯KsjÞ}”jÅKsj}”jõKsj$}”j Ksj/}”jCKsujn}”(jr}”(jEKjÎKjÙ KjX KjÅKjCKujE}”j/KsjÎ}”j–Ksj–}”j€KsjÙ }”j# KsjX }”jÿ KsjÅ}”j¯KsjC}”j Ksj }”jõKsuj[}”(j_}”j4Ksj{ }”j Ksuj* }”j. }”(j& Kjm Kj Kj Kusj| }”(jm }”jx Ksj }”j Ksuj£ }”jª }”(j„ Kj‡ KusjH }”jL }”j: Kssj= }”jD }”j+ Kssj }”jƒ }”jm Kssjó }”j÷ }”jÚ Kssj}”(j }”jîKsj¬}”jKsjt}”j6KsjÎ%}”j¿%Ksj8&}”j&&Ksj2'}”j'KsjU'}”j5'Ksj(}”jõ'Ksj8(}”j(Ksj[(}”j;(Ksj·(}”j—(KsjÚ(}”jº(Ksjý(}”jÝ(Ksj+)}”j )Ksjn)}”jN)KsujB}”jF}”jKssji}”jm}”(jIKjˆKjÀKusj~}”(j…}”jIKsj½}”jˆKsjõ}”jÀKsjq }”jC Ksj%$}”(jß#Kj¤$KujS$}”(jâ#Kj¡$Kuuj}”j&}”jKssj·}”(j»}”j¬Ksj©}”jšKsjŠ}”jtKsj¸}”j›Ksjß}”jÂKsj}”jéKsj-}”jKsjT}”j7Ksj{}”j^Ksj¢}”j…KsjÉ}”j¬Ksjé}”jÓKsj}”jóKsj÷}”jÓKsjB}”j,Ksjb}”jLKsj¤}”jlKsj}”jçKsjš}”jbKsj }”jÝKsjG&}”j8&Ksjä&}”jÎ&KsujA}”jH}”(j6Kj &Kjõ'Kj(Kj;(Kj—(Kjº(KjÝ(Kj )KjN)Kusju}”(jy}”(jcKjž!Kuj }”(jŠKj±Kujî}”(jØKjFKujN}”j8Ksju}”j_KsjÎ}”(j¸Kj¿KjzKjºKj Kjé KjW!Kjw!Kj%Kuj}”jÿKsj<}”(j&Kj÷!Kujü}”(jæKj&Kujc}”jMKsjŠ }”jt Ksj± }”(j› Kj0!Kj)"Kujš"}”j„"KsjÁ"}”(j«"Kjò"Kujl$}”jV$Ksujƒ}”(j‡}”(jcKj_Kj¸KjßKjKj&KjMKjzKjºKj› Kjé Kj!Kj"Kj)"KjV$Kuj®}”jŠKsjÕ}”(j±KjÿKjt Kj KjP"Kujü}”(jØKjFKuj5}”jKsj\}”(j8Kj:Kujµ}”(j˜KjmKujã}”j¿Ksj7}”jKsjw}”(jZKj¡Kj?%Kj_%Kj%KujT!}”(j0!KjÒ"Kuj›!}”jw!KsjÂ!}”jž!Ksjô!}”j×!Ksj¨"}”j„"KsjÏ"}”(j«"KjB*Kuj<%}”j%KsujÞ}”jâ}”(jÓKjlKjçKjbKjÝKj§#Kj}$Kusj}”(j }”(jÓKjlKjçKjbKjÝKujg#}”j+#Ksjð#}”j§#Ksj²$}”j}$Ksuj~}”j…}”(jlKjçKjbKj+#Kj§#Kusjˆ}”j}”(jlKjçKjbKj§#Kusj¼)}”jÀ)}”j£)KssuŒ _Memory__osp”}”(h}”(h}”hKsj}”jBKsjÿ}”jKsuh'}”h}”h!Kssh.}”h}”h*Kssh5}”h}”h1Kssh[}”h>}”hTKsshb}”h>}”h^Kssh>}”h}”h8Ksshm}”hA}”hfKssht}”hA}”hpKsshA}”h}”hŒ"http://www.w3.org/ns/shacl#declare”…”R”Kssh}”hD}”hxKssh†}”hD}”h‚KsshD}”h}”hŒ"http://www.w3.org/ns/shacl#declare”…”R”Kssh‘}”hG}”hŠKssh˜}”hG}”h”KsshG}”h}”hŒ"http://www.w3.org/ns/shacl#declare”…”R”Kssh£}”hJ}”hœKsshª}”hJ}”h¦KsshJ}”h}”hŒ"http://www.w3.org/ns/shacl#declare”…”R”Ksshµ}”hM}”h®Kssh¼}”hM}”h¸KsshM}”h}”hŒ"http://www.w3.org/ns/shacl#declare”…”R”KsshÇ}”hP}”hÀKsshÎ}”hP}”hÊKsshP}”h}”hŒ"http://www.w3.org/ns/shacl#declare”…”R”KsshÙ}”(hÑ}”hÕKsj }”j¤KsjÀ}”jÄKsj@}”jDKsj&}”j?Ksjß }”jã Ksjí }”jñ Ksj#}”j<KsjX}”j\Ksj{}”jKsj¡}”j¥KsjÄ}”jÈKsjX}”j\Ksj}”j7KsjA}”jEKsjï}”jóKsj}”jKsj/}”j3KsjY}”j]Ksjƒ}”j‡KsjI}”jMKsjs}”jwKsj~}”j—Ksjc}”juKsj8}”jXKsj:}”jSKsj }”j. KsjC }”jU Ksjž!}”j°!KsjŸ%}”(j£%Kjª%KuuhÜ}”(hÑ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‡}”j‹Ksj }”j Ksjâ }”jæ Ksjß }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÚ }”jÞ Ksjí }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjS}”jeKsj{}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”j KsjI}”j[KsjX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj&}”j8Ksjw!}”j—!Ksj÷!}”j"Ksuhã}”hÑ}”hßKsshê}”hÑ}”hæKsshñ}”(hÑ}”híKsj!}”j:Ksjí }”j Ksjê}”jKsj/}”jRKsjY}”j|Ksj}”jBKsjs}”j–Ksj9}”j\Ksjÿ}”jKsj¡$}”jË$Ksj¤$}”jù$Ksj£)}”j§)Ksuhü}”(hô}”høKsj!}”j%KsjA}”jEKsjH}”jLKsjg}”jkKsj }”jKsj$}”j(Ksj€}”j„Ksjà}”jäKsj}”jKsj }”j$Ksj`}”jdKsj¿}”jÃKsj7 }”j; KsjŸ }”j£ Ksj¿ }”jà Ksj }”j Ksj}”jKsj‹}”jKsjµ}”j¹Ksjê}”jîKsjø}”jüKsj~}”j‚Ksj¡}”j¥KsjÄ}”jÈKsjç}”jëKsj}”jKsja}”jeKsjý}”jKsj}”j#KsjÌ}”jÐKsj}”jKsj9}”j=Ksuj}”(hô}”hÿKsjÝ}”jèKsjª}”j¼Ksj$}”j/Ksj+ }”j= Ksj. }”j9 Ksj‹}”j–Ksjç}”jòKsj}”jKsj6}”jAKsje}”jpKsj/}”j:KsjY}”jdKsj}”j*KsjI}”jTKsjs}”j~KsjÌ}”j×Ksj}”jKsj9}”jDKsjl}”(j~KjˆKujç}”(jùKjKujb}”(jtKj~Kuj+#}”j6#Ksj§#}”(j¹#KjÃ#Kuj±%}”jµ%KsjÑ%}”jÕ%Ksj &}”j&Ksj&&}”j*&KsjX&}”j\&Ksj§&}”j«&Ksjµ&}”j¹&Ksj'}”j'Ksj5'}”j9'KsjX'}”j\'KsjŠ'}”jŽ'Ksj¼'}”jÀ'Ksjõ'}”jù'Ksj(}”j(Ksj;(}”j?(Ksj^(}”jb(Ksj—(}”j›(Ksjº(}”j¾(KsjÝ(}”já(Ksj )}”j)Ksj@)}”jD)KsjN)}”jR)Ksj•)}”j™)KsjÃ)}”jÇ)KsjÑ)}”jÕ)Ksjß)}”jã)Ksjí)}”jñ)Ksjû)}”jÿ)Ksj4*}”j8*Ksuj }”hô}”j Kssj}”hô}”jKssj}”(hô}”jKsjH}”jaKsjg}”j€Ksj }”j%Ksj¿}”jØKsjø}”jKsjX}”jtKsj~}”j—Ksj¡}”jºKsjÄ}”jÝKsjç}”j KsjA}”jZKsjt }”j† Ksuj}”(hô}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj }”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjß }”jû KsjX}”jqKsj¡}”jºKsjç}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksuj0}”j!}”j,Kssj7}”j!}”j3KssjP}”jA}”jLKssjW}”jA}”jSKssj^}”(jA}”jZKsjà}”jùKsj }”j9Ksj7 }”jP Ksj}”j)Ksj¡}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÌ}”jïKsjæ}”jøKsj&}”j8Ksuji}”ja}”jeKssjp}”ja}”jlKssjw}”(ja}”jsKsjz}”jšKsuj‚}”(jz}”j~KsjÈ}”jÌKsjb}”jfKsuj‰}”jz}”j…Kssj}”jz}”jŒKssj—}”(jz}”j“KsjÈ}”jáKsjb}”j{Ksuj¥}”(jz}”j¡KsjÈ}”jïKsj…}”jžKsj}”jKsj}”j&Ksjb}”j“Ksj }”jKsj‰ }”j” Ksjj }”ju Ksj¬}”j¾Ksjš}”j¬KsjÎ}”jÙKsj^}”jpKsjt}”j”Ksj›}”j»KsjÂ}”jâKsjé}”j Ksj}”j0Ksj7}”jWKsj^}”j~Ksj…}”j¥Ksj¬}”jÌKsjÓ}”jìKsjó}”jKsjÓ}”jKsj,}”jEKsjL}”jeKsjl}”j®Ksjç}”j)Ksjb}”j¤KsjÝ}”j Ksj+#}”j\#Ksj§#}”jå#Ksj}$}”j§$Ksjê%}”jü%Ksj8&}”jQ&Ksjq&}”jƒ&Ksjx&}”j™&KsjÎ&}”jî&KsjÕ&}”j'Ksjq'}”j|'Ksj£'}”j®'KsjÜ'}”jç'Ksj~(}”j‰(Ksj*}”j&*Ksuj¬}”jz}”j¨Kssj·}”j¯}”j³Kssj¾}”j¯}”jºKssjÅ}”(j¯}”jÁKsjÈ}”jèKsuj×}”jÈ}”jÓKssjÞ}”jÈ}”jÚKssjú}”jÈ}”jöKssj}”(jý}”jKsj/}”j3Ksju}”jyKsjŽ}”j’Ksjò}”jöKsjN}”jRKsjp }”jt Ksj) }”j- Ksj» }”j¿ KsjÕ}”jÙKsjL}”jPKsj}”j¡Ksj¶}”jºKsjÏ}”jÓKsjè}”jìKsj}”jKsuj }”jý}”jKssj}”jý}”jKssj}”(j}”jKsj }”jKsj×}”jÛKsj[}”j_Ksj¦}”jªKsj‰ }”j KsjÔ }”jØ Ksjí }”jñ Ksj† }”jŠ KsjB }”jF KsjÔ }”jØ Ksj}”jKsj³}”j·Ksuj%}”j}”j!Kssj,}”j}”j(Kssj>}”j/}”j:KssjE}”j/}”jAKssjW}”jH}”jSKssj^}”jH}”jZKssjp}”(jh}”jlKsjÝ}”jáKsjð}”jôKsjâ}”jæKsjß}”jãKsj^ }”jb Ksjú }”jþ Ksj. }”j2 Ksj3}”j7Ksjî}”jòKsj}”jKsj}”j…Ksj6}”j:Ksje}”jiKsj£}”j§Ksj3}”j7Ksj› }”j­ Ksj0!}”jB!Ksj)"}”j;"Ksujw}”jh}”jsKssj~}”jh}”jzKssj”}”(j…}”jKsj}”jKsj}”jKsj }”jKsj‰ }”j Ksjj }”jn KsjÎ}”jÒKsj^}”jbKsjê%}”jî%Ksjq&}”j|&Ksjx&}”j’&KsjÕ&}”jö&Ksjq'}”ju'Ksj£'}”j§'KsjÜ'}”jà'Ksj~(}”j‚(Ksj*}”j*Ksuj›}”j…}”j—Kssj©}”j…}”j¥Kssj…}”jh}”jKssjŒ}”jh}”jˆKssj´}”(j¬}”j°Ksj+}”j/Ksj4}”j8Ksj}”j¢Ksj}”j¿Ksj&}”j*Ksjÿ}”j Ksj¢ }”j¦ Ksj }”j Ksjƒ }”j‡ KsjS}”jWKsj#}”j'Ksj1}”j5KsjÅ}”jÉKsjw}”j{Ksj³}”j·Ksjç}”jëKsj~}”j‚Ksjþ}”jKsj«}”j½Ksj&}”j8Ksj¡}”j³Ksj }”j KsjC }”jG KsjY#}”jr#Ksjß#}”jû#Ksjâ#}”j)$Ksj¡$}”j½$Ksj¤$}”jë$Ksuj»}”j¬}”j·KssjÂ}”(j¬}”j¾Ksj+}”jDKsj4}”jFKsj&}”j8Ksjÿ}”j Ksj¢ }”j´ Ksjƒ }”j• Ksj#}”j5KsjÅ}”j×Ksjw}”j‰Ksj³}”jÌKsjç}”jùKsj~}”jKsujÉ}”(j¬}”jÅKsjÿ}”j Ksj¢ }”j» KsjÅ}”jÞKsjç}”jKsjc}”jƒKsj_}”jKsj¸}”jØKsjß}”jøKsj}”jKsj&}”jFKsjM}”jmKsjz}”jšKsjº}”jÌKsjÓ}”jKsjl}”jµKsjç}”j0Ksjb}”j«KsjÝ}”j Ksj› }”j» Ksjé }”j !Ksj!}”j)!Ksj"}”j""Ksj)"}”jI"KsjV$}”jv$KsujÐ}”j¬}”jÌKssjÚ}”(j¬}”jÓKsjÛ}”jôKsjÿ}”j& Ksj„ }”(j™ Kj£ Kuj‡ }”(j¼ KjÆ Kuj¢ }”jÉ Ksjƒ }”jª KsjS}”jsKsjÅ}”jìKsjw}”jžKsjç}”jKsjâ#}”jL$Ksj¡$}”jà$Ksujö}”jÝ}”jòKssjý}”jÝ}”jùKssj}”jÝ}”jKssj }”jÝ}”jKssj(}”j}”j$Kssj}”jÝ}”jKssj:}”j+}”j6KssjA}”(j+}”j=Ksj³}”jÅKsujO}”(j+}”jKKsj³}”jÓKsujV}”j+}”jRKssj]}”(j+}”jYKsj˜}”jªKsujd}”(j+}”j`KsjÛ}”jKsj}”jÛKsj&}”jTKsjß }”j KsjS}”j„Ksj#}”jQKsjI}”jwKsj³}”jèKsj~}”j¬Ksj«}”jàKsj&}”j[Ksj¡}”jÖKsujv}”jg}”jrKssj}}”jg}”jyKssj–}”j‡}”j’Kssj}”j‡}”j™Kssj¤}”j‡}”j Kssj§}”j‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj²}”(jª}”j®KsjÛ}”jßKsj5 }”j< Ksj8 }”jU Ksj„ }”j‹ Ksj‡ }”j® Ksj+ }”j/ Ksj }”jb KsjI}”jMKsjˆ}”jŒKsjÀ}”jÄKsj¸}”jÊKsj¿}”jÑKsjz}”jŒKsjº}”jÅKsj }”jÔ Ksjé }”jû KsjW!}”ji!Ksjw!}”j‰!Ksj%}”j*%Ksuj¹}”jª}”jµKssjÊ}”jª}”jÆKssjÑ}”(jª}”jÍKsjâ#}”jE$KsujØ}”jª}”jÔKssjê}”jÛ}”jæKssjñ}”jÛ}”jíKssj}”jÛ}”jþKssj}”j }”jKssj"}”j }”jKssj7}”(j/}”j3Ksj€}”j„Ksj¯}”j³Ksjõ}”jùKsj}”j3Ksuj[}”j>}”jWKssj>}”j/}”j:Kssjf}”j^}”jbKssj^}”jE}”jjKssjr}”(jE}”jnKsjÎ}”jÊKsj& }”j* Ksjm }”jq KsjÙ }”jÕ Ksj }”j Ksj }”j KsjX }”jT KsjÚ }”jó KsjÅ}”jîKsjC}”j?KsujE}”j/}”jAKssjL}”j/}”jHKssjS}”j/}”jOKssj„}”ju}”j€Kssj‹}”ju}”j‡Kssj}”jŽ}”j™Kssj¤}”jŽ}”j Kssj¯}”(j§}”j«KsjÙ}”jÝKsjt}”jxKsj}”j‘Ksj¢ }”j¦ Ksj» }”j¿ Ksuj¶}”j§}”j²Kssj½}”j§}”j¹KssjÈ}”(jÀ}”jÄKsjg}”jkKsj}”j!Ksj}”j1KsujÏ}”jÀ}”jËKssjÖ}”jÀ}”jÒKssjè}”jÙ}”jäKssjï}”jÙ}”jëKssj}”jò}”jýKssj}”jò}”jKssj}”j }”jKssj!}”j }”jKssj=}”j$}”j9KssjD}”j$}”j@KssjK}”(j$}”jGKsj}”j2Ksuj]}”jN}”jYKssjd}”jN}”j`Kssjv}”jg}”jrKssj}}”jg}”jyKssj}”j€}”j‹Kssj–}”j€}”j’Kssj}”(j€}”j™KsjŸ }”j¸ Ksjž!}”j¾!Ksuj¯}”j }”j«Kssj¶}”j }”j²Kssj½}”(j }”j¹Ksjï}”jKsjƒ}”jœKsjI}”jlKsj„"}”j–"KsujÏ}”jÀ}”jËKssjÖ}”jÀ}”jÒKssjÝ}”(jÀ}”jÙKsj}”j(Ksujï}”jà}”jëKssjö}”jà}”jòKssj}”j}”j Kssj}”j}”jKssj}”(j}”jKsjµ}”jÎKsuj/}”j }”j+Kssj6}”j }”j2KssjO}”j@}”jKKssjV}”j@}”jRKssj]}”(j@}”jYKsj„"}”j¤"Ksj«"}”j½"Ksjò"}”j#Ksujo}”j`}”jkKssjv}”j`}”jrKssj}}”j`}”jyKssj¬}”(j}”j¨Ksj/}”j3Ksuj}”j€}”j‹Kssj·}”(j¯}”j³Ksjƒ }”jœ Ksjˆ}”jšKsjÀ}”jÒKsjw}”jKsj¾}”j×Ksj}”jKsj±}”jÑKsjÿ}”jKsjt }”j” Ksj }”jâ KsjP"}”jk"Ksj+#}”jc#Ksjß#}”j $KsujÂ}”(jº}”j¾KsjÞ}”jâKsj$}”j(Ksuj¯}”j–}”jÆKssjÎ}”j–}”jÊKssjº}”jÎ}”jÆKssj–}”j€}”j’Kssj}”j€}”j™Kssj¤}”j€}”j Kssjæ}”j×}”jâKssjí}”j×}”jéKssjÿ}”jð}”jûKssj}”jð}”jKssj }”jð}”j Kssj}”jð}”jKssj1}”j}”j-Kssj}”jð}”jKssjC}”j4}”j?KssjQ}”j4}”jMKssjX}”(j4}”jTKsj}”j,Ksuj_}”j4}”j[Kssjq}”jb}”jmKssjx}”jb}”jtKssj†}”jb}”j‚Kssj­}”j}”j©Kssj´}”j}”j°Kssj»}”j}”j·Kssj}”jb}”j‰KssjÊ}”(j}”jÆKsj¡$}”jÄ$KsujÑ}”j}”jÍKssjØ}”(j}”jÔKsj¡$}”jÙ$Ksuj}”jb}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssjž}”jb}”jšKssjñ}”jâ}”jíKssjø}”jâ}”jôKssjÿ}”jâ}”jûKssj}”jâ}”jKssj#}”j }”jKssj }”jâ}”j Kssj5}”j&}”j1KssjJ}”j&}”jFKssjQ}”(j&}”jMKsj:}”jLKsujj}”j[}”jfKssjq}”j[}”jmKssjƒ}”jt}”jKssjŠ}”jt}”j†Kssjœ}”j}”j˜Kssj£}”j}”jŸKssjµ}”j¦}”j±Kssj¼}”j¦}”j¸KssjÎ}”j¿}”jÊKssjÕ}”j¿}”jÑKssjî}”jß}”jêKssjõ}”jß}”jñKssjü}”jß}”jøKssj }”jÿ}”j Kssj# }”jÿ}”j Kssj4 }”jÿ}”j0 KssjF }”j7 }”jB KssjM }”j7 }”jI Kssj_ }”(jW }”j[ Ksjö}”júKsujf }”jW }”jb Kssjm }”jW }”ji Kssj }”jp }”j{ Kssj† }”jp }”j‚ Kssj˜ }”j‰ }”j” KssjŸ }”j‰ }”j› Kssj± }”j¢ }”j­ Kssj¸ }”j¢ }”j´ KssjÊ }”j» }”jÆ KssjÑ }”j» }”jÍ Kssjã }”jÔ }”jß Kssjê }”jÔ }”jæ Kssjü }”jí }”jø Kssj }”jí }”jÿ Kssj }”j }”j Kssj }”j }”j KssjG }”(j5 }”jC Ksj„ }”j’ KsujQ }”(j5 }”jJ Ksj8 }”jc Ksjß#}”j$Ksj¤$}”j%Ksuj5 }”j& }”j1 Kssj` }”(j8 }”j\ Ksj‡ }”jµ Ksj: }”jH Ksjm }”j Ksuj8 }”j& }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjm }”jx }”j| Kssj„ }”jx }”j€ Kssj‡ }”jx }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj& }”j# }”jÑ KssjÙ }”j# }”jÕ Kssjx }”jÙ }”jÑ Kssj# }”j }”j Kssjñ }”jâ }”jí Kssjø }”jâ }”jô Kssj }”j }”j# Kssj: }”j+ }”j6 Kssj+ }”j }”j' Kssj }”jÿ }”jP KssjX }”jÿ }”jT Kssj }”jX }”jP Kssjÿ }”jâ }”jû Kssjm }”j }”ji Kssjt }”j }”jp Kssj{ }”j }”jw Kssj }”jâ }”j Kssj• }”j† }”j‘ Kssjœ }”j† }”j˜ Kssj® }”jŸ }”jª Kssjµ }”jŸ }”j± KssjÎ }”j¿ }”jÊ KssjÕ }”j¿ }”jÑ KssjÜ }”(j¿ }”jØ Ksja}”jzKsj¿}”jßKsujñ }”jß }”jí Kssjø }”jß }”jô Kssj }”j }”j Kssj }”j }”j Kssj& }”(j }”j" Ksjý}”jKsj%}”j8%Ksuj8 }”j) }”j4 Kssj? }”j) }”j; KssjT }”jB }”jM Kssj[ }”jB }”jW Kssjm }”j^ }”ji Kssjt }”j^ }”jp Kssj{ }”j^ }”jw Kssj‚ }”j^ }”j~ KssjŸ }”j‰ }”j› Kssj‰ }”j^ }”j… Kssj± }”j¢ }”j­ KssjÆ }”j¢ }”j Kssj× }”j¢ }”jÓ Kssjé }”jÚ }”jå Kssjð }”jÚ }”jì Kssj }”jú }”j Kssj }”jú }”j Kssj }”jú }”j Kssj+ }”j }”j' KssjG }”j. }”jC KssjN }”j. }”jJ KssjU }”j. }”jQ Kssj\ }”j. }”jX Kssjc }”j. }”j_ Kssj€ }”jj }”j| Kssjj }”j. }”jf Kssj’ }”jƒ }”jŽ Kssj§ }”jƒ }”j£ Kssj¸ }”jƒ }”j´ KssjÊ }”j» }”jÆ KssjÑ }”j» }”jÍ Kssjã }”jÔ }”jß Kssjê }”jÔ }”jæ Kssjÿ }”jí }”jû Kssj}”jí }”jKssj}”j}”jKssj&}”j}”j"Kssj0}”(j}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj{}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj¡}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÄ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsujB}”j3}”j>KssjI}”j3}”jEKssjP}”j3}”jLKssjb}”jS}”j^Kssjp}”jS}”jlKssj}”(jS}”j}Ksjw!}”j!Ksuj¤}”j‹}”j Kssj«}”j‹}”j§Kssj²}”(j‹}”j®KsjŠ}”jœKsj±}”jÃKsujÄ}”jµ}”jÀKssjË}”jµ}”jÇKssjä}”jÕ}”jàKssjë}”jÕ}”jçKssjý}”jî}”jùKssj}”jî}”jKssj }”jî}”jKssj}”jî}”jKssj}”jî}”jKssj }”jî}”jKssj2}”j#}”j.KssjG}”j#}”jCKssjN}”(j#}”jJKsjÅ!}”jÐ!Ksujg}”jX}”jcKssjn}”jX}”jjKssjx}”jX}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Kssj}”j{}”j‰Kssj”}”j{}”jKssj›}”j{}”j—Kssj°}”j¡}”j¬Kssj·}”j¡}”j³KssjÓ}”jÄ}”jÏKssjÚ}”jÄ}”jÖKssjá}”(jÄ}”jÝKsj~}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj0!}”jP!KsjÒ"}”jë"Ksujç}”jÄ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Kssjù}”jê}”jõKssj}”jê}”jüKssj}”j }”jKssj}”j }”jKssj+}”j}”j'Kssj2}”j}”j.Kssj9}”j}”j5Kssj<}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj?}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjX}”jI}”jTKssjf}”jI}”jbKssjm}”(jI}”jiKsjˆ}”j¨KsjÀ}”jàKsujt}”jI}”jpKssj…}”jI}”j~Kssj—}”jˆ}”j“Kssj¥}”jˆ}”j¡Kssj³}”jˆ}”j¯Kssj½}”jˆ}”j¶KssjÏ}”jÀ}”jËKssjÝ}”jÀ}”jÙKssjë}”jÀ}”jçKssjõ}”jÀ}”jîKssj}”jø}”jKssj}”jø}”j Kssj'}”j}”j#Kssj.}”j}”j*Kssj@}”j1}”j<KssjG}”j1}”jCKssjN}”j1}”jJKssjU}”j1}”jQKssjj}”jX}”jfKssjq}”jX}”jmKssj{}”(jX}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj_}”jqKsuj}”j~}”j‰Kssj”}”j~}”jKssj°}”j¡}”j¬Kssj·}”j¡}”j³KssjÓ}”jÄ}”jÏKssjÚ}”jÄ}”jÖKssjä}”jÄ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Kssj}”jç}”jüKssj}”jç}”jKssj-}”j}”j)Kssj4}”j}”j0KssjP}”jA}”jLKssjW}”jA}”jSKssjp}”ja}”jlKssjw}”ja}”jsKssj}”j}”jŒKssj—}”j}”j“Kssjž}”j}”jšKssj¥}”j}”j¡Kssj´}”(j¬}”j°Ksjš}”jžKsjt}”jxKsj›}”jŸKsjÂ}”jÆKsjé}”jíKsj}”jKsj7}”j;Ksj^}”jbKsj…}”j‰Ksj¬}”j°KsjÓ}”j×Ksjó}”j÷Ksj,}”j0KsjL}”jPKsj8&}”j<&KsjÎ&}”jÙ&Ksuj»}”j¬}”j·Kssj¬}”j}”j¨KssjÔ}”jÅ}”jÐKssjé}”jÅ}”jåKssjú}”(jÅ}”jöKsj"}”j"Ksuj }”jý}”jKssj}”jý}”jKssj,}”j}”j(Kssj3}”j}”j/KssjP}”j6}”jKKssjX}”j6}”jSKssj_}”j6}”j[Kssjf}”j6}”jbKssjm}”j6}”jiKssjt}”j6}”jpKssj†}”jw}”j‚Kssj›}”jw}”j—Kssj¬}”jw}”j¨Kssj¾}”j¯}”jºKssjÞ}”jÅ}”jêKssjÅ}”j¯}”jÁKssjÌ}”j¯}”jÈKssjÓ}”j¯}”jÏKssj}”jõ}”jKssj$}”j }”j;KssjC}”j }”j?Kssj/}”jC}”j;Kssj }”jõ}”jKssj}”jõ}”jKssj}”jõ}”jKssj[}”jL}”jWKssjb}”jL}”j^Kssj~}”je}”jzKssj…}”je}”jKssjŒ}”je}”jˆKssj“}”je}”jKssj©}”jš}”j¥Kssjš}”je}”j–KssjÂ}”j³}”j¾KssjÞ}”j³}”jÚKssjå}”j³}”jáKssjþ}”jï}”júKssj}”jï}”jKssj}”j}”jKssj%}”j}”j!KssjH}”j/}”jDKssjO}”j/}”jKKssjr}”jY}”jnKssjy}”jY}”juKssj’}”jƒ}”jŽKssj™}”jƒ}”j•Kssj²}”j£}”j®Kssj¹}”j£}”jµKssjÀ}”j£}”j¼KssjÇ}”j£}”jÃKssjä}”jÎ}”jàKssjÎ}”j£}”jÊKssjö}”jç}”jòKssj }”jç}”jKssj}”(jç}”jKsj#}”j$#Ksuj8}”j}”j4Kssj?}”j}”j;Kssjb}”jI}”j^Kssji}”jI}”jeKssjŒ}”js}”jˆKssj“}”js}”jKssj¬}”j}”j¨Kssj³}”j}”j¯KssjÅ}”j¶}”jÁKssjÌ}”j¶}”jÈKssjÞ}”jÏ}”jÚKssjå}”jÏ}”jáKssj÷}”jè}”jóKssjþ}”jè}”júKssj}”j}”j Kssj}”j}”jKssj)}”j}”j%Kssj0}”j}”j,KssjB}”j3}”j>KssjI}”j3}”jEKssjP}”j3}”jLKssjW}”j3}”jSKssjm}”j^}”jiKssj{}”j^}”jwKssj^}”j3}”jZKssj}”j~}”j‰Kssj¢}”j~}”jžKssj©}”(j~}”j¥Ksj•#}”j #KsujÂ}”j³}”j¾KssjÉ}”j³}”jÅKssjå}”jÌ}”jáKssjì}”jÌ}”jèKssj}”jö}”jKssj }”jö}”jKssj(}”j}”j$Kssj/}”j}”j+KssjR}”j9}”jNKssjY}”j9}”jUKssjk}”(jc}”jgKsjŠ}”jŽKsj±}”jµKsjØ}”jÜKsj}”jKsj8}”j<Ksj_}”jcKsj†}”jŠKsj˜}”(jœKj±Kuj¸}”j¼Ksjß}”jãKsjÿ}”jKsj&}”j*KsjF}”jJKsjm}”(jqKj†Kuj}”j‘Ksj¦}”jªKsj¿}”jÃKsjæ}”jêKsj}”j Ksj&}”j*KsjM}”jQKsj}”jKsj:}”j>KsjZ}”j^Ksjz}”j~Ksj¡}”j¥Ksjº}”j¾Ksjt }”jx Ksj› }”jŸ Ksj }”jÆ Ksjé }”jí Ksj!}”j!Ksj0!}”j4!KsjW!}”j[!Ksjw!}”j{!Ksjž!}”j¢!KsjÅ!}”jÉ!Ksj×!}”jÛ!Ksj÷!}”jû!Ksj"}”j"Ksj)"}”j-"KsjP"}”jT"Ksjr"}”jv"Ksj„"}”jˆ"Ksj«"}”j¯"KsjÒ"}”jÖ"Ksjò"}”jö"Ksj#}”j#Ksj•#}”j™#KsjV$}”jZ$Ksj%}”j%Ksj?%}”jC%Ksj_%}”jc%Ksj%}”jƒ%Ksujr}”jc}”jnKssj€}”jc}”j|Kssj™}”jŠ}”j•Kssj§}”jŠ}”j£Kssj®}”jŠ}”jªKssjÀ}”j±}”j¼KssjÎ}”j±}”jÊKssjç}”jØ}”jãKssjî}”(jØ}”jêKsjF}”jXKsujõ}”jØ}”jñKssjü}”(jØ}”jøKsjF}”jfKsuj}”jÿ}”j Kssj}”jÿ}”jKssj'}”j}”j#Kssj.}”j}”j*KssjG}”j8}”jCKssjN}”(j8}”jJKsj×!}”jð!KsujU}”j8}”jQKssjn}”j_}”jjKssj|}”j_}”jxKssj•}”j†}”j‘Kssj§}”j˜}”j£KssjÇ}”j¸}”jÃKssjÕ}”j¸}”jÑKssjî}”jß}”jêKssjõ}”jß}”jñKssj}”jÿ}”j Kssj}”jÿ}”jKssj5}”j&}”j1KssjC}”j&}”j?KssjU}”jF}”jQKssjc}”jF}”j_Kssj|}”jm}”jxKssjƒ}”jm}”jKssjœ}”j}”j˜Kssj£}”j}”jŸKssjµ}”j¦}”j±Kssj¼}”j¦}”j¸KssjÎ}”j¿}”jÊKssjÜ}”j¿}”jØKssjõ}”jæ}”jñKssj}”jæ}”jÿKssj}”j}”jKssj}”j}”jKssj5}”j&}”j1KssjC}”j&}”j?Kssj\}”jM}”jXKssjc}”jM}”j_Kssjj}”jM}”jfKssjƒ}”jt}”jKssjŠ}”jt}”j†Kssj‘}”jt}”jKssjª}”j›}”j¦Kssj±}”j›}”j­Kssj¸}”j›}”j´KssjÑ}”jÂ}”jÍKssjØ}”jÂ}”jÔKssjß}”jÂ}”jÛKssjø}”jé}”jôKssjÿ}”jé}”jûKssj}”jé}”jKssj}”j}”jKssj&}”j}”j"Kssj-}”j}”j)KssjF}”j7}”jBKssjM}”j7}”jIKssjT}”j7}”jPKssjm}”j^}”jiKssjt}”j^}”jpKssj{}”j^}”jwKssj”}”j…}”jKssj›}”j…}”j—Kssj¢}”j…}”jžKssj»}”j¬}”j·KssjÂ}”j¬}”j¾KssjÉ}”j¬}”jÅKssjâ}”jÓ}”jÞKssjé}”jÓ}”jåKssj}”jó}”jþKssj }”jó}”jKssj}”jó}”j Kssj)}”j}”j%KssjI}”j:}”jEKssji}”jZ}”jeKssjp}”jZ}”jlKssjw}”(jZ}”jsKsj¡}”j³Ksj}$}”j®$Ksj?%}”jX%Ksj_%}”jx%Ksj%}”j˜%Ksuj‰}”jz}”j…Kssj—}”jz}”j“Kssj°}”j¡}”j¬KssjÛ}”(jÓ}”j×Ksjl}”jpKsjç}”jëKsjb}”jfKsjÝ}”jáKsj+#}”j/#Ksj§#}”j«#Ksj}$}”j$Ksujâ}”(jÓ}”jÞKsjl}”jwKsjç}”jòKsjb}”jmKsjÝ}”jèKsj§#}”j²#Ksj}$}”jˆ$Ksujé}”jÓ}”jåKssjð}”jÓ}”jìKssj÷}”jÓ}”jóKssj}”jþ}”jKssj"}”jþ}”jKssj)}”jþ}”j%Kssjþ}”jÓ}”júKssj;}”j,}”j7KssjB}”j,}”j>Kssj[}”jL}”jWKssjb}”jL}”j^Kssj–}”jl}”j’Kssj}”jl}”j™Kssj¤}”jl}”j KssjÈ}”(j«}”jÄKsj&}”j?Ksj¡}”jºKsujÏ}”(j«}”jËKsj&}”jFKsj¡}”jÁKsujÖ}”(j«}”jÒKsj&}”jMKsj¡}”jÈKsujÝ}”(j«}”jÙKsj&}”jTKsj¡}”jÏKsuj«}”jl}”j§Kssj}”jç}”j Kssj}”jç}”jKssj}”jç}”jKssj&}”jç}”j"KssjŒ}”jb}”jˆKssj“}”jb}”jKssjš}”jb}”j–Kssj¡}”jb}”jKssjó}”jÝ}”jïKssjú}”jÝ}”jöKssj }”jÝ}”jýKssj }”jÝ}”j Kssj }”jÝ}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssj+ }”j }”j' Kssj9 }”j }”j5 Kssj@ }”j }”j< KssjR }”jC }”jN Kssj` }”jC }”j\ Kssjg }”jC }”jc Kssjq }”jC }”jj Kssjƒ }”jt }”j Kssj‘ }”jt }”j Kssjª }”j› }”j¦ Kssj¸ }”j› }”j´ KssjÑ }”j }”jÍ Kssjß }”j }”jÛ Kssjø }”jé }”jô Kssj!}”jé }”j!Kssj!}”j!}”j!Kssj&!}”j!}”j"!Kssj?!}”j0!}”j;!KssjM!}”j0!}”jI!Kssjf!}”jW!}”jb!Kssjt!}”jW!}”jp!Kssj†!}”jw!}”j‚!Kssj­!}”jž!}”j©!Kssj»!}”jž!}”j·!Kssjæ!}”j×!}”jâ!Kssjí!}”j×!}”jé!Kssj "}”j÷!}”j "Kssj8"}”j)"}”j4"KssjF"}”j)"}”jB"Kssj`"}”jP"}”j["Kssjh"}”jP"}”jc"Kssj"}”jr"}”j}"Kssj“"}”j„"}”j"Kssj¡"}”(j„"}”j"Ksjò"}”j #Ksujº"}”j«"}”j¶"KssjÈ"}”j«"}”jÄ"KssjÏ"}”(j«"}”jË"KsjB*}”jF*Ksujá"}”jÒ"}”jÝ"Kssjè"}”jÒ"}”jä"Kssj#}”jò"}”jý"Kssj!#}”j#}”j#KssjD#}”j+#}”j@#KssjK#}”j+#}”jG#KssjR#}”j+#}”jN#Kssj}#}”jY#}”jy#Kssj„#}”jY#}”j€#Kssj‹#}”jY#}”j‡#Kssj’#}”jY#}”jŽ#KssjY#}”j+#}”jU#Kssjn#}”j+#}”jj#KssjÑ#}”j§#}”jÍ#KssjØ#}”j§#}”jÔ#Kssj$}”jß#}”j$Kssj$}”jß#}”j$Kssj$}”jß#}”j$Kssjß#}”j§#}”jÛ#Kssj4$}”jâ#}”j0$Kssj;$}”jâ#}”j7$KssjB$}”jâ#}”j>$Kssjâ#}”j§#}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssjð#}”j§#}”jì#Kssj÷#}”j§#}”jó#Kssje$}”jV$}”ja$Kssjl$}”jV$}”jh$Kssjs$}”jV$}”jo$Kssj“$}”j}$}”j$Kssjš$}”j}$}”j–$KssjÖ$}”j¡$}”jÒ$Kssj¡$}”j}$}”j$Kssjö$}”j¤$}”jò$Kssj%}”j¤$}”j%Kssj %}”j¤$}”j%Kssj¤$}”j}$}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssj¹$}”j}$}”jµ$Kssj'%}”j%}”j#%Kssj5%}”j%}”j1%KssjN%}”j?%}”jJ%KssjU%}”j?%}”jQ%Kssjn%}”j_%}”jj%Kssju%}”j_%}”jq%KssjŽ%}”j%}”jŠ%Kssj•%}”j%}”j‘%KssjÇ%}”j¿%}”jÃ%KssjÎ%}”j¿%}”jÊ%Kssjã%}”jÑ%}”jß%Kssjù%}”jê%}”jõ%Kssj&}”jê%}”j&Kssjê%}”jÑ%}”jæ%Kssj&}”j &}”j&Kssj#&}”j &}”j&KssjG&}”j8&}”jC&KssjN&}”j8&}”jJ&Kssj8&}”j&&}”j4&Kssjj&}”jX&}”jf&KssjŽ&}”jq&}”jŠ&Kssjq&}”jX&}”jm&Kssj¤&}”jx&}”j &Kssjx&}”jX&}”jt&KssjÇ&}”jµ&}”jÃ&Kssjä&}”jÎ&}”jà&Kssjë&}”jÎ&}”jç&KssjÎ&}”jµ&}”jÊ&Kssj'}”jÕ&}”jý&Kssj'}”jÕ&}”j 'KssjÕ&}”jµ&}”jÑ&Kssj$'}”j'}”j 'Kssj+'}”j'}”j''Kssj2'}”j'}”j.'KssjG'}”j5'}”jC'KssjN'}”j5'}”jJ'KssjU'}”j5'}”jQ'Kssjj'}”jX'}”jf'Kssj‡'}”jq'}”jƒ'Kssjq'}”jX'}”jm'Kssjœ'}”jŠ'}”j˜'Kssj¹'}”j£'}”jµ'Kssj£'}”jŠ'}”jŸ'KssjÎ'}”j¼'}”jÊ'KssjÕ'}”j¼'}”jÑ'Kssjò'}”jÜ'}”jî'KssjÜ'}”j¼'}”jØ'Kssj(}”jõ'}”j(Kssj(}”jõ'}”j (Kssj(}”jõ'}”j(Kssj*(}”j(}”j&(Kssj1(}”j(}”j-(Kssj8(}”j(}”j4(KssjM(}”j;(}”jI(KssjT(}”j;(}”jP(Kssj[(}”j;(}”jW(Kssjp(}”j^(}”jl(Kssjw(}”j^(}”js(Kssj”(}”j~(}”j(Kssj~(}”j^(}”jz(Kssj©(}”j—(}”j¥(Kssj°(}”j—(}”j¬(Kssj·(}”j—(}”j³(KssjÌ(}”jº(}”jÈ(KssjÓ(}”jº(}”jÏ(KssjÚ(}”jº(}”jÖ(Kssjï(}”jÝ(}”jë(Kssjö(}”jÝ(}”jò(Kssjý(}”jÝ(}”jù(Kssj)}”j)}”j)Kssj)}”j )}”j)Kssj$)}”j )}”j )Kssj+)}”j )}”j')Kssj6)}”j.)}”j2)Kssj=)}”j.)}”j9)Kssj`)}”jN)}”j\)Kssjg)}”jN)}”jc)Kssjn)}”jN)}”jj)Kssjy)}”jq)}”ju)Kssj€)}”jq)}”j|)Kssj‹)}”jƒ)}”j‡)Kssj’)}”jƒ)}”jŽ)Kssj²)}”j£)}”j®)Kssj¹)}”j£)}”jµ)KssjÀ)}”j£)}”j¼)Kssj *}”jû)}”j *Kssj*}”jû)}”j*Kssj1*}”j*}”j-*Kssj*}”jû)}”j*KssuŒ_Memory__namespace”}”(Œowl”hŒhttp://www.w3.org/2002/07/owl#”…”R”Œrdf”hŒ+http://www.w3.org/1999/02/22-rdf-syntax-ns#”…”R”Œrdfs”hŒ%http://www.w3.org/2000/01/rdf-schema#”…”R”Œxsd”hŒ!http://www.w3.org/2001/XMLSchema#”…”R”Œxml”hŒ$http://www.w3.org/XML/1998/namespace”…”R”Œdash”hŒhttp://datashapes.org/dash#”…”R”Œsh”hŒhttp://www.w3.org/ns/shacl#”…”R”Œtosh”hŒhttp://topbraid.org/tosh#”…”R”uŒ_Memory__prefix”}”(jŸ6jœ6j£6j 6j§6j¤6j«6j¨6j¯6j¬6j³6j°6j·6j´6j»6j¸6uŒ_Memory__context_obj_map”}”Œ!URIRef:http://datashapes.org/dash”Œ rdflib.graph”ŒGraph”“”hh†”R”sŒ_Memory__tripleContexts”}”Œ_Memory__contextTriples”}”(N”(jj3j7‡”jòjj‡”j{j‰j‡”j/j3j7‡”jÕjÙj݇”j3jEjI‡”jê%jî%jò%‡”j j²j¶‡”juj€j„‡”jajsjw‡”jX&j\&jc&‡”jßjøjü‡”j8jJjN‡”j›j­j±‡”jé j!j!‡”jzjŒj‡”jªj®j²‡”j«"j¶"jº"‡”j³j¾j‡”jÂjÛj߇”j€j j¤‡”jçjj‡”jjŸj£‡”jY#jr#jv#‡”jj)j-‡”jþjj‡”jm jq ju ‡”j_jxj|‡”jÕjçj뇔hJh¦hª‡”j¡jU2jÁ‡”jsj–jš‡”j³j·j»‡”jÓjj ‡”j;(jI(jM(‡”j9j=jA‡”j¡j¥j©‡”jÄj­2j燔hÑj;.h܇”jw!j‚!j†!‡”jMjfjj‡”jðj j ‡”j/jOjS‡”jàjäj臔jljµj¹‡”j%j#%j'%‡”j& j* j. ‡”jß)jã)jê)‡”jÝjèj쇔jÄjY2j䇔jµ&j¹&jÀ&‡”jtjj‘‡”j§j«j¯‡”j j j ‡”jÀjÒjÖ‡”jj*j1‡”jƒjŽj’‡”j¡j¬j°‡”jNj`jd‡”j,j0j4‡”jµ&jÊ&jÎ&‡”j~(j(j”(‡”j¡j¥j©‡”jN)j\)j`)‡”jj+j/‡”j;(jW(j[(‡”jjŸj£‡”jß jô jø ‡”jjV.j>‡”j&j1j5‡”j¦jªj®‡”jÀjËjχ”j#j'j+‡”jX&jm&jq&‡”jß#j$j%$‡”hAhfhm‡”jjj ‡”j+ j= jD ‡”j8jQjU‡”j. jQ jU ‡”j¿ jØ jÜ ‡”j˜jªj®‡”j%j1%j5%‡”jÙjÝjᇔj#j#j!#‡”j•#j™#j#‡”jÓj×jÛ‡”jß#j$j$‡”jjj‡”jµ&jÃ&jÇ&‡”jj*j.‡”jcjƒj‡‡”j+jRjV‡”jæjÿj‡”j¶jÈj̇”jZjsjw‡”hôhÿj‡”j„ j£ jª ‡”jgjrjv‡”j jâ jæ ‡”jÝjj ‡”jMjQjU‡”jçjùj‡”j» j¿ jà ‡”jŠjªj®‡”j1jCjG‡”j€j’j–‡”j¤$j%j%‡”j jj#‡”jÿj j‡”j„"jˆ"jŒ"‡”j£'j®'j²'‡”j§#j«#j¯#‡”j¿jØj܇”hDh‚h†‡”jj j‡”jj jn jr ‡”j¿jÑjÕ‡”jµj¹j½‡”jW!jb!jf!‡”j_jjƒ‡”j j j$ ‡”j«jÒjÖ‡”h>h^hb‡”jí jø jü ‡”j€j‹j‡”jò"j#j#‡”jXjjjn‡”jÝjáj凔jYjnjr‡”j^(js(jw(‡”jê%jõ%jù%‡”j¡$jÙ$jÝ$‡”jÅjÞj⇔j5'jJ'jN'‡”j: jH jL ‡”j. jJ jN ‡”jâ j j ‡”j jb jf ‡”jYj]ja‡”jß jû jÿ ‡”jêjüj‡”j¶jÁjŇ”jÿj j ‡”jªjµj¹‡”jçjj‡”jV$ja$je$‡”j&j[j_‡”j j5 j9 ‡”j6j[j_‡”jÅjîjò‡”jõ'jù'j(‡”jÿjj‡”j. j9 j@ ‡”jÀjÙj݇”j{jQ2jž‡”j%jŠ%jŽ%‡”jj j| j€ ‡”jt jx j| ‡”jjÆjʇ”j4jFjJ‡”jj¡j¥‡”jÓjój÷‡”jß jã jç ‡”jÿj j ‡”jçjå.j‡”jÿjj‡”jí j j ‡”jW ji jm ‡”j¸jØj܇”jZjljp‡”jò"jý"j#‡”hGh”h˜‡”j'j'j'‡”j4j?jC‡”hôj j ‡”j‰ j› jŸ ‡”jÂjÍjч”j¿jÃjLJ”jÕ&j'j'‡”jAjEjI‡”jj‘j•‡”j5 j< j@ ‡”j&jMjQ‡”hMh¸h¼‡”jjj#‡”j£)j§)j«)‡”jú j j ‡”jõjj‡”j~(j‰(j(‡”jlj™j‡”jp j‚ j† ‡”j+#j@#jD#‡”jY#j‡#j‹#‡”jÔ jæ jê ‡”jj j$‡”j~j‰j‡”j÷!j "j "‡”j§#jì#jð#‡”j§&j«&j²&‡”jÏjáj凔j+#j6#j=#‡”jÌj×jÞ‡”hÑhíhñ‡”jlj j¤‡”jçj j‡”j¿jßj㇔jjj ‡”j6jAjH‡”jº(j¾(jÅ(‡”j—(j¥(j©(‡”jŸ j± jµ ‡”j jj‡”j› jŸ j£ ‡”j jj‡”j£jÃjLJ”jˆj¯j³‡”jFj_jc‡”jHjSjW‡”jLj^jb‡”j%j‘%j•%‡”jû)j *j *‡”j&j8j<‡”j¦j±jµ‡”j jj‡”jÂjÔj؇”j&j*j.‡”jzj~j‚‡”jj!j%‡”jW!j[!j_!‡”jx j€ j„ ‡”j•#j #j¤#‡”jXj’2jx‡”j¡j³j·‡”j¸jÃjLJ”j±jµj¹‡”j¡j÷.jÁ‡”j±%jµ%j¼%‡”jtj†jЇ”j j j ‡”jÛjþj‡”j~j‚j†‡”jjÍjч”j¿ jÑ jÕ ‡”j_%jq%ju%‡”jÏjÓjׇ”j jj‡”jójþj‡”j…jžj¢‡”jjj‡”jC j\ j` ‡”jâ#j7$j;$‡”jN)jc)jg)‡”j/j3j7‡”j*j*j#*‡”j§#jÍ#jÑ#‡”jFjfjj‡”jj¨j¬‡”jªj¼jÇ”jé jû jÿ ‡”j£)j®)j²)‡”j#j<j@‡”jXjfjj‡”j£j§j«‡”j—(j³(j·(‡”j÷!j"j"‡”jí jG.jø ‡”jàjòjö‡”j4*j8*j?*‡”j}$j–$jš$‡”j$jGjK‡”jlj®j²‡”jójj‡”j&j8j<‡”j j%j)‡”jXj\j`‡”jÅjÐjÔ‡”jçj j‡”jß#j$j$‡”jMjXj\‡”j³jÚjÞ‡”j&jTjX‡”jž!j©!j­!‡”jõjùjý‡”j+#jU#jY#‡”j.)j2)j6)‡”jzj…j‰‡”j%j8%j<%‡”jÙjäj臔j}$jµ$j¹$‡”jÿjj#‡”jû)j*j*‡”jâjæjꇔj~j—j›‡”jC jj jq ‡”j† j‘ j• ‡”jºj¾j‡”jÚ jó j÷ ‡”jt j” j˜ ‡”j_%jc%jg%‡”jº(jÖ(jÚ(‡”jÔ jß jã ‡”jé jí jñ ‡”j j$j(‡”j/jRjV‡”j¸jÊj·”jÚ jì j𠇔jøj j‡”jæjøjü‡”j‡ j® j² ‡”jÅjêjÞ‡”jIjTj[‡”jÌjïjó‡”j$j/j6‡”jhjsjw‡”jj¢j¦‡”jIjljp‡”jÝj j ‡”jÀjàj䇔j³jáj凔j¿%jÃ%jÇ%‡”j¯j³j·‡”jjšjž‡”j~j¥j©‡”jj0j4‡”j`jyj}‡”jß#j $j $‡”jŠj•j™‡”j§#jÃ#jÊ#‡”j~j‰j‡”jY#jy#j}#‡”jöjújþ‡”j¢ jÓ j× ‡”jƒ j‡ j‹ ‡”j)"j-"j1"‡”j jp jt ‡”jmjjƒ‡”jwjj”‡”jâ#jE$jI$‡”jj&j*‡”jâjíjñ‡”jÅ!jÐ!jÔ!‡”jÑ%jß%jã%‡”j{jj”‡”j@jDjH‡”j‰ j› jŸ ‡”jÝjöjú‡”j£'j§'j«'‡”jºjÌjЇ”jŠ'jŽ'j•'‡”jj˜jœ‡”j,j7j;‡”j7 jP jT ‡”jÛjôjû‡”j0!j4!j8!‡”j¢ j¦ jª ‡”j¡jºj¾‡”jÑ)jÕ)jÜ)‡”j@jKjO‡”hAhpht‡”jzj“j—‡”jX'jf'jj'‡”jÕ&j 'j'‡”jŠ'j˜'jœ'‡”jbjˆjŒ‡”j5'j9'j@'‡”jljpjt‡”jÀjçj뇔j&j1j5‡”jçjj‡”jXjtjx‡”jÿjj‡”j¡j³j·‡”j¯jÁjŇ”j† jŠ jŽ ‡”jajsjw‡”j'j 'j$'‡”jwj‰j‡”jjj‡”jj1j5‡”j6jpjt‡”j¬j¾j‡”j¯jºj¾‡”jgjkjo‡”jtj”j˜‡”jjBjF‡”jïjújþ‡”jjj‡”j«jËjχ”j«"j¯"j³"‡”j› j´ j¸ ‡”j j' j+ ‡”jLjeji‡”jw!j{!j!‡”j(j4(j8(‡”jšj¥j©‡”jâjôjø‡”hôhøhü‡”j$j9j=‡”jIjpjt‡”j—(j›(j¢(‡”jlj’j–‡”jIjbjf‡”jSj^jb‡”j j j ‡”j &j&j#&‡”j¿jØj܇”j:jSjW‡”j+#jj#jn#‡”jj-j1‡”jjj‡”j¼'jÀ'jÇ'‡”j×jâj懔j3j7j;‡”j3jSjW‡”jÿjj‡”jq&j|&j€&‡”jêjîjò‡”jÝ(já(jè(‡”jˆj¨j¬‡”j£)jµ)j¹)‡”jÌjáj凔j‡ jµ j¹ ‡”jjj‡”jß#jû#jÿ#‡”j§#j²#j¶#‡”j‡j j¤‡”j‡j‹j‡”jÄjÈj̇”j^jwj{‡”jbjtjx‡”j1jQjU‡”j5 jJ jQ ‡”jéjôjø‡”jq&jƒ&j‡&‡”j) j- j1 ‡”jhjj…‡”j j j ‡”j j;j$‡”jÿ jP j ‡”jÅj×jÛ‡”jjj‡”jÔ jæ jê ‡”jòjöjú‡”jj ju jy ‡”j•)j™)j )‡”j¼'jÊ'jÎ'‡”jtj†jЇ”jí jÿ j ‡”j}$j$j“$‡”jj…j‰‡”hôjj‡”h>hTh[‡”hh1h5‡”j7 jI jM ‡”j j9j=‡”j†j‘j•‡”jÛjæjꇔj«j½jÁ‡”j3jLjP‡”hÑhÕhÙ‡”j,j>jB‡”jßjêjj…j—j›‡”j¡jÁjŇ”jØjÜjà‡”j}$j$j…$‡”jõ'j(j(‡”jój j‡”jV$jo$js$‡”jâ jí jñ ‡”jÂjâj懔jj"j&‡”jýjj‡”jAjSjW‡”j j" j& ‡”jÅ!jÉ!jÍ!‡”j¯jÏjÓ‡”jj,j0‡”jÿ jT jX ‡”jj7j;‡”jÓjÞj⇔jwj¨j¬‡”j¢ jÉ jÐ ‡”hjü-hG‡”jßjãj燔jÈjèj쇔j>jWj[‡”jßjãj燔jž!j¢!j¦!‡”jÄjÖjÚ‡”hDhxh‡”j+j`jd‡”j8j<j@‡”jt j† jŠ ‡”j&&j4&j8&‡”jŽj™j‡”j!j"!j&!‡”jé jô jø ‡”j1j<j@‡”jâjj‡”j7j;j?‡”jõjj ‡”j^j~j‚‡”j+jKjO‡”j§#jÔ#jØ#‡”jNjYj]‡”j¦j¸j¼‡”jj!j%‡”jÄjÏjÓ‡”jY#jŽ#j’#‡”jÀjÄjȇ”j"j"j"‡”jjj‡”jÎjÙj݇”j‡j’j–‡”jjj&‡”j`jdjh‡”j?%jC%jG%‡”jÀjîjõ‡”jajljp‡”jx&j’&j–&‡”jMj_jc‡”jejzj~‡”jçj0j4‡”jªjÆjʇ”j[jmjq‡”jY#j€#j„#‡”jÀjËjχ”j{jjƒ‡”jÔ jØ jÜ ‡”j# jÑ j& ‡”j£jÊj·”jój÷jû‡”j» j¿ jà ‡”j7 jB jF ‡”jýjj‡”j¬jÓjÚ‡”j+#j/#j3#‡”jajeji‡”jt j jƒ ‡”j j' j+ ‡”jhjˆjŒ‡”j‡j90j§‡”jŠjŽj’‡”jjj#‡”jjj ‡”jÿj j ‡”jC jG jK ‡”j„ j‹ j ‡”j¡j³j·‡”j¤$j%j%‡”jj)j-‡”jçjòjö‡”j›j¦jª‡”jÀjÄjȇ”jí jj‡”jéjíjñ‡”jW j[ j_ ‡”jIjMjQ‡”jÝj j ‡”jcjgjk‡”j^ jw j{ ‡”jÄj 3j䇔j§j¹j½‡”j&jFjJ‡”j+j/j3‡”j6jbjf‡”jß j j ‡”j7jIjM‡”jXjqju‡”jj¨j¬‡”j0!jP!jT!‡”jòjýj‡”jÄjÏjÓ‡”jÒ"jÝ"já"‡”jejijm‡”jµjÎjÒ‡”j jÔ jØ ‡”jÎjàj䇔jƒ)jŽ)j’)‡”jÝ(jë(jï(‡”jj4j8‡”j&j?jC‡”hôjj‡”j€j„jˆ‡”j jÛ jß ‡”j!j!j!‡”j~j—j›‡”j¢ j» j¿ ‡”jˆj¶j½‡”j j«j¯‡”j‹j–j‡”jbjj“‡”jj‘j•‡”j±jÃjLJ”j ji jm ‡”jŸ%jª%j®%‡”jXj\j`‡”j¶jºj¾‡”jIjijm‡”jµ&jÑ&jÕ&‡”jj˜jœ‡”j/j3j7‡”j+#jN#jR#‡”jîjj ‡”j¡jºj¾‡”jLj^jb‡”j¢ j¦ jª ‡”jCj;j/‡”j¯j³j·‡”jIj^jb‡”j?%jQ%jU%‡”j^ j~ j‚ ‡”j$j(j,‡”jjj!‡”j&j8j<‡”j/j3j7‡”jlj§j«‡”jÒ"jÖ"jÚ"‡”j7jBjF‡”j¬jÅjɇ”jj!j%‡”j¿ jà jÇ ‡”jq'jƒ'j‡'‡”jCj?jI‡”jNjRjV‡”jjÛj߇”j¦jªj®‡”j¬jÌjЇ”jB jM jT ‡”jÎ&jÙ&jÝ&‡”j«"j½"jÁ"‡”j¿jÊj·”jõ'j(j(‡”jSjljp‡”j¡j¥j©‡”hh*h.‡”jâ#j0$j4$‡”jgj€j„‡”j. jC jG ‡”jÏjÚjÞ‡”jîjj‡”jÝjáj凔jÝjýj ‡”jj#j'‡”jÝ(jù(jý(‡”jYjdjk‡”jçjëjjÿj j# ‡”j^jpjt‡”jw!j—!j›!‡”jmjxj|‡”j9j\j`‡”j jj‡”j¢ j´ j¸ ‡”jí jû jÿ ‡”jLjWj[‡”jº(jÈ(jÌ(‡”j¬j¾j‡”j³jÌjЇ”jbjtj{‡”jçjëjjbjmjq‡”jjj‡”jj(j,‡”j¬j°j´‡”jj¡j¥‡”j‰ j j‘ ‡”j‹jj“‡”j„ j’ j– ‡”jN)jR)jY)‡”j j< j@ ‡”jV$jv$jz$‡”jcjnjr‡”j¢ j­ j± ‡”jbjmjq‡”jí jñ jõ ‡”j¡jºj¾‡”jbjfjj‡”jw!j‰!j!‡”jajzj~‡”jFjXj\‡”jsjwj{‡”jljˆj‡”j×!jé!jí!‡”j‰ j” j˜ ‡”j!j%j)‡”jj5j9‡”j¤$jò$jö$‡”j+j=jA‡”j¢ j­ j± ‡”jejˆjŒ‡”j‡j™j‡”jÄjÝjᇔj#j5j9‡”j}$j$j¡$‡”jÈjÚjÞ‡”j6jKjP‡”jHjaje‡”j j j# ‡”j8 jU jY ‡”jÿj0 j4 ‡”jejj“‡”jÞjâj懔jj¿jÇ”jp j{ j ‡”j*j&*j**‡”j^(jb(ji(‡”jÈjáj凔jïjój÷‡”jbjj¡‡”j^jbjf‡”jÓjújþ‡”j~jžj¢‡”j) j; j? ‡”jB jF jJ ‡”jÕjàj䇔jÿj& j- ‡”j¡jÖjÚ‡”jÀjÒjÖ‡”jP"jc"jh"‡”jðjûjÿ‡”jÜ'jà'jä'‡”j&&j*&j1&‡”hjê-hA‡”j…j‰j‡”j_jjjn‡”j. jf jj ‡”jbj–jš‡”j j j ‡”j j¤j¨‡”jjj!‡”jj;j?‡”j…j—j›‡”j{j—j›‡”jýjj‡”jú jþ j ‡”j_jqju‡”jjj"‡”jX jP j ‡”j^(jz(j~(‡”jtjxj|‡”jbjG1j‡”jþjj‡”jîjj ‡”jjj‡”jEjnjr‡”jõ'j (j(‡”jajljp‡”jW!jp!jt!‡”jÛjßj㇔j5'jQ'jU'‡”j^jpjt‡”jXjú2j{‡”j#j.j2‡”j¡$jà$jç$‡”j¡$j½$jÁ$‡”jÝjèjhh!h'‡”jýjj ‡”j j# j ‡”jøjj‡”jHjLjP‡”j"j"j"‡”jºjÅjɇ”jÈjÌjЇ”jtjxj|‡”jIj~j…‡”hÑhßh㇔jsjˆjŒ‡”jzjšjž‡”jzj~j‚‡”jÿj j ‡”jej–jš‡”jejpjw‡”j9jNjR‡”j&j?jC‡”j&jFjJ‡”jcjujy‡”j.)j9)j=)‡”j@jRjV‡”j¿ jÊ jÎ ‡”jçjj ‡”jƒj•j™‡”j j¹j½‡”j9jDjK‡”jj*j.‡”jÙjëjj jj!‡”hJhœh£‡”j„"j–"jš"‡”j/jHjL‡”jˆj¡j¥‡”jbj‚j†‡”j› j¦ jª ‡”j„"j"j¡"‡”jB jW j[ ‡”jjM2j0‡”j§#jó#j÷#‡”j j j$ ‡”jj%j)‡”jj“j—‡”jß#j$j$‡”j!j!j!‡”jí)jñ)jø)‡”jujyj}‡”j¡$jÒ$jÖ$‡”jÜ'jç'jë'‡”jÝjK5j ‡”jIjTjX‡”jwj—j›‡”jAjLjP‡”jjj"‡”j j j ‡”jj¨j¬‡”j8 j\ j` ‡”jjj!‡”j˜j£j§‡”jÌjèj쇔j7 j; j? ‡”j£)j¼)jÀ)‡”j» jÆ jÊ ‡”j^jijm‡”jÝjj‡”j„ j™ j  ‡”jjj‡”j«"jÄ"jÈ"‡”jÀjËjχ”jˆjšjž‡”jwj‚j†‡”j» jÍ jÑ ‡”j[jfjj‡”jÅjÉj͇”j3j7j;‡”j_%jj%jn%‡”jˆj“j—‡”j~j¬j°‡”jæjêjjÓjÞj⇔j0!j;!j?!‡”j. j2 j6 ‡”jSj„jˆ‡”j€j’j–‡”j~(j‚(j†(‡”j7jPjT‡”jçjj‡”jØjñjõ‡”j jj‡”j~jj”‡”j/jAjE‡”jj#j'‡”j¯jÁjŇ”jÒ"jë"jï"‡”j¡jÏjÓ‡”jÓjìjð‡”j&j1j5‡”j;(jP(jT(‡”hj.hP‡”jÎjÊjÔ‡”jðjj‡”jŸ j£ j§ ‡”jØjêjj4j8j<‡”jîjòjö‡”jjBjF‡”jƒ)j‡)j‹)‡”jÎjÒjÖ‡”jÈjÓjׇ”j^jwj{‡”jƒ jª j± ‡”jâ#jL$jS$‡”j&j8j<‡”j^jbjf‡”jâ#j)$j-$‡”jÝjòjö‡”jq'j|'j€'‡”j¬j·j»‡”j7jWj[‡”jÛjíjñ‡”jC jc jg ‡”j jw j{ ‡”j«jÄjȇ”jƒ j£ j§ ‡”jâ#j>$jB$‡”j¡$jÄ$jÈ$‡”hPhÀhLJ”j%j*%j.%‡”jÝ(jò(jö(‡”j÷!jû!jÿ!‡”jƒ jœ j  ‡”jx&j &j¤&‡”jÈjïjó‡”jàjùjý‡”j~j¦2jž‡”jj,j0‡”j+j6j:‡”jm j jƒ ‡”jšj¬j°‡”jB*jF*jJ*‡”j¾j×jÛ‡”juj‡j‹‡”jX&jt&jx&‡”jÌjÐjÔ‡”jj'j+‡”jjj‡”j0!jB!jF!‡”jàjëjjejj…‡”j» jÍ jÑ ‡”jSjWj[‡”jÔ jØ jÜ ‡”j…jj”‡”jÑ%jæ%jê%‡”jAjLjP‡”hhh‡”j¿%jÊ%jÎ%‡”j‹j j¤‡”jbj{j‡”j(j(j#(‡”jjŒj‡”jƒ j• j™ ‡”j+ j/ j3 ‡”jj j‡”j–jÆj¯‡”jŠj£j§‡”j¿jÊj·”j›j»j¿‡”hMh®hµ‡”j^jijm‡”j×!jâ!jæ!‡”j)"jB"jF"‡”jLjPjT‡”j† j˜ jœ ‡”jj¯j³‡”j;(j?(jF(‡”j#j$#j(#‡”jójj ‡”jwjžj¥‡”j}$j®$j²$‡”jéjûjÿ‡”j§#j¹#jÀ#‡”j€j™j‡”jº(jÏ(jÓ(‡”j~j‚j†‡”j8&j<&j@&‡”jðjj‡”j?%jX%j\%‡”j…j¥j©‡”jéjj‡”jbj«j¯‡”jâ jû jÿ ‡”j& j1 j5 ‡”jMjmjq‡”jÙ jÑ jx ‡”j&jFjJ‡”j‹j®j²‡”jcj|j€‡”jXjmjq‡”hGhŠh‘‡”jõjj‡”jˆjŒj‡”j‰ j j‘ ‡”jV$jh$jl$‡”jFjQjU‡”jðjôjø‡”j9jUjY‡”jzj“j—‡”jïjj ‡”j€j‹j‡”jÓjìjð‡”jjj‡”jzjšjž‡”j j. j2 ‡”j–jÊj·”jAjEjI‡”jj"j&‡”jßjñjõ‡”jâj j ‡”j×jÛj߇”jøjj‡”j³jèj쇔j8jCjG‡”jÓjåj釔jx jÀ1j‡ ‡”jê%jü%j&‡”j×!jÛ!jß!‡”jX'j\'jc'‡”jû)j*j*‡”jýjj‡”jj°j´‡”j4jTjX‡”j^(jl(jp(‡”j³jÓjׇ”jP"jk"jo"‡”jj$j(‡”jÎ&jî&jò&‡”jƒjœj ‡”j[j_jc‡”j±jÑjÕ‡”(j@)jD)jK)‡”hj.hJ‡”j!j3j7‡”j jÍ jÑ ‡”jßjøjü‡”jêjj‡”j{jL.j†‡”j8&jJ&jN&‡”j^ ji jm ‡”j_jcjg‡”jÅjìjó‡”jj©j­‡”j‰ j” j˜ ‡”jƒ j´ j¸ ‡”j3j>jB‡”j¡$jË$jÏ$‡”j&j?jC‡”j¤$jë$jï$‡”j^ jp jt ‡”jû)jÿ)j*‡”jgjyj}‡”j£j®j²‡”j_%jx%j|%‡”j. j_ jc ‡”j&j*j.‡”j§j²j¶‡”jèjój÷‡”j¼'jÑ'jÕ'‡”jq&jŠ&jŽ&‡”j )j)j)‡”j:j>jB‡”jN)jj)jn)‡”j¤$jù$jý$‡”jÅjöjú‡”jýjj ‡”jÕ&jö&jú&‡”jLjWj[‡”jÚ jå jé ‡”j:jEjI‡”j¢ j jÆ ‡”jçj)j-‡”j jÞ.j,‡”jIjeji‡”jIjwj{‡”j6jijm‡”j3jZj^‡”jÄjÝjᇔjbjšjž‡”j/jKjO‡”j#jJjN‡”j+ j6 j: ‡”j¿jÑjÕ‡”jzj…j‰‡”j«jàj䇔jAjZj^‡”j4jMjQ‡”jsj~j…‡”j)j)j)‡”j› j» j¿ ‡”jçjj‡”j¡j¬j°‡”jçj"j&‡”jwj{j‡”j*j-*j1*‡”jj)j-‡”jŸ%j£%j§%‡”jŽj’j–‡”j/j:j>‡”jß jB.jê ‡”j›j´j¸‡”jæjñjõ‡”jØjøjü‡”jŸ jª j® ‡”j#j#j#‡”hÑhæhꇔjlj~j…‡”j+#jG#jK#‡”jr"j}"j"‡”jÈjöjú‡”jYjujy‡”jž!j·!j»!‡”j¿jÃjLJ”jÎjÆjº‡”j j j ‡”jj#j'‡”jx j| jm ‡”j€j™j‡”j. jX j\ ‡”jFjJjN‡”j )j')j+)‡”j j j ‡”jjj‡”jljwj{‡”j )j )j$)‡”j¡jÈj̇”jÕ&jý&j'‡”j j' j+ ‡”j…j¥j©‡”jq'ju'jy'‡”jIj[j_‡”jºj¾j‡”j…jžj¢‡”j j+j/‡”jÀjÄjȇ”jÎ&jà&jä&‡”j3j>jB‡”jÿjj‡”j6j:j>‡”jmj†jЇ”jÂjÆjʇ”j(j-(j1(‡”j€j„jˆ‡”jZj^jb‡”j„"j"j“"‡”j£'jµ'j¹'‡”j3jLjP‡”jbj“j—‡”jj0j4‡”jÜ'jî'jò'‡”j¬jÌjЇ”jw!j!j”!‡”jÓj×jÛ‡”jïjj‡”j,jEjI‡”jÝjùjý‡”jX'jm'jq'‡”jçjëjjq)ju)jy)‡”jŽj j¤‡”jŸ j¸ j¼ ‡”jV$jZ$j^$‡”j§#jÈ5jâ#‡”jøjüj‡”jP"j["j`"‡”jê%j&j&‡”j+#j\#j`#‡”j)"j;"j?"‡”j¬j·j»‡”jjÅ2j?‡”j~jj”‡”j )j)j)‡”j1jJjN‡”jçjùjý‡”j³j·j»‡”jj/j3‡”jW jb jf ‡”jé j !j !‡”j3jEjI‡”jçjj‡”jjÔj؇”jõjj‡”j6jSjX‡”j› j­ j± ‡”j˜jœj ‡”jÝjïjó‡”j4j[j_‡”j)"j4"j8"‡”hPhÊh·”jŠjœj ‡”jIjMjQ‡”jßjñjõ‡”j‹j§j«‡”j«"jË"jÏ"‡”jj(j,‡”jSj}j‡”j§#jÛ#jß#‡”jŠ'jŸ'j£'‡”jt j j‘ ‡”jbj¤j¨‡”j‡ jÆ jÍ ‡”jX&jf&jj&‡”j¸jÑjÕ‡”jX jT j^ ‡”jí jñ jõ ‡”j^ jb jf ‡”jZjeji‡”jjÀ2j<‡”j!j,j0‡”jß jí jñ ‡”j×!jð!jô!‡”jP"jT"jX"‡”j³jÅjɇ”j)"jI"jM"‡”j¬j·j»‡”j5 jC jG ‡”j8jXj\‡”jj$j(‡”jÔ jß jã ‡”j¦j¸j¼‡”j jj"‡”j+jDjH‡”jÀjÒjÖ‡”jò"jö"jú"‡”jXjR.jc‡”jÎ&jç&jë&‡”jçjj ‡”j5'jC'jG'‡”jýjj‡”jzj¨j¬‡”j &j&j&‡”hh8h>‡”jx&j™&j&‡”jò"j #j#‡”jöjj ‡”jhjljp‡”jYj|j€‡”jçjüj‡”jßjêjjÃ)jÇ)jÎ)‡”j«jÙj݇”jµjÇjˇ”jØjãj燔jr"jv"jz"‡”jjj‡”jªjÍjч”j# jÕ jÙ ‡”jîjùjý‡”j/j:j>‡”j&jMjQ‡”jtjjƒ‡”j&jTjX‡”jÑ%jÕ%jÜ%‡”jÀjÙj݇”jXjcjg‡”jSjeji‡”j¡j³j·‡”j›jŸj£‡”j±jÊj·”jHjZj^‡”jzjŒj‡”jW!ji!jm!‡”jÝjj‡”j^jbjf‡”jajeji‡”jú j j ‡”jbj~j…‡”jzj¡j¥‡”j‡ j¼ jà ‡”jèjìjð‡”j}$jˆ$jŒ$‡”j& j·1j8 ‡”j1j5j9‡”j#jCjG‡”j§#jå#jé#‡”jj2j6‡”hôjÚ.j‡”jçjòjö‡”j+#jc#jg#‡”j@jYj]‡”j³jÅjɇ”j¢ j´ j¸ ‡”jâ jæ jê ‡”j!j)!j-!‡”jÓjåj釔j}$jå5j¤$‡”jSjsjz‡”j%j%j %‡”jgjrjv‡”jÒ"jä"jè"‡”jhjzj~‡”j`jkjo‡”jéj j ‡”jÝj j ‡”j†jŠjއ”j%jƒ%j‡%‡”j%j˜%jœ%‡”jÅjåj釔jgjkjo‡”jƒ jŽ j’ ‡”jjj‡”jµjÀjć”j£jµj¹‡”jC jU jY ‡”hjó-hD‡”jEjjj^‡”jªjÔj؇”jtjjƒ‡”jbjfjj‡”j¯j³j·‡”j8 jc jj ‡”jçjòjù‡”jq)j|)j€)‡”j'j''j+'‡”j`jrjv‡”jÄjÖjÚ‡”j³j¾j‡”j'j.'j2'‡”jž!j°!j´!‡”jèjújþ‡”j jj‡”jƒj‡j‹‡”jêjõjù‡”jâ jô jø ‡”jj·j»‡”jp jt jx ‡”j„"j¤"j¨"‡”j¬j°j´‡”j8&jC&jG&‡”j?%jJ%jN%‡”j» jÆ jÊ ‡”jöjj‡”j jj‡”jÛjj ‡”jmjqju‡”j}$j§$j«$‡”j$j@jD‡”j+jYj]‡”j0!jI!jM!‡”j¬j¾j‡”j&j*j.‡”j^ j… j‰ ‡”j¯jºj¾‡”jgjyj}‡”j¬jÅjɇ”j j?jC‡”j/jDjH‡”jâjûjÿ‡”j!j:j>‡”jž!j¾!jÂ!‡”j jÆ jÊ ‡”j &j&j&‡”j¯jÈj̇”jC jN jR ‡”jsjj“‡”j£j¼jÀ‡”j¼'jØ'jÜ'‡”jšjžj¢‡”jú j j ‡”j˜j±jµ‡”jÿj j‡”jj.j2‡”j¡j¬j°‡”j±j¼jÀ‡”j j2j6‡”jÚ jÞ jâ ‡”jÙ jÕ jß ‡”j/j:jA‡”j¬j°j´‡”j¸j¼jÀ‡”j—(j¬(j°(‡”j"j""j&"‡”j) j4 j8 ‡”hj.hM‡”jîjj‡”jþjj"‡”jðjj‡”j:jLjP‡”jîjj‡”jAjZj^‡”jj j‡”jLjPjT‡”jAjSjW‡”j$j(j,‡”j#jQjU‡”j/jAjE‡”j¦j±jµ‡”j(j&(j*(‡”jbj‰j‡”j…jj”‡”j×jéj퇔j&j?jC‡”j¤$j%j %‡”jÓjj‡”jÄjÈj̇”j8&jQ&jU&‡”jj(j,‡”jj%j)‡”jþj%j)‡”jÀ6”(jË6jÌ6jÍ6jÎ6jÏ6jÐ6jÑ6jÒ6jÓ6jÔ6jÕ6jÖ6j×6jØ6jÙ6jÚ6jÛ6jÜ6jÝ6jÞ6jß6jà6já6jâ6jã6jä6jå6jæ6jç6jè6jé6jê6jë6jì6jí6jî6jï6jð6jñ6jò6jó6jô6jõ6jö6j÷6jø6jù6jú6jû6jü6jý6jþ6jÿ6j7j7j7j7j7j7j7j7j7j 7j 7j 7j 7j 7j7j7j7j7j7j7j7j7j7j7j7j7j7j7j7j7j7j7j 7j!7j"7j#7j$7j%7j&7j'7j(7j)7j*7j+7j,7j-7j.7j/7j07j17j27j37j47j57j67j77j87j97j:7j;7j<7j=7j>7j?7j@7jA7jB7jC7jD7jE7jF7jG7jH7jI7jJ7jK7jL7jM7jN7jO7jP7jQ7jR7jS7jT7jU7jV7jW7jX7jY7jZ7j[7j\7j]7j^7j_7j`7ja7jb7jc7jd7je7jf7jg7jh7ji7jj7jk7jl7jm7jn7jo7jp7jq7jr7js7jt7ju7jv7jw7jx7jy7jz7j{7j|7j}7j~7j7j€7j7j‚7jƒ7j„7j…7j†7j‡7jˆ7j‰7jŠ7j‹7jŒ7j7jŽ7j7j7j‘7j’7j“7j”7j•7j–7j—7j˜7j™7jš7j›7jœ7j7jž7jŸ7j 7j¡7j¢7j£7j¤7j¥7j¦7j§7j¨7j©7jª7j«7j¬7j­7j®7j¯7j°7j±7j²7j³7j´7jµ7j¶7j·7j¸7j¹7jº7j»7j¼7j½7j¾7j¿7jÀ7jÁ7jÂ7jÃ7jÄ7jÅ7jÆ7jÇ7jÈ7jÉ7jÊ7jË7jÌ7jÍ7jÎ7jÏ7jÐ7jÑ7jÒ7jÓ7jÔ7jÕ7jÖ7j×7jØ7jÙ7jÚ7jÛ7jÜ7jÝ7jÞ7jß7jà7já7jâ7jã7jä7jå7jæ7jç7jè7jé7jê7jë7jì7jí7jî7jï7jð7jñ7jò7jó7jô7jõ7jö7j÷7jø7jù7jú7jû7jü7jý7jþ7jÿ7j8j8j8j8j8j8j8j8j8j 8j 8j 8j 8j 8j8j8j8j8j8j8j8j8j8j8j8j8j8j8j8j8j8j8j 8j!8j"8j#8j$8j%8j&8j'8j(8j)8j*8j+8j,8j-8j.8j/8j08j18j28j38j48j58j68j78j88j98j:8j;8j<8j=8j>8j?8j@8jA8jB8jC8jD8jE8jF8jG8jH8jI8jJ8jK8jL8jM8jN8jO8jP8jQ8jR8jS8jT8jU8jV8jW8jX8jY8jZ8j[8j\8j]8j^8j_8j`8ja8jb8jc8jd8je8jf8jg8jh8ji8jj8jk8jl8jm8jn8jo8jp8jq8jr8js8jt8ju8jv8jw8jx8jy8jz8j{8j|8j}8j~8j8j€8j8j‚8jƒ8j„8j…8j†8j‡8jˆ8j‰8jŠ8j‹8jŒ8j8jŽ8j8j8j‘8j’8j“8j”8j•8j–8j—8j˜8j™8jš8j›8jœ8j8jž8jŸ8j 8j¡8j¢8j£8j¤8j¥8j¦8j§8j¨8j©8jª8j«8j¬8j­8j®8j¯8j°8j±8j²8j³8j´8jµ8j¶8j·8j¸8j¹8jº8j»8j¼8j½8j¾8j¿8jÀ8jÁ8jÂ8jÃ8jÄ8jÅ8jÆ8jÇ8jÈ8jÉ8jÊ8jË8jÌ8jÍ8jÎ8jÏ8jÐ8jÑ8jÒ8jÓ8jÔ8jÕ8jÖ8j×8jØ8jÙ8jÚ8jÛ8jÜ8jÝ8jÞ8jß8jà8já8jâ8jã8jä8jå8jæ8jç8jè8jé8jê8jë8jì8jí8jî8jï8jð8jñ8jò8jó8jô8jõ8jö8j÷8jø8jù8jú8jû8jü8jý8jþ8jÿ8j9j9j9j9j9j9j9j9j9j 9j 9j 9j 9j 9j9j9j9j9j9j9j9j9j9j9j9j9j9j9j9j9j9j9j 9j!9j"9j#9j$9j%9j&9j'9j(9j)9j*9j+9j,9j-9j.9j/9j09j19j29j39j49j59j69j79j89j99j:9j;9j<9j=9j>9j?9j@9jA9jB9jC9jD9jE9jF9jG9jH9jI9jJ9jK9jL9jM9jN9jO9jP9jQ9jR9jS9jT9jU9jV9jW9jX9jY9jZ9j[9j\9j]9j^9j_9j`9ja9jb9jc9jd9je9jf9jg9jh9ji9jj9jk9jl9jm9jn9jo9jp9jq9jr9js9jt9ju9jv9jw9jx9jy9jz9j{9j|9j}9j~9j9j€9j9j‚9jƒ9j„9j…9j†9j‡9jˆ9j‰9jŠ9j‹9jŒ9j9jŽ9j9j9j‘9j’9j“9j”9j•9j–9j—9j˜9j™9jš9j›9jœ9j9jž9jŸ9j 9j¡9j¢9j£9j¤9j¥9j¦9j§9j¨9j©9jª9j«9j¬9j­9j®9j¯9j°9j±9j²9j³9j´9jµ9j¶9j·9j¸9j¹9jº9j»9j¼9j½9j¾9j¿9jÀ9jÁ9jÂ9jÃ9jÄ9jÅ9jÆ9jÇ9jÈ9jÉ9jÊ9jË9jÌ9jÍ9jÎ9jÏ9jÐ9jÑ9jÒ9jÓ9jÔ9jÕ9jÖ9j×9jØ9jÙ9jÚ9jÛ9jÜ9jÝ9jÞ9jß9jà9já9jâ9jã9jä9jå9jæ9jç9jè9jé9jê9jë9jì9jí9jî9jï9jð9jñ9jò9jó9jô9jõ9jö9j÷9jø9jù9jú9jû9jü9jý9jþ9jÿ9j:j:j:j:j:j:j:j:j:j :j :j :j :j :j:j:j:j:j:j:j:j:j:j:j:j:j:j:j:j:j:j:j :j!:j":j#:j$:j%:j&:j':j(:j):j*:j+:j,:j-:j.:j/:j0:j1:j2:j3:j4:j5:j6:j7:j8:j9:j::j;:j<:j=:j>:j?:j@:jA:jB:jC:jD:jE:jF:jG:jH:jI:jJ:jK:jL:jM:jN:jO:jP:jQ:jR:jS:jT:jU:jV:jW:jX:jY:jZ:j[:j\:j]:j^:j_:j`:ja:jb:jc:jd:je:jf:jg:jh:ji:jj:jk:jl:jm:jn:jo:jp:jq:jr:js:jt:ju:jv:jw:jx:jy:jz:j{:j|:j}:j~:j:j€:j:j‚:jƒ:j„:j…:j†:j‡:jˆ:j‰:jŠ:j‹:jŒ:j:jŽ:j:•2j:j‘:j’:j“:j”:j•:j–:j—:j˜:j™:jš:j›:jœ:j:jž:jŸ:j :j¡:j¢:j£:j¤:j¥:j¦:j§:j¨:j©:jª:j«:j¬:j­:j®:j¯:j°:j±:j²:(j³:j´:jµ:j¶:j·:j¸:j¹:jº:j»:j¼:j½:j¾:j¿:jÀ:jÁ:jÂ:jÃ:jÄ:jÅ:jÆ:jÇ:jÈ:jÉ:jÊ:jË:jÌ:jÍ:jÎ:jÏ:jÐ:jÑ:jÒ:jÓ:jÔ:jÕ:jÖ:j×:jØ:jÙ:jÚ:jÛ:jÜ:jÝ:jÞ:jß:jà:já:jâ:jã:jä:jå:jæ:jç:jè:jé:jê:jë:jì:jí:jî:jï:jð:jñ:jò:jó:jô:jõ:jö:j÷:jø:jù:jú:jû:jü:jý:jþ:jÿ:j;j;j;j;j;j;j;j;j;j ;j ;j ;j ;j ;j;j;j;j;j;j;j;j;j;j;j;j;j;j;j;j;j;j;j ;j!;j";j#;j$;j%;j&;j';j(;j);j*;j+;j,;j-;j.;j/;j0;j1;j2;j3;j4;j5;j6;j7;j8;j9;j:;j;;j<;j=;j>;j?;j@;jA;jB;jC;jD;jE;jF;jG;jH;jI;jJ;jK;jL;jM;jN;jO;jP;jQ;jR;jS;jT;jU;jV;jW;jX;jY;jZ;j[;j\;j];j^;j_;j`;ja;jb;jc;jd;je;jf;jg;jh;ji;jj;jk;jl;jm;jn;jo;jp;jq;jr;js;jt;ju;jv;jw;jx;jy;jz;j{;j|;j};j~;j;j€;j;j‚;jƒ;j„;j…;j†;j‡;jˆ;j‰;jŠ;j‹;jŒ;j;jŽ;j;j;j‘;j’;j“;j”;j•;j–;j—;j˜;j™;jš;j›;jœ;j;jž;jŸ;j ;j¡;j¢;j£;j¤;j¥;j¦;j§;j¨;j©;jª;j«;j¬;j­;j®;j¯;j°;j±;j²;j³;j´;jµ;j¶;j·;j¸;j¹;jº;j»;j¼;j½;j¾;j¿;jÀ;jÁ;jÂ;jÃ;jÄ;jÅ;jÆ;jÇ;jÈ;jÉ;jÊ;jË;jÌ;jÍ;jÎ;jÏ;jÐ;jÑ;jÒ;jÓ;jÔ;jÕ;jÖ;j×;jØ;jÙ;jÚ;jÛ;jÜ;jÝ;jÞ;jß;jà;já;jâ;jã;jä;jå;jæ;jç;jè;jé;jê;jë;jì;jí;jî;jï;jð;jñ;jò;jó;jô;jõ;jö;j÷;jø;jù;jú;jû;jü;jý;jþ;jÿ;j<j<j<j<j<j<j<j<j<j <j <j <j <j <j<j<j<j<j<j<j<j<j<j<j<j<j<j<j<j<j<j<j <j!<j"<uŒ_Memory__all_contexts””(jÅ6Œ_Memory__defaultContexts”}”(jÀ6‰N‰uubh†”.pyshacl-0.30.1/pyshacl/assets/dash.ttl0000644000000000000000000027102100000000000014541 0ustar00# baseURI: http://datashapes.org/dash # imports: http://www.w3.org/ns/shacl# # prefix: dash @prefix dash: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix tosh: . @prefix xsd: . a owl:Ontology ; rdfs:comment "DASH is a SHACL library for frequently needed features and design patterns. The constraint components in this library are 100% standards compliant and will work on any engine that fully supports SHACL." ; rdfs:label "DASH Data Shapes Vocabulary" ; owl:imports sh: ; sh:declare [ sh:namespace "http://datashapes.org/dash#"^^xsd:anyURI ; sh:prefix "dash" ; ] ; sh:declare [ sh:namespace "http://purl.org/dc/terms/"^^xsd:anyURI ; sh:prefix "dcterms" ; ] ; sh:declare [ sh:namespace "http://www.w3.org/1999/02/22-rdf-syntax-ns#"^^xsd:anyURI ; sh:prefix "rdf" ; ] ; sh:declare [ sh:namespace "http://www.w3.org/2000/01/rdf-schema#"^^xsd:anyURI ; sh:prefix "rdfs" ; ] ; sh:declare [ sh:namespace "http://www.w3.org/2001/XMLSchema#"^^xsd:anyURI ; sh:prefix "xsd" ; ] ; sh:declare [ sh:namespace "http://www.w3.org/2002/07/owl#"^^xsd:anyURI ; sh:prefix "owl" ; ] ; sh:declare [ sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ; sh:prefix "skos" ; ] ; . dash:APIStatus a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The class of possible values for dash:apiStatus." ; rdfs:label "API Status" ; rdfs:subClassOf rdfs:Resource ; . dash:Action a dash:ShapeClass ; dash:abstract true ; rdfs:comment "An executable command triggered by an agent, backed by a Script implementation. Actions may get deactivated using sh:deactivated." ; rdfs:label "Action" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf sh:Parameterizable ; . dash:ActionGroup a dash:ShapeClass ; rdfs:comment "A group of ResourceActions, used to arrange items in menus etc. Similar to sh:PropertyGroups, they may have a sh:order and should have labels (in multiple languages if applicable)." ; rdfs:label "Action group" ; rdfs:subClassOf rdfs:Resource ; . dash:ActionTestCase a dash:ShapeClass ; rdfs:comment """A test case that evaluates a dash:Action using provided input parameters. Requires exactly one value for dash:action and will operate on the test case's graph (with imports) as both data and shapes graph. Currently only supports read-only actions, allowing the comparison of actual results with the expected results.""" ; rdfs:label "Action test case" ; rdfs:subClassOf dash:TestCase ; . dash:AllObjects a dash:AllObjectsTarget ; rdfs:comment "A reusable instance of dash:AllObjectsTarget." ; rdfs:label "All objects" ; . dash:AllObjectsTarget a sh:SPARQLTargetType ; rdfs:comment "A target containing all objects in the data graph as focus nodes." ; rdfs:label "All objects target" ; rdfs:subClassOf sh:Target ; sh:labelTemplate "All objects" ; sh:prefixes ; sh:select """SELECT DISTINCT ?this WHERE { ?anyS ?anyP ?this . }""" ; . dash:AllSubjects a dash:AllSubjectsTarget ; rdfs:comment "A reusable instance of dash:AllSubjectsTarget." ; rdfs:label "All subjects" ; . dash:AllSubjectsTarget a sh:SPARQLTargetType ; rdfs:comment "A target containing all subjects in the data graph as focus nodes." ; rdfs:label "All subjects target" ; rdfs:subClassOf sh:Target ; sh:labelTemplate "All subjects" ; sh:prefixes ; sh:select """SELECT DISTINCT ?this WHERE { ?this ?anyP ?anyO . }""" ; . dash:AutoCompleteEditor a dash:SingleEditor ; rdfs:comment "An auto-complete field to enter the label of instances of a class. This is the fallback editor for any URI resource if no other editors are more suitable." ; rdfs:label "Auto-complete editor" ; . dash:BlankNodeViewer a dash:SingleViewer ; rdfs:comment "A Viewer for blank nodes, rendering as the label of the blank node." ; rdfs:label "Blank node viewer" ; . dash:BooleanSelectEditor a dash:SingleEditor ; rdfs:comment """An editor for boolean literals, rendering as a select box with values true and false. Also displays the current value (such as "1"^^xsd:boolean), but only allows to switch to true or false.""" ; rdfs:label "Boolean select editor" ; . dash:ChangeScript a dash:ShapeClass ; rdfs:comment """Class of ADS scripts that are executed after edits to the data graph were made, but within the same edit. These scripts may access the current changes from the graphs with names dataset.addedGraphURI and dataset.deletedGraphURI to learn about which resource values have been added or deleted. For example query them using graph.withDataGraph(dataset.addedGraphURI, ...) or via SPARQL's GRAPH keyword. Change scripts may then perform further changes which would again become visible to other change scripts. They MUST NOT have other side effects though, because they may get executed in Preview mode, or the change may cause constraint violations and then be rejected. For side effects, after the change has been applied, use commit scripts (dash:CommitScript). Change scripts are executed by their relative sh:order, with a default value of 0. Use lower values to execute before other scripts.""" ; rdfs:label "Change script" ; rdfs:subClassOf dash:Script ; . dash:ClosedByTypesConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component that can be used to declare that focus nodes are \"closed\" based on their rdf:types, meaning that focus nodes may only have values for the properties that are explicitly enumerated via sh:property/sh:path in property constraints at their rdf:types and the superclasses of those. This assumes that the type classes are also shapes." ; rdfs:label "Closed by types constraint component" ; sh:nodeValidator [ a sh:SPARQLSelectValidator ; sh:message "Property {?path} is not among those permitted for any of the types" ; sh:prefixes ; sh:select """SELECT $this (?predicate AS ?path) ?value WHERE { FILTER ($closedByTypes) . $this ?predicate ?value . FILTER (?predicate != rdf:type) . FILTER NOT EXISTS { $this rdf:type ?type . ?type rdfs:subClassOf* ?class . GRAPH $shapesGraph { ?class sh:property/sh:path ?predicate . } } }""" ; ] ; sh:parameter dash:ClosedByTypesConstraintComponent-closedByTypes ; . dash:ClosedByTypesConstraintComponent-closedByTypes a sh:Parameter ; sh:path dash:closedByTypes ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:boolean ; sh:description "True to indicate that the focus nodes are closed by their types. A constraint violation is reported for each property value of the focus node where the property is not among those that are explicitly declared via sh:property/sh:path in any of the rdf:types of the focus node (and their superclasses). The property rdf:type is always permitted." ; sh:maxCount 1 ; . dash:CoExistsWithConstraintComponent a sh:ConstraintComponent ; dash:localConstraint true ; rdfs:comment "A constraint component that can be used to express a constraint on property shapes so that if the property path has any value then the given property must also have a value, and vice versa." ; rdfs:label "Co-exists-with constraint component" ; sh:message "Values must co-exist with values of {$coExistsWith}" ; sh:parameter dash:CoExistsWithConstraintComponent-coExistsWith ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """SELECT $this WHERE { { FILTER (EXISTS { $this $PATH ?any } && NOT EXISTS { $this $coExistsWith ?any }) } UNION { FILTER (NOT EXISTS { $this $PATH ?any } && EXISTS { $this $coExistsWith ?any }) } }""" ; ] ; . dash:CoExistsWithConstraintComponent-coExistsWith a sh:Parameter ; sh:path dash:coExistsWith ; dash:editor dash:PropertyAutoCompleteEditor ; dash:reifiableBy dash:ConstraintReificationShape ; dash:viewer dash:PropertyLabelViewer ; sh:description "The properties that must co-exist with the surrounding property (path). If the surrounding property path has any value then the given property must also have a value, and vice versa." ; sh:name "co-exists with" ; sh:nodeKind sh:IRI ; . dash:CommitScript a dash:ShapeClass ; rdfs:comment """Class of ADS scripts that are executed after edits to the data graph were made and have been committed. These scripts may access the changes that have just happened from the graphs with names dataset.addedGraphURI and dataset.deletedGraphURI to learn about which resource values have been added or deleted. For example query them using graph.withDataGraph(dataset.addedGraphURI, ...) or via SPARQL's GRAPH keyword. Commit scripts may then perform side effects such as updating other graphs or sending out notifications to external systems. For edits that should be made within a finishing change, use change scripts (dash:ChangeScript). Commit scripts are executed by their relative sh:order, with a default value of 0. Use lower values to execute before other scripts.""" ; rdfs:label "Commit script" ; rdfs:subClassOf dash:Script ; . dash:ConstraintReificationShape a sh:NodeShape ; rdfs:comment "Can be used to attach sh:severity and sh:messages to individual constraints using reification." ; rdfs:label "Constraint reification shape" ; sh:property dash:ConstraintReificationShape-message ; sh:property dash:ConstraintReificationShape-severity ; . dash:ConstraintReificationShape-message a sh:PropertyShape ; sh:path sh:message ; dash:singleLine true ; sh:name "messages" ; sh:nodeKind sh:Literal ; sh:or dash:StringOrLangString ; . dash:ConstraintReificationShape-severity a sh:PropertyShape ; sh:path sh:severity ; sh:class sh:Severity ; sh:maxCount 1 ; sh:name "severity" ; sh:nodeKind sh:IRI ; . dash:Constructor a dash:ShapeClass ; rdfs:comment """A script that is executed when a new instance of the class associated via dash:constructor is created, e.g. from a New button. Such scripts typically declare one or more parameters that are collected from the user when the script starts. The values of these parameters can be used as named variables in the script for arbitrary purposes such as setting the URI or initializing some property values of the new instance. The variable focusNode will hold the named node of the selected type, for example when a constructor is associated with a superclass but the user has pressed New for a subclass. The last expression of the script will be used as result of the constructor, so that the surrounding tool knows which resource shall be navigated to next.""" ; rdfs:label "Constructor" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf sh:Parameterizable ; . dash:DateOrDateTime a rdf:List ; rdf:first [ sh:datatype xsd:date ; ] ; rdf:rest ( [ sh:datatype xsd:dateTime ; ] ) ; rdfs:comment "An rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either xsd:date or xsd:dateTime." ; rdfs:label "Date or date time" ; . dash:DatePickerEditor a dash:SingleEditor ; rdfs:comment "An editor for xsd:date literals, offering a calendar-like date picker." ; rdfs:label "Date picker editor" ; . dash:DateTimePickerEditor a dash:SingleEditor ; rdfs:comment "An editor for xsd:dateTime literals, offering a calendar-like date picker and a time selector." ; rdfs:label "Date time picker editor" ; . dash:DepictionRole a dash:PropertyRole ; rdfs:comment "Depiction properties provide images representing the focus nodes. Typical examples may be a photo of an animal or the map of a country." ; rdfs:label "Depiction" ; . dash:Deprecated a dash:APIStatus ; rdfs:comment "Features that have been marked deprecated will remain in the API but should no longer be used by new code and may get deleted in the foreseeable future (e.g., with the next major release)." ; rdfs:label "deprecated" ; . dash:DescriptionRole a dash:PropertyRole ; rdfs:comment "Description properties should produce text literals that may be used as an introduction/summary of what a focus node does." ; rdfs:label "Description" ; . dash:DetailsEditor a dash:SingleEditor ; rdfs:comment "An editor for non-literal values, typically displaying a nested form where the values of the linked resource can be edited directly on the \"parent\" form. Implementations that do not support this (yet) could fall back to an auto-complete widget." ; rdfs:label "Details editor" ; . dash:DetailsViewer a dash:SingleViewer ; rdfs:comment "A Viewer for resources that shows the details of the value using its default view shape as a nested form-like display." ; rdfs:label "Details viewer" ; . dash:Editor a dash:ShapeClass ; dash:abstract true ; rdfs:comment "The class of widgets for editing value nodes." ; rdfs:label "Editor" ; rdfs:subClassOf dash:Widget ; . dash:EnumSelectEditor a dash:SingleEditor ; rdfs:comment "A drop-down editor for enumerated values (typically based on sh:in lists)." ; rdfs:label "Enum select editor" ; . dash:Experimental a dash:APIStatus ; rdfs:comment "Features that are marked experimental can be used by early adopters but there is no guarantee that they will reach stable state." ; rdfs:label "experimental" ; . dash:ExploreAction a dash:ShapeClass ; rdfs:comment "An action typically showing up in an Explore section of a selected resource. Cannot make changes to the data." ; rdfs:label "Explore action" ; rdfs:subClassOf dash:ResourceAction ; . dash:FailureResult a rdfs:Class ; rdfs:comment "A result representing a validation failure such as an unsupported recursion." ; rdfs:label "Failure result" ; rdfs:subClassOf sh:AbstractResult ; . dash:FailureTestCaseResult a rdfs:Class ; rdfs:comment "Represents a failure of a test case." ; rdfs:label "Failure test case result" ; rdfs:subClassOf dash:TestCaseResult ; . dash:FunctionTestCase a dash:ShapeClass ; rdfs:comment "A test case that verifies that a given SPARQL expression produces a given, expected result." ; rdfs:label "Function test case" ; rdfs:subClassOf dash:TestCase ; . dash:GraphService a dash:ShapeClass ; rdfs:comment "A service that does not apply to a specific resource (as ResourceService does) but operates on the whole graph. The focusNode variable will be the URI of the current base graph (e.g. as a NamedNode." ; rdfs:label "Graph service" ; rdfs:subClassOf dash:Service ; . dash:GraphStoreTestCase a dash:ShapeClass ; rdfs:comment "A test case that can be used to verify that an RDF file could be loaded (from a file) and that the resulting RDF graph is equivalent to a given TTL file." ; rdfs:label "Graph store test case" ; rdfs:subClassOf dash:TestCase ; . dash:GraphUpdate a rdfs:Class ; rdfs:comment "A suggestion consisting of added and/or deleted triples, represented as rdf:Statements via dash:addedTriple and dash:deletedTriple." ; rdfs:label "Graph update" ; rdfs:subClassOf dash:Suggestion ; . dash:GraphValidationTestCase a dash:ShapeClass ; rdfs:comment "A test case that performs SHACL constraint validation on the whole graph and compares the results with the expected validation results stored with the test case. By default this excludes meta-validation (i.e. the validation of the shape definitions themselves). If that's desired, set dash:validateShapes to true." ; rdfs:label "Graph validation test case" ; rdfs:subClassOf dash:ValidationTestCase ; . dash:HTMLOrStringOrLangString a rdf:List ; rdf:first [ sh:datatype rdf:HTML ; ] ; rdf:rest ( [ sh:datatype xsd:string ; ] [ sh:datatype rdf:langString ; ] ) ; rdfs:comment "An rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either rdf:HTML, xsd:string or rdf:langString (in that order of preference)." ; rdfs:label "HTML or string or langString" ; . dash:HTMLViewer a dash:SingleViewer ; rdfs:comment "A Viewer for HTML encoded text from rdf:HTML literals, rendering as parsed HTML DOM elements. Also displays the language if the HTML has a lang attribute on its root DOM element." ; rdfs:label "HTML viewer" ; . dash:HasValueInConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component that can be used to express a constraint on property shapes so that one of the values of the property path must be a member of a given list of nodes." ; rdfs:label "Has value in constraint component" ; sh:message "At least one of the values must be in {$hasValueIn}" ; sh:parameter dash:HasValueInConstraintComponent-hasValueIn ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """SELECT $this WHERE { FILTER NOT EXISTS { $this $PATH ?value . GRAPH $shapesGraph { $hasValueIn rdf:rest*/rdf:first ?value . } } }""" ; ] ; . dash:HasValueInConstraintComponent-hasValueIn a sh:Parameter ; sh:path dash:hasValueIn ; dash:reifiableBy dash:ConstraintReificationShape ; sh:description "At least one of the value nodes must be a member of the given list." ; sh:name "has value in" ; sh:node dash:ListShape ; . dash:HasValueTarget a sh:SPARQLTargetType ; rdfs:comment "A target type for all subjects where a given predicate has a certain object value." ; rdfs:label "Has Value target" ; rdfs:subClassOf sh:Target ; sh:labelTemplate "All subjects where {$predicate} has value {$object}" ; sh:parameter [ a sh:Parameter ; sh:path dash:object ; sh:description "The value that is expected to be present." ; sh:name "object" ; ] ; sh:parameter [ a sh:Parameter ; sh:path dash:predicate ; sh:description "The predicate property." ; sh:name "predicate" ; sh:nodeKind sh:IRI ; ] ; sh:prefixes ; sh:select """SELECT DISTINCT ?this WHERE { ?this $predicate $object . }""" ; . dash:HasValueWithClassConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component that can be used to express a constraint on property shapes so that one of the values of the property path must be an instance of a given class." ; rdfs:label "Has value with class constraint component" ; sh:message "At least one of the values must be an instance of class {$hasValueWithClass}" ; sh:parameter dash:HasValueWithClassConstraintComponent-hasValueWithClass ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """SELECT $this WHERE { FILTER NOT EXISTS { $this $PATH ?value . ?value a ?type . ?type rdfs:subClassOf* $hasValueWithClass . } }""" ; ] ; . dash:HasValueWithClassConstraintComponent-hasValueWithClass a sh:Parameter ; sh:path dash:hasValueWithClass ; dash:reifiableBy dash:ConstraintReificationShape ; sh:class rdfs:Class ; sh:description "One of the values of the property path must be an instance of the given class." ; sh:name "has value with class" ; sh:nodeKind sh:IRI ; . dash:HyperlinkViewer a dash:SingleViewer ; rdfs:comment """A Viewer for literals, rendering as a hyperlink to a URL. For literals it assumes the lexical form is the URL. This is often used as default viewer for xsd:anyURI literals. Unsupported for blank nodes.""" ; rdfs:label "Hyperlink viewer" ; . dash:IDRole a dash:PropertyRole ; rdfs:comment "ID properties are short strings or other literals that identify the focus node among siblings. Examples may include social security numbers." ; rdfs:label "ID" ; . dash:IconRole a dash:PropertyRole ; rdfs:comment """Icon properties produce images that are typically small and almost square-shaped, and that may be displayed in the upper left corner of a focus node's display. Values should be xsd:string or xsd:anyURI literals or IRI nodes pointing at URLs. Those URLs should ideally be vector graphics such as .svg files. Instances of the same class often have the same icon, and this icon may be computed using a sh:values rule or as sh:defaultValue. If the value is a relative URL then those should be resolved against the server that delivered the surrounding page.""" ; rdfs:label "Icon" ; . dash:ImageViewer a dash:SingleViewer ; rdfs:comment "A Viewer for URI values that are recognized as images by a browser, rendering as an image." ; rdfs:label "Image viewer" ; . dash:IncludedScript a dash:ShapeClass ; rdfs:comment """The code associated with instances of this class will get injected into the generated APIs, as global code snippets. Typically used to declare libraries of utility functions or constants that are (compared to shape scripts) not necessarily associated with specific classes or shapes. Note that the JavaScript code stored in dash:js cannot use the export keyword because the code must also work in external scripts (such as on Node.js). Instead, you need to enumerate the exported symbols via dash:exports.""" ; rdfs:label "Included script" ; rdfs:subClassOf dash:Script ; . dash:IndexedConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component that can be used to mark property shapes to be indexed, meaning that each of its value nodes must carry a dash:index from 0 to N." ; rdfs:label "Indexed constraint component" ; sh:parameter dash:IndexedConstraintComponent-indexed ; . dash:IndexedConstraintComponent-indexed a sh:Parameter ; sh:path dash:indexed ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:boolean ; sh:description "True to activate indexing for this property." ; sh:maxCount 1 ; sh:name "indexed" ; . dash:InferencingTestCase a dash:ShapeClass ; rdfs:comment "A test case to verify whether an inferencing engine is producing identical results to those stored as expected results." ; rdfs:label "Inferencing test case" ; rdfs:subClassOf dash:TestCase ; . dash:InlineViewer a dash:MultiViewer ; rdfs:comment "A multi-viewer that renders all values horizontally, in a more compact form that just a single value per row." ; rdfs:label "Inline viewer" ; . dash:InstancesSelectEditor a dash:SingleEditor ; rdfs:comment "A drop-down editor for all instances of the target class (based on sh:class of the property)." ; rdfs:label "Instances select editor" ; . dash:JSONTableViewer a dash:SingleViewer ; rdfs:comment """A tabular viewer for rdf:JSON literals with a lexical form in the following format: { vars: [ 'col1', 'col2' ], // These are the column keys headerLabels: [ 'Column 1', 'Column 2' ], // Optional, for the column headers bindings: [ // These become the rows { col1: { lex: 'Value2', datatype: '...#string', }, col2: { uri: 'http://.../Instance', label: 'Example Instance', }, }, ... ], } The resulting table will use the headerLabels (if they exist) as column headers, otherwise derive the headers from the variable names. The vars must match the fields in the bindings. The table will contain one row for each binding. Using Active Data Shapes, you can construct such literals dynamically using a sh:values rule, e.g. ex:MyClass-myProperty a sh:PropertyShape ; sh:path ex:myProperty ; sh:values [ dash:js ""\" DataViewers.createTableViewerJSON(focusNode.select(` SELECT ?col1 ?col2 WHERE { $this ex:prop1 ?col1 . $this ex:prop2 ?col2 . } `))""\" ] . You may also produce the JSON literal programmatically in JavaScript, or assert the triples by other means.""" ; rdfs:label "JSON table viewer" ; . dash:KeyInfoRole a dash:PropertyRole ; rdfs:comment "The Key info role may be assigned to properties that are likely of special interest to a reader, so that they should appear whenever a summary of a focus node is shown." ; rdfs:label "Key info" ; . dash:LabelRole a dash:PropertyRole ; rdfs:comment "Properties with this role produce strings that may serve as display label for the focus nodes. Labels should be either plain string literals or strings with a language tag. The values should also be single-line." ; rdfs:label "Label" ; . dash:LabelViewer a dash:SingleViewer ; rdfs:comment "A Viewer for URI resources, rendering as a hyperlink to that URI based on the display label of the resource. Also includes other ways of interacting with the URI such as opening a nested summary display." ; rdfs:label "Label viewer" ; . dash:LangStringViewer a dash:SingleViewer ; rdfs:comment "A Viewer for literals with a language tag, rendering as the text plus a language indicator." ; rdfs:label "LangString viewer" ; . dash:ListNodeShape a sh:NodeShape ; rdfs:comment "Defines constraints on what it means for a node to be a node within a well-formed RDF list. Note that this does not check whether the rdf:rest items are also well-formed lists as this would lead to unsupported recursion." ; rdfs:label "List node shape" ; sh:or ( [ sh:hasValue () ; sh:property [ a sh:PropertyShape ; sh:path rdf:first ; sh:maxCount 0 ; ] ; sh:property [ a sh:PropertyShape ; sh:path rdf:rest ; sh:maxCount 0 ; ] ; ] [ sh:not [ sh:hasValue () ; ] ; sh:property [ a sh:PropertyShape ; sh:path rdf:first ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ a sh:PropertyShape ; sh:path rdf:rest ; sh:maxCount 1 ; sh:minCount 1 ; ] ; ] ) ; . dash:ListShape a sh:NodeShape ; rdfs:comment """Defines constraints on what it means for a node to be a well-formed RDF list. The focus node must either be rdf:nil or not recursive. Furthermore, this shape uses dash:ListNodeShape as a "helper" to walk through all members of the whole list (including itself).""" ; rdfs:label "List shape" ; sh:or ( [ sh:hasValue () ; ] [ sh:not [ sh:hasValue () ; ] ; sh:property [ a sh:PropertyShape ; sh:path [ sh:oneOrMorePath rdf:rest ; ] ; dash:nonRecursive true ; ] ; ] ) ; sh:property [ a sh:PropertyShape ; sh:path [ sh:zeroOrMorePath rdf:rest ; ] ; rdfs:comment "Each list member (including this node) must be have the shape dash:ListNodeShape." ; sh:node dash:ListNodeShape ; ] ; . dash:LiteralViewer a dash:SingleViewer ; rdfs:comment "A simple viewer for literals, rendering the lexical form of the value." ; rdfs:label "Literal viewer" ; . dash:ModifyAction a dash:ShapeClass ; rdfs:comment "An action typically showing up in a Modify section of a selected resource. May make changes to the data." ; rdfs:label "Modify action" ; rdfs:subClassOf dash:ResourceAction ; . dash:MultiEditor a dash:ShapeClass ; rdfs:comment "An editor for multiple/all value nodes at once." ; rdfs:label "Multi editor" ; rdfs:subClassOf dash:Editor ; . dash:MultiFunction a rdfs:Class ; a sh:NodeShape ; rdfs:comment """A multi-function is a function that can return zero or more result objects consisting of one or more result variables. While normal (SPARQL/SHACL) functions can only return a single result node, multi-functions may not only return multiple nodes but even multiple individual variables per solution. A common way of defining multi-functions is by wrapping a SPARQL SELECT query, using dash:SPARQLMultiFunction. However, some MultiFunctions (in TopBraid) may also be implemented natively.""" ; rdfs:label "Multi-function" ; rdfs:subClassOf sh:Parameterizable ; sh:nodeKind sh:IRI ; . dash:MultiViewer a dash:ShapeClass ; rdfs:comment "A viewer for multiple/all values at once." ; rdfs:label "Multi viewer" ; rdfs:subClassOf dash:Viewer ; . dash:NoSuitableEditor a dash:SingleEditor ; rdfs:comment "An \"editor\" that simply informs the user that the values cannot be edited here, but for example through source code editing." ; rdfs:label "No suitable editor" ; . dash:NodeExpressionViewer a dash:SingleViewer ; rdfs:comment "A viewer for SHACL Node Expressions."^^rdf:HTML ; rdfs:label "Node expression viewer" ; . dash:NonRecursiveConstraintComponent a sh:ConstraintComponent ; rdfs:comment "Used to state that a property or path must not point back to itself." ; rdfs:label "Non-recursive constraint component" ; sh:message "Points back at itself (recursively)" ; sh:parameter dash:NonRecursiveConstraintComponent-nonRecursive ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """SELECT DISTINCT $this ($this AS ?value) WHERE { { FILTER (?nonRecursive) } $this $PATH $this . }""" ; ] ; . dash:NonRecursiveConstraintComponent-nonRecursive a sh:Parameter ; sh:path dash:nonRecursive ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:boolean ; sh:description """Used to state that a property or path must not point back to itself. For example, "a person cannot have itself as parent" can be expressed by setting dash:nonRecursive=true for a given sh:path. To express that a person cannot have itself among any of its (recursive) parents, use a sh:path with the + operator such as ex:parent+.""" ; sh:maxCount 1 ; sh:name "non-recursive" ; . dash:None a sh:NodeShape ; rdfs:comment "A Shape that is no node can conform to." ; rdfs:label "None" ; sh:in () ; . dash:ParameterConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component that can be used to verify that all value nodes conform to the given Parameter."@en ; rdfs:label "Parameter constraint component"@en ; sh:parameter dash:ParameterConstraintComponent-parameter ; . dash:ParameterConstraintComponent-parameter a sh:Parameter ; sh:path sh:parameter ; . dash:PrimaryKeyConstraintComponent a sh:ConstraintComponent ; dash:localConstraint true ; rdfs:comment "Enforces a constraint that the given property (sh:path) serves as primary key for all resources in the target of the shape. If a property has been declared to be the primary key then each resource must have exactly one value for that property. Furthermore, the URIs of those resources must start with a given string (dash:uriStart), followed by the URL-encoded primary key value. For example if dash:uriStart is \"http://example.org/country-\" and the primary key for an instance is \"de\" then the URI must be \"http://example.org/country-de\". Finally, as a result of the URI policy, there can not be any other resource with the same value under the same primary key policy." ; rdfs:label "Primary key constraint component" ; sh:labelTemplate "The property {?predicate} is the primary key and URIs start with {?uriStart}" ; sh:message "Violation of primary key constraint" ; sh:parameter dash:PrimaryKeyConstraintComponent-uriStart ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """SELECT DISTINCT $this WHERE { FILTER ( # Must have a value for the primary key NOT EXISTS { ?this $PATH ?any } || # Must have no more than one value for the primary key EXISTS { ?this $PATH ?value1 . ?this $PATH ?value2 . FILTER (?value1 != ?value2) . } || # The value of the primary key must align with the derived URI EXISTS { { ?this $PATH ?value . FILTER NOT EXISTS { ?this $PATH ?value2 . FILTER (?value != ?value2) } } BIND (CONCAT($uriStart, ENCODE_FOR_URI(str(?value))) AS ?uri) . FILTER (str(?this) != ?uri) . } ) }""" ; ] ; . dash:PrimaryKeyConstraintComponent-uriStart a sh:Parameter ; sh:path dash:uriStart ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:string ; sh:description "The start of the URIs of well-formed resources. If specified then the associated property/path serves as \"primary key\" for all target nodes (instances). All such target nodes need to have a URI that starts with the given string, followed by the URI-encoded value of the primary key property." ; sh:maxCount 1 ; sh:name "URI start" ; . dash:PropertyAutoCompleteEditor a dash:SingleEditor ; rdfs:comment "An editor for properties that are either defined as instances of rdf:Property or used as IRI values of sh:path. The component uses auto-complete to find these properties by their rdfs:labels or sh:names." ; rdfs:label "Property auto-complete editor" ; . dash:PropertyLabelViewer a dash:SingleViewer ; rdfs:comment "A viewer for properties that renders a hyperlink using the display label or sh:name, allowing users to either navigate to the rdf:Property resource or the property shape definition. Should be used in conjunction with PropertyAutoCompleteEditor." ; rdfs:label "Property label viewer" ; . dash:PropertyRole a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The class of roles that a property (shape) may take for its focus nodes." ; rdfs:label "Property role" ; rdfs:subClassOf rdfs:Resource ; . dash:QueryTestCase a dash:ShapeClass ; rdfs:comment "A test case running a given SPARQL SELECT query and comparing its results with those stored as JSON Result Set in the expected result property." ; rdfs:label "Query test case" ; rdfs:subClassOf dash:TestCase ; rdfs:subClassOf sh:SPARQLSelectExecutable ; . dash:ReifiableByConstraintComponent a sh:ConstraintComponent ; rdfs:label "Reifiable-by constraint component" ; sh:labelTemplate "Reifiable by {$reifiableBy}" ; sh:parameter dash:ReifiableByConstraintComponent-reifiableBy ; . dash:ReifiableByConstraintComponent-reifiableBy a sh:Parameter ; sh:path dash:reifiableBy ; sh:class sh:NodeShape ; sh:description "Can be used to specify the node shape that may be applied to reified statements produced by a property shape. The property shape must have a URI resource as its sh:path. The values of this property must be node shapes. User interfaces can use this information to determine which properties to present to users when reified statements are explored or edited. Also, SHACL validators can use it to determine how to validate reified triples. Use dash:None to indicate that no reification should be permitted." ; sh:maxCount 1 ; sh:name "reifiable by" ; sh:nodeKind sh:IRI ; . dash:ResourceAction a dash:ShapeClass ; dash:abstract true ; rdfs:comment "An Action that can be executed for a selected resource. Such Actions show up in context menus once they have been assigned a sh:group." ; rdfs:label "Resource action" ; rdfs:subClassOf dash:Action ; . dash:ResourceService a dash:ShapeClass ; rdfs:comment "A Service that can (and must) be applied to a given resource as focus node. Use dash:resourceService to link a class to the services that apply to its instances." ; rdfs:label "Resource service" ; rdfs:subClassOf dash:Service ; . dash:RichTextEditor a dash:SingleEditor ; rdfs:comment "A rich text editor to enter the lexical value of a literal and a drop down to select language. The selected language is stored in the HTML lang attribute of the root node in the HTML DOM tree." ; rdfs:label "Rich text editor" ; . dash:RootClassConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component defining the parameter dash:rootClass, which restricts the values to be either the root class itself or one of its subclasses. This is typically used in conjunction with properties that have rdfs:Class as their type." ; rdfs:label "Root class constraint component" ; sh:labelTemplate "Root class {$rootClass}" ; sh:message "Value must be subclass of {$rootClass}" ; sh:parameter dash:RootClassConstraintComponent-rootClass ; sh:validator dash:hasRootClass ; . dash:RootClassConstraintComponent-rootClass a sh:Parameter ; sh:path dash:rootClass ; dash:reifiableBy dash:ConstraintReificationShape ; sh:class rdfs:Class ; sh:description "The root class." ; sh:name "root class" ; sh:nodeKind sh:IRI ; . dash:SPARQLConstructTemplate a rdfs:Class ; rdfs:comment "Encapsulates one or more SPARQL CONSTRUCT queries that can be parameterized. Parameters will become pre-bound variables in the queries." ; rdfs:label "SPARQL CONSTRUCT template" ; rdfs:subClassOf sh:Parameterizable ; rdfs:subClassOf sh:SPARQLConstructExecutable ; . dash:SPARQLMultiFunction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A multi-function based on a SPARQL SELECT query. The query gets executed with the arguments pre-bound to the variables declared as parameters. The results of the multi-function are all result bindings from the SPARQL result set." ; rdfs:label "SPARQL multi-function" ; rdfs:subClassOf dash:MultiFunction ; rdfs:subClassOf sh:SPARQLSelectExecutable ; . dash:SPARQLSelectTemplate a rdfs:Class ; rdfs:comment "Encapsulates a SPARQL SELECT query that can be parameterized. Parameters will become pre-bound variables in the query." ; rdfs:label "SPARQL SELECT template" ; rdfs:subClassOf sh:Parameterizable ; rdfs:subClassOf sh:SPARQLSelectExecutable ; . dash:SPARQLUpdateSuggestionGenerator a rdfs:Class ; rdfs:comment """A SuggestionGenerator based on a SPARQL UPDATE query (sh:update), producing an instance of dash:GraphUpdate. The INSERTs become dash:addedTriple and the DELETEs become dash:deletedTriple. The WHERE clause operates on the data graph with the pre-bound variables $focusNode, $predicate and $value, as well as the other pre-bound variables for the parameters of the constraint. In many cases, there may be multiple possible suggestions to fix a problem. For example, with sh:maxLength there are many ways to slice a string. In those cases, the system will first iterate through the result variables from a SELECT query (sh:select) and apply these results as pre-bound variables into the UPDATE query.""" ; rdfs:label "SPARQL UPDATE suggestion generator" ; rdfs:subClassOf dash:SuggestionGenerator ; rdfs:subClassOf sh:SPARQLSelectExecutable ; rdfs:subClassOf sh:SPARQLUpdateExecutable ; . dash:Script a dash:ShapeClass ; rdfs:comment "An executable unit implemented in one or more languages such as JavaScript." ; rdfs:label "Script" ; rdfs:subClassOf rdfs:Resource ; . dash:ScriptAPIGenerationRules a sh:PropertyGroup ; rdfs:label "Script API Generation Rules" ; . dash:ScriptAPIShape a sh:NodeShape ; rdfs:comment "Defines the properties that instruct the ADS Script API generator about what prefixes, constants and classes to generate." ; rdfs:label "Script API" ; sh:property dash:ScriptAPIShape-generateClass ; sh:property dash:ScriptAPIShape-generatePrefixClasses ; sh:property dash:ScriptAPIShape-generatePrefixConstants ; sh:targetClass owl:Ontology ; . dash:ScriptAPIShape-generateClass a sh:PropertyShape ; sh:path dash:generateClass ; sh:class sh:NodeShape ; sh:description "The API generator will produce classes for each value of this property and all its subclasses and superclasses." ; sh:group dash:ScriptAPIGenerationRules ; sh:name "generate class" ; sh:nodeKind sh:IRI ; sh:order "0"^^xsd:decimal ; . dash:ScriptAPIShape-generatePrefixClasses a sh:PropertyShape ; sh:path dash:generatePrefixClasses ; sh:datatype xsd:string ; sh:description "If a prefix (such as \"edg\") is listed here then the API generator will produce classes for all RDFS classes or node shapes from the associated namespace." ; sh:group dash:ScriptAPIGenerationRules ; sh:name "generate prefix classes" ; sh:order "15"^^xsd:decimal ; . dash:ScriptAPIShape-generatePrefixConstants a sh:PropertyShape ; sh:path dash:generatePrefixConstants ; sh:datatype xsd:string ; sh:description "If a prefix (such as \"edg\") is listed here then the API generator will produce constants for class, datatype, shape and property names." ; sh:group dash:ScriptAPIGenerationRules ; sh:name "generate prefix constants" ; sh:order "10"^^xsd:decimal ; . dash:ScriptConstraint a dash:ShapeClass ; rdfs:comment """The class of constraints that are based on Scripts. Depending on whether dash:onAllValues is set to true, these scripts can access the following pre-assigned variables: - focusNode: the focus node of the constraint (a NamedNode) - if dash:onAllValues is not true: value: the current value node (e.g. a JavaScript string for xsd:string literals, a number for numeric literals or true or false for xsd:boolean literals. All other literals become LiteralNodes, and non-literals become instances of NamedNode) - if dash:onAllValues is true: values: an array of current value nodes, as above. If the expression returns an array then each array member will be mapped to one validation result, following the mapping rules below. For string results, a validation result will use the string as sh:resultMessage. For boolean results, a validation result will be produced if the result is false (true means no violation). For object results, a validation result will be produced using the value of the field "message" of the object as result message. If the field "value" has a value then this will become the sh:value in the violation. Unless another sh:message has been directly returned, the sh:message of the dash:ScriptConstraint will be used, similar to sh:message at SPARQL Constraints. These sh:messages can access the values {$focusNode}, {$value} etc as template variables.""" ; rdfs:label "Script constraint" ; rdfs:subClassOf dash:Script ; . dash:ScriptConstraintComponent a sh:ConstraintComponent ; rdfs:label "Script constraint component" ; sh:parameter dash:ScriptConstraintComponent-scriptConstraint ; . dash:ScriptConstraintComponent-scriptConstraint a sh:Parameter ; sh:path dash:scriptConstraint ; sh:class dash:ScriptConstraint ; sh:description "The Script constraint(s) to apply." ; sh:name "script constraint" ; . dash:ScriptFunction a rdfs:Class ; a sh:NodeShape ; rdfs:comment """Script functions can be used from SPARQL queries and will be injected into the generated prefix object (in JavaScript, for ADS scripts). The dash:js will be inserted into a generated JavaScript function and therefore needs to use the return keyword to produce results. These JS snippets can access the parameter values based on the local name of the sh:Parameter's path. For example ex:value can be accessed using value. SPARQL use note: Since these functions may be used from any data graph and any shapes graph, they must not rely on any API apart from what's available in the shapes graph that holds the rdf:type triple of the function itself. In other words, at execution time from SPARQL, the ADS shapes graph will be the home graph of the function's declaration.""" ; rdfs:label "Script function" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf sh:Function ; . dash:ScriptSuggestionGenerator a dash:ShapeClass ; rdfs:comment """A Suggestion Generator that is backed by an Active Data Shapes script. The script needs to return a JSON object or an array of JSON objects if it shall generate multiple suggestions. It may also return null to indicate that nothing was suggested. Note that the whole script is evaluated as a (JavaScript) expression, and those will use the last value as result. So simply putting an object at the end of your script should do. Alternatively, define the bulk of the operation as a function and simply call that function in the script. Each response object can have the following fields: { message: "The human readable message", // Defaults to the rdfs:label(s) of the suggestion generator add: [ // An array of triples to add, each triple as an array with three nodes [ subject, predicate, object ], [ ... ] ], delete: [ ... like add, for the triples to delete ] } Suggestions with neither added nor deleted triples will be discarded. At execution time, the script operates on the data graph as the active graph, with the following pre-bound variables: - focusNode: the NamedNode that is the sh:focusNode of the validation result - predicate: the NamedNode representing the predicate of the validation result, assuming sh:resultPath is a URI - value: the value node from the validation result's sh:value, cast into the most suitable JS object - the other pre-bound variables for the parameters of the constraint, e.g. in a sh:maxCount constraint it would be maxCount The script will be executed in read-only mode, i.e. it cannot modify the graph. Example with dash:js: ({ message: `Copy labels into ${graph.localName(predicate)}`, add: focusNode.values(rdfs.label).map(label => [ focusNode, predicate, label ] ) })""" ; rdfs:label "Script suggestion generator" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf dash:SuggestionGenerator ; . dash:ScriptTestCase a dash:ShapeClass ; rdfs:comment """A test case that evaluates a script. Requires exactly one value for dash:js and will operate on the test case's graph (with imports) as both data and shapes graph. Supports read-only scripts only at this stage.""" ; rdfs:label "Script test case" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf dash:TestCase ; . dash:ScriptValidator a dash:ShapeClass ; rdfs:comment """A SHACL validator based on an Active Data Shapes script. See the comment at dash:ScriptConstraint for the basic evaluation approach. Note that in addition to focusNode and value/values, the script can access pre-bound variables for each declared argument of the constraint component.""" ; rdfs:label "Script validator" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf sh:Validator ; . dash:Service a dash:ShapeClass ; dash:abstract true ; rdfs:comment "A script that gets exposed as a web service, e.g. /tbl/service/ex/MyService" ; rdfs:label "Service" ; rdfs:subClassOf dash:Script ; rdfs:subClassOf sh:Parameterizable ; . dash:ShapeClass a dash:ShapeClass ; dash:hidden true ; rdfs:comment "A class that is also a node shape. This class can be used as rdf:type instead of the combination of rdfs:Class and sh:NodeShape." ; rdfs:label "Shape class" ; rdfs:subClassOf rdfs:Class ; rdfs:subClassOf sh:NodeShape ; . dash:ShapeScript a rdfs:Class ; rdfs:comment "A shape script contains extra code that gets injected into the API for the associated node shape. In particular you can use this to define additional functions that operate on the current focus node (the this variable in JavaScript)." ; rdfs:label "Shape script" ; rdfs:subClassOf dash:Script ; . dash:SingleEditor a dash:ShapeClass ; rdfs:comment "An editor for individual value nodes." ; rdfs:label "Single editor" ; rdfs:subClassOf dash:Editor ; . dash:SingleLineConstraintComponent a sh:ConstraintComponent ; rdfs:comment """A constraint component that can be used to declare that all values that are literals must have a lexical form that contains no line breaks ('\\n' or '\\r'). User interfaces may use the dash:singleLine flag to prefer a text field over a (multi-line) text area.""" ; rdfs:label "Single line constraint component" ; sh:message "Must not contain line breaks." ; sh:parameter dash:SingleLineConstraintComponent-singleLine ; sh:validator [ a sh:SPARQLAskValidator ; sh:ask """ASK { FILTER (!$singleLine || !isLiteral($value) || (!contains(str($value), '\\n') && !contains(str($value), '\\r'))) }""" ; sh:prefixes ; ] ; . dash:SingleLineConstraintComponent-singleLine a sh:Parameter ; sh:path dash:singleLine ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:boolean ; sh:description "True to state that the lexical form of literal value nodes must not contain any line breaks. False to state that line breaks are explicitly permitted." ; sh:maxCount 1 ; sh:name "single line" ; . dash:SingleViewer a dash:ShapeClass ; rdfs:comment "A viewer for a single value." ; rdfs:label "Single viewer" ; rdfs:subClassOf dash:Viewer ; . dash:Stable a dash:APIStatus ; rdfs:comment "Features that have been marked stable are deemed of good quality and can be used until marked deprecated." ; rdfs:label "stable" ; . dash:StemConstraintComponent a sh:ConstraintComponent ; dash:staticConstraint true ; rdfs:comment "A constraint component that can be used to verify that every value node is an IRI and the IRI starts with a given string value."@en ; rdfs:label "Stem constraint component"@en ; sh:labelTemplate "Value needs to have stem {$stem}" ; sh:message "Value does not have stem {$stem}" ; sh:parameter dash:StemConstraintComponent-stem ; sh:validator dash:hasStem ; . dash:StemConstraintComponent-stem a sh:Parameter ; sh:path dash:stem ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:string ; sh:description "If specified then every value node must be an IRI and the IRI must start with the given string value." ; sh:maxCount 1 ; sh:name "stem" ; . dash:StringOrLangString a rdf:List ; rdf:first [ sh:datatype xsd:string ; ] ; rdf:rest ( [ sh:datatype rdf:langString ; ] ) ; rdfs:comment "An rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either xsd:string or rdf:langString." ; rdfs:label "String or langString" ; . dash:StringOrLangStringOrHTML a rdf:List ; rdf:first [ sh:datatype xsd:string ; ] ; rdf:rest ( [ sh:datatype rdf:langString ; ] [ sh:datatype rdf:HTML ; ] ) ; rdfs:comment "An rdf:List that can be used in property constraints as value for sh:or to indicate that all values of a property must be either xsd:string, rdf:langString or rdf:HTML (in that order of preference)." ; rdfs:label "string or langString or HTML" ; . dash:SubClassEditor a dash:SingleEditor ; rdfs:comment "An editor for properties that declare a dash:rootClass. The editor allows selecting either the class itself or one of its subclasses." ; rdfs:label "Sub-Class editor" ; . dash:SubSetOfConstraintComponent a sh:ConstraintComponent ; dash:localConstraint true ; rdfs:comment "A constraint component that can be used to state that the set of value nodes must be a subset of the value of a given property." ; rdfs:label "Sub set of constraint component" ; sh:message "Must be one of the values of {$subSetOf}" ; sh:parameter dash:SubSetOfConstraintComponent-subSetOf ; sh:propertyValidator [ a sh:SPARQLAskValidator ; sh:ask """ASK { $this $subSetOf $value . }""" ; sh:prefixes ; ] ; . dash:SubSetOfConstraintComponent-subSetOf a sh:Parameter ; sh:path dash:subSetOf ; dash:editor dash:PropertyAutoCompleteEditor ; dash:reifiableBy dash:ConstraintReificationShape ; dash:viewer dash:PropertyLabelViewer ; sh:description "Can be used to state that all value nodes must also be values of a specified other property at the same focus node." ; sh:name "sub-set of" ; sh:nodeKind sh:IRI ; . dash:SuccessResult a rdfs:Class ; rdfs:comment "A result representing a successfully validated constraint." ; rdfs:label "Success result" ; rdfs:subClassOf sh:AbstractResult ; . dash:SuccessTestCaseResult a rdfs:Class ; rdfs:comment "Represents a successful run of a test case." ; rdfs:label "Success test case result" ; rdfs:subClassOf dash:TestCaseResult ; . dash:Suggestion a rdfs:Class ; dash:abstract true ; rdfs:comment "Base class of suggestions that modify a graph to \"fix\" the source of a validation result." ; rdfs:label "Suggestion" ; rdfs:subClassOf rdfs:Resource ; . dash:SuggestionGenerator a rdfs:Class ; dash:abstract true ; rdfs:comment "Base class of objects that can generate suggestions (added or deleted triples) for a validation result of a given constraint component." ; rdfs:label "Suggestion generator" ; rdfs:subClassOf rdfs:Resource ; . dash:SuggestionResult a rdfs:Class ; rdfs:comment "Class of results that have been produced as suggestions, not through SHACL validation. How the actual results are produced is up to implementers. Each instance of this class should have values for sh:focusNode, sh:resultMessage, sh:resultSeverity (suggested default: sh:Info), and dash:suggestion to point at one or more suggestions." ; rdfs:label "Suggestion result" ; rdfs:subClassOf sh:AbstractResult ; . dash:SymmetricConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A contraint component for property shapes to validate that a property is symmetric. For symmetric properties, if A relates to B then B must relate to A." ; rdfs:label "Symmetric constraint component" ; sh:message "Symmetric value expected" ; sh:parameter dash:SymmetricConstraintComponent-symmetric ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """SELECT $this ?value { FILTER ($symmetric) . $this $PATH ?value . FILTER NOT EXISTS { ?value $PATH $this . } }""" ; ] ; . dash:SymmetricConstraintComponent-symmetric a sh:Parameter ; sh:path dash:symmetric ; dash:reifiableBy dash:ConstraintReificationShape ; sh:datatype xsd:boolean ; sh:description "If set to true then if A relates to B then B must relate to A." ; sh:maxCount 1 ; sh:name "symmetric" ; . dash:TestCase a dash:ShapeClass ; dash:abstract true ; rdfs:comment "A test case to verify that a (SHACL-based) feature works as expected." ; rdfs:label "Test case" ; rdfs:subClassOf rdfs:Resource ; . dash:TestCaseResult a rdfs:Class ; dash:abstract true ; rdfs:comment "Base class for results produced by running test cases." ; rdfs:label "Test case result" ; rdfs:subClassOf sh:AbstractResult ; . dash:TestEnvironment a rdfs:Class ; dash:abstract true ; rdfs:comment "Abstract base class for test environments, holding information on how to set up a test case." ; rdfs:label "Test environment" ; rdfs:subClassOf rdfs:Resource ; . dash:TextAreaEditor a dash:SingleEditor ; rdfs:comment "A multi-line text area to enter the value of a literal." ; rdfs:label "Text area editor" ; . dash:TextAreaWithLangEditor a dash:SingleEditor ; rdfs:comment "A multi-line text area to enter the value of a literal and a drop down to select a language." ; rdfs:label "Text area with lang editor" ; . dash:TextFieldEditor a dash:SingleEditor ; rdfs:comment """A simple input field to enter the value of a literal, without the ability to change language or datatype. This is the fallback editor for any literal if no other editors are more suitable.""" ; rdfs:label "Text field editor" ; . dash:TextFieldWithLangEditor a dash:SingleEditor ; rdfs:comment "A single-line input field to enter the value of a literal and a drop down to select language, which is mandatory unless xsd:string is among the permissible datatypes." ; rdfs:label "Text field with lang editor" ; . dash:URIEditor a dash:SingleEditor ; rdfs:comment "An input field to enter the URI of a resource, e.g. rdfs:seeAlso links or images." ; rdfs:label "URI editor" ; . dash:URIViewer a dash:SingleViewer ; rdfs:comment "A Viewer for URI resources, rendering as a hyperlink to that URI. Also includes other ways of interacting with the URI such as opening a nested summary display." ; rdfs:label "URI viewer" ; . dash:UniqueValueForClassConstraintComponent a sh:ConstraintComponent ; rdfs:comment "A constraint component that can be used to state that the values of a property must be unique for all instances of a given class (and its subclasses)." ; rdfs:label "Unique value for class constraint component" ; sh:labelTemplate "Values must be unique among all instances of {?uniqueValueForClass}" ; sh:parameter dash:UniqueValueForClassConstraintComponent-uniqueValueForClass ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:message "Value {?value} must be unique but is also used by {?other}" ; sh:prefixes ; sh:select """SELECT DISTINCT $this ?value ?other WHERE { { $this $PATH ?value . ?other $PATH ?value . FILTER (?other != $this) . } ?other a ?type . ?type rdfs:subClassOf* $uniqueValueForClass . }""" ; ] ; . dash:UniqueValueForClassConstraintComponent-uniqueValueForClass a sh:Parameter ; sh:path dash:uniqueValueForClass ; dash:reifiableBy dash:ConstraintReificationShape ; sh:class rdfs:Class ; sh:description "States that the values of the property must be unique for all instances of a given class (and its subclasses)." ; sh:name "unique value for class" ; sh:nodeKind sh:IRI ; . dash:UntrustedHTMLViewer a dash:SingleViewer ; rdfs:comment "A Viewer for HTML content from untrusted sources. This viewer will sanitize the HTML before rendering. Any a, button, checkbox, form, hidden, input, img, script, select, style and textarea tags and class and style attributes will be removed." ; rdfs:label "Untrusted HTML viewer" ; . dash:ValidationTestCase a dash:ShapeClass ; dash:abstract true ; rdfs:comment "Abstract superclass for test cases concerning SHACL constraint validation. Future versions may add new kinds of validatin test cases, e.g. to validate a single resource only." ; rdfs:label "Validation test case" ; rdfs:subClassOf dash:TestCase ; . dash:ValueTableViewer a dash:MultiViewer ; rdfs:comment "A viewer that renders all values of a given property as a table, with one value per row, and the columns defined by the shape that is the sh:node or sh:class of the property." ; rdfs:label "Value table viewer" ; . dash:Viewer a dash:ShapeClass ; dash:abstract true ; rdfs:comment "The class of widgets for viewing value nodes." ; rdfs:label "Viewer" ; rdfs:subClassOf dash:Widget ; . dash:Widget a dash:ShapeClass ; dash:abstract true ; rdfs:comment "Base class of user interface components that can be used to display or edit value nodes." ; rdfs:label "Widget" ; rdfs:subClassOf rdfs:Resource ; . dash:abstract a rdf:Property ; rdfs:comment "Indicates that a class is \"abstract\" and cannot be used in asserted rdf:type triples. Only non-abstract subclasses of abstract classes should be instantiated directly." ; rdfs:domain rdfs:Class ; rdfs:label "abstract" ; rdfs:range xsd:boolean ; . dash:actionGroup a rdf:Property ; rdfs:comment "Links an Action with the ActionGroup that it should be arranged in." ; rdfs:domain dash:Action ; rdfs:label "action group" ; rdfs:range dash:ActionGroup ; . dash:actionIconClass a rdf:Property ; rdfs:comment "The (CSS) class of an Action for display purposes alongside the label." ; rdfs:domain dash:Action ; rdfs:label "action icon class" ; rdfs:range xsd:string ; . dash:addedTriple a rdf:Property ; rdfs:comment "May link a dash:GraphUpdate with one or more triples (represented as instances of rdf:Statement) that should be added to fix the source of the result." ; rdfs:domain dash:GraphUpdate ; rdfs:label "added triple" ; rdfs:range rdf:Statement ; . dash:all a rdfs:Resource ; rdfs:comment "Represents all users/roles, for example as a possible value of the default view for role property." ; rdfs:label "all" ; . dash:apiStatus a rdf:Property ; rdfs:comment "Defines how and whether the associated feature is part of an external API. APIs may be implemented as (REST) web services, via GraphQL or ADS Script APIs." ; rdfs:label "API status" ; rdfs:range dash:APIStatus ; . dash:applicableToClass a rdf:Property ; rdfs:comment "Can be used to state that a shape is applicable to instances of a given class. This is a softer statement than \"target class\": a target means that all instances of the class must conform to the shape. Being applicable to simply means that the shape may apply to (some) instances of the class. This information can be used by algorithms or humans." ; rdfs:domain sh:Shape ; rdfs:label "applicable to class" ; rdfs:range rdfs:Class ; . dash:cachable a rdf:Property ; rdfs:comment "If set to true then the results of the SHACL function can be cached in between invocations with the same arguments. In other words, they are stateless and do not depend on triples in any graph, or the current time stamp etc." ; rdfs:domain sh:Function ; rdfs:label "cachable" ; rdfs:range xsd:boolean ; . dash:closedByTypes a rdf:Property ; rdfs:label "closed by types" ; . dash:coExistsWith a rdf:Property ; rdfs:comment "Specifies a property that must have a value whenever the property path has a value, and must have no value whenever the property path has no value." ; rdfs:label "co-exists with" ; rdfs:range rdf:Property ; . dash:composite a rdf:Property ; rdfs:comment "Can be used to indicate that a property/path represented by a property constraint represents a composite relationship. In a composite relationship, the life cycle of a \"child\" object (value of the property/path) depends on the \"parent\" object (focus node). If the parent gets deleted, then the child objects should be deleted, too. Tools may use dash:composite (if set to true) to implement cascading delete operations." ; rdfs:domain sh:PropertyShape ; rdfs:label "composite" ; rdfs:range xsd:boolean ; . dash:contextFree a rdf:Property ; rdfs:comment "Used to mark certain parameterizables as context-free, meaning that the outcome of a process does not depend on the currently active query graph." ; rdfs:label "context-free" ; rdfs:range xsd:boolean ; . dash:defaultLang a rdf:Property ; rdfs:comment "Can be used to annotate a graph (usually the owl:Ontology) with the default language that tools should suggest for new literal values. For example, predominantly English graphs should have \"en\" as default language." ; rdfs:domain owl:Ontology ; rdfs:label "default language" ; rdfs:range xsd:string ; . dash:defaultViewForRole a rdf:Property ; rdfs:comment "Links a node shape with the roles for which it shall be used as default view. User interfaces can use these values to select how to present a given RDF resource. The values of this property are URIs representing a group of users or agents. There is a dedicated URI dash:all representing all users." ; rdfs:domain sh:NodeShape ; rdfs:label "default view for role" ; . dash:deletedTriple a rdf:Property ; rdfs:comment "May link a dash:GraphUpdate result with one or more triples (represented as instances of rdf:Statement) that should be deleted to fix the source of the result." ; rdfs:domain dash:GraphUpdate ; rdfs:label "deleted triple" ; rdfs:range rdf:Statement ; . dash:dependencyPredicate a rdf:Property ; rdfs:comment "Can be used in dash:js node expressions to enumerate the predicates that the computation of the values may depend on. This can be used by clients to determine whether an edit requires re-computation of values on a form or elsewhere. For example, if the dash:js is something like \"focusNode.firstName + focusNode.lastName\" then the dependency predicates should be ex:firstName and ex:lastName." ; rdfs:label "dependency predicate" ; rdfs:range rdf:Property ; . dash:detailsEndpoint a rdf:Property ; rdfs:comment """Can be used to link a SHACL property shape with the URL of a SPARQL endpoint that may contain further RDF triples for the value nodes delivered by the property. This can be used to inform a processor that it should switch to values from an external graph when the user wants to retrieve more information about a value. This property should be regarded as an "annotation", i.e. it does not have any impact on validation or other built-in SHACL features. However, selected tools may want to use this information. One implementation strategy would be to periodically fetch the values specified by the sh:node or sh:class shape associated with the property, using the property shapes in that shape, and add the resulting triples into the main query graph. An example value is "https://query.wikidata.org/sparql".""" ; rdfs:label "details endpoint" ; . dash:detailsGraph a rdf:Property ; rdfs:comment """Can be used to link a SHACL property shape with a SHACL node expression that produces the URIs of one or more graphs that contain further RDF triples for the value nodes delivered by the property. This can be used to inform a processor that it should switch to another data graph when the user wants to retrieve more information about a value. The node expressions are evaluated with the focus node as input. (It is unclear whether there are also cases where the result may be different for each specific value, in which case the node expression would need a second input argument). This property should be regarded as an "annotation", i.e. it does not have any impact on validation or other built-in SHACL features. However, selected tools may want to use this information.""" ; rdfs:label "details graph" ; . dash:editor a rdf:Property ; rdfs:comment "Can be used to link a property shape with an editor, to state a preferred editing widget in user interfaces." ; rdfs:domain sh:PropertyShape ; rdfs:label "editor" ; rdfs:range dash:Editor ; . dash:expectedResult a rdf:Property ; rdfs:comment "The expected result(s) of a test case. The value range of this property is different for each kind of test cases." ; rdfs:domain dash:TestCase ; rdfs:label "expected result" ; . dash:expectedResultIsJSON a rdf:Property ; rdfs:comment "A flag to indicate that the expected result represents a JSON string. If set to true, then tests would compare JSON structures (regardless of whitespaces) instead of actual syntax." ; rdfs:label "expected result is JSON" ; rdfs:range xsd:boolean ; . dash:expectedResultIsTTL a rdf:Property ; rdfs:comment "A flag to indicate that the expected result represents an RDF graph encoded as a Turtle file. If set to true, then tests would compare graphs instead of actual syntax." ; rdfs:domain dash:TestCase ; rdfs:label "expected result is Turtle" ; rdfs:range xsd:boolean ; . dash:fixed a rdf:Property ; rdfs:comment "Can be used to mark that certain validation results have already been fixed." ; rdfs:domain sh:ValidationResult ; rdfs:label "fixed" ; rdfs:range xsd:boolean ; . dash:hasClass a sh:SPARQLAskValidator ; rdfs:label "has class" ; sh:ask """ ASK { $value rdf:type/rdfs:subClassOf* $class . } """ ; sh:message "Value does not have class {$class}" ; sh:prefixes ; . dash:hasMaxExclusive a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given node (?value) has a value less than (<) the provided ?maxExclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types." ; rdfs:label "has max exclusive" ; sh:ask "ASK { FILTER ($value < $maxExclusive) }" ; sh:prefixes ; . dash:hasMaxInclusive a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given node (?value) has a value less than or equal to (<=) the provided ?maxInclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types." ; rdfs:label "has max inclusive" ; sh:ask "ASK { FILTER ($value <= $maxInclusive) }" ; sh:prefixes ; . dash:hasMaxLength a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given string (?value) has a length within a given maximum string length." ; rdfs:label "has max length" ; sh:ask """ ASK { FILTER (STRLEN(str($value)) <= $maxLength) . } """ ; sh:prefixes ; . dash:hasMinExclusive a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given node (?value) has value greater than (>) the provided ?minExclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types." ; rdfs:label "has min exclusive" ; sh:ask "ASK { FILTER ($value > $minExclusive) }" ; sh:prefixes ; . dash:hasMinInclusive a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given node (?value) has value greater than or equal to (>=) the provided ?minInclusive. Returns false if this cannot be determined, e.g. because values do not have comparable types." ; rdfs:label "has min inclusive" ; sh:ask "ASK { FILTER ($value >= $minInclusive) }" ; sh:prefixes ; . dash:hasMinLength a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given string (?value) has a length within a given minimum string length." ; rdfs:label "has min length" ; sh:ask """ ASK { FILTER (STRLEN(str($value)) >= $minLength) . } """ ; sh:prefixes ; . dash:hasNodeKind a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given node (?value) has a given sh:NodeKind (?nodeKind). For example, sh:hasNodeKind(42, sh:Literal) = true." ; rdfs:label "has node kind" ; sh:ask """ ASK { FILTER ((isIRI($value) && $nodeKind IN ( sh:IRI, sh:BlankNodeOrIRI, sh:IRIOrLiteral ) ) || (isLiteral($value) && $nodeKind IN ( sh:Literal, sh:BlankNodeOrLiteral, sh:IRIOrLiteral ) ) || (isBlank($value) && $nodeKind IN ( sh:BlankNode, sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral ) )) . } """ ; sh:prefixes ; . dash:hasPattern a sh:SPARQLAskValidator ; rdfs:comment "Checks whether the string representation of a given node (?value) matches a given regular expression (?pattern). Returns false if the value is a blank node." ; rdfs:label "has pattern" ; sh:ask "ASK { FILTER (!isBlank($value) && IF(bound($flags), regex(str($value), $pattern, $flags), regex(str($value), $pattern))) }" ; sh:prefixes ; . dash:hasRootClass a sh:SPARQLAskValidator ; rdfs:label "has root class" ; sh:ask """ASK { $value rdfs:subClassOf* $rootClass . }""" ; sh:prefixes ; . dash:hasStem a sh:SPARQLAskValidator ; rdfs:comment "Checks whether a given node is an IRI starting with a given stem." ; rdfs:label "has stem" ; sh:ask "ASK { FILTER (isIRI($value) && STRSTARTS(str($value), $stem)) }" ; sh:prefixes ; . dash:hasValueIn a rdf:Property ; rdfs:comment "Specifies a constraint that at least one of the value nodes must be a member of the given list." ; rdfs:label "has value in" ; rdfs:range rdf:List ; . dash:hasValueWithClass a rdf:Property ; rdfs:comment "Specifies a constraint that at least one of the value nodes must be an instance of a given class." ; rdfs:label "has value with class" ; rdfs:range rdfs:Class ; . dash:height a rdf:Property ; rdfs:comment "The height." ; rdfs:label "height" ; rdfs:range xsd:integer ; . dash:hidden a rdf:Property ; rdfs:comment "Properties marked as hidden do not appear in user interfaces, yet remain part of the shape for other purposes such as validation and scripting or GraphQL schema generation." ; rdfs:domain sh:PropertyShape ; rdfs:label "hidden" ; rdfs:range xsd:boolean ; . dash:index a rdf:Property ; rdfs:label "index" ; rdfs:range xsd:integer ; . dash:indexed a rdf:Property ; rdfs:domain sh:PropertyShape ; rdfs:range xsd:boolean ; . dash:isDeactivated a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; rdfs:comment "Checks whether a given shape or constraint has been marked as \"deactivated\" using sh:deactivated." ; rdfs:label "is deactivated" ; sh:ask """ASK { ?constraintOrShape sh:deactivated true . }""" ; sh:parameter [ a sh:Parameter ; sh:path dash:constraintOrShape ; sh:description "The sh:Constraint or sh:Shape to test." ; sh:name "constraint or shape" ; ] ; sh:prefixes ; sh:returnType xsd:boolean ; . dash:isIn a sh:SPARQLAskValidator ; rdfs:label "is in" ; sh:ask """ ASK { GRAPH $shapesGraph { $in (rdf:rest*)/rdf:first $value . } } """ ; sh:prefixes ; . dash:isLanguageIn a sh:SPARQLAskValidator ; rdfs:label "is language in" ; sh:ask """ ASK { BIND (lang($value) AS ?valueLang) . FILTER EXISTS { GRAPH $shapesGraph { $languageIn (rdf:rest*)/rdf:first ?lang . FILTER (langMatches(?valueLang, ?lang)) } } } """ ; sh:prefixes ; . dash:isNodeKindBlankNode a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; dash:cachable true ; dash:contextFree true ; rdfs:comment "Checks if a given sh:NodeKind is one that includes BlankNodes." ; rdfs:label "is NodeKind BlankNode" ; sh:ask """ASK { FILTER ($nodeKind IN ( sh:BlankNode, sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral )) }""" ; sh:parameter [ a sh:Parameter ; sh:path dash:nodeKind ; sh:class sh:NodeKind ; sh:description "The sh:NodeKind to check." ; sh:name "node kind" ; sh:nodeKind sh:IRI ; ] ; sh:prefixes ; sh:returnType xsd:boolean ; . dash:isNodeKindIRI a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; dash:cachable true ; dash:contextFree true ; rdfs:comment "Checks if a given sh:NodeKind is one that includes IRIs." ; rdfs:label "is NodeKind IRI" ; sh:ask """ASK { FILTER ($nodeKind IN ( sh:IRI, sh:BlankNodeOrIRI, sh:IRIOrLiteral )) }""" ; sh:parameter [ a sh:Parameter ; sh:path dash:nodeKind ; sh:class sh:NodeKind ; sh:description "The sh:NodeKind to check." ; sh:name "node kind" ; sh:nodeKind sh:IRI ; ] ; sh:prefixes ; sh:returnType xsd:boolean ; . dash:isNodeKindLiteral a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; dash:cachable true ; dash:contextFree true ; rdfs:comment "Checks if a given sh:NodeKind is one that includes Literals." ; rdfs:label "is NodeKind Literal" ; sh:ask """ASK { FILTER ($nodeKind IN ( sh:Literal, sh:BlankNodeOrLiteral, sh:IRIOrLiteral )) }""" ; sh:parameter [ a sh:Parameter ; sh:path dash:nodeKind ; sh:class sh:NodeKind ; sh:description "The sh:NodeKind to check." ; sh:name "node kind" ; sh:nodeKind sh:IRI ; ] ; sh:prefixes ; sh:returnType xsd:boolean ; . dash:isSubClassOf a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; rdfs:comment "Returns true if a given class (first argument) is a subclass of a given other class (second argument), or identical to that class. This is equivalent to an rdfs:subClassOf* check." ; rdfs:label "is subclass of" ; sh:ask """ASK { $subclass rdfs:subClassOf* $superclass . }""" ; sh:parameter dash:isSubClassOf-subclass ; sh:parameter dash:isSubClassOf-superclass ; sh:prefixes ; sh:returnType xsd:boolean ; . dash:isSubClassOf-subclass a sh:Parameter ; sh:path dash:subclass ; sh:class rdfs:Class ; sh:description "The (potential) subclass." ; sh:name "subclass" ; . dash:isSubClassOf-superclass a sh:Parameter ; sh:path dash:superclass ; sh:class rdfs:Class ; sh:description "The (potential) superclass." ; sh:name "superclass" ; sh:order "1"^^xsd:decimal ; . dash:js a rdf:Property ; rdfs:comment "The JavaScript source code of a Script." ; rdfs:domain dash:Script ; rdfs:label "JavaScript source code" ; rdfs:range xsd:string ; . dash:localConstraint a rdf:Property ; rdfs:comment """Can be set to true for those constraint components where the validation does not require to visit any other triples than the shape definitions and the direct property values of the focus node mentioned in the property constraints. Examples of this include sh:minCount and sh:hasValue. Constraint components that are marked as such can be optimized by engines, e.g. they can be evaluated client-side at form submission time, without having to make a round-trip to a server, assuming the client has downloaded a complete snapshot of the resource. Any component marked with dash:staticConstraint is also a dash:localConstraint.""" ; rdfs:domain sh:ConstraintComponent ; rdfs:label "local constraint" ; rdfs:range xsd:boolean ; . dash:mimeTypes a rdf:Property ; rdfs:comment """For file-typed properties, this can be used to specify the expected/allowed mime types of its values. This can be used, for example, to limit file input boxes or file selectors. If multiple values are allowed then they need to be separated by commas. Example values are listed at https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types""" ; rdfs:domain sh:PropertyShape ; rdfs:label "mime types" ; rdfs:range xsd:string ; . dash:neverMaterialize a rdf:Property ; rdfs:comment "If set to true at a property shape then any sh:values and sh:defaultValue rules of this property will be ignored when 'all inferences' are computed. This is useful for property values that shall only be computed for individual focus nodes (e.g. when a user visits a resource) but not for large inference runs." ; rdfs:domain sh:PropertyShape ; rdfs:label "never materialize" ; rdfs:range xsd:boolean ; . dash:onAllValues a rdf:Property ; rdfs:comment "If set to true for a ScriptConstraint or ScriptValidator, then the associated script will receive all value nodes at once, as a value of the variable values. By default (or false), the script is called for each value node individually." ; rdfs:label "on all values" ; rdfs:range xsd:boolean ; . dash:propertySuggestionGenerator a rdf:Property ; rdfs:comment "Links the constraint component with instances of dash:SuggestionGenerator that may be used to produce suggestions for a given validation result that was produced by a property constraint." ; rdfs:domain sh:ConstraintComponent ; rdfs:label "property suggestion generator" ; rdfs:range dash:SuggestionGenerator ; . dash:readOnly a rdf:Property ; rdfs:comment "Used as a hint for user interfaces that values of the associated property should not be editable. The values of this may be the boolean literals true or false or, more generally, a SHACL node expression that must evaluate to true or false." ; rdfs:domain sh:PropertyShape ; rdfs:label "read only" ; . dash:reifiableBy a rdf:Property ; rdfs:comment "Can be used to specify the node shape that may be applied to reified statements produced by a property shape. The property shape must have a URI resource as its sh:path. The values of this property must be node shapes. User interfaces can use this information to determine which properties to present to users when reified statements are explored or edited. Use dash:None to indicate that no reification should be permitted." ; rdfs:domain sh:PropertyShape ; rdfs:label "reifiable by" ; rdfs:range sh:NodeShape ; . dash:resourceAction a rdf:Property ; rdfs:comment "Links a class with the Resource Actions that can be applied to instances of that class." ; rdfs:domain rdfs:Class ; rdfs:label "resource action" ; rdfs:range dash:ResourceAction ; . dash:rootClass a rdf:Property ; rdfs:label "root class" ; . dash:shape a rdf:Property ; rdfs:comment "States that a subject resource has a given shape. This property can, for example, be used to capture results of SHACL validation on static data." ; rdfs:label "shape" ; rdfs:range sh:Shape ; . dash:shapeScript a rdf:Property ; rdfs:domain sh:NodeShape ; rdfs:label "shape script" ; . dash:singleLine a rdf:Property ; rdfs:label "single line" ; rdfs:range xsd:boolean ; . dash:staticConstraint a rdf:Property ; rdfs:comment """Can be set to true for those constraint components where the validation does not require to visit any other triples than the parameters. Examples of this include sh:datatype or sh:nodeKind, where no further triples need to be queried to determine the result. Constraint components that are marked as such can be optimized by engines, e.g. they can be evaluated client-side at form submission time, without having to make a round-trip to a server.""" ; rdfs:domain sh:ConstraintComponent ; rdfs:label "static constraint" ; rdfs:range xsd:boolean ; . dash:stem a rdf:Property ; rdfs:comment "Specifies a string value that the IRI of the value nodes must start with."@en ; rdfs:label "stem"@en ; rdfs:range xsd:string ; . dash:subSetOf a rdf:Property ; rdfs:label "sub set of" ; . dash:suggestion a rdf:Property ; rdfs:comment "Can be used to link a result with one or more suggestions on how to address or improve the underlying issue." ; rdfs:domain sh:AbstractResult ; rdfs:label "suggestion" ; rdfs:range dash:Suggestion ; . dash:suggestionConfidence a rdf:Property ; rdfs:comment "An optional confidence between 0% and 100%. Suggestions with 100% confidence are strongly recommended. Can be used to sort recommended updates." ; rdfs:domain dash:Suggestion ; rdfs:label "suggestion confidence" ; rdfs:range xsd:decimal ; . dash:suggestionGenerator a rdf:Property ; rdfs:comment "Links a sh:SPARQLConstraint or sh:JSConstraint with instances of dash:SuggestionGenerator that may be used to produce suggestions for a given validation result that was produced by the constraint." ; rdfs:label "suggestion generator" ; rdfs:range dash:SuggestionGenerator ; . dash:suggestionGroup a rdf:Property ; rdfs:comment "Can be used to link a suggestion with the group identifier to which it belongs. By default this is a link to the dash:SuggestionGenerator, but in principle this could be any value." ; rdfs:domain dash:Suggestion ; rdfs:label "suggestion" ; . dash:symmetric a rdf:Property ; rdfs:comment "True to declare that the associated property path is symmetric." ; rdfs:label "symmetric" ; . dash:toString a sh:SPARQLFunction ; dash:cachable true ; rdfs:comment "Returns a literal with datatype xsd:string that has the input value as its string. If the input value is an (URI) resource then its URI will be used." ; rdfs:label "to string" ; sh:labelTemplate "Convert {$arg} to xsd:string" ; sh:parameter [ a sh:Parameter ; sh:path dash:arg ; sh:description "The input value." ; sh:name "arg" ; sh:nodeKind sh:IRIOrLiteral ; ] ; sh:prefixes ; sh:returnType xsd:string ; sh:select """SELECT (xsd:string($arg) AS ?result) WHERE { }""" ; . dash:uniqueValueForClass a rdf:Property ; rdfs:label "unique value for class" ; . dash:uriTemplate a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; dash:cachable true ; dash:contextFree true ; rdfs:comment """Inserts a given value into a given URI template, producing a new xsd:anyURI literal. In the future this should support RFC 6570 but for now it is limited to simple {...} patterns.""" ; rdfs:label "URI template" ; sh:parameter [ a sh:Parameter ; sh:path dash:template ; sh:datatype xsd:string ; sh:description "The URI template, e.g. \"http://example.org/{symbol}\"." ; sh:name "template" ; sh:order 0 ; ] ; sh:parameter [ a sh:Parameter ; sh:path dash:value ; sh:description "The literal value to insert into the template. Will use the URI-encoded string of the lexical form (for now)." ; sh:name "value" ; sh:nodeKind sh:Literal ; sh:order 1 ; ] ; sh:prefixes ; sh:returnType xsd:anyURI ; sh:select """SELECT ?result WHERE { BIND (xsd:anyURI(REPLACE(?template, "\\\\{[a-zA-Z]+\\\\}", $value)) AS ?result) }""" ; . dash:validateShapes a rdf:Property ; rdfs:comment "True to also validate the shapes itself (i.e. parameter declarations)." ; rdfs:domain dash:GraphValidationTestCase ; rdfs:label "validate shapes" ; rdfs:range xsd:boolean ; . dash:valueCount a sh:SPARQLFunction ; dash:apiStatus dash:Stable ; rdfs:comment "Computes the number of objects for a given subject/predicate combination." ; rdfs:label "value count" ; sh:parameter [ a sh:Parameter ; sh:path dash:predicate ; sh:class rdfs:Resource ; sh:description "The predicate to get the number of objects of." ; sh:name "predicate" ; sh:order 1 ; ] ; sh:parameter [ a sh:Parameter ; sh:path dash:subject ; sh:class rdfs:Resource ; sh:description "The subject to get the number of objects of." ; sh:name "subject" ; sh:order 0 ; ] ; sh:prefixes ; sh:returnType xsd:integer ; sh:select """ SELECT (COUNT(?object) AS ?result) WHERE { $subject $predicate ?object . } """ ; . dash:viewer a rdf:Property ; rdfs:comment "Can be used to link a property shape with a viewer, to state a preferred viewing widget in user interfaces." ; rdfs:domain sh:PropertyShape ; rdfs:label "viewer" ; rdfs:range dash:Viewer ; . dash:width a rdf:Property ; rdfs:comment "The width." ; rdfs:label "width" ; rdfs:range xsd:integer ; . dash:x a rdf:Property ; rdfs:comment "The x position." ; rdfs:label "x" ; rdfs:range xsd:integer ; . dash:y a rdf:Property ; rdfs:comment "The y position." ; rdfs:label "y" ; rdfs:range xsd:integer ; . owl:Class a rdfs:Class ; rdfs:subClassOf rdfs:Class ; . sh:AbstractResult dash:abstract true ; . sh:ClassConstraintComponent sh:labelTemplate "Value needs to have class {$class}" ; sh:validator dash:hasClass ; . sh:ClosedConstraintComponent dash:localConstraint true ; sh:labelTemplate "Closed shape: only the enumerated properties can be used" ; sh:nodeValidator [ a sh:SPARQLSelectValidator ; sh:message "Predicate {?path} is not allowed (closed shape)" ; sh:prefixes ; sh:select """ SELECT $this (?predicate AS ?path) ?value WHERE { { FILTER ($closed) . } $this ?predicate ?value . FILTER (NOT EXISTS { GRAPH $shapesGraph { $currentShape sh:property/sh:path ?predicate . } } && (!bound($ignoredProperties) || NOT EXISTS { GRAPH $shapesGraph { $ignoredProperties rdf:rest*/rdf:first ?predicate . } })) } """ ; ] ; . sh:DatatypeConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Values must have datatype {$datatype}" ; sh:message "Value does not have datatype {$datatype}" ; . sh:DisjointConstraintComponent dash:localConstraint true ; sh:validator [ a sh:SPARQLAskValidator ; sh:ask """ ASK { FILTER NOT EXISTS { $this $disjoint $value . } } """ ; sh:message "Property must not share any values with {$disjoint}" ; sh:prefixes ; ] ; . sh:EqualsConstraintComponent dash:localConstraint true ; sh:message "Must have same values as {$equals}" ; sh:nodeValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT DISTINCT $this ?value WHERE { { FILTER NOT EXISTS { $this $equals $this } BIND ($this AS ?value) . } UNION { $this $equals ?value . FILTER (?value != $this) . } } """ ; ] ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT DISTINCT $this ?value WHERE { { $this $PATH ?value . MINUS { $this $equals ?value . } } UNION { $this $equals ?value . MINUS { $this $PATH ?value . } } } """ ; ] ; . sh:Function dash:abstract true ; . sh:HasValueConstraintComponent dash:localConstraint true ; sh:labelTemplate "Must have value {$hasValue}" ; sh:nodeValidator [ a sh:SPARQLAskValidator ; sh:ask """ASK { FILTER ($value = $hasValue) }""" ; sh:message "Value must be {$hasValue}" ; sh:prefixes ; ] ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:message "Missing expected value {$hasValue}" ; sh:prefixes ; sh:select """ SELECT $this WHERE { FILTER NOT EXISTS { $this $PATH $hasValue } } """ ; ] ; . sh:InConstraintComponent dash:localConstraint true ; sh:labelTemplate "Value must be in {$in}" ; sh:message "Value is not in {$in}" ; sh:validator dash:isIn ; . sh:LanguageInConstraintComponent dash:localConstraint true ; sh:labelTemplate "Language must match any of {$languageIn}" ; sh:message "Language does not match any of {$languageIn}" ; sh:validator dash:isLanguageIn ; . sh:LessThanConstraintComponent dash:localConstraint true ; sh:message "Value is not < value of {$lessThan}" ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT $this ?value WHERE { $this $PATH ?value . $this $lessThan ?otherValue . BIND (?value < ?otherValue AS ?result) . FILTER (!bound(?result) || !(?result)) . } """ ; ] ; . sh:LessThanOrEqualsConstraintComponent dash:localConstraint true ; sh:message "Value is not <= value of {$lessThanOrEquals}" ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT DISTINCT $this ?value WHERE { $this $PATH ?value . $this $lessThanOrEquals ?otherValue . BIND (?value <= ?otherValue AS ?result) . FILTER (!bound(?result) || !(?result)) . } """ ; ] ; . sh:MaxCountConstraintComponent dash:localConstraint true ; sh:labelTemplate "Must not have more than {$maxCount} values" ; sh:message "More than {$maxCount} values" ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT $this WHERE { $this $PATH ?value . } GROUP BY $this HAVING (COUNT(DISTINCT ?value) > $maxCount) """ ; ] ; . sh:MaxExclusiveConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must be < {$maxExclusive}" ; sh:message "Value is not < {$maxExclusive}" ; sh:validator dash:hasMaxExclusive ; . sh:MaxInclusiveConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must be <= {$maxInclusive}" ; sh:message "Value is not <= {$maxInclusive}" ; sh:validator dash:hasMaxInclusive ; . sh:MaxLengthConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must not have more than {$maxLength} characters" ; sh:message "Value has more than {$maxLength} characters" ; sh:validator dash:hasMaxLength ; . sh:MinCountConstraintComponent dash:localConstraint true ; sh:labelTemplate "Must have at least {$minCount} values" ; sh:message "Fewer than {$minCount} values" ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT $this WHERE { OPTIONAL { $this $PATH ?value . } } GROUP BY $this HAVING (COUNT(DISTINCT ?value) < $minCount) """ ; ] ; . sh:MinExclusiveConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must be > {$minExclusive}" ; sh:message "Value is not > {$minExclusive}" ; sh:validator dash:hasMinExclusive ; . sh:MinInclusiveConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must be >= {$minInclusive}" ; sh:message "Value is not >= {$minInclusive}" ; sh:validator dash:hasMinInclusive ; . sh:MinLengthConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must have less than {$minLength} characters" ; sh:message "Value has less than {$minLength} characters" ; sh:validator dash:hasMinLength ; . sh:NodeConstraintComponent sh:message "Value does not have shape {$node}" ; . sh:NodeKindConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must have node kind {$nodeKind}" ; sh:message "Value does not have node kind {$nodeKind}" ; sh:validator dash:hasNodeKind ; . sh:NotConstraintComponent sh:labelTemplate "Value must not have shape {$not}" ; sh:message "Value does have shape {$not}" ; . sh:Parameterizable dash:abstract true ; . sh:PatternConstraintComponent dash:staticConstraint true ; sh:labelTemplate "Value must match pattern \"{$pattern}\"" ; sh:message "Value does not match pattern \"{$pattern}\"" ; sh:validator dash:hasPattern ; . sh:QualifiedMaxCountConstraintComponent sh:labelTemplate "No more than {$qualifiedMaxCount} values can have shape {$qualifiedValueShape}" ; sh:message "More than {$qualifiedMaxCount} values have shape {$qualifiedValueShape}" ; . sh:QualifiedMinCountConstraintComponent sh:labelTemplate "No fewer than {$qualifiedMinCount} values can have shape {$qualifiedValueShape}" ; sh:message "Fewer than {$qualifiedMinCount} values have shape {$qualifiedValueShape}" ; . sh:Rule dash:abstract true ; . sh:Rules a rdfs:Resource ; rdfs:comment "The SHACL rules entailment regime." ; rdfs:label "SHACL Rules" ; rdfs:seeAlso ; . sh:SPARQLExecutable dash:abstract true ; . sh:Shape dash:abstract true ; . sh:Target dash:abstract true ; . sh:TargetType dash:abstract true ; . sh:UniqueLangConstraintComponent dash:localConstraint true ; sh:labelTemplate "No language can be used more than once" ; sh:message "Language \"{?lang}\" used more than once" ; sh:propertyValidator [ a sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT DISTINCT $this ?lang WHERE { { FILTER sameTerm($uniqueLang, true) . } $this $PATH ?value . BIND (lang(?value) AS ?lang) . FILTER (bound(?lang) && ?lang != "") . FILTER EXISTS { $this $PATH ?otherValue . FILTER (?otherValue != ?value && ?lang = lang(?otherValue)) . } } """ ; ] ; . sh:Validator dash:abstract true ; . sh:order rdfs:range xsd:decimal ; . pyshacl-0.30.1/pyshacl/assets/make_builtin.py0000644000000000000000000000257000000000000016113 0ustar00import pickle from rdflib import Graph, URIRef from rdflib.plugins.stores.memory import Memory from pyshacl.monkey import apply_patches apply_patches() identifier = URIRef("http://datashapes.org/schema") store = Memory(identifier=identifier) with open("./schema.ttl", "rb") as f: g = Graph(store=store, identifier=identifier, bind_namespaces='core').parse(file=f) with open("./schema.pickle", "wb") as f: pickle.dump((store, identifier), f, protocol=5) identifier = URIRef("http://www.w3.org/ns/shacl#") store = Memory(identifier=identifier) with open("./shacl.ttl", "rb") as f: g = Graph(store=store, identifier=identifier, bind_namespaces='core').parse(file=f) with open("./shacl.pickle", "wb") as f: pickle.dump((store, identifier), f, protocol=5) identifier = URIRef("http://datashapes.org/dash") store = Memory(identifier=identifier) with open("./dash.ttl", "rb") as f: g = Graph(store=store, identifier=identifier, bind_namespaces='core').parse(file=f) with open("./dash.pickle", "wb") as f: pickle.dump((store, identifier), f, protocol=5) identifier = URIRef("http://www.w3.org/ns/shacl-shacl#") store = Memory(identifier=identifier) with open("./shacl-shacl.ttl", "rb") as f: g = Graph(store=store, identifier=identifier, bind_namespaces='core').parse(file=f) with open("./shacl-shacl.pickle", "wb") as f: pickle.dump((store, identifier), f, protocol=5) pyshacl-0.30.1/pyshacl/assets/schema.pickle0000644000000000000000001753717600000000000015556 0ustar00€•Œrdflib.plugins.stores.memory”ŒMemory”“”)”}”(Œ_Store__node_pickler”NŒ dispatcher”Œ rdflib.events”Œ Dispatcher”“”)”Œ identifier”Œ rdflib.term”ŒURIRef”“”Œhttp://datashapes.org/schema”…”R”Œ _Memory__spo”}”(hŒhttp://datashapes.org/schema”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h ŒLiteral”“”X>

This is an RDF/SHACL version of schema.org, generated based on the official Turtle file https://schema.org/version/latest/schemaorg-all-http.ttl. Alignments with common RDF practices have been made, e.g. using rdfs:Class instead of schema:Class.

Contact: Holger Knublauch”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSchema.org SHACL shapes”NN‡”R”KshŒ%http://www.w3.org/2002/07/owl#imports”…”R”}”hŒhttp://datashapes.org/dash”…”R”KshŒ)http://www.w3.org/2002/07/owl#versionInfo”…”R”}”h$Œ 2021-04-21T09:18:09.748000+10:00”NhŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”‡”R”KsuhŒhttp://schema.org/3DModel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2140”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XdA 3D model represents some kind of 3D content, which may have [[encoding]]s in one or more [[MediaObject]]s. Many 3D formats are available (e.g. see [Wikipedia](https://en.wikipedia.org/wiki/Category:3D_graphics_file_formats)); specific encoding formats can be represented using the [[encodingFormat]] property applied to the relevant [[MediaObject]]. For the case of a single file published after Zip compression, the convention of appending '+zip' to the [[encodingFormat]] can be used. Geospatial, AR/VR, artistic/animation, gaming, engineering and scientific content can all be represented using [[3DModel]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ3DModel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MediaObject”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ%http://schema.org/3DModel-isResizable”…”R”KsuhŒ%http://schema.org/3DModel-isResizable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isResizable”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒWhether the 3DModel allows resizing. For example, room layout applications often do not allow 3DModel elements to be resized to reflect reality.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isResizable”NN‡”R”KsuhŒ http://schema.org/AMRadioChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1004”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA radio channel that uses AM.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAMRadio channel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/RadioChannel”…”R”KsuhŒhttp://schema.org/APIReference”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFReference documentation for application programming interfaces (APIs).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ APIReference”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/TechArticle”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/APIReference-assembly”…”R”KhŒ.http://schema.org/APIReference-assemblyVersion”…”R”KhŒ4http://schema.org/APIReference-executableLibraryName”…”R”KhŒ/http://schema.org/APIReference-programmingModel”…”R”KhŒ-http://schema.org/APIReference-targetPlatform”…”R”KuuhŒ'http://schema.org/APIReference-assembly”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/assembly”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5Library file name e.g., mscorlib.dll, system.web.dll.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œassembly”NN‡”R”KsuhŒ.http://schema.org/APIReference-assemblyVersion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/assemblyVersion”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@Associated product/technology version. e.g., .NET Framework 4.5.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒassemblyVersion”NN‡”R”KsuhŒ4http://schema.org/APIReference-executableLibraryName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/executableLibraryName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5Library file name e.g., mscorlib.dll, system.web.dll.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexecutableLibraryName”NN‡”R”KsuhŒ/http://schema.org/APIReference-programmingModel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/programmingModel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.Indicates whether API is managed or unmanaged.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprogrammingModel”NN‡”R”KsuhŒ-http://schema.org/APIReference-targetPlatform”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/targetPlatform”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@Type of app development: phone, Metro style, desktop, XBox, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtargetPlatform”NN‡”R”KsuhŒhttp://schema.org/Abdomen”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAbdomen clinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAbdomen”NN‡”R”KsuhŒhttp://schema.org/AboutPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWeb page type: About page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ About page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”KsuhŒhttp://schema.org/AcceptAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒtThe act of committing to/adopting an object.\n\nRelated actions:\n\n* [[RejectAction]]: The antonym of AcceptAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Accept action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/AllocateAction”…”R”KsuhŒhttp://schema.org/Accommodation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XãAn accommodation is a place that can accommodate human beings, e.g. a hotel room, a camping pitch, or a meeting room. Many accommodations are for overnight stays, but this is not a mandatory requirement. For more specific types of accommodations not defined in schema.org, one can use additionalType with external vocabularies.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Accommodation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ5http://schema.org/Accommodation-accommodationCategory”…”R”KhŒ6http://schema.org/Accommodation-accommodationFloorPlan”…”R”KhŒ.http://schema.org/Accommodation-amenityFeature”…”R”KhŒ*http://schema.org/Accommodation-floorLevel”…”R”KhŒ)http://schema.org/Accommodation-floorSize”…”R”KhŒ+http://schema.org/Accommodation-leaseLength”…”R”KhŒ6http://schema.org/Accommodation-numberOfBathroomsTotal”…”R”KhŒ0http://schema.org/Accommodation-numberOfBedrooms”…”R”KhŒ5http://schema.org/Accommodation-numberOfFullBathrooms”…”R”KhŒ8http://schema.org/Accommodation-numberOfPartialBathrooms”…”R”KhŒ-http://schema.org/Accommodation-numberOfRooms”…”R”KhŒ.http://schema.org/Accommodation-permittedUsage”…”R”KhŒ+http://schema.org/Accommodation-petsAllowed”…”R”KhŒ/http://schema.org/Accommodation-tourBookingPage”…”R”KhŒ)http://schema.org/Accommodation-yearBuilt”…”R”KuuhŒ5http://schema.org/Accommodation-accommodationCategory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/accommodationCategory”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XCategory of an [[Accommodation]], following real estate conventions e.g. RESO (see [PropertySubType](https://ddwiki.reso.org/display/DDW17/PropertySubType+Field), and [PropertyType](https://ddwiki.reso.org/display/DDW17/PropertyType+Field) fields for suggested values).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaccommodationCategory”NN‡”R”KsuhŒ6http://schema.org/Accommodation-accommodationFloorPlan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/accommodationFloorPlan”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/FloorPlan”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&A floorplan of some [[Accommodation]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaccommodationFloorPlan”NN‡”R”KsuhŒ.http://schema.org/Accommodation-amenityFeature”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/amenityFeature”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ.http://schema.org/LocationFeatureSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåAn amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒamenityFeature”NN‡”R”KsuhŒ*http://schema.org/Accommodation-floorLevel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/floorLevel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒñThe floor level for an [[Accommodation]] in a multi-storey building. Since counting systems [vary internationally](https://en.wikipedia.org/wiki/Storey#Consecutive_number_floor_designations), the local system should be used where possible.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ floorLevel”NN‡”R”KsuhŒ)http://schema.org/Accommodation-floorSize”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/floorSize”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ›The size of the accommodation, e.g. in square meter or squarefoot. Typical unit code(s): MTK for square meter, FTK for square foot, or YDK for square yard ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ floorSize”NN‡”R”KsuhŒ+http://schema.org/Accommodation-leaseLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/leaseLength”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLength of the lease for some [[Accommodation]], either particular to some [[Offer]] or in some cases intrinsic to the property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ leaseLength”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h ŒBNode”“”Œ#n8b6ee6229417493cb1977c6514222981b3”…”R”Ksuj¤Œ#n8b6ee6229417493cb1977c6514222981b1”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ#n8b6ee6229417493cb1977c6514222981b2”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”Kssj§}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jªKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ#n8b6ee6229417493cb1977c6514222981b4”…”R”KsujÉ}”(jÁ}”jµKsjÅ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ6http://schema.org/Accommodation-numberOfBathroomsTotal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/numberOfBathroomsTotal”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X{The total integer number of bathrooms in a some [[Accommodation]], following real estate conventions as [documented in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsTotalInteger+Field): "The simple sum of the number of bathrooms. For example for a property with two Full Bathrooms and one Half Bathroom, the Bathrooms Total Integer will be 3.". See also [[numberOfRooms]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfBathroomsTotal”NN‡”R”KsuhŒ0http://schema.org/Accommodation-numberOfBedrooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/numberOfBedrooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhThe total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfBedrooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ#n8b6ee6229417493cb1977c6514222981b7”…”R”Ksuj¤Œ#n8b6ee6229417493cb1977c6514222981b5”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ#n8b6ee6229417493cb1977c6514222981b6”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj#}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j&KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ#n8b6ee6229417493cb1977c6514222981b8”…”R”KsujE}”(j=}”j1KsjA}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ5http://schema.org/Accommodation-numberOfFullBathrooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/numberOfFullBathrooms”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÏNumber of full bathrooms - The total number of full and ¾ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsFull field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsFull+Field).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfFullBathrooms”NN‡”R”KsuhŒ8http://schema.org/Accommodation-numberOfPartialBathrooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/numberOfPartialBathrooms”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÙNumber of partial bathrooms - The total number of half and ¼ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsPartial field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsPartial+Field). ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfPartialBathrooms”NN‡”R”KsuhŒ-http://schema.org/Accommodation-numberOfRooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfRooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfRooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b11”…”R”Ksuj¤Œ#n8b6ee6229417493cb1977c6514222981b9”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b10”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÉ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÌKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b12”…”R”Ksujë}”(jã}”j×Ksjç}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/Accommodation-permittedUsage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/permittedUsage”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?Indications regarding the permitted usage of the accommodation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpermittedUsage”NN‡”R”KsuhŒ+http://schema.org/Accommodation-petsAllowed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/petsAllowed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒˆIndicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ petsAllowed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b15”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b13”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b14”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjE}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jHKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b16”…”R”Ksujg}”(j_}”jSKsjc}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/Accommodation-tourBookingPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/tourBookingPage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÄA page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtourBookingPage”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ)http://schema.org/Accommodation-yearBuilt”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/yearBuilt”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ™The year an [[Accommodation]] was constructed. This corresponds to the [YearBuilt field in RESO](https://ddwiki.reso.org/display/DDW17/YearBuilt+Field). ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ yearBuilt”NN‡”R”KsuhŒ#http://schema.org/AccountingService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒvAccountancy business.\n\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\(s). ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAccounting service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/FinancialService”…”R”KsuhŒhttp://schema.org/AchieveAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒvThe act of accomplishing something via previous efforts. It is an instantaneous action rather than an ongoing process.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAchieve action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KsuhŒhttp://schema.org/Action”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒNhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_ActionCollabClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XÐAn action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\n\nSee also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](http://schema.org/docs/actions.html).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAction”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/Action-actionStatus”…”R”KhŒhttp://schema.org/Action-agent”…”R”KhŒ http://schema.org/Action-endTime”…”R”KhŒhttp://schema.org/Action-error”…”R”KhŒ#http://schema.org/Action-instrument”…”R”KhŒ!http://schema.org/Action-location”…”R”KhŒhttp://schema.org/Action-object”…”R”KhŒ$http://schema.org/Action-participant”…”R”KhŒhttp://schema.org/Action-result”…”R”KhŒ"http://schema.org/Action-startTime”…”R”KhŒhttp://schema.org/Action-target”…”R”KuuhŒ%http://schema.org/Action-actionStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actionStatus”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/ActionStatusType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0Indicates the current disposition of the Action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ actionStatus”NN‡”R”KsuhŒhttp://schema.org/Action-agent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/agent”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ^The direct performer or driver of the action (animate or inanimate). e.g. *John* wrote a book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œagent”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b19”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b17”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b18”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj³}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¶KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b20”…”R”KsujÕ}”(jÍ}”jÁKsjÑ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Action-endTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendTime”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b23”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b21”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b22”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b24”…”R”Ksuj'}”(j}”jKsj#}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Action-error”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/error”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAFor failed actions, more information on the cause of the failure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œerror”NN‡”R”KsuhŒ#http://schema.org/Action-instrument”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/instrument”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYThe object that helped the agent perform the action. e.g. John wrote a book with *a pen*.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ instrument”NN‡”R”KsuhŒ!http://schema.org/Action-location”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/location”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ|The location of, for example, where an event is happening, where an organization is located, or where an action takes place.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlocation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b29”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b25”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b26”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b27”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/VirtualLocation”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b28”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj«}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j®KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b30”…”R”Ksujã}”(jÛ}”j¹Ksjß}”j¤Œ$n8b6ee6229417493cb1977c6514222981b31”…”R”Ksujé}”(jÛ}”jÄKsjß}”j¤Œ$n8b6ee6229417493cb1977c6514222981b32”…”R”Ksujï}”(jÛ}”jÏKsjß}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Action-object”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/object”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe object upon which the action is carried out, whose state is kept intact or changed. Also known as the semantic roles patient, affected or undergoer (which change their state) or theme (which doesn't). e.g. John read *a book*.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œobject”NN‡”R”KsuhŒ$http://schema.org/Action-participant”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/participant”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ`Other co-agents that participated in the action indirectly. e.g. John wrote a book with *Steve*.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ participant”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b35”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b33”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b34”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjI}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jLKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b36”…”R”Ksujk}”(jc}”jWKsjg}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Action-result”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/result”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œhttp://schema.org/ActionAccessSpecification-availabilityStarts”…”R”KhŒ4http://schema.org/ActionAccessSpecification-category”…”R”KhŒ:http://schema.org/ActionAccessSpecification-eligibleRegion”…”R”KhŒ?http://schema.org/ActionAccessSpecification-expectsAcceptanceOf”…”R”KhŒhttp://schema.org/ActionAccessSpecification-availabilityStarts”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/availabilityStarts”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒRThe beginning of the availability of the product or service included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailabilityStarts”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b50”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b47”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b48”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b49”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”Kssjê }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jí KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b51”…”R”Ksuj }”(j }”jø Ksj }”j¤Œ$n8b6ee6229417493cb1977c6514222981b52”…”R”Ksuj }”(j }”j Ksj }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/ActionAccessSpecification-category”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/category”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒjA category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcategory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b57”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b53”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://schema.org/PhysicalActivityCategory”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b54”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b55”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b56”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjM }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jP KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b58”…”R”Ksuj… }”(j} }”j[ Ksj }”j¤Œ$n8b6ee6229417493cb1977c6514222981b59”…”R”Ksuj‹ }”(j} }”jf Ksj }”j¤Œ$n8b6ee6229417493cb1977c6514222981b60”…”R”Ksuj‘ }”(j} }”jq Ksj }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ:http://schema.org/ActionAccessSpecification-eligibleRegion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/eligibleRegion”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÔThe ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid.\n\nSee also [[ineligibleRegion]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeligibleRegion”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b64”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b61”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b62”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b63”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÁ }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÄ KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b65”…”R”Ksujî }”(jæ }”jÏ Ksjê }”j¤Œ$n8b6ee6229417493cb1977c6514222981b66”…”R”Ksujô }”(jæ }”jÚ Ksjê }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ?http://schema.org/ActionAccessSpecification-expectsAcceptanceOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/expectsAcceptanceOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ”An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexpectsAcceptanceOf”NN‡”R”KsuhŒThe anatomical or organ system that this structure is part of.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partOfSystem”NN‡”R”KsuhŒ6http://schema.org/AnatomicalStructure-relatedCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/relatedCondition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1A medical condition associated with this anatomy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelatedCondition”NN‡”R”KsuhŒ4http://schema.org/AnatomicalStructure-relatedTherapy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/relatedTherapy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*A medical therapy related to this anatomy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelatedTherapy”NN‡”R”KsuhŒ2http://schema.org/AnatomicalStructure-subStructure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/subStructure”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEComponent (sub-)structure(s) that comprise this anatomical structure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ subStructure”NN‡”R”KsuhŒ"http://schema.org/AnatomicalSystem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XpAn anatomical system is a group of anatomical structures that work together to perform a certain task. Anatomical systems, such as organ systems, are one organizing principle of anatomy, and can includes circulatory, digestive, endocrine, integumentary, immune, lymphatic, muscular, nervous, reproductive, respiratory, skeletal, urinary, vestibular, and other systems.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAnatomical system”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://en.wikipedia.org/wiki/Apartment).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Apartment”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Accommodation”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/Apartment-numberOfRooms”…”R”KhŒ%http://schema.org/Apartment-occupancy”…”R”KuuhŒ)http://schema.org/Apartment-numberOfRooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfRooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfRooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ$n8b6ee6229417493cb1977c6514222981b99”…”R”Ksuj¤Œ$n8b6ee6229417493cb1977c6514222981b97”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ$n8b6ee6229417493cb1977c6514222981b98”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÓ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÖKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b100”…”R”Ksujõ}”(jí}”jáKsjñ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Apartment-occupancy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/occupancy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X2The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ occupancy”NN‡”R”KsuhŒ"http://schema.org/ApartmentComplex”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Residence type: Apartment complex.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒApartment complex”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Residence”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ=http://schema.org/ApartmentComplex-numberOfAccommodationUnits”…”R”KhŒFhttp://schema.org/ApartmentComplex-numberOfAvailableAccommodationUnits”…”R”KhŒ3http://schema.org/ApartmentComplex-numberOfBedrooms”…”R”KhŒ.http://schema.org/ApartmentComplex-petsAllowed”…”R”KhŒ2http://schema.org/ApartmentComplex-tourBookingPage”…”R”KuuhŒ=http://schema.org/ApartmentComplex-numberOfAccommodationUnits”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://schema.org/numberOfAccommodationUnits”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X Indicates the total (available plus unavailable) number of accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAvailableAccommodationUnits]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfAccommodationUnits”NN‡”R”KsuhŒFhttp://schema.org/ApartmentComplex-numberOfAvailableAccommodationUnits”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ5http://schema.org/numberOfAvailableAccommodationUnits”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒèIndicates the number of available accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAccommodationUnits]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ#numberOfAvailableAccommodationUnits”NN‡”R”KsuhŒ3http://schema.org/ApartmentComplex-numberOfBedrooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/numberOfBedrooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhThe total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfBedrooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b103”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b101”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b102”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÜ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jßKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b104”…”R”Ksujþ}”(jö}”jêKsjú}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/ApartmentComplex-petsAllowed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/petsAllowed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒˆIndicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ petsAllowed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b107”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b105”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b106”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj.}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j1KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b108”…”R”KsujP}”(jH}”j<KsjL}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/ApartmentComplex-tourBookingPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/tourBookingPage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÄA page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtourBookingPage”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒhttp://schema.org/Appearance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Appearance assessment with clinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Appearance”NN‡”R”KsuhŒhttp://schema.org/AppendAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9The act of inserting at the end if an ordered collection.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Append action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/InsertAction”…”R”KsuhŒhttp://schema.org/ApplyAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒßThe act of registering to an organization/service without the guarantee to receive it.\n\nRelated actions:\n\n* [[RegisterAction]]: Unlike RegisterAction, ApplyAction has no guarantees that the application will be accepted.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Apply action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/OrganizeAction”…”R”KsuhŒ$http://schema.org/ApprovedIndication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÏAn indication for a medical therapy that has been formally specified or approved by a regulatory body that regulates use of the therapy; for example, the US FDA approves indications for most drugs in the US.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒApproved indication”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/MedicalIndication”…”R”KsuhŒhttp://schema.org/Aquarium”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Aquarium.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAquarium”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ"http://schema.org/ArchiveComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1758”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ’An intangible type to be applied to any archive content, carrying with it a set of properties required to describe archival items and collections.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒArchive component”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ1http://schema.org/ArchiveComponent-holdingArchive”…”R”KhŒ/http://schema.org/ArchiveComponent-itemLocation”…”R”KuuhŒ1http://schema.org/ArchiveComponent-holdingArchive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/holdingArchive”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/ArchiveOrganization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒP[[ArchiveOrganization]] that holds, keeps or maintains the [[ArchiveComponent]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒholdingArchive”Œen”N‡”R”KsuhŒ/http://schema.org/ArchiveComponent-itemLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemLocation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCurrent location of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemLocation”Œen”N‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b112”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b109”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b110”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b111”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÓ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÖKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b113”…”R”Ksuj}”(jø}”jáKsjü}”j¤Œ%n8b6ee6229417493cb1977c6514222981b114”…”R”Ksuj}”(jø}”jìKsjü}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/ArchiveOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1758”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ”An organization with archival holdings. An organization which keeps and preserves archival material and typically makes it accessible to the public.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒArchive organization”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ1http://schema.org/ArchiveOrganization-archiveHeld”…”R”KsuhŒ1http://schema.org/ArchiveOrganization-archiveHeld”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/archiveHeld”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/ArchiveComponent”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒyCollection, [fonds](https://en.wikipedia.org/wiki/Fonds), or item held, kept or maintained by an [[ArchiveOrganization]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ archiveHeld”Œen”N‡”R”KsuhŒhttp://schema.org/ArriveAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒtThe act of arriving at a place. An agent arrives at a destination from a fromLocation, optionally with participants.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Arrive action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MoveAction”…”R”KsuhŒhttp://schema.org/ArtGallery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn art gallery.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Art gallery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://schema.org/EntertainmentBusiness”…”R”KsuhŒhttp://schema.org/Artery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKA type of blood vessel that specifically carries blood away from the heart.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒArtery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Vessel”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ6http://purl.bioontology.org/ontology/SNOMEDCT/51114001”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/Artery-arterialBranch”…”R”KhŒ!http://schema.org/Artery-supplyTo”…”R”KuuhŒ'http://schema.org/Artery-arterialBranch”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/arterialBranch”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The branches that comprise the arterial structure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒarterialBranch”NN‡”R”KsuhŒ!http://schema.org/Artery-supplyTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/supplyTo”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,The area to which the artery supplies blood.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsupplyTo”NN‡”R”KsuhŒhttp://schema.org/Article”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XAn article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all.\n\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒArticle”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/Article-articleBody”…”R”KhŒ(http://schema.org/Article-articleSection”…”R”KhŒ#http://schema.org/Article-backstory”…”R”KhŒ!http://schema.org/Article-pageEnd”…”R”KhŒ#http://schema.org/Article-pageStart”…”R”KhŒ$http://schema.org/Article-pagination”…”R”KhŒ#http://schema.org/Article-speakable”…”R”KhŒ#http://schema.org/Article-wordCount”…”R”KuuhŒ%http://schema.org/Article-articleBody”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/articleBody”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe actual body of the article.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ articleBody”NN‡”R”KsuhŒ(http://schema.org/Article-articleSection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/articleSection”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒiArticles may belong to one or more 'sections' in a magazine or newspaper, such as Sports, Lifestyle, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒarticleSection”NN‡”R”KsuhŒ#http://schema.org/Article-backstory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/backstory”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XFor an [[Article]], typically a [[NewsArticle]], the backstory property provides a textual summary giving a brief explanation of why and how an article was created. In a journalistic setting this could include information about reporting process, methods, interviews, data sources, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ backstory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b117”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b115”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b116”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b118”…”R”Ksuj9}”(j1}”j%Ksj5}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Article-pageEnd”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/pageEnd”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ
See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBed and breakfast”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/LodgingBusiness”…”R”KsuhŒhttp://schema.org/BedDetails”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒýAn entity holding detailed information about the available bed types, e.g. the quantity of twin beds for a hotel room. For the single case of just one bed of a certain type, you can use bed directly with a text. See also [[BedType]] (under development).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Bed details”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/BedDetails-numberOfBeds”…”R”KhŒ&http://schema.org/BedDetails-typeOfBed”…”R”KuuhŒ)http://schema.org/BedDetails-numberOfBeds”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfBeds”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒZThe quantity of the given bed type available in the HotelRoom, Suite, House, or Apartment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfBeds”NN‡”R”KsuhŒ&http://schema.org/BedDetails-typeOfBed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/typeOfBed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe type of bed to which the BedDetail refers, i.e. the type of bed available in the quantity indicated by quantity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ typeOfBed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b149”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b147”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BedType”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b148”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjå%}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jè%KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b150”…”R”Ksuj&}”(jÿ%}”jó%Ksj&}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/BedType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”(hŒ2https://github.com/schemaorg/schemaorg/issues/1262”…”R”KhŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYA type of bed. This is used for indicating the bed or beds available in an accommodation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBed type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”KsuhŒ http://schema.org/BefriendAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒàThe act of forming a personal connection with someone (object) mutually/bidirectionally/symmetrically.\n\nRelated actions:\n\n* [[FollowAction]]: Unlike FollowAction, BefriendAction implies that the connection is reciprocal.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBefriend action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/InteractAction”…”R”KsuhŒ&http://schema.org/BenefitsHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKContent about the benefits and advantages of usage or utilization of topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBenefits health aspect”NN‡”R”KsuhŒhttp://schema.org/BikeStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A bike store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Bike store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/Blog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA blog.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBlog”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Blog-blogPost”…”R”KhŒ http://schema.org/Blog-blogPosts”…”R”KhŒhttp://schema.org/Blog-issn”…”R”KuuhŒhttp://schema.org/Blog-blogPost”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/blogPost”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BlogPosting”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$A posting that is part of this blog.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒblogPost”NN‡”R”KsuhŒ http://schema.org/Blog-blogPosts”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/blogPosts”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BlogPosting”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(The postings that are part of this blog.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ blogPosts”NN‡”R”KsuhŒhttp://schema.org/Blog-issn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÒThe International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œissn”NN‡”R”KsuhŒhttp://schema.org/BlogPosting”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A blog post.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Blog posting”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/SocialMediaPosting”…”R”KsuhŒhttp://schema.org/BloodTest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:A medical test performed on a sample of a patient's blood.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Blood test”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KsuhŒ$http://schema.org/BoardingPolicyType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-A type of boarding policy used by an airline.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBoarding policy type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ!http://schema.org/BoatReservation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1755”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÜA reservation for boat travel. Note: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBoat reservation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Reservation”…”R”KsuhŒhttp://schema.org/BoatTerminal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1755”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5A terminal for boats, ships, and other water vessels.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Boat terminal”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/BoatTrip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1755”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"A trip on a commercial ferry line.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Boat trip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Trip”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/BoatTrip-arrivalBoatTerminal”…”R”KhŒ0http://schema.org/BoatTrip-departureBoatTerminal”…”R”KuuhŒ.http://schema.org/BoatTrip-arrivalBoatTerminal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/arrivalBoatTerminal”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BoatTerminal”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The terminal or port from which the boat arrives.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒarrivalBoatTerminal”NN‡”R”KsuhŒ0http://schema.org/BoatTrip-departureBoatTerminal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/departureBoatTerminal”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BoatTerminal”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The terminal or port from which the boat departs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdepartureBoatTerminal”NN‡”R”KsuhŒ$http://schema.org/BodyMeasurementArm”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ}Arm length (measured between arms/shoulder line intersection and the prominent wrist bone). Used, for example, to fit shirts.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement arm”NN‡”R”KsuhŒ%http://schema.org/BodyMeasurementBust”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?Maximum girth of bust. Used, for example, to fit women's suits.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement bust”NN‡”R”KsuhŒ&http://schema.org/BodyMeasurementChest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ>Maximum girth of chest. Used, for example, to fit men's suits.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement chest”NN‡”R”KsuhŒ%http://schema.org/BodyMeasurementFoot”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŠFoot length (measured between end of the most prominent toe and the most prominent part of the heel). Used, for example, to measure socks.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement foot”NN‡”R”KsuhŒ%http://schema.org/BodyMeasurementHand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‹Maximum hand girth (measured over the knuckles of the open right hand excluding thumb, fingers together). Used, for example, to fit gloves.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement hand”NN‡”R”KsuhŒ%http://schema.org/BodyMeasurementHead”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEMaximum girth of head above the ears. Used, for example, to fit hats.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement head”NN‡”R”KsuhŒ'http://schema.org/BodyMeasurementHeight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbBody height (measured between crown of head and soles of feet). Used, for example, to fit jackets.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement height”NN‡”R”KsuhŒ%http://schema.org/BodyMeasurementHips”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOGirth of hips (measured around the buttocks). Used, for example, to fit skirts.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement hips”NN‡”R”KsuhŒ*http://schema.org/BodyMeasurementInsideLeg”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXInside leg (measured between crotch and soles of feet). Used, for example, to fit pants.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement inside leg”NN‡”R”KsuhŒ%http://schema.org/BodyMeasurementNeck”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Girth of neck. Used, for example, to fit shirts.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement neck”NN‡”R”KsuhŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒeEnumerates types (or dimensions) of a person's body measurements, for example for fitting of clothes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ!Body measurement type enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ,http://schema.org/MeasurementTypeEnumeration”…”R”KsuhŒ*http://schema.org/BodyMeasurementUnderbust”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNGirth of body just below the bust. Used, for example, to fit women's swimwear.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement underbust”NN‡”R”KsuhŒ&http://schema.org/BodyMeasurementWaist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ_Girth of natural waistline (between hip bones and lower ribs). Used, for example, to fit pants.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement waist”NN‡”R”KsuhŒ'http://schema.org/BodyMeasurementWeight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/BodyMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5Body weight. Used, for example, to measure pantyhose.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBody measurement weight”NN‡”R”KsuhŒhttp://schema.org/BodyOfWater”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/A body of water, such as a sea, ocean, or lake.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Body of water”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Landform”…”R”KsuhŒhttp://schema.org/Bone”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSRigid connective tissue that comprises up the skeletal structure of the human body.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBone”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KsuhŒhttp://schema.org/Book”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBook”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Book-abridged”…”R”KhŒ"http://schema.org/Book-bookEdition”…”R”KhŒ!http://schema.org/Book-bookFormat”…”R”KhŒ"http://schema.org/Book-illustrator”…”R”KhŒhttp://schema.org/Book-isbn”…”R”KhŒ$http://schema.org/Book-numberOfPages”…”R”KuuhŒhttp://schema.org/Book-abridged”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/abridged”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2Indicates whether the book is an abridged edition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œabridged”NN‡”R”KsuhŒ"http://schema.org/Book-bookEdition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/bookEdition”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe edition of the book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ bookEdition”NN‡”R”KsuhŒ!http://schema.org/Book-bookFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/bookFormat”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/BookFormatType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe format of the book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ bookFormat”NN‡”R”KsuhŒ"http://schema.org/Book-illustrator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/illustrator”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe illustrator of the book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ illustrator”NN‡”R”KsuhŒhttp://schema.org/Book-isbn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isbn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe ISBN of the book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œisbn”NN‡”R”KsuhŒ$http://schema.org/Book-numberOfPages”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfPages”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The number of pages in the book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfPages”NN‡”R”KsuhŒ http://schema.org/BookFormatType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#The publication format of the book.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBook format type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/BookSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMA series of books. Included books can be indicated with the hasPart property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Book series”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/CreativeWorkSeries”…”R”KsuhŒhttp://schema.org/BookStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A bookstore.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Book store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ http://schema.org/BookmarkAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5An agent bookmarks/flags/labels/tags/marks an object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBookmark action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/OrganizeAction”…”R”KsuhŒhttp://schema.org/Boolean”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒhttp://schema.org/DataType”…”R”KhŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBoolean: True or False.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBoolean”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒhttp://schema.org/BorrowAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ®The act of obtaining an object under an agreement to return it at a later date. Reciprocal of LendAction.\n\nRelated actions:\n\n* [[LendAction]]: Reciprocal of BorrowAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Borrow action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/TransferAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ%http://schema.org/BorrowAction-lender”…”R”KsuhŒ%http://schema.org/BorrowAction-lender”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/lender”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒOA sub property of participant. The person that lends the object being borrowed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlender”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b153”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b151”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b152”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¦-}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j©-KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b154”…”R”KsujÈ-}”(jÀ-}”j´-KsjÄ-}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/BowlingAlley”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA bowling alley.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Bowling alley”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KsuhŒ http://schema.org/BrainStructure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAny anatomical structure which pertains to the soft nervous tissue functioning as the coordinating center of sensation and intellectual and nervous activity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBrain structure”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KsuhŒhttp://schema.org/Brand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒoA brand is a name used by an organization or business person for labeling a product, product group, or similar.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBrand”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/Brand-aggregateRating”…”R”KhŒhttp://schema.org/Brand-logo”…”R”KhŒhttp://schema.org/Brand-review”…”R”KhŒhttp://schema.org/Brand-slogan”…”R”KuuhŒ'http://schema.org/Brand-aggregateRating”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/aggregateRating”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/AggregateRating”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMThe overall rating, based on a collection of reviews or ratings, of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaggregateRating”NN‡”R”KsuhŒhttp://schema.org/Brand-logo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/logo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn associated logo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlogo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b157”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b155”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b156”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj².}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jµ.KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b158”…”R”KsujÔ.}”(jÌ.}”jÀ.KsjÐ.}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Brand-review”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/review”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA review of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreview”NN‡”R”KsuhŒhttp://schema.org/Brand-slogan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/slogan”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A slogan or motto associated with the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œslogan”NN‡”R”KsuhŒ http://schema.org/BreadcrumbList”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XÀA BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.\n\nThe [[position]] property is used to reconstruct the order of the items in a BreadcrumbList The convention is that a breadcrumb list has an [[itemListOrder]] of [[ItemListOrderAscending]] (lower values listed first), and that the first items in this list correspond to the "top" or beginning of the breadcrumb trail, e.g. with a site or section homepage. The specific values of 'position' are not assigned meaning for a BreadcrumbList, but they should be integers, e.g. beginning with '1' for the first item in the list. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBreadcrumb list”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ItemList”…”R”KsuhŒhttp://schema.org/Brewery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBrewery.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBrewery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/FoodEstablishment”…”R”KsuhŒhttp://schema.org/Bridge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A bridge.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBridge”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ"http://schema.org/BroadcastChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLA unique instance of a BroadcastService on a CableOrSatelliteService lineup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBroadcast channel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ5http://schema.org/BroadcastChannel-broadcastChannelId”…”R”KhŒ5http://schema.org/BroadcastChannel-broadcastFrequency”…”R”KhŒ7http://schema.org/BroadcastChannel-broadcastServiceTier”…”R”KhŒ(http://schema.org/BroadcastChannel-genre”…”R”KhŒ4http://schema.org/BroadcastChannel-inBroadcastLineup”…”R”KhŒ;http://schema.org/BroadcastChannel-providesBroadcastService”…”R”KuuhŒ5http://schema.org/BroadcastChannel-broadcastChannelId”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/broadcastChannelId”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ{The unique address by which the BroadcastService can be identified in a provider lineup. In US, this is typically a number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastChannelId”NN‡”R”KsuhŒ5http://schema.org/BroadcastChannel-broadcastFrequency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/broadcastFrequency”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¿The frequency used for over-the-air broadcasts. Numeric values or simple ranges e.g. 87-99. In addition a shortcut idiom is supported for frequences of AM and FM radio channels, e.g. "87 FM".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastFrequency”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b161”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b159”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ1http://schema.org/BroadcastFrequencySpecification”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b160”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj00}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j30KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b162”…”R”KsujR0}”(jJ0}”j>0KsjN0}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ7http://schema.org/BroadcastChannel-broadcastServiceTier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/broadcastServiceTier”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒVThe type of service required to have access to the channel (e.g. Standard or Premium).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastServiceTier”NN‡”R”KsuhŒ(http://schema.org/BroadcastChannel-genre”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/genre”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Genre of the creative work, broadcast channel or group.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgenre”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b165”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b163”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b164”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¬0}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¯0KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b166”…”R”KsujÎ0}”(jÆ0}”jº0KsjÊ0}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/BroadcastChannel-inBroadcastLineup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/inBroadcastLineup”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/CableOrSatelliteService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The CableOrSatelliteService offering the channel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinBroadcastLineup”NN‡”R”KsuhŒ;http://schema.org/BroadcastChannel-providesBroadcastService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/providesBroadcastService”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/BroadcastService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-The BroadcastService offered on this channel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprovidesBroadcastService”NN‡”R”KsuhŒ http://schema.org/BroadcastEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ*An over the air or online broadcast event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBroadcast event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/PublicationEvent”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ1http://schema.org/BroadcastEvent-broadcastOfEvent”…”R”KhŒ0http://schema.org/BroadcastEvent-isLiveBroadcast”…”R”KhŒ1http://schema.org/BroadcastEvent-subtitleLanguage”…”R”KhŒ,http://schema.org/BroadcastEvent-videoFormat”…”R”KuuhŒ1http://schema.org/BroadcastEvent-broadcastOfEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”•}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/broadcastOfEvent”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒFThe event being broadcast such as a sporting event or awards ceremony.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastOfEvent”NN‡”R”KsuhŒ0http://schema.org/BroadcastEvent-isLiveBroadcast”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/isLiveBroadcast”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)True if the broadcast is of a live event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒisLiveBroadcast”NN‡”R”KsuhŒ1http://schema.org/BroadcastEvent-subtitleLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/subtitleLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxLanguages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubtitleLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b169”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b167”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b168”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÜ1}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jß1KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b170”…”R”Ksujþ1}”(jö1}”jê1Ksjú1}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/BroadcastEvent-videoFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/videoFormat”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLThe type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ videoFormat”NN‡”R”KsuhŒ1http://schema.org/BroadcastFrequencySpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1004”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOThe frequency in MHz and the modulation used for a particular BroadcastService.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ!Broadcast frequency specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒIhttp://schema.org/BroadcastFrequencySpecification-broadcastFrequencyValue”…”R”KhŒKhttp://schema.org/BroadcastFrequencySpecification-broadcastSignalModulation”…”R”KhŒEhttp://schema.org/BroadcastFrequencySpecification-broadcastSubChannel”…”R”KuuhŒIhttp://schema.org/BroadcastFrequencySpecification-broadcastFrequencyValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/broadcastFrequencyValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The frequency in MHz for a particular broadcast.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastFrequencyValue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b173”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b171”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b172”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj’2}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j•2KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b174”…”R”Ksuj´2}”(j¬2}”j 2Ksj°2}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒKhttp://schema.org/BroadcastFrequencySpecification-broadcastSignalModulation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/broadcastSignalModulation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIThe modulation (e.g. FM, AM, etc) used by a particular broadcast service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastSignalModulation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b177”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b175”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b176”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjä2}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jç2KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b178”…”R”Ksuj3}”(jþ2}”jò2Ksj3}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒEhttp://schema.org/BroadcastFrequencySpecification-broadcastSubChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/broadcastSubChannel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&The subchannel used for the broadcast.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastSubChannel”NN‡”R”KsuhŒ"http://schema.org/BroadcastRelease”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/MusicAlbumReleaseType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBroadcastRelease.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBroadcast release”NN‡”R”KsuhŒ"http://schema.org/BroadcastService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒZA delivery service through which content is provided via broadcast over the air or online.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBroadcast service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/BroadcastService-area”…”R”KhŒ7http://schema.org/BroadcastService-broadcastAffiliateOf”…”R”KhŒ7http://schema.org/BroadcastService-broadcastDisplayName”…”R”KhŒ5http://schema.org/BroadcastService-broadcastFrequency”…”R”KhŒ4http://schema.org/BroadcastService-broadcastTimezone”…”R”KhŒ.http://schema.org/BroadcastService-broadcaster”…”R”KhŒ+http://schema.org/BroadcastService-callSign”…”R”KhŒ6http://schema.org/BroadcastService-hasBroadcastChannel”…”R”KhŒ-http://schema.org/BroadcastService-inLanguage”…”R”KhŒ0http://schema.org/BroadcastService-parentService”…”R”KhŒ.http://schema.org/BroadcastService-videoFormat”…”R”KuuhŒ'http://schema.org/BroadcastService-area”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/area”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒFThe area within which users can expect to reach the broadcast service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œarea”NN‡”R”KsuhŒ7http://schema.org/BroadcastService-broadcastAffiliateOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/broadcastAffiliateOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The media network(s) whose content is broadcast on this station.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastAffiliateOf”NN‡”R”KsuhŒ7http://schema.org/BroadcastService-broadcastDisplayName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/broadcastDisplayName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒXThe name displayed in the channel guide. For many US affiliates, it is the network name.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastDisplayName”NN‡”R”KsuhŒ5http://schema.org/BroadcastService-broadcastFrequency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/broadcastFrequency”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¿The frequency used for over-the-air broadcasts. Numeric values or simple ranges e.g. 87-99. In addition a shortcut idiom is supported for frequences of AM and FM radio channels, e.g. "87 FM".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastFrequency”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b181”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b179”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ1http://schema.org/BroadcastFrequencySpecification”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b180”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjI4}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jL4KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b182”…”R”Ksujk4}”(jc4}”jW4Ksjg4}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/BroadcastService-broadcastTimezone”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/broadcastTimezone”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒsThe timezone in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601) for which the service bases its broadcasts”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbroadcastTimezone”NN‡”R”KsuhŒ.http://schema.org/BroadcastService-broadcaster”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/broadcaster”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;The organization owning or operating the broadcast service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ broadcaster”NN‡”R”KsuhŒ+http://schema.org/BroadcastService-callSign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/callSign”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŸA [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcallSign”NN‡”R”KsuhŒ6http://schema.org/BroadcastService-hasBroadcastChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/hasBroadcastChannel”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/BroadcastChannel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A broadcast channel of a broadcast service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasBroadcastChannel”NN‡”R”KsuhŒ-http://schema.org/BroadcastService-inLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÈThe language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b185”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b183”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b184”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjC5}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jF5KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b186”…”R”Ksuje5}”(j]5}”jQ5Ksja5}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/BroadcastService-parentService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/parentService”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/BroadcastService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒsA broadcast service to which the broadcast service may belong to such as regional variations of a national channel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ parentService”NN‡”R”KsuhŒ.http://schema.org/BroadcastService-videoFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/videoFormat”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLThe type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ videoFormat”NN‡”R”KsuhŒ"http://schema.org/BrokerageAccount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1253”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyAn account that allows an investor to deposit funds and place investment orders with a licensed broker or brokerage firm.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBrokerage account”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/InvestmentOrDeposit”…”R”KsuhŒ http://schema.org/BuddhistTemple”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA Buddhist temple.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBuddhist temple”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/PlaceOfWorship”…”R”KsuhŒhttp://schema.org/BusOrCoach”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://auto.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ—A bus (also omnibus or autobus) is a road vehicle designed to carry passengers. Coaches are luxury busses, usually in service for long distance travel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Bus or coach”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Vehicle”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/BusOrCoach-acrissCode”…”R”KhŒ%http://schema.org/BusOrCoach-roofLoad”…”R”KuuhŒ'http://schema.org/BusOrCoach-acrissCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/acrissCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒµThe ACRISS Car Classification Code is a code used by many car rental companies, for classifying vehicles. ACRISS stands for Association of Car Rental Industry Systems and Standards.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ acrissCode”NN‡”R”KsuhŒ%http://schema.org/BusOrCoach-roofLoad”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/roofLoad”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÍThe permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.\n\nTypical unit code(s): KGM for kilogram, LBR for pound\n\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]]\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒroofLoad”NN‡”R”KsuhŒ http://schema.org/BusReservation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÞA reservation for bus travel. \n\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBus reservation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Reservation”…”R”KsuhŒhttp://schema.org/BusStation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA bus station.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Bus station”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/BusStop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A bus stop.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBus stop”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/BusTrip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A trip on a commercial bus line.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBus trip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Trip”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/BusTrip-arrivalBusStop”…”R”KhŒ!http://schema.org/BusTrip-busName”…”R”KhŒ#http://schema.org/BusTrip-busNumber”…”R”KhŒ*http://schema.org/BusTrip-departureBusStop”…”R”KuuhŒ(http://schema.org/BusTrip-arrivalBusStop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/arrivalBusStop”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/The stop or station from which the bus arrives.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒarrivalBusStop”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b189”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b187”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BusStation”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b188”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BusStop”…”R”Kssj€7}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jƒ7KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b190”…”R”Ksuj¢7}”(jš7}”jŽ7Ksjž7}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/BusTrip-busName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/busName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(The name of the bus (e.g. Bolt Express).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbusName”NN‡”R”KsuhŒ#http://schema.org/BusTrip-busNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/busNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The unique identifier for the bus.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ busNumber”NN‡”R”KsuhŒ*http://schema.org/BusTrip-departureBusStop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/departureBusStop”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/The stop or station from which the bus departs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdepartureBusStop”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b193”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b191”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BusStation”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b192”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BusStop”…”R”Kssj&8}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j)8KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b194”…”R”KsujH8}”(j@8}”j48KsjD8}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/BusinessAudience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ]A set of characteristics belonging to businesses, e.g. who compose an item's target audience.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBusiness audience”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Audience”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ4http://schema.org/BusinessAudience-numberOfEmployees”…”R”KhŒ0http://schema.org/BusinessAudience-yearlyRevenue”…”R”KhŒ3http://schema.org/BusinessAudience-yearsInOperation”…”R”KuuhŒ4http://schema.org/BusinessAudience-numberOfEmployees”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/numberOfEmployees”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The number of employees in an organization e.g. business.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfEmployees”NN‡”R”KsuhŒ0http://schema.org/BusinessAudience-yearlyRevenue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/yearlyRevenue”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+The size of the business in annual revenue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ yearlyRevenue”NN‡”R”KsuhŒ3http://schema.org/BusinessAudience-yearsInOperation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/yearsInOperation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe age of the business.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒyearsInOperation”NN‡”R”KsuhŒ$http://schema.org/BusinessEntityType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X®A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of an organization or business person.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#Business\n* http://purl.org/goodrelations/v1#Enduser\n* http://purl.org/goodrelations/v1#PublicInstitution\n* http://purl.org/goodrelations/v1#Reseller ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBusiness entity type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/BusinessEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Business event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBusiness event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒ"http://schema.org/BusinessFunction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the organization or business person through the offer. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Proprietary specifications of access rights are also instances of this class.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#ConstructionInstallation\n* http://purl.org/goodrelations/v1#Dispose\n* http://purl.org/goodrelations/v1#LeaseOut\n* http://purl.org/goodrelations/v1#Maintain\n* http://purl.org/goodrelations/v1#ProvideService\n* http://purl.org/goodrelations/v1#Repair\n* http://purl.org/goodrelations/v1#Sell\n* http://purl.org/goodrelations/v1#Buy ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBusiness function”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ!http://schema.org/BusinessSupport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=BusinessSupport: this is a benefit for supporting businesses.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBusiness support”NN‡”R”KsuhŒhttp://schema.org/BuyAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ±The act of giving money to a seller in exchange for goods or services rendered. An agent buys an object, product, or service from a seller for a price. Reciprocal of SellAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Buy action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/TradeAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ"http://schema.org/BuyAction-seller”…”R”KhŒ"http://schema.org/BuyAction-vendor”…”R”KhŒ+http://schema.org/BuyAction-warrantyPromise”…”R”KuuhŒ"http://schema.org/BuyAction-seller”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seller”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoAn entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseller”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b197”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b195”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b196”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj:}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j:KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b198”…”R”Ksuj%:}”(j:}”j:Ksj!:}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/BuyAction-vendor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/vendor”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)'vendor' is an earlier term for 'seller'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œvendor”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b201”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b199”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b200”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjU:}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jX:KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b202”…”R”Ksujw:}”(jo:}”jc:Ksjs:}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/BuyAction-warrantyPromise”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/warrantyPromise”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/WarrantyPromise”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The warranty promise(s) included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒwarrantyPromise”NN‡”R”KsuhŒhttp://schema.org/CDCPMDRecord”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2521”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA CDCPMDRecord is a data structure representing a record in a CDC tabular data format used for hospital data reporting. See [documentation](/docs/cdc-covid.html) for details, and the linked CDC materials for authoritative definitions used as the source here. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ CDCPMDRecord”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/CDCPMDRecord-cvdCollectionDate”…”R”KhŒ0http://schema.org/CDCPMDRecord-cvdFacilityCounty”…”R”KhŒ,http://schema.org/CDCPMDRecord-cvdFacilityId”…”R”KhŒ)http://schema.org/CDCPMDRecord-cvdNumBeds”…”R”KhŒ,http://schema.org/CDCPMDRecord-cvdNumBedsOcc”…”R”KhŒ,http://schema.org/CDCPMDRecord-cvdNumC19Died”…”R”KhŒ.http://schema.org/CDCPMDRecord-cvdNumC19HOPats”…”R”KhŒ0http://schema.org/CDCPMDRecord-cvdNumC19HospPats”…”R”KhŒ4http://schema.org/CDCPMDRecord-cvdNumC19MechVentPats”…”R”KhŒ6http://schema.org/CDCPMDRecord-cvdNumC19OFMechVentPats”…”R”KhŒ4http://schema.org/CDCPMDRecord-cvdNumC19OverflowPats”…”R”KhŒ,http://schema.org/CDCPMDRecord-cvdNumICUBeds”…”R”KhŒ/http://schema.org/CDCPMDRecord-cvdNumICUBedsOcc”…”R”KhŒ,http://schema.org/CDCPMDRecord-cvdNumTotBeds”…”R”KhŒ)http://schema.org/CDCPMDRecord-cvdNumVent”…”R”KhŒ,http://schema.org/CDCPMDRecord-cvdNumVentUse”…”R”KhŒ)http://schema.org/CDCPMDRecord-datePosted”…”R”KuuhŒ0http://schema.org/CDCPMDRecord-cvdCollectionDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/cvdCollectionDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j>KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b210”…”R”Ksuj&>}”(j>}”j>Ksj">}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/CDFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ CDFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCDFormat”NN‡”R”KsuhŒhttp://schema.org/CT”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/MedicalImagingTechnique”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"X-ray computed tomography imaging.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCT”NN‡”R”KsuhŒ)http://schema.org/CableOrSatelliteService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlA service which provides access to media programming like TV or radio. Access may be via cable or satellite.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCable or satellite service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KsuhŒ"http://schema.org/CafeOrCoffeeShop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA cafe or coffee shop.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCafe or coffee shop”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/FoodEstablishment”…”R”KsuhŒhttp://schema.org/Campground”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XUA camping site, campsite, or [[Campground]] is a place used for overnight stay in the outdoors, typically containing individual [[CampingPitch]] locations. \n\n In British English a campsite is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites (Source: Wikipedia see [https://en.wikipedia.org/wiki/Campsite](https://en.wikipedia.org/wiki/Campsite)).\n\n See also the dedicated [document on the use of schema.org for marking up hotels and other forms of accommodations](/docs/hotels.html). ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Campground”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ http://schema.org/CivicStructure”…”R”KhŒ!http://schema.org/LodgingBusiness”…”R”KuuhŒhttp://schema.org/CampingPitch”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XXA [[CampingPitch]] is an individual place for overnight stay in the outdoors, typically being part of a larger camping site, or [[Campground]].\n\n In British English a campsite, or campground, is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites. (Source: Wikipedia see [https://en.wikipedia.org/wiki/Campsite](https://en.wikipedia.org/wiki/Campsite)).\n\n See also the dedicated [document on the use of schema.org for marking up hotels and other forms of accommodations](/docs/hotels.html). ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Camping pitch”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Accommodation”…”R”KsuhŒhttp://schema.org/Canal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA canal, like the Panama Canal.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCanal”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/BodyOfWater”…”R”KsuhŒhttp://schema.org/CancelAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ–The act of asserting that a future event/action is no longer going to happen.\n\nRelated actions:\n\n* [[ConfirmAction]]: The antonym of CancelAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Cancel action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/PlanAction”…”R”KsuhŒhttp://schema.org/Car”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGA car is a wheeled, self-powered motor vehicle used for transportation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCar”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Vehicle”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ http://schema.org/Car-acrissCode”…”R”KhŒhttp://schema.org/Car-roofLoad”…”R”KuuhŒ http://schema.org/Car-acrissCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/acrissCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒµThe ACRISS Car Classification Code is a code used by many car rental companies, for classifying vehicles. ACRISS stands for Association of Car Rental Industry Systems and Standards.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ acrissCode”NN‡”R”KsuhŒhttp://schema.org/Car-roofLoad”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/roofLoad”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÍThe permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.\n\nTypical unit code(s): KGM for kilogram, LBR for pound\n\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]]\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒroofLoad”NN‡”R”KsuhŒhttp://schema.org/CarUsageType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://auto.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA value indicating a special usage of a car, e.g. commercial rental, driving school, or as a taxi.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCar usage type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ http://schema.org/Cardiovascular”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒtA specific branch of medical science that pertains to diagnosis and treatment of disorders of heart and vasculature.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCardiovascular”NN‡”R”KsuhŒ$http://schema.org/CardiovascularExam”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:Cardiovascular system assessment withclinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCardiovascular exam”NN‡”R”KsuhŒhttp://schema.org/CaseSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ1http://schema.org/MedicalObservationalStudyDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X+A case series (also known as a clinical series) is a medical research study that tracks patients with a known exposure given similar treatment or examines their medical records for exposure and outcome. A case series can be retrospective or prospective and usually involves a smaller number of patients than the more powerful case-control studies or randomized controlled trials. Case series may be consecutive or non-consecutive, depending on whether all cases presenting to the reporting authors over a period of time were included, or only a selection.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Case series”NN‡”R”KsuhŒhttp://schema.org/Casino”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A casino.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCasino”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://schema.org/EntertainmentBusiness”…”R”KsuhŒ http://schema.org/CassetteFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒCassetteFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCassette format”NN‡”R”KsuhŒhttp://schema.org/CategoryCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ1https://github.com/schemaorg/schemaorg/issues/894”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA Category Code.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Category code”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/CategoryCode-codeValue”…”R”KhŒ(http://schema.org/CategoryCode-inCodeSet”…”R”KuuhŒ(http://schema.org/CategoryCode-codeValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/codeValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8A short textual code that uniquely identifies the value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ codeValue”NN‡”R”KsuhŒ(http://schema.org/CategoryCode-inCodeSet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inCodeSet”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7A [[CategoryCodeSet]] that contains this category code.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inCodeSet”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b213”…”R”Ksu• j¤Œ%n8b6ee6229417493cb1977c6514222981b211”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/CategoryCodeSet”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b212”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KssjXA}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j[AKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b214”…”R”KsujzA}”(jrA}”jfAKsjvA}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/CategoryCodeSet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ1https://github.com/schemaorg/schemaorg/issues/894”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA set of Category Code values.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCategory code set”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/DefinedTermSet”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ1http://schema.org/CategoryCodeSet-hasCategoryCode”…”R”KsuhŒ1http://schema.org/CategoryCodeSet-hasCategoryCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/hasCategoryCode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CategoryCode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A Category code contained in this code set.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasCategoryCode”NN‡”R”KsuhŒ http://schema.org/CatholicChurch”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA Catholic church.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCatholic church”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Church”…”R”KsuhŒ$http://schema.org/CausesHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJInformation about the causes and main actions that gave rise to the topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCauses health aspect”NN‡”R”KsuhŒhttp://schema.org/Cemetery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A graveyard.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCemetery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/Chapter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒcOne of the sections into which a book is divided. A chapter usually has a section number or a name.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒChapter”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ!http://schema.org/Chapter-pageEnd”…”R”KhŒ#http://schema.org/Chapter-pageStart”…”R”KhŒ$http://schema.org/Chapter-pagination”…”R”KuuhŒ!http://schema.org/Chapter-pageEnd”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/pageEnd”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ<time itemprop="openingHours" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time>.\n* If a business is open 7 days a week, then it can be specified as <time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time>.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ openingHours”NN‡”R”KsuhŒhttp://schema.org/Claim”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1828”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XyA [[Claim]] in Schema.org represents a specific, factually-oriented claim that could be the [[itemReviewed]] in a [[ClaimReview]]. The content of a claim can be summarized with the [[text]] property. Variations on well known claims can have their common identity indicated via [[sameAs]] links, and summarized with a [[name]]. Ideally, a [[Claim]] description includes enough contextual information to minimize the risk of ambiguity or inclarity. In practice, many claims are better understood in the context in which they appear or the interpretations provided by claim reviews. Beyond [[ClaimReview]], the Claim type can be associated with related creative works - for example a [[ScholarlyArticle]] or [[Question]] might be [[about]] some [[Claim]]. At this time, Schema.org does not define any types of relationship between claims. This is a natural area for future exploration. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒClaim”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ"http://schema.org/Claim-appearance”…”R”KhŒ'http://schema.org/Claim-firstAppearance”…”R”KuuhŒ"http://schema.org/Claim-appearance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/appearance”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?Indicates an occurence of a [[Claim]] in some [[CreativeWork]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ appearance”NN‡”R”KsuhŒ'http://schema.org/Claim-firstAppearance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/firstAppearance”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLIndicates the first known occurence of a [[Claim]] in some [[CreativeWork]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfirstAppearance”NN‡”R”KsuhŒhttp://schema.org/ClaimReview”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1061”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒhA fact-checking review of claims made (or reported) in some creative work (referenced via itemReviewed).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Claim review”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ+http://schema.org/ClaimReview-claimReviewed”…”R”KsuhŒ+http://schema.org/ClaimReview-claimReviewed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/claimReviewed”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAA short summary of the specific claims reviewed in a ClaimReview.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ claimReviewed”NN‡”R”KsuhŒhttp://schema.org/CleaningFee”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/PriceComponentTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2689”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒjRepresents the cleaning fee part of the total price for an offered product, for example a vacation rental.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Cleaning fee”NN‡”R”KsuhŒhttp://schema.org/Clinician”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ%http://schema.org/MedicalAudienceType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒrMedical clinicians, including practicing physicians and other medical professionals involved in clinical practice.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Clinician”NN‡”R”KsuhŒhttp://schema.org/Clip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;A short TV or radio program or a segment/part of a program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒClip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Clip-actor”…”R”KhŒhttp://schema.org/Clip-actors”…”R”KhŒ!http://schema.org/Clip-clipNumber”…”R”KhŒhttp://schema.org/Clip-director”…”R”KhŒ http://schema.org/Clip-directors”…”R”KhŒ http://schema.org/Clip-endOffset”…”R”KhŒhttp://schema.org/Clip-musicBy”…”R”KhŒ$http://schema.org/Clip-partOfEpisode”…”R”KhŒ#http://schema.org/Clip-partOfSeason”…”R”KhŒ#http://schema.org/Clip-partOfSeries”…”R”KhŒ"http://schema.org/Clip-startOffset”…”R”KuuhŒhttp://schema.org/Clip-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒhttp://schema.org/Clip-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ!http://schema.org/Clip-clipNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/clipNumber”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6Position of the clip within an ordered group of clips.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ clipNumber”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b233”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b231”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b232”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj(H}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j+HKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b234”…”R”KsujJH}”(jBH}”j6HKsjFH}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Clip-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ http://schema.org/Clip-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ http://schema.org/Clip-endOffset”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endOffset”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The end time of the clip expressed as the number of seconds from the beginning of the work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ endOffset”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b237”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b235”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HyperTocEntry”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b236”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÎH}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÑHKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b238”…”R”KsujðH}”(jèH}”jÜHKsjìH}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Clip-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b241”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b239”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b240”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj I}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j#IKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b242”…”R”KsujBI}”(j:I}”j.IKsj>I}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Clip-partOfEpisode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/partOfEpisode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'The episode to which this clip belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partOfEpisode”NN‡”R”KsuhŒ#http://schema.org/Clip-partOfSeason”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/partOfSeason”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)The season to which this episode belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partOfSeason”NN‡”R”KsuhŒ#http://schema.org/Clip-partOfSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/partOfSeries”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeries”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The series to which this episode or season belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partOfSeries”NN‡”R”KsuhŒ"http://schema.org/Clip-startOffset”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startOffset”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ]The start time of the clip expressed as the number of seconds from the beginning of the work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startOffset”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b245”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b243”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HyperTocEntry”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b244”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjðI}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jóIKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b246”…”R”KsujJ}”(j J}”jþIKsjJ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/ClothingStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA clothing store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒClothing store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/CoOp”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/GamePlayMode”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRPlay mode: CoOp. Co-operative games, where you play on the same team with friends.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCo op”NN‡”R”KsuhŒhttp://schema.org/Code”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/SoftwareSourceCode”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒtComputer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCode”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KsuhŒhttp://schema.org/CohortStudy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ1http://schema.org/MedicalObservationalStudyDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X²Also known as a panel study. A cohort study is a form of longitudinal study used in medicine and social science. It is one type of study design and should be compared with a cross-sectional study. A cohort is a group of people who share a common characteristic or experience within a defined period (e.g., are born, leave school, lose their job, are exposed to a drug or a vaccine, etc.). The comparison group may be the general population from which the cohort is drawn, or it may be another cohort of persons thought to have had little or no exposure to the substance under investigation, but otherwise similar. Alternatively, subgroups within the cohort may be compared with each other.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Cohort study”NN‡”R”KsuhŒhttp://schema.org/Collection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6A collection of items e.g. creative works or products.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Collection”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ+http://schema.org/Collection-collectionSize”…”R”KsuhŒ+http://schema.org/Collection-collectionSize”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/collectionSize”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The number of items in the [[Collection]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcollectionSize”Œen”N‡”R”KsuhŒ http://schema.org/CollectionPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWeb page type: Collection page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCollection page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”KsuhŒ%http://schema.org/CollegeOrUniversity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDA college, university, or other third-level educational institution.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCollege or university”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://schema.org/EducationalOrganization”…”R”KsuhŒhttp://schema.org/ComedyClub”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA comedy club.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Comedy club”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://schema.org/EntertainmentBusiness”…”R”KsuhŒhttp://schema.org/ComedyEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Comedy event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Comedy event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/ComicCoverArt”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ$The artwork on the cover of a comic.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComic cover art”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/ComicStory”…”R”KhŒhttp://schema.org/CoverArt”…”R”KuuhŒhttp://schema.org/ComicIssue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X~Individual comic issues are serially published as part of a larger series. For the sake of consistency, even one-shot issues belong to a series comprised of a single issue. All comic issues can be uniquely identified by: the combination of the name and volume number of the series to which the issue belongs; the issue number; and the variant description of the issue (if any).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Comic issue”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/PublicationIssue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/ComicIssue-artist”…”R”KhŒ%http://schema.org/ComicIssue-colorist”…”R”KhŒ"http://schema.org/ComicIssue-inker”…”R”KhŒ%http://schema.org/ComicIssue-letterer”…”R”KhŒ%http://schema.org/ComicIssue-penciler”…”R”KhŒ)http://schema.org/ComicIssue-variantCover”…”R”KuuhŒ#http://schema.org/ComicIssue-artist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/artist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¡The primary artist for a work in a medium other than pencils or digital line art--for example, if the primary artwork is done in watercolors or digital paints.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œartist”NN‡”R”KsuhŒ%http://schema.org/ComicIssue-colorist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/colorist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The individual who adds color to inked drawings.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcolorist”NN‡”R”KsuhŒ"http://schema.org/ComicIssue-inker”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inker”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒUThe individual who traces over the pencil drawings in ink after pencils are complete.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œinker”NN‡”R”KsuhŒ%http://schema.org/ComicIssue-letterer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/letterer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The individual who adds lettering, including speech balloons and sound effects, to artwork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œletterer”NN‡”R”KsuhŒ%http://schema.org/ComicIssue-penciler”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/penciler”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7The individual who draws the primary narrative artwork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpenciler”NN‡”R”KsuhŒ)http://schema.org/ComicIssue-variantCover”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/variantCover”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ›A description of the variant cover for the issue, if the issue is a variant printing. For example, "Bryan Hitch Variant Cover" or "2nd Printing Variant".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ variantCover”NN‡”R”KsuhŒhttp://schema.org/ComicSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ€A sequential publication of comic stories under a unifying title, for example "The Amazing Spider-Man" or "Groo the Wanderer".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Comic series”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Periodical”…”R”KsuhŒhttp://schema.org/ComicStory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÒThe term "story" is any indivisible, re-printable unit of a comic, including the interior stories, covers, and backmatter. Most comics have at least two stories: a cover (ComicCoverArt) and an interior story.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Comic story”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/ComicStory-artist”…”R”KhŒ%http://schema.org/ComicStory-colorist”…”R”KhŒ"http://schema.org/ComicStory-inker”…”R”KhŒ%http://schema.org/ComicStory-letterer”…”R”KhŒ%http://schema.org/ComicStory-penciler”…”R”KuuhŒ#http://schema.org/ComicStory-artist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/artist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¡The primary artist for a work in a medium other than pencils or digital line art--for example, if the primary artwork is done in watercolors or digital paints.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œartist”NN‡”R”KsuhŒ%http://schema.org/ComicStory-colorist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/colorist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The individual who adds color to inked drawings.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcolorist”NN‡”R”KsuhŒ"http://schema.org/ComicStory-inker”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inker”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒUThe individual who traces over the pencil drawings in ink after pencils are complete.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œinker”NN‡”R”KsuhŒ%http://schema.org/ComicStory-letterer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/letterer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The individual who adds lettering, including speech balloons and sound effects, to artwork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œletterer”NN‡”R”KsuhŒ%http://schema.org/ComicStory-penciler”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/penciler”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7The individual who draws the primary narrative artwork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpenciler”NN‡”R”KsuhŒhttp://schema.org/Comment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÂA comment on an item - for example, a comment on a blog post. The comment's content is expressed via the [[text]] property, and its topic via [[about]], properties shared with all CreativeWorks.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComment”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/Comment-downvoteCount”…”R”KhŒ$http://schema.org/Comment-parentItem”…”R”KhŒ%http://schema.org/Comment-upvoteCount”…”R”KuuhŒ'http://schema.org/Comment-downvoteCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/downvoteCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYThe number of downvotes this question, answer or comment has received from the community.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ downvoteCount”NN‡”R”KsuhŒ$http://schema.org/Comment-parentItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/parentItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Comment”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4The parent of a question, answer or item in general.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ parentItem”NN‡”R”KsuhŒ%http://schema.org/Comment-upvoteCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/upvoteCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒWThe number of upvotes this question, answer or comment has received from the community.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ upvoteCount”NN‡”R”KsuhŒhttp://schema.org/CommentAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0The act of generating a comment about a subject.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComment action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/CommunicateAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ-http://schema.org/CommentAction-resultComment”…”R”KsuhŒ-http://schema.org/CommentAction-resultComment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/resultComment”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Comment”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQA sub property of result. The Comment created or sent as a result of this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ resultComment”NN‡”R”KsuhŒ#http://schema.org/CommentPermission”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/DigitalDocumentPermissionType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+Permission to add comments to the document.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComment permission”NN‡”R”KsuhŒ#http://schema.org/CommunicateAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŒThe act of conveying information to another person via a communication medium (instrument) such as speech, email, or telephone conversation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCommunicate action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/InteractAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/CommunicateAction-about”…”R”KhŒ.http://schema.org/CommunicateAction-inLanguage”…”R”KhŒ,http://schema.org/CommunicateAction-language”…”R”KhŒ-http://schema.org/CommunicateAction-recipient”…”R”KuuhŒ)http://schema.org/CommunicateAction-about”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/about”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The subject matter of the content.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œabout”NN‡”R”KsuhŒ.http://schema.org/CommunicateAction-inLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÈThe language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b249”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b247”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b248”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjôO}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j÷OKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b250”…”R”KsujP}”(jP}”jPKsjP}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/CommunicateAction-language”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/language”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?A sub property of instrument. The language used on this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlanguage”NN‡”R”KsuhŒ-http://schema.org/CommunicateAction-recipient”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/recipient”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYA sub property of participant. The participant who is at the receiving end of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ recipient”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b255”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b251”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b252”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b253”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b254”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjpP}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jsPKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b256”…”R”Ksuj¨P}”(j P}”j~PKsj¤P}”j¤Œ%n8b6ee6229417493cb1977c6514222981b257”…”R”Ksuj®P}”(j P}”j‰PKsj¤P}”j¤Œ%n8b6ee6229417493cb1977c6514222981b258”…”R”Ksuj´P}”(j P}”j”PKsj¤P}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/CommunityHealth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ—A field of public health focusing on improving health characteristics of a defined population in relation with their geographical or environment areas.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCommunity health”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ"http://schema.org/CompilationAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒCompilationAlbum.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCompilation album”NN‡”R”KsuhŒ"http://schema.org/CompleteDataFeed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1397”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X¨A [[CompleteDataFeed]] is a [[DataFeed]] whose standard representation includes content for every item currently in the feed. This is the equivalent of Atom's element as defined in Feed Paging and Archiving [RFC 5005](https://tools.ietf.org/html/rfc5005), For example (and as defined for Atom), when using data from a feed that represents a collection of items that varies over time (e.g. "Top Twenty Records") there is no need to have newer entries mixed in alongside older, obsolete entries. By marking this feed as a CompleteDataFeed, old entries can be safely discarded when the feed is refreshed, since we can assume the feed has provided descriptions for all current items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComplete data feed”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/DataFeed”…”R”KsuhŒhttp://schema.org/Completed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Completed.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Completed”NN‡”R”KsuhŒ'http://schema.org/CompletedActionStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ActionStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'An action that has already taken place.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCompleted action status”NN‡”R”KsuhŒ,http://schema.org/CompoundPriceSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X$A compound price specification is one that bundles multiple prices that all apply in combination for different dimensions of consumption. Use the name property of the attached unit price specification for indicating the dimension of a price component (e.g. "electricity" or "final cleaning").”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCompound price specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ;http://schema.org/CompoundPriceSpecification-priceComponent”…”R”KhŒ6http://schema.org/CompoundPriceSpecification-priceType”…”R”KuuhŒ;http://schema.org/CompoundPriceSpecification-priceComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/priceComponent”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://schema.org/UnitPriceSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThis property links to all [[UnitPriceSpecification]] nodes that apply in parallel for the [[CompoundPriceSpecification]] node.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpriceComponent”NN‡”R”KsuhŒ6http://schema.org/CompoundPriceSpecification-priceType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/priceType”…”R”•KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XâDefines the type of a price specified for an offered product, for example a list price, a (temporary) sale price or a manufacturer suggested retail price. If multiple prices are specified for an offer the [[priceType]] property can be used to identify the type of each such specified price. The value of priceType can be specified as a value from enumeration PriceTypeEnumeration or as a free form text string for price types that are not already predefined in PriceTypeEnumeration.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ priceType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b261”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b259”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/PriceTypeEnumeration”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b260”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjùQ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jüQKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b262”…”R”KsujR}”(jR}”jRKsjR}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/ComputerLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÄThis type covers computer programming languages such as Scheme and Lisp, as well as other language-like computer representations. Natural languages are best represented with the [[Language]] type.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComputer language”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KsuhŒhttp://schema.org/ComputerStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA computer store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒComputer store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/ConfirmAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ The act of notifying someone that a future event/action is going to happen as expected.\n\nRelated actions:\n\n* [[CancelAction]]: The antonym of ConfirmAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒConfirm action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/InformAction”…”R”KsuhŒhttp://schema.org/Consortium”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1559”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXA Consortium is a membership [[Organization]] whose members are typically Organizations.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Consortium”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KsuhŒhttp://schema.org/ConsumeAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0The act of ingesting information/resources/food.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒConsume action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ>http://schema.org/ConsumeAction-actionAccessibilityRequirement”…”R”KhŒ3http://schema.org/ConsumeAction-expectsAcceptanceOf”…”R”KuuhŒ>http://schema.org/ConsumeAction-actionAccessibilityRequirement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ0http://schema.org/actionAccessibilityRequirement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ+http://schema.org/ActionAccessSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒºA set of requirements that a must be fulfilled in order to perform an Action. If more than one value is specied, fulfilling one set of requirements will allow the Action to be performed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactionAccessibilityRequirement”NN‡”R”KsuhŒ3http://schema.org/ConsumeAction-expectsAcceptanceOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/expectsAcceptanceOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ”An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexpectsAcceptanceOf”NN‡”R”KsuhŒhttp://schema.org/ContactPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWeb page type: Contact page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Contact page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”KsuhŒhttp://schema.org/ContactPoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@A contact point—for example, a Customer Complaints department.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Contact point”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/ContactPoint-areaServed”…”R”KhŒ0http://schema.org/ContactPoint-availableLanguage”…”R”KhŒ,http://schema.org/ContactPoint-contactOption”…”R”KhŒ*http://schema.org/ContactPoint-contactType”…”R”KhŒ$http://schema.org/ContactPoint-email”…”R”KhŒ(http://schema.org/ContactPoint-faxNumber”…”R”KhŒ-http://schema.org/ContactPoint-hoursAvailable”…”R”KhŒ/http://schema.org/ContactPoint-productSupported”…”R”KhŒ*http://schema.org/ContactPoint-serviceArea”…”R”KhŒ(http://schema.org/ContactPoint-telephone”…”R”KuuhŒ)http://schema.org/ContactPoint-areaServed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/areaServed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The geographic area where a service or offered item is provided.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ areaServed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b267”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b263”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b264”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b265”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b266”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjãS}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jæSKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b268”…”R”KsujT}”(jT}”jñSKsjT}”j¤Œ%n8b6ee6229417493cb1977c6514222981b269”…”R”Ksuj!T}”(jT}”jüSKsjT}”j¤Œ%n8b6ee6229417493cb1977c6514222981b270”…”R”Ksuj'T}”(jT}”jTKsjT}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/ContactPoint-availableLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/availableLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÁA language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b273”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b271”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b272”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjWT}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jZTKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b274”…”R”KsujyT}”(jqT}”jeTKsjuT}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/ContactPoint-contactOption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactOption”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/ContactPointOption”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒlAn option available on this contact point (e.g. a toll-free number or support for hearing-impaired callers).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactOption”NN‡”R”KsuhŒ*http://schema.org/ContactPoint-contactType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÑA person or organization can have different contact points, for different purposes. For example, a sales contact point, a PR contact point and so on. This property is used to specify the kind of contact point.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactType”NN‡”R”KsuhŒ$http://schema.org/ContactPoint-email”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/email”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEmail address.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œemail”NN‡”R”KsuhŒ(http://schema.org/ContactPoint-faxNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/faxNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe fax number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ faxNumber”NN‡”R”KsuhŒ-http://schema.org/ContactPoint-hoursAvailable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hoursAvailable”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ+http://schema.org/OpeningHoursSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œn}”j'nKsjBn}”j¤Œ%n8b6ee6229417493cb1977c6514222981b448”…”R”KsujLn}”(j>n}”j2nKsjBn}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/CreativeWork-materialExtent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/materialExtent”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒaThe quantity of the materials being described or an expression of the physical space they occupy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmaterialExtent”Œen”N‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b451”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b449”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b450”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}n}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j€nKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b452”…”R”KsujŸn}”(j—n}”j‹nKsj›n}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuu(hŒ'http://schema.org/CreativeWork-mentions”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/mentions”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ`Indicates that the CreativeWork contains a reference to, but is not necessarily about a concept.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmentions”NN‡”R”KsuhŒ%http://schema.org/CreativeWork-offers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/offers”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÿAn offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œoffers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b455”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b453”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Demand”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b454”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”Kssjùn}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jünKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b456”…”R”Ksujo}”(jo}”joKsjo}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/CreativeWork-pattern”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/pattern”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¹A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpattern”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b459”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b457”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b458”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjKo}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jNoKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b460”…”R”Ksujmo}”(jeo}”jYoKsjio}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/CreativeWork-position”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/position”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The position of an item in a series or sequence of items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œposition”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b463”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b461”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b462”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjo}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j oKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b464”…”R”Ksuj¿o}”(j·o}”j«oKsj»o}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/CreativeWork-producer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/producer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒaThe person or organization who produced the work (e.g. music album, movie, tv/radio series etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œproducer”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b467”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b465”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b466”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjïo}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jòoKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b468”…”R”Ksujp}”(j p}”jýoKsj p}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/CreativeWork-provider”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/provider”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐThe service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œprovider”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b471”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b469”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b470”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjAp}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jDpKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b472”…”R”Ksujcp}”(j[p}”jOpKsj_p}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/CreativeWork-publication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/publication”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/PublicationEvent”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A publication event associated with the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ publication”NN‡”R”KsuhŒ(http://schema.org/CreativeWork-publisher”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/publisher”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ#The publisher of the creative work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ publisher”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b475”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b473”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b474”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj½p}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÀpKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b476”…”R”Ksujßp}”(j×p}”jËpKsjÛp}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/CreativeWork-publisherImprint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/publisherImprint”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The publishing division which published the comic.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpublisherImprint”NN‡”R”KsuhŒ3http://schema.org/CreativeWork-publishingPrinciples”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/publishingPrinciples”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XaThe publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpublishingPrinciples”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b479”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b477”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b478”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj9q}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”juKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b517”…”R”Ksujhu}”(j`u}”jIuKsjdu}”j¤Œ%n8b6ee6229417493cb1977c6514222981b518”…”R”Ksujnu}”(j`u}”jTuKsjdu}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/CreativeWork-text”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/text”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)The textual content of this CreativeWork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtext”NN‡”R”KsuhŒ+http://schema.org/CreativeWork-thumbnailUrl”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/thumbnailUrl”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(A thumbnail image relevant to the Thing.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ thumbnailUrl”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ+http://schema.org/CreativeWork-timeRequired”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/timeRequired”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ–Approximate or typical time it takes to work with or through this learning resource for the typical intended target audience, e.g. 'PT30M', 'PT1H25M'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ timeRequired”NN‡”R”KsuhŒ0http://schema.org/CreativeWork-translationOfWork”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/translationOfWork”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒuThe work that this work has been translated from. e.g. 物ç§èµ·æº is a translationOf “On the Origin of Species—NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtranslationOfWork”NN‡”R”KsuhŒ)http://schema.org/CreativeWork-translator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/translator”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ³Organization or person who adapts a creative work to different languages, regional differences and technical requirements of a target market, or that translates during some event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ translator”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b521”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b519”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b520”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjFv}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jIvKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b522”…”R”Ksujhv}”(j`v}”jTvKsjdv}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/CreativeWork-typicalAgeRange”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/typicalAgeRange”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The typical expected age range, e.g. '7-9', '11-'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtypicalAgeRange”NN‡”R”KsuhŒ(http://schema.org/CreativeWork-usageInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/usageInfo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X7The schema.org [[usageInfo]] property indicates further information about a [[CreativeWork]]. This property is applicable both to works that are freely available and to those that require payment or other transactions. It can reference additional information e.g. community expectations on preferred linking and citation conventions, as well as purchasing details. For something that can be commercially licensed, usageInfo can provide detailed, resource-specific information about licensing options. This property can be used alongside the license property which indicates license(s) applicable to some piece of content. The usageInfo property can provide information about other licensing options, e.g. acquiring commercial usage rights for an image that is also available under non-commercial creative commons licenses.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ usageInfo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b525”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b523”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b524”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KssjÂv}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÅvKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b526”…”R”Ksujäv}”(jÜv}”jÐvKsjàv}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/CreativeWork-version”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/version”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAThe version of the CreativeWork embodied by a specified resource.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œversion”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b529”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b527”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b528”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjw}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jwKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b530”…”R”Ksuj6w}”(j.w}”j"wKsj2w}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/CreativeWork-video”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/video”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn embedded video object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œvideo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b533”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b531”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Clip”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b532”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”Kssjfw}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jiwKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b534”…”R”Ksujˆw}”(j€w}”jtwKsj„w}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/CreativeWork-workExample”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/workExample”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒExample/instance/realization/derivation of the concept of this creative work. eg. The paperback edition, first edition, or eBook.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ workExample”NN‡”R”KsuhŒ.http://schema.org/CreativeWork-workTranslation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/workTranslation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒìA work that is a translation of the content of this work. e.g. 西éŠè¨˜ has an English workTranslation “Journey to the Westâ€,a German workTranslation “Monkeys Pilgerfahrt†and a Vietnamese translation Tây du ký bình khảo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒworkTranslation”NN‡”R”KsuhŒ$http://schema.org/CreativeWorkSeason”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.A media season e.g. tv, radio, video game etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCreative work season”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/CreativeWorkSeason-actor”…”R”KhŒ-http://schema.org/CreativeWorkSeason-director”…”R”KhŒ,http://schema.org/CreativeWorkSeason-endDate”…”R”KhŒ,http://schema.org/CreativeWorkSeason-episode”…”R”KhŒ-http://schema.org/CreativeWorkSeason-episodes”…”R”KhŒ5http://schema.org/CreativeWorkSeason-numberOfEpisodes”…”R”KhŒ1http://schema.org/CreativeWorkSeason-partOfSeries”…”R”KhŒ6http://schema.org/CreativeWorkSeason-productionCompany”…”R”KhŒ1http://schema.org/CreativeWorkSeason-seasonNumber”…”R”KhŒ.http://schema.org/CreativeWorkSeason-startDate”…”R”KhŒ,http://schema.org/CreativeWorkSeason-trailer”…”R”KuuhŒ*http://schema.org/CreativeWorkSeason-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ-http://schema.org/CreativeWorkSeason-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ,http://schema.org/CreativeWorkSeason-endDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeThe end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b537”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b535”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b536”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj«x}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j®xKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b538”…”R”KsujÍx}”(jÅx}”j¹xKsjÉx}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/CreativeWorkSeason-episode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBAn episode of a tv, radio or game media within a series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œepisode”NN‡”R”KsuhŒ-http://schema.org/CreativeWorkSeason-episodes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episodes”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*An episode of a TV/radio series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œepisodes”NN‡”R”KsuhŒ5http://schema.org/CreativeWorkSeason-numberOfEpisodes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/numberOfEpisodes”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The number of episodes in this season or series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfEpisodes”NN‡”R”KsuhŒ1http://schema.org/CreativeWorkSeason-partOfSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/partOfSeries”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeries”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The series to which this episode or season belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partOfSeries”NN‡”R”KsuhŒ6http://schema.org/CreativeWorkSeason-productionCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productionCompany”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The production company or studio responsible for the item e.g. series, video game, episode etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionCompany”NN‡”R”KsuhŒ1http://schema.org/CreativeWorkSeason-seasonNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seasonNumber”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ:Position of the season within an ordered group of seasons.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ seasonNumber”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b541”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b539”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b540”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÏy}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÒyKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b542”…”R”Ksujñy}”(jéy}”jÝyKsjíy}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/CreativeWorkSeason-startDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgThe start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b545”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b543”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b544”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj!z}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j$zKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b546”…”R”KsujCz}”(j;z}”j/zKsj?z}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/CreativeWorkSeason-trailer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The trailer of a movie or tv/radio series, season, episode, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrailer”NN‡”R”KsuhŒ$http://schema.org/CreativeWorkSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XHA CreativeWorkSeries in schema.org is a group of related items, typically but not necessarily of the same kind. CreativeWorkSeries are usually organized into some order, often chronological. Unlike [[ItemList]] which is a general purpose data structure for lists of things, the emphasis with CreativeWorkSeries is on published materials (written e.g. books and periodicals, or media such as tv, radio and games).\n\nSpecific subtypes are available for describing [[TVSeries]], [[RadioSeries]], [[MovieSeries]], [[BookSeries]], [[Periodical]] and [[VideoGameSeries]]. In each case, the [[hasPart]] / [[isPartOf]] properties can be used to relate the CreativeWorkSeries to its parts. The general CreativeWorkSeries type serves largely just to organize these more specific and practical subtypes.\n\nIt is common for properties applicable to an item from the series to be usefully applied to the containing group. Schema.org attempts to anticipate some of these cases, but publishers should be free to apply properties of the series parts to the series as a whole wherever they seem appropriate. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCreative work series”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒhttp://schema.org/Series”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ,http://schema.org/CreativeWorkSeries-endDate”…”R”KhŒ)http://schema.org/CreativeWorkSeries-issn”…”R”KhŒ.http://schema.org/CreativeWorkSeries-startDate”…”R”KuuhŒ,http://schema.org/CreativeWorkSeries-endDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeThe end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b549”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b547”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b548”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjÓz}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÖzKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b550”…”R”Ksujõz}”(jíz}”jázKsjñz}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/CreativeWorkSeries-issn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÒThe International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œissn”NN‡”R”KsuhŒ.http://schema.org/CreativeWorkSeries-startDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgThe start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b553”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b551”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b552”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjO{}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jR{KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b554”…”R”Ksujq{}”(ji{}”j]{Ksjm{}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/CreditCard”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”(hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KhŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XÒA card payment method of a particular brand or name. Used to mark up a particular payment method and/or the financial product/service that supplies the card account.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#AmericanExpress\n* http://purl.org/goodrelations/v1#DinersClub\n* http://purl.org/goodrelations/v1#Discover\n* http://purl.org/goodrelations/v1#JCB\n* http://purl.org/goodrelations/v1#MasterCard\n* http://purl.org/goodrelations/v1#VISA ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Credit card”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/LoanOrCredit”…”R”KhŒhttp://schema.org/PaymentCard”…”R”KuuhŒhttp://schema.org/Crematorium”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA crematorium.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Crematorium”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/CriticReview”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1589”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XaA [[CriticReview]] is a more specialized form of Review written or published by a source that is recognized for its reviewing activities. These can include online columns, travel and food guides, TV and radio shows, blogs and other independent Web sites. [[CriticReview]]s are typically more in-depth and professionally written. For simpler, casually written user/visitor/viewer/customer reviews, it is more appropriate to use the [[UserReview]] type. Review aggregator sites such as Metacritic already separate out the site's user reviews from selected critic reviews that originate from third-party sources.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Critic review”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Review”…”R”KsuhŒ http://schema.org/CrossSectional”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ1http://schema.org/MedicalObservationalStudyDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒStudies carried out on pre-existing data (usually from 'snapshot' surveys), such as that collected by the Census Bureau. Sometimes called Prevalence Studies.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCross sectional”NN‡”R”KsuhŒ!http://schema.org/CssSelectorType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1672”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!Text representing a CSS selector.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCss selector type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KsuhŒ+http://schema.org/CurrencyConversionService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAA service to convert funds from one currency to another currency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒCurrency conversion service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/FinancialProduct”…”R”KsuhŒhttp://schema.org/DDxElement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ An alternative, closely-related condition typically considered later in the differential diagnosis process along with the signs that are used to distinguish it.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ DDx element”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/MedicalIntangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ&http://schema.org/DDxElement-diagnosis”…”R”KhŒ/http://schema.org/DDxElement-distinguishingSign”…”R”KuuhŒ&http://schema.org/DDxElement-diagnosis”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/diagnosis”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒuOne or more alternative conditions considered in the differential diagnosis process as output of a diagnosis process.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ diagnosis”NN‡”R”KsuhŒ/http://schema.org/DDxElement-distinguishingSign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/distinguishingSign”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/MedicalSignOrSymptom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ|One of a set of signs and symptoms that can be used to distinguish this diagnosis from others in the differential diagnosis.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdistinguishingSign”NN‡”R”KsuhŒhttp://schema.org/DJMixAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ DJMixAlbum.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ DJMix album”NN‡”R”KsuhŒhttp://schema.org/DVDFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ DVDFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ DVDFormat”NN‡”R”KsuhŒ"http://schema.org/DamagedCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/OfferItemCondition”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#Indicates that the item is damaged.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDamaged condition”NN‡”R”KsuhŒhttp://schema.org/DanceEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: A social dance.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Dance event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/DanceGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒIA dance group—for example, the Alvin Ailey Dance Theater or Riverdance.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Dance group”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/PerformingGroup”…”R”KsuhŒhttp://schema.org/DataCatalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒIhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_DatasetClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA collection of datasets.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Data catalog”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ!http://www.w3.org/ns/dcat#Catalog”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/DataCatalog-dataset”…”R”KhŒ2http://schema.org/DataCatalog-measurementTechnique”…”R”KuuhŒ%http://schema.org/DataCatalog-dataset”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dataset”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Dataset”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$A dataset contained in this catalog.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdataset”NN‡”R”KsuhŒ2http://schema.org/DataCatalog-measurementTechnique”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/measurementTechnique”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÁA technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: "mass spectrometry" or "nmr spectroscopy" or "colorimetry" or "immunofluorescence". If the [[variableMeasured]] is "depression rating", the [[measurementTechnique]] could be "Zung Scale" or "HAM-D" or "Beck Depression Inventory". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmeasurementTechnique”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b557”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b555”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b556”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjG~}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jJ~KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b558”…”R”Ksuji~}”(ja~}”jU~Ksje~}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/DataDownload”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒIhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_DatasetClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA dataset in downloadable form.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Data download”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MediaObject”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ&http://www.w3.org/ns/dcat#Distribution”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ3http://schema.org/DataDownload-measurementTechnique”…”R”KsuhŒ3http://schema.org/DataDownload-measurementTechnique”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/measurementTechnique”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÁA technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: "mass spectrometry" or "nmr spectroscopy" or "colorimetry" or "immunofluorescence". If the [[variableMeasured]] is "depression rating", the [[measurementTechnique]] could be "Zung Scale" or "HAM-D" or "Beck Depression Inventory". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmeasurementTechnique”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b561”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b559”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b560”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÔ~}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j×~KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b562”…”R”Ksujö~}”(jî~}”jâ~Ksjò~}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/DataFeed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒTA single feed providing structured information about one or more entities or topics.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Data feed”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Dataset”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ*http://schema.org/DataFeed-dataFeedElement”…”R”KsuhŒ*http://schema.org/DataFeed-dataFeedElement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/dataFeedElement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAAn item within in a data feed. Data feeds may have many elements.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdataFeedElement”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b566”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b563”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DataFeedItem”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b564”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b565”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjS}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jVKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b567”…”R”Ksuj€}”(jx}”jaKsj|}”j¤Œ%n8b6ee6229417493cb1977c6514222981b568”…”R”Ksuj†}”(jx}”jlKsj|}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/DataFeedItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(A single item within a larger data feed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒData feed item”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/DataFeedItem-dateCreated”…”R”KhŒ*http://schema.org/DataFeedItem-dateDeleted”…”R”KhŒ+http://schema.org/DataFeedItem-dateModified”…”R”KhŒ#http://schema.org/DataFeedItem-item”…”R”KuuhŒ*http://schema.org/DataFeedItem-dateCreated”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dateCreated”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSThe date on which the CreativeWork was created or the item was added to a DataFeed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ dateCreated”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b571”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b569”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b570”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjì}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jïKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b572”…”R”Ksuj€}”(j€}”júKsj €}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/DataFeedItem-dateDeleted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dateDeleted”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4The datetime the item was removed from the DataFeed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ dateDeleted”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b575”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b573”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b574”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj>€}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jA€KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b576”…”R”Ksuj`€}”(jX€}”jL€Ksj\€}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/DataFeedItem-dateModified”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dateModified”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒvThe date on which the CreativeWork was most recently modified or when the item's entry was modified within a DataFeed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ dateModified”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b579”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b577”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b578”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj€}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j“€KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b580”…”R”Ksuj²€}”(jª€}”jž€Ksj®€}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/DataFeedItem-item”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/item”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒfAn entity represented by an entry in a list or data feed (e.g. an 'artist' in a list of 'artists')’.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œitem”NN‡”R”KsuhŒhttp://schema.org/DataType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ4The basic data types such as Integers, Strings, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Data type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KsuhŒhttp://schema.org/Dataset”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒIhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_DatasetClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFA body of structured information describing some topic(s) of interest.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDataset”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”(hŒ#http://purl.org/dc/dcmitype/Dataset”…”R”KhŒhttp://rdfs.org/ns/void#Dataset”…”R”KhŒ!http://www.w3.org/ns/dcat#Dataset”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ!http://schema.org/Dataset-catalog”…”R”KhŒ-http://schema.org/Dataset-datasetTimeInterval”…”R”KhŒ&http://schema.org/Dataset-distribution”…”R”KhŒ-http://schema.org/Dataset-includedDataCatalog”…”R”KhŒ/http://schema.org/Dataset-includedInDataCatalog”…”R”KhŒhttp://schema.org/Dataset-issn”…”R”KhŒ.http://schema.org/Dataset-measurementTechnique”…”R”KhŒ*http://schema.org/Dataset-variableMeasured”…”R”KhŒ+http://schema.org/Dataset-variablesMeasured”…”R”KuuhŒ!http://schema.org/Dataset-catalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/catalog”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DataCatalog”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A data catalog which contains this dataset.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcatalog”NN‡”R”KsuhŒ-http://schema.org/Dataset-datasetTimeInterval”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/datasetTimeInterval”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒƒThe range of temporal applicability of a dataset, e.g. for a 2011 census dataset, the year 2011 (in ISO 8601 time interval format).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdatasetTimeInterval”NN‡”R”KsuhŒ&http://schema.org/Dataset-distribution”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/distribution”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DataDownload”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒRA downloadable form of this dataset, at a specific location, in a specific format.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ distribution”NN‡”R”KsuhŒ-http://schema.org/Dataset-includedDataCatalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/includedDataCatalog”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DataCatalog”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒƒA data catalog which contains this dataset (this property was previously 'catalog', preferred name is now 'includedInDataCatalog').”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒincludedDataCatalog”NN‡”R”KsuhŒ/http://schema.org/Dataset-includedInDataCatalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/includedInDataCatalog”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DataCatalog”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A data catalog which contains this dataset.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒincludedInDataCatalog”NN‡”R”KsuhŒhttp://schema.org/Dataset-issn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÒThe International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œissn”NN‡”R”KsuhŒ.http://schema.org/Dataset-measurementTechnique”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/measurementTechnique”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÁA technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: "mass spectrometry" or "nmr spectroscopy" or "colorimetry" or "immunofluorescence". If the [[variableMeasured]] is "depression rating", the [[measurementTechnique]] could be "Zung Scale" or "HAM-D" or "Beck Depression Inventory". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. ”•NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmeasurementTechnique”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b583”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b581”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b582”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‡‚}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jŠ‚KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b584”…”R”Ksuj©‚}”(j¡‚}”j•‚Ksj¥‚}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/Dataset-variableMeasured”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/variableMeasured”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÌThe variableMeasured property can indicate (repeated as necessary) the variables that are measured in some dataset, either described as text or as pairs of identifier and description using PropertyValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvariableMeasured”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b587”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b585”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b586”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÙ‚}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÜ‚KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b588”…”R”Ksujû‚}”(jó‚}”jç‚Ksj÷‚}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Dataset-variablesMeasured”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/variablesMeasured”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒøOriginally named [[variablesMeasured]], The [[variableMeasured]] property can indicate (repeated as necessary) the variables that are measured in some dataset, either described as text or as pairs of identifier and description using PropertyValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvariablesMeasured”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b591”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b589”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b590”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj+ƒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j.ƒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b592”…”R”KsujMƒ}”(jEƒ}”j9ƒKsjIƒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Date”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒhttp://schema.org/DataType”…”R”KhŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNA date value in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDate”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒhttp://schema.org/DateTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒhttp://schema.org/DataType”…”R”KhŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒuA combination of date and time of day in the form [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm] (see Chapter 5.4 of ISO 8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Date time”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ)http://schema.org/DatedMoneySpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X A DatedMoneySpecification represents monetary values with optional start and end dates. For example, this could represent an employee's salary over a specific period of time. __Note:__ This type has been superseded by [[MonetaryAmount]] use of that type is recommended”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDated money specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/DatedMoneySpecification-amount”…”R”KhŒ2http://schema.org/DatedMoneySpecification-currency”…”R”KhŒ1http://schema.org/DatedMoneySpecification-endDate”…”R”KhŒ3http://schema.org/DatedMoneySpecification-startDate”…”R”KuuhŒ0http://schema.org/DatedMoneySpecification-amount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/amount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe amount of money.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œamount”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b595”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b593”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b594”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj „}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j„KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b596”…”R”Ksuj.„}”(j&„}”j„Ksj*„}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/DatedMoneySpecification-currency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/currency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X¯The currency in which the monetary amount is expressed.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcurrency”NN‡”R”KsuhŒ1http://schema.org/DatedMoneySpecification-endDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeThe end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b599”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b597”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b598”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjˆ„}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j‹„KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b600”…”R”Ksujª„}”(j¢„}”j–„Ksj¦„}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://schema.org/DatedMoneySpecification-startDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgThe start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b603”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b601”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b602”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjÚ„}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÝ„KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b604”…”R”Ksujü„}”(jô„}”jè„Ksjø„}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/DayOfWeek”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XŠThe day of the week, e.g. used to specify to which day the opening hours of an OpeningHoursSpecification refer. Originally, URLs from [GoodRelations](http://purl.org/goodrelations/v1) were used (for [[Monday]], [[Tuesday]], [[Wednesday]], [[Thursday]], [[Friday]], [[Saturday]], [[Sunday]] plus a special entry for [[PublicHolidays]]); these have now been integrated directly into schema.org. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Day of week”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/DaySpa”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A day spa.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDay spa”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://schema.org/HealthAndBeautyBusiness”…”R”KsuhŒ"http://schema.org/DeactivateAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒpThe act of stopping or deactivating a device or application (e.g. stopping a timer or turning off a flashlight).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDeactivate action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ControlAction”…”R”KsuhŒ)http://schema.org/DecontextualizedContent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/MediaManipulationRatingEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2450”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XƒContent coded 'missing context' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'missing context': Presenting unaltered video in an inaccurate manner that misrepresents the footage. For example, using incorrect dates or locations, altering the transcript or sharing brief clips from a longer video to mislead viewers. (A video rated 'original' can also be missing context.) For an [[ImageObject]] to be 'missing context': Presenting unaltered images in an inaccurate manner to misrepresent the image and mislead the viewer. For example, a common tactic is using an unaltered image but saying it came from a different time or place. (An image rated 'original' can also be missing context.) For an [[ImageObject]] with embedded text to be 'missing context': An unaltered image presented in an inaccurate manner to misrepresent the image and mislead the viewer. For example, a common tactic is using an unaltered image but saying it came from a different time or place. (An 'original' image with inaccurate text would generally fall in this category.) For an [[AudioObject]] to be 'missing context': Unaltered audio presented in an inaccurate manner that misrepresents it. For example, using incorrect dates or locations, or sharing brief clips from a longer recording to mislead viewers. (Audio rated “original†can also be missing context.) ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDecontextualized content”NN‡”R”KsuhŒ&http://schema.org/DefenceEstablishment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6A defence establishment, such as an army or navy base.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDefence establishment”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/GovernmentBuilding”…”R”KsuhŒhttp://schema.org/DefinedRegion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2506”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X.A DefinedRegion is a geographic area defined by potentially arbitrary (rather than political, administrative or natural geographical) criteria. Properties are provided for defining a region by reference to sets of postal codes. Examples: a delivery destination when shopping. Region where regional pricing is configured. Requirement 1: Country: US States: "NY", "CA" Requirement 2: Country: US PostalCode Set: { [94000-94585], [97000, 97999], [13000, 13599]} { [12345, 12345], [78945, 78945], } Region = state, canton, prefecture, autonomous community... ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDefined region”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/DefinedRegion-addressCountry”…”R”KhŒ-http://schema.org/DefinedRegion-addressRegion”…”R”KhŒ*http://schema.org/DefinedRegion-postalCode”…”R”KhŒ0http://schema.org/DefinedRegion-postalCodePrefix”…”R”KhŒ/http://schema.org/DefinedRegion-postalCodeRange”…”R”KuuhŒ.http://schema.org/DefinedRegion-addressCountry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/addressCountry”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽThe country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaddressCountry”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b607”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b605”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b606”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj9†}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j<†KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b608”…”R”Ksuj[†}”(jS†}”jG†KsjW†}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/DefinedRegion-addressRegion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/addressRegion”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒâThe region in which the locality is, and which is in the country. For example, California or another appropriate first-level [Administrative division](https://en.wikipedia.org/wiki/List_of_administrative_divisions_by_country) ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ addressRegion”NN‡”R”KsuhŒ*http://schema.org/DefinedRegion-postalCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/postalCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The postal code. For example, 94043.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ postalCode”NN‡”R”KsuhŒ0http://schema.org/DefinedRegion-postalCodePrefix”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/postalCodePrefix”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒnA defined range of postal codes indicated by a common textual prefix. Used for non-numeric systems such as UK.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpostalCodePrefix”NN‡”R”KsuhŒ/http://schema.org/DefinedRegion-postalCodeRange”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/postalCodeRange”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ.http://schema.org/PostalCodeRangeSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ A defined range of postal codes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpostalCodeRange”NN‡”R”KsuhŒhttp://schema.org/DefinedTerm”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ1https://github.com/schemaorg/schemaorg/issues/894”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XfA word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Defined term”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/DefinedTerm-inDefinedTermSet”…”R”KhŒ&http://schema.org/DefinedTerm-termCode”…”R”KuuhŒ.http://schema.org/DefinedTerm-inDefinedTermSet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/inDefinedTermSet”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A [[DefinedTermSet]] that contains this term.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinDefinedTermSet”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b611”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b609”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/DefinedTermSet”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b610”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjq‡}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jt‡KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b612”…”R”Ksuj“‡}”(j‹‡}”j‡Ksj‡}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/DefinedTerm-termCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/termCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGA code that identifies this [[DefinedTerm]] within a [[DefinedTermSet]]”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtermCode”NN‡”R”KsuhŒ http://schema.org/DefinedTermSet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ1https://github.com/schemaorg/schemaorg/issues/894”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyA set of defined terms for example a set of categories or a classification scheme, a glossary, dictionary or enumeration.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDefined term set”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ/http://schema.org/DefinedTermSet-hasDefinedTerm”…”R”KsuhŒ/http://schema.org/DefinedTermSet-hasDefinedTerm”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hasDefinedTerm”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*A Defined Term contained in this term set.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasDefinedTerm”NN‡”R”KsuhŒ&http://schema.org/DefinitiveLegalValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/LegalValueLevel”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒìIndicates a document for which the text is conclusively what the law says and is legally binding. (e.g. The digitally signed version of an Official Journal.) Something "Definitive" is considered to be also [[AuthoritativeLegalValue]].”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDefinitive legal value”NN‡”R”KsuhŒhttp://schema.org/DeleteAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ>The act of editing a recipient by removing one of its objects.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Delete action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/UpdateAction”…”R”KsuhŒ-http://schema.org/DeliveryChargeSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJThe price for the delivery of an offer using a particular delivery method.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDelivery charge specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒEhttp://schema.org/DeliveryChargeSpecification-appliesToDeliveryMethod”…”R”KhŒ8http://schema.org/DeliveryChargeSpecification-areaServed”…”R”KhŒhttp://schema.org/DeliveryChargeSpecification-ineligibleRegion”…”R”KuuhŒEhttp://schema.org/DeliveryChargeSpecification-appliesToDeliveryMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/appliesToDeliveryMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The delivery method(s) to which the delivery charge or payment charge specification applies.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒappliesToDeliveryMethod”NN‡”R”KsuhŒ8http://schema.org/DeliveryChargeSpecification-areaServed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/areaServed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The geographic area where a service or offered item is provided.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ areaServed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b617”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b613”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b614”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b615”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b616”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj ‰}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j ‰KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b618”…”R”KsujA‰}”(j9‰}”j‰Ksj=‰}”j¤Œ%n8b6ee6229417493cb1977c6514222981b619”…”R”KsujG‰}”(j9‰}”j"‰Ksj=‰}”j¤Œ%n8b6ee6229417493cb1977c6514222981b620”…”R”KsujM‰}”(j9‰}”j-‰Ksj=‰}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/DeliveryChargeSpecification-ineligibleRegion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/ineligibleRegion”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\n\nSee also [[eligibleRegion]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒineligibleRegion”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b630”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b627”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b628”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b629”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjà‰}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jã‰KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b631”…”R”Ksuj Š}”(jŠ}”jî‰Ksj Š}”j¤Œ%n8b6ee6229417493cb1977c6514222981b632”…”R”KsujŠ}”(jŠ}”jù‰Ksj Š}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/DeliveryEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+An event involving the delivery of an item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDelivery event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/DeliveryEvent-accessCode”…”R”KhŒ-http://schema.org/DeliveryEvent-availableFrom”…”R”KhŒ0http://schema.org/DeliveryEvent-availableThrough”…”R”KhŒ1http://schema.org/DeliveryEvent-hasDeliveryMethod”…”R”KuuhŒ*http://schema.org/DeliveryEvent-accessCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/accessCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGPassword, PIN, or access code needed for delivery (e.g. from a locker).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ accessCode”NN‡”R”KsuhŒ-http://schema.org/DeliveryEvent-availableFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/availableFrom”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBWhen the item is available for pickup from the store, locker, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ availableFrom”NN‡”R”KsuhŒ0http://schema.org/DeliveryEvent-availableThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/availableThrough”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAAfter this date, the item will no longer be available for pickup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableThrough”NN‡”R”KsuhŒ1http://schema.org/DeliveryEvent-hasDeliveryMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/hasDeliveryMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%Method used for delivery or shipping.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasDeliveryMethod”NN‡”R”KsuhŒ http://schema.org/DeliveryMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XùA delivery method is a standardized procedure for transferring the product or service to the destination of fulfillment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending organization or person.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#DeliveryModeDirectDownload\n* http://purl.org/goodrelations/v1#DeliveryModeFreight\n* http://purl.org/goodrelations/v1#DeliveryModeMail\n* http://purl.org/goodrelations/v1#DeliveryModeOwnFleet\n* http://purl.org/goodrelations/v1#DeliveryModePickUp\n* http://purl.org/goodrelations/v1#DHL\n* http://purl.org/goodrelations/v1#FederalExpress\n* http://purl.org/goodrelations/v1#UPS ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDelivery method”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ&http://schema.org/DeliveryTimeSettings”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2506”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XlA DeliveryTimeSettings represents re-usable pieces of shipping information, relating to timing. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of a [[OfferShippingDetails]]. Several occurrences can be published, distinguished (and identified/referenced) by their different values for [[transitTimeLabel]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDelivery time settings”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ3http://schema.org/DeliveryTimeSettings-deliveryTime”…”R”KhŒ;http://schema.org/DeliveryTimeSettings-isUnlabelledFallback”…”R”KhŒ:http://schema.org/DeliveryTimeSettings-shippingDestination”…”R”KhŒ7http://schema.org/DeliveryTimeSettings-transitTimeLabel”…”R”KuuhŒ3http://schema.org/DeliveryTimeSettings-deliveryTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/deliveryTime”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/ShippingDeliveryTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The total delay between the receipt of the order and the goods reaching the final customer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ deliveryTime”NN‡”R”KsuhŒ;http://schema.org/DeliveryTimeSettings-isUnlabelledFallback”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/isUnlabelledFallback”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XèThis can be marked 'true' to indicate that some published [[DeliveryTimeSettings]] or [[ShippingRateSettings]] are intended to apply to all [[OfferShippingDetails]] published by the same merchant, when referenced by a [[shippingSettingsLink]] in those settings. It is not meaningful to use a 'true' value for this property alongside a transitTimeLabel (for [[DeliveryTimeSettings]]) or shippingLabel (for [[ShippingRateSettings]]), since this property is for use with unlabelled settings.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒisUnlabelledFallback”NN‡”R”KsuhŒ:http://schema.org/DeliveryTimeSettings-shippingDestination”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/shippingDestination”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedRegion”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œqindicates (possibly multiple) shipping destinations. These can be defined in several ways e.g. postalCode ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒshippingDestination”NN‡”R”KsuhŒ7http://schema.org/DeliveryTimeSettings-transitTimeLabel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/transitTimeLabel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽLabel to match an [[OfferShippingDetails]] with a [[DeliveryTimeSettings]] (within the context of a [[shippingSettingsLink]] cross-reference).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtransitTimeLabel”NN‡”R”KsuhŒhttp://schema.org/Demand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA demand entity represents the public, not necessarily binding, not necessarily exclusive, announcement by an organization or person to seek a certain type of goods or services. For describing demand using this type, the very same properties used for Offer apply.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDemand”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/Demand-acceptedPaymentMethod”…”R”KhŒ2http://schema.org/Demand-advanceBookingRequirement”…”R”KhŒ#http://schema.org/Demand-areaServed”…”R”KhŒ%http://schema.org/Demand-availability”…”R”KhŒ)http://schema.org/Demand-availabilityEnds”…”R”KhŒ+http://schema.org/Demand-availabilityStarts”…”R”KhŒ*http://schema.org/Demand-availableAtOrFrom”…”R”KhŒ0http://schema.org/Demand-availableDeliveryMethod”…”R”KhŒ)http://schema.org/Demand-businessFunction”…”R”KhŒ)http://schema.org/Demand-deliveryLeadTime”…”R”KhŒ-http://schema.org/Demand-eligibleCustomerType”…”R”KhŒ)http://schema.org/Demand-eligibleDuration”…”R”KhŒ)http://schema.org/Demand-eligibleQuantity”…”R”KhŒ'http://schema.org/Demand-eligibleRegion”…”R”KhŒ2http://schema.org/Demand-eligibleTransactionVolume”…”R”KhŒhttp://schema.org/Demand-gtin”…”R”KhŒhttp://schema.org/Demand-gtin12”…”R”KhŒhttp://schema.org/Demand-gtin13”…”R”KhŒhttp://schema.org/Demand-gtin14”…”R”KhŒhttp://schema.org/Demand-gtin8”…”R”KhŒ'http://schema.org/Demand-includesObject”…”R”KhŒ)http://schema.org/Demand-ineligibleRegion”…”R”KhŒ'http://schema.org/Demand-inventoryLevel”…”R”KhŒ&http://schema.org/Demand-itemCondition”…”R”KhŒ$http://schema.org/Demand-itemOffered”…”R”KhŒhttp://schema.org/Demand-mpn”…”R”KhŒ+http://schema.org/Demand-priceSpecification”…”R”KhŒhttp://schema.org/Demand-seller”…”R”KhŒ%http://schema.org/Demand-serialNumber”…”R”KhŒhttp://schema.org/Demand-sku”…”R”KhŒ"http://schema.org/Demand-validFrom”…”R”KhŒ%http://schema.org/Demand-validThrough”…”R”KhŒ!http://schema.org/Demand-warranty”…”R”KuuhŒ.http://schema.org/Demand-acceptedPaymentMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/acceptedPaymentMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8The payment method(s) accepted by seller for this offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒacceptedPaymentMethod”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b635”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b633”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/LoanOrCredit”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b634”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PaymentMethod”…”R”KssjÎŒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÑŒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b636”…”R”KsujðŒ}”(jèŒ}”jÜŒKsjìŒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/Demand-advanceBookingRequirement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/advanceBookingRequirement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒpThe amount of time that is required between accepting the offer and the actual usage of the resource or service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadvanceBookingRequirement”NN‡”R”KsuhŒ#http://schema.org/Demand-areaServed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/areaServed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The geographic area where a service or offered item is provided.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ areaServed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b641”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b637”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b638”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b639”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b640”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjJ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jMKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b642”…”R”Ksuj‚}”(jz}”jXKsj~}”j¤Œ%n8b6ee6229417493cb1977c6514222981b643”…”R”Ksujˆ}”(jz}”jcKsj~}”j¤Œ%n8b6ee6229417493cb1977c6514222981b644”…”R”KsujŽ}”(jz}”jnKsj~}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Demand-availability”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/availability”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/ItemAvailability”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSThe availability of this item—for example In stock, Out of stock, Pre-order, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ availability”NN‡”R”KsuhŒ)http://schema.org/Demand-availabilityEnds”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/availabilityEnds”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLThe end of the availability of the product or service included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailabilityEnds”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b648”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b645”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b646”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b647”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”Kssjè}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jëKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b649”…”R”KsujŽ}”(j Ž}”jöKsjŽ}”j¤Œ%n8b6ee6229417493cb1977c6514222981b650”…”R”KsujŽ}”(j Ž}”jŽKsjŽ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Demand-availabilityStarts”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/availabilityStarts”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒRThe beginning of the availability of the product or service included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailabilityStarts”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b654”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b651”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b652”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b653”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”KssjKŽ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jNŽKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b655”…”R”KsujxŽ}”(jpŽ}”jYŽKsjtŽ}”j¤Œ%n8b6ee6229417493cb1977c6514222981b656”…”R”Ksuj~Ž}”(jpŽ}”jdŽKsjtŽ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/Demand-availableAtOrFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/availableAtOrFrom”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIThe place(s) from which the offer can be obtained (e.g. store locations).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableAtOrFrom”NN‡”R”KsuhŒ0http://schema.org/Demand-availableDeliveryMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/availableDeliveryMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The delivery method(s) available for this offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableDeliveryMethod”NN‡”R”KsuhŒ)http://schema.org/Demand-businessFunction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/businessFunction”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/BusinessFunction”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¬The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbusinessFunction”NN‡”R”KsuhŒ)http://schema.org/Demand-deliveryLeadTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/deliveryLeadTime”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªThe typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdeliveryLeadTime”NN‡”R”KsuhŒ-http://schema.org/Demand-eligibleCustomerType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/eligibleCustomerType”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/BusinessEntityType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe current approximate inventory level for the item or items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinventoryLevel”NN‡”R”KsuhŒ&http://schema.org/Demand-itemCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemCondition”…”R”•KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/OfferItemCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A predefined value from OfferItemCondition or a textual description of the condition of the product or service, or the products or services included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemCondition”NN‡”R”KsuhŒ$http://schema.org/Demand-itemOffered”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemOffered”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XYAn item being offered (or demanded). The transactional nature of the offer or demand is documented using [[businessFunction]], e.g. sell, lease etc. While several common expected types are listed explicitly in this definition, others can be used. Using a second type, such as Product or a subtype of Product, can clarify the nature of the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemOffered”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b676”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b669”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/AggregateOffer”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b670”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b671”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b672”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuItem”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b673”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b674”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b675”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Trip”…”R”Kssj’}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j’KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b677”…”R”Ksujm’}”(je’}”j"’Ksji’}”j¤Œ%n8b6ee6229417493cb1977c6514222981b678”…”R”Ksujs’}”(je’}”j-’Ksji’}”j¤Œ%n8b6ee6229417493cb1977c6514222981b679”…”R”Ksujy’}”(je’}”j8’Ksji’}”j¤Œ%n8b6ee6229417493cb1977c6514222981b680”…”R”Ksuj’}”(je’}”jC’Ksji’}”j¤Œ%n8b6ee6229417493cb1977c6514222981b681”…”R”Ksuj…’}”(je’}”jN’Ksji’}”j¤Œ%n8b6ee6229417493cb1977c6514222981b682”…”R”Ksuj‹’}”(je’}”jY’Ksji’}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Demand-mpn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/mpn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmpn”NN‡”R”KsuhŒ+http://schema.org/Demand-priceSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/priceSpecification”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeOne or more detailed price specifications, indicating the unit price and delivery or payment charges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpriceSpecification”NN‡”R”KsuhŒhttp://schema.org/Demand-seller”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seller”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoAn entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseller”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b685”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b683”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b684”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj“}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j“KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b686”…”R”Ksuj1“}”(j)“}”j“Ksj-“}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Demand-serialNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serialNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ±The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serialNumber”NN‡”R”KsuhŒhttp://schema.org/Demand-sku”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sku”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ…The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsku”NN‡”R”KsuhŒ"http://schema.org/Demand-validFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validFrom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The date when the item becomes valid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validFrom”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b689”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b687”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b688”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjµ“}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¸“KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b690”…”R”Ksujד}”(jÏ“}”jÓKsjÓ“}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Demand-validThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validThrough”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxThe date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validThrough”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b693”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b691”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b692”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j ”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b694”…”R”Ksuj)”}”(j!”}”j”Ksj%”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Demand-warranty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/warranty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/WarrantyPromise”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The warranty promise(s) included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œwarranty”NN‡”R”KsuhŒhttp://schema.org/DemoAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ DemoAlbum.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Demo album”NN‡”R”KsuhŒhttp://schema.org/Dentist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A dentist.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDentist”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/LocalBusiness”…”R”KhŒ!http://schema.org/MedicalBusiness”…”R”KhŒ%http://schema.org/MedicalOrganization”…”R”KuuhŒhttp://schema.org/Dentistry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9A branch of medicine that is involved in the dental care.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Dentistry”NN‡”R”KsuhŒhttp://schema.org/DepartAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒzThe act of departing from a place. An agent departs from an fromLocation for a destination, optionally with participants.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Depart action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MoveAction”…”R”KsuhŒ!http://schema.org/DepartmentStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA department store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDepartment store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ http://schema.org/DepositAccount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA type of Bank Account with a main purpose of depositing funds to gain interest or other benefits.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDeposit account”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/BankAccount”…”R”KhŒ%http://schema.org/InvestmentOrDeposit”…”R”KuuhŒhttp://schema.org/Dermatologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒhttp://schema.org/Dermatology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Something relating to or practicing dermatology.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Dermatologic”NN‡”R”KsuhŒhttp://schema.org/Dermatology”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒcA specific branch of medical science that pertains to diagnosis and treatment of disorders of skin.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Dermatology”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒhttp://schema.org/DiabeticDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ,A diet appropriate for people with diabetes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Diabetic diet”NN‡”R”KsuhŒhttp://schema.org/Diagnostic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/MedicalDevicePurpose”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.A medical device used for diagnostic purposes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Diagnostic”NN‡”R”KsuhŒhttp://schema.org/DiagnosticLab”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒIA medical laboratory that offers on-site or off-site diagnostic services.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDiagnostic lab”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/MedicalOrganization”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ-http://schema.org/DiagnosticLab-availableTest”…”R”KsuhŒ-http://schema.org/DiagnosticLab-availableTest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/availableTest”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3A diagnostic test or procedure offered by this lab.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ availableTest”NN‡”R”KsuhŒ%http://schema.org/DiagnosticProcedure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[A medical procedure intended primarily for diagnostic, as opposed to therapeutic, purposes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDiagnostic procedure”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/MedicalProcedure”…”R”KsuhŒhttp://schema.org/Diet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA strategy of regulating the intake of food to achieve or maintain a specific health-related goal.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDiet”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒ'http://schema.org/LifestyleModification”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/Diet-dietFeatures”…”R”KhŒ http://schema.org/Diet-endorsers”…”R”KhŒ+http://schema.org/Diet-expertConsiderations”…”R”KhŒ,http://schema.org/Diet-physiologicalBenefits”…”R”KhŒhttp://schema.org/Diet-risks”…”R”KuuhŒ#http://schema.org/Diet-dietFeatures”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dietFeatures”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒòNutritional information specific to the dietary plan. May include dietary recommendations on what foods to avoid, what foods to consume, and specific alterations/deviations from the USDA or other regulatory body's approved dietary guidelines.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ dietFeatures”NN‡”R”KsuhŒ http://schema.org/Diet-endorsers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endorsers”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.People or organizations that endorse the plan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ endorsers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b697”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b695”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b696”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjê–}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jí–KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b698”…”R”Ksuj —}”(j—}”jø–Ksj—}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Diet-expertConsiderations”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/expertConsiderations”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*Medical expert advice related to the plan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexpertConsiderations”NN‡”R”KsuhŒ,http://schema.org/Diet-physiologicalBenefits”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/physiologicalBenefits”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5Specific physiologic benefits associated to the plan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒphysiologicalBenefits”NN‡”R”KsuhŒhttp://schema.org/Diet-risks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/risks”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Specific physiologic risks associated to the diet plan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œrisks”NN‡”R”KsuhŒhttp://schema.org/DietNutrition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.Dietetic and nutrition as a medical specialty.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDiet nutrition”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ#http://schema.org/DietarySupplement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA product taken by mouth that contains a dietary ingredient intended to supplement the diet. Dietary ingredients may include vitamins, minerals, herbs or other botanicals, amino acids, and substances such as enzymes, organ tissues, glandulars and metabolites.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDietary supplement”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Substance”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ4http://schema.org/DietarySupplement-activeIngredient”…”R”KhŒ1http://schema.org/DietarySupplement-isProprietary”…”R”KhŒ/http://schema.org/DietarySupplement-legalStatus”…”R”KhŒ0http://schema.org/DietarySupplement-manufacturer”…”R”KhŒ1http://schema.org/DietarySupplement-maximumIntake”…”R”KhŒ5http://schema.org/DietarySupplement-mechanismOfAction”…”R”KhŒ6http://schema.org/DietarySupplement-nonProprietaryName”…”R”KhŒ3http://schema.org/DietarySupplement-proprietaryName”…”R”KhŒ5http://schema.org/DietarySupplement-recommendedIntake”…”R”KhŒ7http://schema.org/DietarySupplement-safetyConsideration”…”R”KhŒ4http://schema.org/DietarySupplement-targetPopulation”…”R”KuuhŒ4http://schema.org/DietarySupplement-activeIngredient”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/activeIngredient”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNAn active ingredient, typically chemical compounds and/or biologic substances.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactiveIngredient”NN‡”R”KsuhŒ1http://schema.org/DietarySupplement-isProprietary”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isProprietary”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHTrue if this item's name is a proprietary/brand name (vs. generic name).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isProprietary”NN‡”R”KsuhŒ/http://schema.org/DietarySupplement-legalStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/legalStatus”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The drug or supplement's legal status, including any controlled substance schedules that apply.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ legalStatus”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b702”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b699”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/DrugLegalStatus”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b700”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b701”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‡˜}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jŠ˜KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b703”…”R”Ksuj´˜}”(j¬˜}”j•˜Ksj°˜}”j¤Œ%n8b6ee6229417493cb1977c6514222981b704”…”R”Ksujº˜}”(j¬˜}”j ˜Ksj°˜}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/DietarySupplement-manufacturer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/manufacturer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The manufacturer of the product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ manufacturer”NN‡”R”KsuhŒ1http://schema.org/DietarySupplement-maximumIntake”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/maximumIntake”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/MaximumDoseSchedule”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒmRecommended intake of this supplement for a given population as defined by a specific recommending authority.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ maximumIntake”NN‡”R”KsuhŒ5http://schema.org/DietarySupplement-mechanismOfAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/mechanismOfAction”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoThe specific biochemical interaction through which this drug or supplement produces its pharmacological effect.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmechanismOfAction”NN‡”R”KsuhŒ6http://schema.org/DietarySupplement-nonProprietaryName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/nonProprietaryName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,The generic name of this drug or supplement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnonProprietaryName”NN‡”R”KsuhŒ3http://schema.org/DietarySupplement-proprietaryName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/proprietaryName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPProprietary name given to the diet plan, typically by its originator or creator.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproprietaryName”NN‡”R”KsuhŒ5http://schema.org/DietarySupplement-recommendedIntake”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/recommendedIntake”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/RecommendedDoseSchedule”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒmRecommended intake of this supplement for a given population as defined by a specific recommending authority.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrecommendedIntake”NN‡”R”KsuhŒ7http://schema.org/DietarySupplement-safetyConsideration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/safetyConsideration”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÏAny potential safety concern associated with the supplement. May include interactions with other drugs and foods, pregnancy, breastfeeding, known adverse reactions, and documented efficacy of the supplement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsafetyConsideration”NN‡”R”KsuhŒ4http://schema.org/DietarySupplement-targetPopulation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/targetPopulation”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhCharacteristics of the population for which this is intended, or which typically uses it, e.g. 'adults'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtargetPopulation”NN‡”R”KsuhŒ(http://schema.org/DigitalAudioTapeFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDigitalAudioTapeFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDigital audio tape format”NN‡”R”KsuhŒ!http://schema.org/DigitalDocument”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn electronic file or document.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDigital document”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ>http://schema.org/DigitalDocument-hasDigitalDocumentPermission”…”R”KsuhŒ>http://schema.org/DigitalDocument-hasDigitalDocumentPermission”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://schema.org/hasDigitalDocumentPermission”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ+http://schema.org/DigitalDocumentPermission”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÍA permission related to the access to this document (e.g. permission to read or write an electronic document). For a public document, specify a grantee with an Audience with audienceType equal to "public".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasDigitalDocumentPermission”NN‡”R”KsuhŒ+http://schema.org/DigitalDocumentPermission”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJA permission for a particular person or group to access a particular file.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDigital document permission”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ3http://schema.org/DigitalDocumentPermission-grantee”…”R”KhŒ:http://schema.org/DigitalDocumentPermission-permissionType”…”R”KuuhŒ3http://schema.org/DigitalDocumentPermission-grantee”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/grantee”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The person, organization, contact point, or audience that has been granted this permission.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgrantee”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b709”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b705”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b706”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b707”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b708”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjáš}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jäšKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b710”…”R”Ksuj›}”(j›}”jïšKsj›}”j¤Œ%n8b6ee6229417493cb1977c6514222981b711”…”R”Ksuj›}”(j›}”júšKsj›}”j¤Œ%n8b6ee6229417493cb1977c6514222981b712”…”R”Ksuj%›}”(j›}”j›Ksj›}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ:http://schema.org/DigitalDocumentPermission-permissionType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/permissionType”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ/http://schema.org/DigitalDocumentPermissionType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEThe type of permission granted the person, organization, or audience.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpermissionType”NN‡”R”KsuhŒ/http://schema.org/DigitalDocumentPermissionType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKA type of permission which can be granted for accessing a digital document.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Digital document permission type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/DigitalFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDigitalFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDigital format”NN‡”R”KsuhŒ#http://schema.org/DisabilitySupport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn agent approves/certifies/likes/supports/sanction an object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEndorse action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ReactAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ(http://schema.org/EndorseAction-endorsee”…”R”KsuhŒ(http://schema.org/EndorseAction-endorsee”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endorsee”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGA sub property of participant. The person/organization being supported.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œendorsee”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b845”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b843”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b844”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjº}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jºKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b846”…”R”Ksuj7º}”(j/º}”j#ºKsj3º}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/EndorsementRating”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1293”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XñAn EndorsementRating is a rating that expresses some level of endorsement, for example inclusion in a "critic's pick" blog, a "Like" or "+1" on a social network. It can be considered the [[result]] of an [[EndorseAction]] in which the [[object]] of the action is rated positively by some [[agent]]. As is common elsewhere in schema.org, it is sometimes more useful to describe the results of such an action without explicitly describing the [[Action]]. An [[EndorsementRating]] may be part of a numeric scale or organized system, but this is not required: having an explicit type for indicating a positive, endorsement rating is particularly useful in the absence of numeric scales as it helps consumers understand that the rating is broadly positive. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEndorsement rating”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Rating”…”R”KsuhŒhttp://schema.org/Energy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒfProperties that take Energy as values are of the form '<Number> <Energy unit of measure>'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEnergy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Quantity”…”R”KsuhŒ*http://schema.org/EnergyConsumptionDetails”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2670”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XEnergyConsumptionDetails represents information related to the energy efficiency of a product that consumes energy. The information that can be provided is based on international regulations such as for example [EU directive 2017/1369](https://eur-lex.europa.eu/eli/reg/2017/1369/oj) for energy labeling and the [Energy labeling rule](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/energy-water-use-labeling-consumer) under the Energy Policy and Conservation Act (EPCA) in the US.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEnergy consumption details”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒChttp://schema.org/EnergyConsumptionDetails-energyEfficiencyScaleMax”…”R”KhŒChttp://schema.org/EnergyConsumptionDetails-energyEfficiencyScaleMin”…”R”KhŒFhttp://schema.org/EnergyConsumptionDetails-hasEnergyEfficiencyCategory”…”R”KuuhŒChttp://schema.org/EnergyConsumptionDetails-energyEfficiencyScaleMax”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/energyEfficiencyScaleMax”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ/http://schema.org/EUEnergyEfficiencyEnumeration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒúSpecifies the most energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒenergyEfficiencyScaleMax”NN‡”R”KsuhŒChttp://schema.org/EnergyConsumptionDetails-energyEfficiencyScaleMin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/energyEfficiencyScaleMin”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ/http://schema.org/EUEnergyEfficiencyEnumeration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒûSpecifies the least energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒenergyEfficiencyScaleMin”NN‡”R”KsuhŒFhttp://schema.org/EnergyConsumptionDetails-hasEnergyEfficiencyCategory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ-http://schema.org/hasEnergyEfficiencyCategory”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ-http://schema.org/EnergyEfficiencyEnumeration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÀDefines the energy efficiency Category (which could be either a rating out of range of values or a yes/no certification) for a product according to an international energy efficiency standard.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasEnergyEfficiencyCategory”NN‡”R”KsuhŒ-http://schema.org/EnergyEfficiencyEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2670”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¡Enumerates energy efficiency levels (also known as "classes" or "ratings") and certifications that are part of several international energy efficiency standards.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEnergy efficiency enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ%http://schema.org/EnergyStarCertified”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ7http://schema.org/EnergyStarEnergyEfficiencyEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2670”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ$Represents EnergyStar certification.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEnergy star certified”NN‡”R”KsuhŒ7http://schema.org/EnergyStarEnergyEfficiencyEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2670”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;Used to indicate whether a product is EnergyStar certified.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ)Energy star energy efficiency enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://schema.org/EnergyEfficiencyEnumeration”…”R”KsuhŒ%http://schema.org/EngineSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‡Information about the engine of the vehicle. A vehicle can have multiple engines represented by multiple engine specification entities.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEngine specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ8http://schema.org/EngineSpecification-engineDisplacement”…”R”KhŒ1http://schema.org/EngineSpecification-enginePower”…”R”KhŒ0http://schema.org/EngineSpecification-engineType”…”R”KhŒ.http://schema.org/EngineSpecification-fuelType”…”R”KhŒ,http://schema.org/EngineSpecification-torque”…”R”KuuhŒ8http://schema.org/EngineSpecification-engineDisplacement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/engineDisplacement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe volume swept by all of the pistons inside the cylinders of an internal combustion engine in a single movement. \n\nTypical unit code(s): CMQ for cubic centimeter, LTR for liters, INQ for cubic inches\n* Note 1: You can link to information about how the given value has been determined using the [[valueReference]] property.\n* Note 2: You can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒengineDisplacement”NN‡”R”KsuhŒ1http://schema.org/EngineSpecification-enginePower”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/enginePower”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XJThe power of the vehicle's engine. Typical unit code(s): KWT for kilowatt, BHP for brake horsepower, N12 for metric horsepower (PS, with 1 PS = 735,49875 W)\n\n* Note 1: There are many different ways of measuring an engine's power. For an overview, see [http://en.wikipedia.org/wiki/Horsepower#Engine_power_test_codes](http://en.wikipedia.org/wiki/Horsepower#Engine_power_test_codes).\n* Note 2: You can link to information about how the given value has been determined using the [[valueReference]] property.\n* Note 3: You can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ enginePower”NN‡”R”KsuhŒ0http://schema.org/EngineSpecification-engineType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/engineType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The type of engine or engines powering the vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ engineType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b850”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b847”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b848”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b849”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjœ¼}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jŸ¼KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b851”…”R”Ksujɼ}”(jÁ¼}”jª¼Ksjż}”j¤Œ%n8b6ee6229417493cb1977c6514222981b852”…”R”Ksujϼ}”(jÁ¼}”jµ¼Ksjż}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/EngineSpecification-fuelType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/fuelType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒžThe type of fuel suitable for the engine or engines of the vehicle. If the vehicle has only one engine, this property can be attached directly to the vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfuelType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b856”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b853”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b854”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b855”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjÿ¼}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j½KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b857”…”R”Ksuj,½}”(j$½}”j ½Ksj(½}”j¤Œ%n8b6ee6229417493cb1977c6514222981b858”…”R”Ksuj2½}”(j$½}”j½Ksj(½}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/EngineSpecification-torque”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/torque”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe torque (turning force) of the vehicle's engine.\n\nTypical unit code(s): NU for newton metre (N m), F17 for pound-force per foot, or F48 for pound-force per inch\n\n* Note 1: You can link to information about how the given value has been determined (e.g. reference RPM) using the [[valueReference]] property.\n* Note 2: You can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtorque”NN‡”R”KsuhŒ'http://schema.org/EnrollingByInvitation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ*Enrolling participants by invitation only.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEnrolling by invitation”NN‡”R”KsuhŒ'http://schema.org/EntertainmentBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#A business providing entertainment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEntertainment business”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒhttp://schema.org/EntryPoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒNhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_ActionCollabClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/An entry point, within some Web-based protocol.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Entry point”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/EntryPoint-actionApplication”…”R”KhŒ+http://schema.org/EntryPoint-actionPlatform”…”R”KhŒ(http://schema.org/EntryPoint-application”…”R”KhŒ(http://schema.org/EntryPoint-contentType”…”R”KhŒ)http://schema.org/EntryPoint-encodingType”…”R”KhŒ'http://schema.org/EntryPoint-httpMethod”…”R”KhŒ(http://schema.org/EntryPoint-urlTemplate”…”R”KuuhŒ.http://schema.org/EntryPoint-actionApplication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/actionApplication”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/SoftwareApplication”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-An application that can complete the request.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactionApplication”NN‡”R”KsuhŒ+http://schema.org/EntryPoint-actionPlatform”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/actionPlatform”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¦The high level platform(s) where the Action can be performed for the given URL. To specify a specific application or operating system instance, use actionApplication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactionPlatform”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b861”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b859”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b860”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjB¾}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jE¾KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b862”…”R”Ksujd¾}”(j\¾}”jP¾Ksj`¾}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/EntryPoint-application”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/application”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/SoftwareApplication”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-An application that can complete the request.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ application”NN‡”R”KsuhŒ(http://schema.org/EntryPoint-contentType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contentType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The supported content type(s) for an EntryPoint response.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contentType”NN‡”R”KsuhŒ)http://schema.org/EntryPoint-encodingType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/encodingType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The supported encoding type(s) for an EntryPoint request.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ encodingType”NN‡”R”KsuhŒ'http://schema.org/EntryPoint-httpMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/httpMethod”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽAn HTTP method that specifies the appropriate HTTP method for a request to an HTTP EntryPoint. Values are capitalized strings as used in HTTP.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ httpMethod”NN‡”R”KsuhŒ(http://schema.org/EntryPoint-urlTemplate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/urlTemplate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒcAn url template (RFC6570) that will be used to construct the target of the execution of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ urlTemplate”NN‡”R”KsuhŒhttp://schema.org/Enumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMLists or enumerations—for example, a list of cuisines or music genres, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ*http://schema.org/Enumeration-supersededBy”…”R”KsuhŒ*http://schema.org/Enumeration-supersededBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/supersededBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQRelates a term (i.e. a property, class or enumeration) to one that supersedes it.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ supersededBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b866”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b863”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b864”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Enumeration”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b865”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”Kssj“¿}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j–¿KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b867”…”R”KsujÀ¿}”(j¸¿}”j¡¿Ksj¼¿}”j¤Œ%n8b6ee6229417493cb1977c6514222981b868”…”R”KsujÆ¿}”(j¸¿}”j¬¿Ksj¼¿}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Episode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒUA media episode (e.g. TV, radio, video game) which can be part of a series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEpisode”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Episode-actor”…”R”KhŒ http://schema.org/Episode-actors”…”R”KhŒ"http://schema.org/Episode-director”…”R”KhŒ#http://schema.org/Episode-directors”…”R”KhŒ"http://schema.org/Episode-duration”…”R”KhŒ'http://schema.org/Episode-episodeNumber”…”R”KhŒ!http://schema.org/Episode-musicBy”…”R”KhŒ&http://schema.org/Episode-partOfSeason”…”R”KhŒ&http://schema.org/Episode-partOfSeries”…”R”KhŒ+http://schema.org/Episode-productionCompany”…”R”KhŒ!http://schema.org/Episode-trailer”…”R”KuuhŒhttp://schema.org/Episode-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ http://schema.org/Episode-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ"http://schema.org/Episode-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ#http://schema.org/Episode-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ"http://schema.org/Episode-duration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duration”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ€The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œduration”NN‡”R”KsuhŒ'http://schema.org/Episode-episodeNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episodeNumber”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œhttp://schema.org/ExchangeRateSpecification-exchangeRateSpread”…”R”KuuhŒ4http://schema.org/ExchangeRateSpecification-currency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/currency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X¯The currency in which the monetary amount is expressed.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcurrency”NN‡”R”KsuhŒ?http://schema.org/ExchangeRateSpecification-currentExchangeRate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/currentExchangeRate”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://schema.org/UnitPriceSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The current price of a currency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcurrentExchangeRate”NN‡”R”KsuhŒ>http://schema.org/ExchangeRateSpecification-exchangeRateSpread”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/exchangeRateSpread”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒiThe difference between the price at which a broker or other intermediary buys and sells foreign currency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexchangeRateSpread”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b947”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b945”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b946”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj_Î}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jbÎKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b948”…”R”KsujÎ}”(jyÎ}”jmÎKsj}Î}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/ExchangeRefund”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/RefundTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA ExchangeRefund ...”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒExchange refund”NN‡”R”KsuhŒ http://schema.org/ExerciseAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ_The act of participating in exertive activity for the purposes of improving health and fitness.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒExercise action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/PlayAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/ExerciseAction-course”…”R”KhŒ%http://schema.org/ExerciseAction-diet”…”R”KhŒ)http://schema.org/ExerciseAction-distance”…”R”KhŒ/http://schema.org/ExerciseAction-exerciseCourse”…”R”KhŒ-http://schema.org/ExerciseAction-exercisePlan”…”R”KhŒ4http://schema.org/ExerciseAction-exerciseRelatedDiet”…”R”KhŒ-http://schema.org/ExerciseAction-exerciseType”…”R”KhŒ-http://schema.org/ExerciseAction-fromLocation”…”R”KhŒ)http://schema.org/ExerciseAction-opponent”…”R”KhŒ7http://schema.org/ExerciseAction-sportsActivityLocation”…”R”KhŒ,http://schema.org/ExerciseAction-sportsEvent”…”R”KhŒ+http://schema.org/ExerciseAction-sportsTeam”…”R”KhŒ+http://schema.org/ExerciseAction-toLocation”…”R”KuuhŒ'http://schema.org/ExerciseAction-course”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/course”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCA sub property of location. The course where this action was taken.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcourse”NN‡”R”KsuhŒ%http://schema.org/ExerciseAction-diet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/diet”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Diet”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;A sub property of instrument. The diet used in this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdiet”NN‡”R”KsuhŒ)http://schema.org/ExerciseAction-distance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/distance”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The distance travelled, e.g. exercising or travelling.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdistance”NN‡”R”KsuhŒ/http://schema.org/ExerciseAction-exerciseCourse”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/exerciseCourse”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCA sub property of location. The course where this action was taken.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexerciseCourse”NN‡”R”KsuhŒ-http://schema.org/ExerciseAction-exercisePlan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/exercisePlan”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ExercisePlan”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDA sub property of instrument. The exercise plan used on this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ exercisePlan”NN‡”R”KsuhŒ4http://schema.org/ExerciseAction-exerciseRelatedDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/exerciseRelatedDiet”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Diet”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;A sub property of instrument. The diet used in this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexerciseRelatedDiet”NN‡”R”KsuhŒ-http://schema.org/ExerciseAction-exerciseType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/exerciseType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxType(s) of exercise or activity, such as strength training, flexibility training, aerobics, cardiac rehabilitation, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ exerciseType”NN‡”R”KsuhŒ-http://schema.org/ExerciseAction-fromLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/fromLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_A sub property of location. The original location of the object or the agent before the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ fromLocation”NN‡”R”KsuhŒ)http://schema.org/ExerciseAction-opponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/opponent”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;A sub property of participant. The opponent on this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œopponent”NN‡”R”KsuhŒ7http://schema.org/ExerciseAction-sportsActivityLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/sportsActivityLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒTA sub property of location. The sports activity location where this action occurred.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsportsActivityLocation”NN‡”R”KsuhŒ,http://schema.org/ExerciseAction-sportsEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sportsEvent”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/SportsEvent”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHA sub property of location. The sports event where this action occurred.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ sportsEvent”NN‡”R”KsuhŒ+http://schema.org/ExerciseAction-sportsTeam”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sportsTeam”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/SportsTeam”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPA sub property of participant. The sports team that participated on this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ sportsTeam”NN‡”R”KsuhŒ+http://schema.org/ExerciseAction-toLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/toLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A sub property of location. The final location of the object or the agent after the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ toLocation”NN‡”R”KsuhŒhttp://schema.org/ExerciseGym”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA gym.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Exercise gym”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KsuhŒhttp://schema.org/ExercisePlan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ›Fitness-related activity designed for a specific health-related purpose, including defined exercise routines as well as activity prescribed by a clinician.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Exercise plan”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒ"http://schema.org/PhysicalActivity”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ/http://schema.org/ExercisePlan-activityDuration”…”R”KhŒ0http://schema.org/ExercisePlan-activityFrequency”…”R”KhŒ1http://schema.org/ExercisePlan-additionalVariable”…”R”KhŒ+http://schema.org/ExercisePlan-exerciseType”…”R”KhŒ(http://schema.org/ExercisePlan-intensity”…”R”KhŒ*http://schema.org/ExercisePlan-repetitions”…”R”KhŒ*http://schema.org/ExercisePlan-restPeriods”…”R”KhŒ'http://schema.org/ExercisePlan-workload”…”R”KuuhŒ/http://schema.org/ExercisePlan-activityDuration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/activityDuration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)Length of time to engage in the activity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactivityDuration”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b951”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b949”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b950”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”Kssj½Ñ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÀÑKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b952”…”R”KsujßÑ}”(j×Ñ}”jËÑKsjÛÑ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/ExercisePlan-activityFrequency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/activityFrequency”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,How often one should engage in the activity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactivityFrequency”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b955”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b953”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b954”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b956”…”R”Ksuj1Ò}”(j)Ò}”jÒKsj-Ò}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/ExercisePlan-additionalVariable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/additionalVariable”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒéAny additional component of the exercise prescription that may need to be articulated to the patient. This may include the order of exercises, the number of repetitions of movement, quantitative distance, progressions over time, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadditionalVariable”NN‡”R”KsuhŒ+http://schema.org/ExercisePlan-exerciseType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/exerciseType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxType(s) of exercise or activity, such as strength training, flexibility training, aerobics, cardiac rehabilitation, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ exerciseType”NN‡”R”KsuhŒ(http://schema.org/ExercisePlan-intensity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/intensity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ˜Quantitative measure gauging the degree of force involved in the exercise, for example, heartbeats per minute. May include the velocity of the movement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ intensity”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b959”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b957”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b958”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjµÒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¸ÒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b960”…”R”Ksuj×Ò}”(jÏÒ}”jÃÒKsjÓÒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/ExercisePlan-repetitions”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/repetitions”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/Number of times one should repeat the activity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ repetitions”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b963”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b961”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b962”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÓ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j ÓKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b964”…”R”Ksuj)Ó}”(j!Ó}”jÓKsj%Ó}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/ExercisePlan-restPeriods”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/restPeriods”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-How often one should break from the activity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ restPeriods”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b967”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b965”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b966”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjYÓ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j\ÓKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b968”…”R”Ksuj{Ó}”(jsÓ}”jgÓKsjwÓ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/ExercisePlan-workload”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/workload”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgQuantitative measure of the physiologic output of the exercise; also referred to as energy expenditure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œworkload”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b971”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b969”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b970”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj«Ó}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j®ÓKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b972”…”R”KsujÍÓ}”(jÅÓ}”j¹ÓKsjÉÓ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/ExhibitionEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒPEvent type: Exhibition event, e.g. at a museum, library, archive, tradeshow, ...”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒExhibition event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/Eye”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEEye or ophtalmological function assessment with clinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEye”NN‡”R”KsuhŒhttp://schema.org/FAQPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1723”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŽA [[FAQPage]] is a [[WebPage]] presenting one or more "[Frequently asked questions](https://en.wikipedia.org/wiki/FAQ)" (see also [[QAPage]]).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFAQPage”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”Ksuu(hŒhttp://schema.org/FDAcategoryA”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/DrugPregnancyCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”•Y}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÛA designation by the US FDA signifying that adequate and well-controlled studies have failed to demonstrate a risk to the fetus in the first trimester of pregnancy (and there is no evidence of risk in later trimesters).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ FDAcategory a”NN‡”R”KsuhŒhttp://schema.org/FDAcategoryB”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/DrugPregnancyCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¿A designation by the US FDA signifying that animal reproduction studies have failed to demonstrate a risk to the fetus and there are no adequate and well-controlled studies in pregnant women.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ FDAcategory b”NN‡”R”KsuhŒhttp://schema.org/FDAcategoryC”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/DrugPregnancyCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA designation by the US FDA signifying that animal reproduction studies have shown an adverse effect on the fetus and there are no adequate and well-controlled studies in humans, but potential benefits may warrant use of the drug in pregnant women despite potential risks.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ FDAcategory c”NN‡”R”KsuhŒhttp://schema.org/FDAcategoryD”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/DrugPregnancyCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA designation by the US FDA signifying that there is positive evidence of human fetal risk based on adverse reaction data from investigational or marketing experience or studies in humans, but potential benefits may warrant use of the drug in pregnant women despite potential risks.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ FDAcategory d”NN‡”R”KsuhŒhttp://schema.org/FDAcategoryX”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/DrugPregnancyCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XRA designation by the US FDA signifying that studies in animals or humans have demonstrated fetal abnormalities and/or there is positive evidence of human fetal risk based on adverse reaction data from investigational or marketing experience, and the risks involved in use of the drug in pregnant women clearly outweigh potential benefits.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ FDAcategory x”NN‡”R”KsuhŒ!http://schema.org/FDAnotEvaluated”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/DrugPregnancyCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmA designation that the drug in question has not been assigned a pregnancy category designation by the US FDA.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFDAnot evaluated”NN‡”R”KsuhŒ http://schema.org/FMRadioChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1004”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA radio channel that uses FM.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFMRadio channel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/RadioChannel”…”R”KsuhŒ$http://schema.org/FailedActionStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ActionStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒƒAn action that failed to complete. The action's error property and the HTTP return code contain more information about the failure.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFailed action status”NN‡”R”KsuhŒhttp://schema.org/False”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe boolean value false.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFalse”NN‡”R”KsuhŒ$http://schema.org/FastFoodRestaurant”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA fast-food restaurant.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFast food restaurant”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/FoodEstablishment”…”R”KsuhŒhttp://schema.org/Female”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/GenderType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe female gender.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFemale”NN‡”R”KsuhŒhttp://schema.org/Festival”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Festival.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFestival”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/FilmAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJThe act of capturing sound and moving images on film, video, or digitally.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Film action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreateAction”…”R”KsuhŒ"http://schema.org/FinancialProduct”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒâA product provided to consumers and businesses by financial institutions such as banks, insurance companies, brokerage firms, consumer finance companies, and investment companies which comprise the financial services industry.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFinancial product”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://schema.org/FinancialProduct-annualPercentageRate”…”R”KhŒBhttp://schema.org/FinancialProduct-feesAndCommissionsSpecification”…”R”KhŒ/http://schema.org/FinancialProduct-interestRate”…”R”KuuhŒ7http://schema.org/FinancialProduct-annualPercentageRate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/annualPercentageRate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe annual rate that is charged for borrowing (or made by investing), expressed as a single percentage number that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒannualPercentageRate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b975”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b973”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b974”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjTÖ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jWÖKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b976”…”R”KsujvÖ}”(jnÖ}”jbÖKsjrÖ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒBhttp://schema.org/FinancialProduct-feesAndCommissionsSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ1http://schema.org/feesAndCommissionsSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰Description of fees, commissions, and other terms applied either to a class of financial product, or by a financial service organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfeesAndCommissionsSpecification”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b979”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b977”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b978”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¦Ö}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j©ÖKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b980”…”R”KsujÈÖ}”(jÀÖ}”j´ÖKsjÄÖ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/FinancialProduct-interestRate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/interestRate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŠThe interest rate, charged or paid, applicable to the financial product. Note: This is different from the calculated annualPercentageRate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ interestRate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b983”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b981”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b982”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjøÖ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jûÖKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b984”…”R”Ksuj×}”(j×}”j×Ksj×}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/FinancialService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFinancial services business.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFinancial service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒBhttp://schema.org/FinancialService-feesAndCommissionsSpecification”…”R”KsuhŒBhttp://schema.org/FinancialService-feesAndCommissionsSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ1http://schema.org/feesAndCommissionsSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰Description of fees, commissions, and other terms applied either to a class of financial product, or by a financial service organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfeesAndCommissionsSpecification”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b987”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b985”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b986”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjw×}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jz×KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b988”…”R”Ksuj™×}”(j‘×}”j…×Ksj•×}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/FindAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe act of finding an object.\n\nRelated actions:\n\n* [[SearchAction]]: FindAction is generally lead by a SearchAction, but not necessarily.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Find action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KsuhŒhttp://schema.org/FireStation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA fire station. With firemen.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Fire station”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ http://schema.org/CivicStructure”…”R”KhŒ"http://schema.org/EmergencyService”…”R”KuuhŒhttp://schema.org/Flexibility”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/PhysicalActivityCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMPhysical activity that is engaged in to improve joint and muscle flexibility.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Flexibility”NN‡”R”KsuhŒhttp://schema.org/Flight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn airline flight.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFlight”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Trip”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ!http://schema.org/Flight-aircraft”…”R”KhŒ'http://schema.org/Flight-arrivalAirport”…”R”KhŒ$http://schema.org/Flight-arrivalGate”…”R”KhŒ(http://schema.org/Flight-arrivalTerminal”…”R”KhŒ'http://schema.org/Flight-boardingPolicy”…”R”KhŒ http://schema.org/Flight-carrier”…”R”KhŒ)http://schema.org/Flight-departureAirport”…”R”KhŒ&http://schema.org/Flight-departureGate”…”R”KhŒ*http://schema.org/Flight-departureTerminal”…”R”KhŒ0http://schema.org/Flight-estimatedFlightDuration”…”R”KhŒ'http://schema.org/Flight-flightDistance”…”R”KhŒ%http://schema.org/Flight-flightNumber”…”R”KhŒ$http://schema.org/Flight-mealService”…”R”KhŒhttp://schema.org/Flight-seller”…”R”KhŒ'http://schema.org/Flight-webCheckinTime”…”R”KuuhŒ!http://schema.org/Flight-aircraft”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/aircraft”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The kind of aircraft (e.g., "Boeing 747").”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaircraft”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b991”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b989”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Vehicle”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b990”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjØ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j’ØKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b992”…”R”Ksuj±Ø}”(j©Ø}”jØKsj­Ø}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Flight-arrivalAirport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/arrivalAirport”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Airport”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(The airport where the flight terminates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒarrivalAirport”NN‡”R”KsuhŒ$http://schema.org/Flight-arrivalGate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/arrivalGate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(Identifier of the flight's arrival gate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ arrivalGate”NN‡”R”KsuhŒ(http://schema.org/Flight-arrivalTerminal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/arrivalTerminal”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,Identifier of the flight's arrival terminal.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒarrivalTerminal”NN‡”R”KsuhŒ'http://schema.org/Flight-boardingPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/boardingPolicy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/BoardingPolicyType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQThe type of boarding policy used by the airline (e.g. zone-based or group-based).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒboardingPolicy”NN‡”R”KsuhŒ http://schema.org/Flight-carrier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/carrier”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒY'carrier' is an out-dated term indicating the 'provider' for parcel delivery and flights.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcarrier”NN‡”R”KsuhŒ)http://schema.org/Flight-departureAirport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/departureAirport”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Airport”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(The airport where the flight originates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdepartureAirport”NN‡”R”KsuhŒ&http://schema.org/Flight-departureGate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/departureGate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*Identifier of the flight's departure gate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ departureGate”NN‡”R”KsuhŒ*http://schema.org/Flight-departureTerminal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/departureTerminal”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.Identifier of the flight's departure terminal.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdepartureTerminal”NN‡”R”KsuhŒ0http://schema.org/Flight-estimatedFlightDuration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/estimatedFlightDuration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(The estimated time the flight will take.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒestimatedFlightDuration”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b995”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b993”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b994”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj1Ú}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j4ÚKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b996”…”R”KsujSÚ}”(jKÚ}”j?ÚKsjOÚ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Flight-flightDistance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/flightDistance”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe distance of the flight.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒflightDistance”NN‡”R”KsuhŒ%http://schema.org/Flight-flightNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/flightNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¶The unique identifier for a flight including the airline IATA code. For example, if describing United flight 110, where the IATA code for United is 'UA', the flightNumber is 'UA110'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ flightNumber”NN‡”R”KsuhŒ$http://schema.org/Flight-mealService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/mealService”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIDescription of the meals that will be provided or available for purchase.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ mealService”NN‡”R”KsuhŒhttp://schema.org/Flight-seller”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seller”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoAn entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseller”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ%n8b6ee6229417493cb1977c6514222981b999”…”R”Ksuj¤Œ%n8b6ee6229417493cb1977c6514222981b997”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ%n8b6ee6229417493cb1977c6514222981b998”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjÛ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÛKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1000”…”R”Ksuj#Û}”(jÛ}”jÛKsjÛ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Flight-webCheckinTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/webCheckinTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;The time when a passenger can check into the flight online.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒwebCheckinTime”NN‡”R”KsuhŒ#http://schema.org/FlightReservation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÝA reservation for air travel.\n\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFlight reservation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Reservation”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ1http://schema.org/FlightReservation-boardingGroup”…”R”KhŒ;http://schema.org/FlightReservation-passengerPriorityStatus”…”R”KhŒ;http://schema.org/FlightReservation-passengerSequenceNumber”…”R”KhŒ5http://schema.org/FlightReservation-securityScreening”…”R”KuuhŒ1http://schema.org/FlightReservation-boardingGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/boardingGroup”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>The airline-specific indicator of boarding order / preference.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ boardingGroup”NN‡”R”KsuhŒ;http://schema.org/FlightReservation-passengerPriorityStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/passengerPriorityStatus”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒbThe priority status assigned to a passenger for security or boarding (e.g. FastTrack or Priority).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpassengerPriorityStatus”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1003”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1001”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1002”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÝÛ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jàÛKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1004”…”R”KsujÿÛ}”(j÷Û}”jëÛKsjûÛ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ;http://schema.org/FlightReservation-passengerSequenceNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/passengerSequenceNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;The passenger's sequence number as assigned by the airline.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpassengerSequenceNumber”NN‡”R”KsuhŒ5http://schema.org/FlightReservation-securityScreening”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/securityScreening”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;The type of security screening the passenger is subject to.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsecurityScreening”NN‡”R”KsuhŒhttp://schema.org/Float”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒData type: Floating number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒFloat”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KsuhŒhttp://schema.org/FloorPlan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2373”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XEA FloorPlan is an explicit representation of a collection of similar accommodations, allowing the provision of common information (room counts, sizes, layout diagrams) and offers for rental or sale. In typical use, some [[ApartmentComplex]] has an [[accommodationFloorPlan]] which is a [[FloorPlan]]. A FloorPlan is always in the context of a particular place, either a larger [[ApartmentComplex]] or a single [[Apartment]]. The visual/spatial aspects of a floor plan (i.e. room layout, [see wikipedia](https://en.wikipedia.org/wiki/Floor_plan)) can be indicated using [[image]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Floor plan”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/FloorPlan-amenityFeature”…”R”KhŒ%http://schema.org/FloorPlan-floorSize”…”R”KhŒ.http://schema.org/FloorPlan-isPlanForApartment”…”R”KhŒ'http://schema.org/FloorPlan-layoutImage”…”R”KhŒ6http://schema.org/FloorPlan-numberOfAccommodationUnits”…”R”KhŒ?http://schema.org/FloorPlan-numberOfAvailableAccommodationUnits”…”R”KhŒ2http://schema.org/FloorPlan-numberOfBathroomsTotal”…”R”KhŒ,http://schema.org/FloorPlan-numberOfBedrooms”…”R”KhŒ1http://schema.org/FloorPlan-numberOfFullBathrooms”…”R”KhŒ4http://schema.org/FloorPlan-numberOfPartialBathrooms”…”R”KhŒ)http://schema.org/FloorPlan-numberOfRooms”…”R”KhŒ'http://schema.org/FloorPlan-petsAllowed”…”R”KuuhŒ*http://schema.org/FloorPlan-amenityFeature”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/amenityFeature”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ.http://schema.org/LocationFeatureSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåAn amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒamenityFeature”NN‡”R”KsuhŒ%http://schema.org/FloorPlan-floorSize”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/floorSize”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ›The size of the accommodation, e.g. in square meter or squarefoot. Typical unit code(s): MTK for square meter, FTK for square foot, or YDK for square yard ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ floorSize”NN‡”R”KsuhŒ.http://schema.org/FloorPlan-isPlanForApartment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/isPlanForApartment”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Accommodation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œê}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jAêKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1084”…”R”Ksuj`ê}”(jXê}”jLêKsj\ê}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/GeoCoordinates-postalCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/postalCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The postal code. For example, 94043.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ postalCode”NN‡”R”KsuhŒhttp://schema.org/GeoShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XThe geographic shape of a place. A GeoShape can be described using several properties whose values are based on latitude/longitude pairs. Either whitespace or commas can be used to separate latitude and longitude; whitespace should be used when writing a list of several such points.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Geo shape”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ"http://schema.org/GeoShape-address”…”R”KhŒ)http://schema.org/GeoShape-addressCountry”…”R”KhŒhttp://schema.org/GeoShape-box”…”R”KhŒ!http://schema.org/GeoShape-circle”…”R”KhŒ$http://schema.org/GeoShape-elevation”…”R”KhŒhttp://schema.org/GeoShape-line”…”R”KhŒ"http://schema.org/GeoShape-polygon”…”R”KhŒ%http://schema.org/GeoShape-postalCode”…”R”KuuhŒ"http://schema.org/GeoShape-address”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/address”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPhysical address of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaddress”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1087”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1085”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1086”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjë}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jëKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1088”…”R”Ksuj%ë}”(jë}”jëKsj!ë}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/GeoShape-addressCountry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/addressCountry”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽThe country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaddressCountry”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1091”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1089”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1090”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjUë}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jXëKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1092”…”R”Ksujwë}”(joë}”jcëKsjsë}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/GeoShape-box”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/box”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÍA box is the area enclosed by the rectangle formed by two points. The first point is the lower corner, the second point is the upper corner. A box is expressed as two points separated by a space character.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbox”NN‡”R”KsuhŒ!http://schema.org/GeoShape-circle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/circle”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¥A circle is the circular region of a specified radius centered at a specified latitude and longitude. A circle is expressed as a pair followed by a radius in meters.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcircle”NN‡”R”KsuhŒ$http://schema.org/GeoShape-elevation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/elevation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒðThe elevation of a location ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)). Values may be of the form 'NUMBER UNIT_OF_MEASUREMENT' (e.g., '1,000 m', '3,200 ft') while numbers alone should be assumed to be a value in meters.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ elevation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1095”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1093”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1094”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjûë}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jþëKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1096”…”R”Ksujì}”(jì}”j ìKsjì}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/GeoShape-line”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/line”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ’A line is a point-to-point path consisting of two or more points. A line is expressed as a series of two or more point objects separated by space.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œline”NN‡”R”KsuhŒ"http://schema.org/GeoShape-polygon”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/polygon”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒèA polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more space delimited points where the first and final points are identical.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpolygon”NN‡”R”KsuhŒ%http://schema.org/GeoShape-postalCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/postalCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The postal code. For example, 94043.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ postalCode”NN‡”R”KsuhŒ$http://schema.org/GeospatialGeometry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1375”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œz(Eventually to be defined as) a supertype of GeoShape designed to accommodate definitions from Geo-Spatial best practices.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGeospatial geometry”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/GeospatialGeometry-geoContains”…”R”KhŒ1http://schema.org/GeospatialGeometry-geoCoveredBy”…”R”KhŒ.http://schema.org/GeospatialGeometry-geoCovers”…”R”KhŒ/http://schema.org/GeospatialGeometry-geoCrosses”…”R”KhŒ0http://schema.org/GeospatialGeometry-geoDisjoint”…”R”KhŒ.http://schema.org/GeospatialGeometry-geoEquals”…”R”KhŒ2http://schema.org/GeospatialGeometry-geoIntersects”…”R”KhŒ0http://schema.org/GeospatialGeometry-geoOverlaps”…”R”KhŒ/http://schema.org/GeospatialGeometry-geoTouches”…”R”KhŒ.http://schema.org/GeospatialGeometry-geoWithin”…”R”KuuhŒ0http://schema.org/GeospatialGeometry-geoContains”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoContains”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XIRepresents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. "a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoContains”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1099”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1097”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1098”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj!í}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j$íKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1100”…”R”KsujCí}”(j;í}”j/íKsj?í}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/GeospatialGeometry-geoCoveredBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoCoveredBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ½Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoCoveredBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1103”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1101”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1102”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssjsí}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jvíKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1104”…”R”Ksuj•í}”(jí}”jíKsj‘í}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/GeospatialGeometry-geoCovers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoCovers”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XRepresents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. "Every point of b is a point of (the interior or boundary of) a". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoCovers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1107”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1105”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1106”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KssjÅí}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÈíKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1108”…”R”Ksujçí}”(jßí}”jÓíKsjãí}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/GeospatialGeometry-geoCrosses”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoCrosses”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XTRepresents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: "a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoCrosses”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1111”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1109”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1110”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssjî}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jîKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1112”…”R”Ksuj9î}”(j1î}”j%îKsj5î}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/GeospatialGeometry-geoDisjoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoDisjoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XRepresents spatial relations in which two geometries (or the places they represent) are topologically disjoint: they have no point in common. They form a set of disconnected geometries." (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM))”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoDisjoint”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1115”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1113”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1114”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssjiî}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jlîKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1116”…”R”Ksuj‹î}”(jƒî}”jwîKsj‡î}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/GeospatialGeometry-geoEquals”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoEquals”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XhRepresents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM). "Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other" (a symmetric relationship)”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoEquals”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1119”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1117”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1118”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj»î}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¾îKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1120”…”R”KsujÝî}”(jÕî}”jÉîKsjÙî}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/GeospatialGeometry-geoIntersects”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoIntersects”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ´Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoIntersects”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1123”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1121”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1122”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj ï}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jïKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1124”…”R”Ksuj/ï}”(j'ï}”jïKsj+ï}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/GeospatialGeometry-geoOverlaps”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoOverlaps”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒþRepresents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoOverlaps”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1127”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1125”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1126”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj_ï}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jbïKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1128”…”R”Ksujï}”(jyï}”jmïKsj}ï}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/GeospatialGeometry-geoTouches”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoTouches”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒþRepresents spatial relations in which two geometries (or the places they represent) touch: they have at least one boundary point in common, but no interior points." (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM) )”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoTouches”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1131”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1129”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1130”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj±ï}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j´ïKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1132”…”R”KsujÓï}”(jËï}”j¿ïKsjÏï}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/GeospatialGeometry-geoWithin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/geoWithin”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒéRepresents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ geoWithin”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1135”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1133”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/GeospatialGeometry”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1134”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssjð}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jðKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1136”…”R”Ksuj%ð}”(jð}”jðKsj!ð}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Geriatric”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ’A specific branch of medical science that is concerned with the diagnosis and treatment of diseases, debilities and provision of care to the aged.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Geriatric”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ+http://schema.org/GettingAccessHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2799”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ“Content that discusses practical and policy aspects for getting access to specific kinds of healthcare (e.g. distribution mechanisms for vaccines).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGetting access health aspect”NN‡”R”KsuhŒhttp://schema.org/GiveAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XJThe act of transferring ownership of an object to a destination. Reciprocal of TakeAction.\n\nRelated actions:\n\n* [[TakeAction]]: Reciprocal of GiveAction.\n* [[SendAction]]: Unlike SendAction, GiveAction implies that ownership is being transferred (e.g. I may send my laptop to you, but that doesn't mean I'm giving it to you).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Give action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/TransferAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ&http://schema.org/GiveAction-recipient”…”R”KsuhŒ&http://schema.org/GiveAction-recipient”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/recipient”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYA sub property of participant. The participant who is at the receiving end of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ recipient”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1141”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1137”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1138”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1139”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1140”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjÐð}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÓðKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1142”…”R”Ksujñ}”(jñ}”jÞðKsjñ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1143”…”R”Ksujñ}”(jñ}”jéðKsjñ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1144”…”R”Ksujñ}”(jñ}”jôðKsjñ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/GlutenFreeDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA diet exclusive of gluten.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGluten free diet”NN‡”R”KsuhŒhttp://schema.org/GolfCourse”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA golf course.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Golf course”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KsuhŒ(http://schema.org/GovernmentBenefitsType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¨GovernmentBenefitsType enumerates several kinds of government benefits to support the COVID-19 situation. Note that this structure may not capture all benefits offered.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGovernment benefits type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ$http://schema.org/GovernmentBuilding”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA government building.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGovernment building”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ"http://schema.org/GovernmentOffice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8A government office—for example, an IRS or DMV office.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGovernment office”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒ(http://schema.org/GovernmentOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ&A governmental organization or agency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGovernment organization”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KsuhŒ"http://schema.org/GovernmentPermit”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'A permit issued by a government agency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGovernment permit”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Permit”…”R”KsuhŒ#http://schema.org/GovernmentService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒZA service provided by a government organization, e.g. food stamps, veterans benefits, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGovernment service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/GovernmentService-jurisdiction”…”R”KhŒ3http://schema.org/GovernmentService-serviceOperator”…”R”KuuhŒ0http://schema.org/GovernmentService-jurisdiction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/jurisdiction”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒdIndicates a legal jurisdiction, e.g. of some legislation, or where some government service is based.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ jurisdiction”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1147”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1145”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1146”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjò}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j‚òKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1148”…”R”Ksuj¡ò}”(j™ò}”jòKsjò}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://schema.org/GovernmentService-serviceOperator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/serviceOperator”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÉThe operating organization, if different from the provider. This enables the representation of services that are provided by an organization, but operated by another organization like a subcontractor.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒserviceOperator”NN‡”R”KsuhŒhttp://schema.org/Grant”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ1https://github.com/schemaorg/schemaorg/issues/383”…”R”KhŒEhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FundInfoCollab”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X5A grant, typically financial or otherwise quantifiable, of resources. Typically a [[funder]] sponsors some [[MonetaryAmount]] to an [[Organization]] or [[Person]], sometimes not necessarily via a dedicated or long-lived [[Project]], resulting in one or more outputs, or [[fundedItem]]s. For financial sponsorship, indicate the [[funder]] of a [[MonetaryGrant]]. For non-financial support, indicate [[sponsor]] of [[Grant]]s of resources (e.g. office space). Grants support activities directed towards some agreed collective goals, often but not always organized as [[Project]]s. Long-lived projects are sometimes sponsored by a variety of grants over time, but it is also common for a project to be associated with a single grant. The amount of a [[Grant]] is represented using [[amount]] as a [[MonetaryAmount]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGrant”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ"http://schema.org/Grant-fundedItem”…”R”KhŒhttp://schema.org/Grant-sponsor”…”R”KuuhŒ"http://schema.org/Grant-fundedItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/fundedItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ:Indicates an item funded or sponsored through a [[Grant]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ fundedItem”NN‡”R”KsuhŒhttp://schema.org/Grant-sponsor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sponsor”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªA person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsponsor”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1151”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1149”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1150”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjfó}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jióKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1152”…”R”Ksujˆó}”(j€ó}”jtóKsj„ó}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/GraphicNovel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/BookFormatType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒTBook format: GraphicNovel. May represent a bound collection of ComicIssue instances.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Graphic novel”NN‡”R”KsuhŒhttp://schema.org/GroceryStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA grocery store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Grocery store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ%http://schema.org/GroupBoardingPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/BoardingPolicyType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒCThe airline boards by groups based on check-in time, priority, etc.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGroup boarding policy”NN‡”R”KsuhŒhttp://schema.org/Guide”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2405”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XŸ[[Guide]] is a page or article that recommend specific products or services, or aspects of a thing for a user to consider. A [[Guide]] may represent a Buying Guide and detail aspects of products or services for a user to consider. A [[Guide]] may represent a Product Guide and recommend specific products or services. A [[Guide]] may represent a Ranked List and recommend specific products or services with ranking.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒGuide”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ$http://schema.org/Guide-reviewAspect”…”R”KsuhŒ$http://schema.org/Guide-reviewAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviewAspect”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLThis Review or Rating is relevant to this part or facet of the itemReviewed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ reviewAspect”NN‡”R”KsuhŒhttp://schema.org/Gynecologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ²A specific branch of medical science that pertains to the health care of women, particularly in the diagnosis and treatment of disorders affecting the female reproductive system.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Gynecologic”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒhttp://schema.org/HVACBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKA business that provide Heating, Ventilation and Air Conditioning services.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ HVACBusiness”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://schema.org/HomeAndConstructionBusiness”…”R”• KsuhŒhttp://schema.org/Hackathon”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2526”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=A [hackathon](https://en.wikipedia.org/wiki/Hackathon) event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hackathon”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/HairSalon”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A hair salon.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hair salon”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://schema.org/HealthAndBeautyBusiness”…”R”KsuhŒhttp://schema.org/HalalDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/A diet conforming to Islamic dietary practices.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Halal diet”NN‡”R”KsuhŒhttp://schema.org/Hardcover”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/BookFormatType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBook format: Hardcover.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hardcover”NN‡”R”KsuhŒhttp://schema.org/HardwareStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA hardware store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHardware store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/Head”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ*Head assessment with clinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHead”NN‡”R”KsuhŒ)http://schema.org/HealthAndBeautyBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒHealth and beauty.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHealth and beauty business”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒ)http://schema.org/HealthAspectEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ£HealthAspectEnumeration enumerates several aspects of health content online, each of which might be described using [[hasHealthAspect]] and [[HealthTopicContent]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHealth aspect enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/HealthCare”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.HealthCare: this is a benefit for health care.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Health care”NN‡”R”KsuhŒhttp://schema.org/HealthClub”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA health club.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Health club”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ)http://schema.org/HealthAndBeautyBusiness”…”R”KhŒ(http://schema.org/SportsActivityLocation”…”R”KuuhŒ%http://schema.org/HealthInsurancePlan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1062”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBA US-style health insurance plan, including PPOs, EPOs, and HMOs. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHealth insurance plan”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ8http://schema.org/HealthInsurancePlan-benefitsSummaryUrl”…”R”KhŒ2http://schema.org/HealthInsurancePlan-contactPoint”…”R”KhŒ:http://schema.org/HealthInsurancePlan-healthPlanDrugOption”…”R”KhŒ8http://schema.org/HealthInsurancePlan-healthPlanDrugTier”…”R”KhŒ2http://schema.org/HealthInsurancePlan-healthPlanId”…”R”KhŒhttp://schema.org/HealthInsurancePlan-usesHealthPlanIdStandard”…”R”KuuhŒ8http://schema.org/HealthInsurancePlan-benefitsSummaryUrl”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/benefitsSummaryUrl”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe URL that goes directly to the summary of benefits and coverage for the specific standard plan or plan variation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbenefitsSummaryUrl”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ2http://schema.org/HealthInsurancePlan-contactPoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactPoint”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A contact point for a person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactPoint”NN‡”R”KsuhŒ:http://schema.org/HealthInsurancePlan-healthPlanDrugOption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/healthPlanDrugOption”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒTODO.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanDrugOption”NN‡”R”KsuhŒ8http://schema.org/HealthInsurancePlan-healthPlanDrugTier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/healthPlanDrugTier”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAThe tier(s) of drugs offered by this formulary or insurance plan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanDrugTier”NN‡”R”KsuhŒ2http://schema.org/HealthInsurancePlan-healthPlanId”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/healthPlanId”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒjThe 14-character, HIOS-generated Plan ID number. (Plan IDs must be unique, even across different markets.)”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ healthPlanId”NN‡”R”KsuhŒhttp://schema.org/HealthInsurancePlan-usesHealthPlanIdStandard”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/usesHealthPlanIdStandard”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰The standard for interpreting thePlan ID. The preferred is "HIOS". See the Centers for Medicare & Medicaid Services for more details.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒusesHealthPlanIdStandard”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1155”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1153”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1154”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjè÷}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jë÷KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1156”…”R”Ksuj ø}”(jø}”jö÷Ksjø}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/HealthPlanCostSharingSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1062”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒIA description of costs to the patient under a given network or formulary.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ&Health plan cost sharing specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒPhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCoinsuranceOption”…”R”KhŒNhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCoinsuranceRate”…”R”KhŒDhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCopay”…”R”KhŒJhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCopayOption”…”R”KhŒOhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanPharmacyCategory”…”R”KuuhŒPhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCoinsuranceOption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ-http://schema.org/healthPlanCoinsuranceOption”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\Whether the coinsurance applies before or after deductible, etc. TODO: Is this a closed set?”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanCoinsuranceOption”NN‡”R”KsuhŒNhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCoinsuranceRate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/healthPlanCoinsuranceRate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJWhether The rate of coinsurance expressed as a number between 0.0 and 1.0.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanCoinsuranceRate”NN‡”R”KsuhŒDhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCopay”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/healthPlanCopay”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒWhether The copay amount.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanCopay”NN‡”R”KsuhŒJhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanCopayOption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/healthPlanCopayOption”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQWhether the copay is before or after deductible, etc. TODO: Is this a closed set?”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanCopayOption”NN‡”R”KsuhŒOhttp://schema.org/HealthPlanCostSharingSpecification-healthPlanPharmacyCategory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://schema.org/healthPlanPharmacyCategory”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCThe category or type of pharmacy associated with this cost sharing.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanPharmacyCategory”NN‡”R”KsuhŒ%http://schema.org/HealthPlanFormulary”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1062”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒcFor a given health insurance plan, the specification for costs and coverage of prescription drugs. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHealth plan formulary”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ;http://schema.org/HealthPlanFormulary-healthPlanCostSharing”…”R”KhŒ8http://schema.org/HealthPlanFormulary-healthPlanDrugTier”…”R”KhŒ>http://schema.org/HealthPlanFormulary-offersPrescriptionByMail”…”R”KuuhŒ;http://schema.org/HealthPlanFormulary-healthPlanCostSharing”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/healthPlanCostSharing”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNWhether The costs to the patient for services under this network or formulary.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanCostSharing”NN‡”R”KsuhŒ8http://schema.org/HealthPlanFormulary-healthPlanDrugTier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/healthPlanDrugTier”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAThe tier(s) of drugs offered by this formulary or insurance plan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanDrugTier”NN‡”R”KsuhŒ>http://schema.org/HealthPlanFormulary-offersPrescriptionByMail”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/offersPrescriptionByMail”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/Whether prescriptions can be delivered by mail.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒoffersPrescriptionByMail”NN‡”R”KsuhŒ#http://schema.org/HealthPlanNetwork”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1062”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ*A US-style health insurance plan network. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHealth plan network”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ9http://schema.org/HealthPlanNetwork-healthPlanCostSharing”…”R”KhŒ7http://schema.org/HealthPlanNetwork-healthPlanNetworkId”…”R”KhŒ9http://schema.org/HealthPlanNetwork-healthPlanNetworkTier”…”R”KuuhŒ9http://schema.org/HealthPlanNetwork-healthPlanCostSharing”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/healthPlanCostSharing”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNWhether The costs to the patient for services under this network or formulary.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanCostSharing”NN‡”R”KsuhŒ7http://schema.org/HealthPlanNetwork-healthPlanNetworkId”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/healthPlanNetworkId”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[Name or unique ID of network. (Networks are often reused across different insurance plans).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanNetworkId”NN‡”R”KsuhŒ9http://schema.org/HealthPlanNetwork-healthPlanNetworkTier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/healthPlanNetworkTier”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe tier(s) for this network.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthPlanNetworkTier”NN‡”R”KsuhŒ$http://schema.org/HealthTopicContent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X[[HealthTopicContent]] is [[WebContent]] that is about some aspect of a health topic, e.g. a condition, its symptoms or treatments. Such content may be comprised of several parts or sections and use different types of media. Multiple instances of [[WebContent]] (and hence [[HealthTopicContent]]) can be related using [[hasPart]] / [[isPartOf]] where there is some kind of content hierarchy, and their content described with [[about]] and [[mentions]] e.g. building upon the existing [[MedicalCondition]] vocabulary. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHealth topic content”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebContent”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ4http://schema.org/HealthTopicContent-hasHealthAspect”…”R”KsuhŒ4http://schema.org/HealthTopicContent-hasHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/hasHealthAspect”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÓIndicates the aspect or aspects specifically addressed in some [[HealthTopicContent]]. For example, that the content is an overview, or that it talks about treatment, self-care, treatments or their side-effects.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasHealthAspect”NN‡”R”KsuhŒ*http://schema.org/HearingImpairedSupported”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/ContactPointOption”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7Uses devices to support users with hearing impairments.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHearing impaired supported”NN‡”R”KsuhŒhttp://schema.org/Hematologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA specific branch of medical science that pertains to diagnosis and treatment of disorders of blood and blood producing organs.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hematologic”NN‡”R”KsuhŒhttp://schema.org/HighSchool”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA high school.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ High school”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://schema.org/EducationalOrganization”…”R”KsuhŒhttp://schema.org/HinduDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGA diet conforming to Hindu dietary practices, in particular, beef-free.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hindu diet”NN‡”R”KsuhŒhttp://schema.org/HinduTemple”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA Hindu temple.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hindu temple”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/PlaceOfWorship”…”R”KsuhŒhttp://schema.org/HobbyShop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEA store that sells materials useful or necessary for various hobbies.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hobby shop”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ-http://schema.org/HomeAndConstructionBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒãA construction business.\n\nA HomeAndConstructionBusiness is a [[LocalBusiness]] that provides services around homes and buildings.\n\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\(s).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHome and construction business”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒ http://schema.org/HomeGoodsStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA home goods store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHome goods store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/Homeopathic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/MedicineSystem”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒˆA system of medicine based on the principle that a disease can be cured by a substance that produces similar symptoms in healthy people.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Homeopathic”NN‡”R”KsuhŒhttp://schema.org/Hospital”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A hospital.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHospital”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ http://schema.org/CivicStructure”…”R”KhŒ"http://schema.org/EmergencyService”…”R”KhŒ%http://schema.org/MedicalOrganization”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ+http://schema.org/Hospital-availableService”…”R”KhŒ2http://schema.org/Hospital-healthcareReportingData”…”R”KhŒ+http://schema.org/Hospital-medicalSpecialty”…”R”KuuhŒ+http://schema.org/Hospital-availableService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/availableService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/A medical service available from this provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableService”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1160”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1157”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalProcedure”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1158”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1159”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KssjŸü}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¢üKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1161”…”R”KsujÌü}”(jÄü}”j­üKsjÈü}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1162”…”R”KsujÒü}”(jÄü}”j¸üKsjÈü}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/Hospital-healthcareReportingData”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/healthcareReportingData”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒaIndicates data describing a hospital, e.g. a CDC [[CDCPMDRecord]] or as some kind of [[Dataset]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthcareReportingData”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1165”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1163”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CDCPMDRecord”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1164”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Dataset”…”R”Kssjý}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jýKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1166”…”R”Ksuj$ý}”(jý}”jýKsj ý}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Hospital-medicalSpecialty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/medicalSpecialty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$A medical specialty of the provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmedicalSpecialty”NN‡”R”KsuhŒhttp://schema.org/Hostel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒØA hostel - cheap accommodation, often in shared dormitories.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHostel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/LodgingBusiness”…”R”KsuhŒhttp://schema.org/Hotel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X<A hotel is an establishment that provides lodging paid on a short-term basis (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHotel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/LodgingBusiness”…”R”KsuhŒhttp://schema.org/HotelRoom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÅA hotel room is a single room in a hotel.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hotel room”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Room”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/HotelRoom-bed”…”R”KhŒ%http://schema.org/HotelRoom-occupancy”…”R”KuuhŒhttp://schema.org/HotelRoom-bed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/bed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X3The type of bed or beds included in the accommodation. For the single case of just one bed of a certain type, you use bed directly with a text. If you want to indicate the quantity of a certain kind of bed, use an instance of BedDetails. For more detailed information, use the amenityFeature property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1170”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1167”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BedDetails”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1168”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BedType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1169”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjþ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j þKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1171”…”R”Ksuj5þ}”(j-þ}”jþKsj1þ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1172”…”R”Ksuj;þ}”(j-þ}”j!þKsj1þ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/HotelRoom-occupancy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/occupancy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X2The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ occupancy”NN‡”R”KsuhŒhttp://schema.org/House”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ÷A house is a building or structure that has the ability to be occupied for habitation by humans or other creatures (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/House).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHouse”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Accommodation”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ%http://schema.org/House-numberOfRooms”…”R”KsuhŒ%http://schema.org/House-numberOfRooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfRooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfRooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1175”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1173”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1174”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÉþ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÌþKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1176”…”R”Ksujëþ}”(jãþ}”j×þKsjçþ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HousePainter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA house painting service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ House painter”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://schema.org/HomeAndConstructionBusiness”…”R”KsuhŒ(http://schema.org/HowItWorksHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2799”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ„Content that discusses and explains how a particular health-related topic works, e.g. in terms of mechanisms and underlying science.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHow it works health aspect”NN‡”R”KsuhŒ(http://schema.org/HowOrWhereHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ”Information about how or where to find a topic. Also may contain location data that can be used for where to look for help if the topic is observed.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHow or where health aspect”NN‡”R”KsuhŒhttp://schema.org/HowTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒTInstructions that explain how to achieve a result by performing a sequence of steps.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHow to”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/HowTo-estimatedCost”…”R”KhŒ#http://schema.org/HowTo-performTime”…”R”KhŒ http://schema.org/HowTo-prepTime”…”R”KhŒhttp://schema.org/HowTo-step”…”R”KhŒhttp://schema.org/HowTo-steps”…”R”KhŒhttp://schema.org/HowTo-supply”…”R”KhŒhttp://schema.org/HowTo-tool”…”R”KhŒ!http://schema.org/HowTo-totalTime”…”R”KhŒhttp://schema.org/HowTo-yield”…”R”KuuhŒ%http://schema.org/HowTo-estimatedCost”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/estimatedCost”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSThe estimated cost of the supply or supplies consumed when performing instructions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ estimatedCost”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1179”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1177”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1178”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÔÿ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j×ÿKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1180”…”R”Ksujöÿ}”(jîÿ}”jâÿKsjòÿ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/HowTo-performTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/performTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¶The length of time it takes to perform instructions or a direction (not including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ performTime”NN‡”R”KsuhŒ http://schema.org/HowTo-prepTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/prepTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¡The length of time it takes to prepare the items to be used in instructions or a direction, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprepTime”NN‡”R”KsuhŒhttp://schema.org/HowTo-step”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/step”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQA single step item (as HowToStep, text, document, video, etc.) or a HowToSection.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œstep”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1185”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1181”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1182”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HowToSection”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1183”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HowToStep”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1184”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjz}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j}KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1186”…”R”Ksuj²}”(jª}”jˆKsj®}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1187”…”R”Ksuj¸}”(jª}”j“Ksj®}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1188”…”R”Ksuj¾}”(jª}”jžKsj®}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HowTo-steps”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/steps”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„A single step item (as HowToStep, text, document, video, etc.) or a HowToSection (originally misnamed 'steps'; 'step' is preferred).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsteps”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1192”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1189”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1190”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ItemList”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1191”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjî}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jñKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1193”…”R”Ksuj}”(j}”jüKsj}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1194”…”R”Ksuj!}”(j}”jKsj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HowTo-supply”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/supply”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\A sub-property of instrument. A supply consumed when performing instructions or a direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsupply”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1197”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1195”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HowToSupply”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1196”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjQ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jTKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1198”…”R”Ksujs}”(jk}”j_Ksjo}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HowTo-tool”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tool”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒlA sub property of instrument. An object used (but not consumed) when performing instructions or a direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtool”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1201”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1199”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HowToTool”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1200”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj£}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¦KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1202”…”R”KsujÅ}”(j½}”j±KsjÁ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/HowTo-totalTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/totalTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ®The total time required to perform instructions or a direction (including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ totalTime”NN‡”R”KsuhŒhttp://schema.org/HowTo-yield”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/yield”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒmThe quantity that results by performing instructions. For example, a paper airplane, 10 personalized candles.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œyield”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1205”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1203”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1204”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j"KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1206”…”R”KsujA}”(j9}”j-Ksj=}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/HowToDirection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ]A direction indicating a single action to do in the instructions for how to achieve a result.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHow to direction”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒhttp://schema.org/ListItem”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ+http://schema.org/HowToDirection-afterMedia”…”R”KhŒ,http://schema.org/HowToDirection-beforeMedia”…”R”KhŒ,http://schema.org/HowToDirection-duringMedia”…”R”KhŒ,http://schema.org/HowToDirection-performTime”…”R”KhŒ)http://schema.org/HowToDirection-prepTime”…”R”KhŒ'http://schema.org/HowToDirection-supply”…”R”KhŒ%http://schema.org/HowToDirection-tool”…”R”KhŒ*http://schema.org/HowToDirection-totalTime”…”R”KuuhŒ+http://schema.org/HowToDirection-afterMedia”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/afterMedia”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNA media object representing the circumstances after performing this direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ afterMedia”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1209”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1207”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1208”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¶}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¹KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1210”…”R”KsujØ}”(jÐ}”jÄKsjÔ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/HowToDirection-beforeMedia”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/beforeMedia”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒOA media object representing the circumstances before performing this direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ beforeMedia”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1213”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1211”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1212”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1214”…”R”Ksuj*}”(j"}”jKsj&}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/HowToDirection-duringMedia”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duringMedia”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNA media object representing the circumstances while performing this direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ duringMedia”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1217”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1215”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1216”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KssjZ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j]KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1218”…”R”Ksuj|}”(jt}”jhKsjx}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/HowToDirection-performTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/performTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¶The length of time it takes to perform instructions or a direction (not including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ performTime”NN‡”R”KsuhŒ)http://schema.org/HowToDirection-prepTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/prepTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¡The length of time it takes to prepare the items to be used in instructions or a direction, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprepTime”NN‡”R”KsuhŒ'http://schema.org/HowToDirection-supply”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/supply”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\A sub-property of instrument. A supply consumed when performing instructions or a direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsupply”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1221”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1219”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HowToSupply”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1220”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1222”…”R”Ksuj"}”(j}”jKsj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/HowToDirection-tool”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tool”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒlA sub property of instrument. An object used (but not consumed) when performing instructions or a direction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtool”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1225”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1223”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HowToTool”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1224”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjR}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jUKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1226”…”R”Ksujt}”(jl}”j`Ksjp}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/HowToDirection-totalTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/totalTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ®The total time required to perform instructions or a direction (including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ totalTime”NN‡”R”KsuhŒhttp://schema.org/HowToItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒhAn item used as either a tool or supply when performing the instructions for how to to achieve a result.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ How to item”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ListItem”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ,http://schema.org/HowToItem-requiredQuantity”…”R”KsuhŒ,http://schema.org/HowToItem-requiredQuantity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/requiredQuantity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The required quantity of the item(s).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrequiredQuantity”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1230”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1227”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1228”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1229”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjû}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jþKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1231”…”R”Ksuj(}”(j }”j Ksj$}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1232”…”R”Ksuj.}”(j }”jKsj$}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HowToSection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ€A sub-grouping of steps in the instructions for how to achieve a result (e.g. steps for making a pie crust within a pie recipe).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHow to section”•NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒhttp://schema.org/ItemList”…”R”KhŒhttp://schema.org/ListItem”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ$http://schema.org/HowToSection-steps”…”R”KsuhŒ$http://schema.org/HowToSection-steps”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/steps”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„A single step item (as HowToStep, text, document, video, etc.) or a HowToSection (originally misnamed 'steps'; 'step' is preferred).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsteps”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1236”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1233”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1234”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ItemList”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1235”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‘}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1237”…”R”Ksuj¾}”(j¶}”jŸKsjº}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1238”…”R”KsujÄ}”(j¶}”jªKsjº}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HowToStep”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒxA step in the instructions for how to achieve a result. It is an ordered list with HowToDirection and/or HowToTip items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ How to step”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒhttp://schema.org/ItemList”…”R”KhŒhttp://schema.org/ListItem”…”R”KuuhŒhttp://schema.org/HowToSupply”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOA supply consumed when performing the instructions for how to achieve a result.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ How to supply”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/HowToItem”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ+http://schema.org/HowToSupply-estimatedCost”…”R”KsuhŒ+http://schema.org/HowToSupply-estimatedCost”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/estimatedCost”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSThe estimated cost of the supply or supplies consumed when performing instructions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ estimatedCost”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1241”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1239”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1240”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjM}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jPKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1242”…”R”Ksujo}”(jg}”j[Ksjk}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/HowToTip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XAn explanation in the instructions for how to achieve a result. It provides supplementary information about a technique, supply, author's preference, etc. It can explain what could be done, or what should not be done, but doesn't specify what should be done (see HowToDirection).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ How to tip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒhttp://schema.org/ListItem”…”R”KuuhŒhttp://schema.org/HowToTool”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXA tool used (but not consumed) when performing instructions for how to achieve a result.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ How to tool”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/HowToItem”…”R”KsuhŒhttp://schema.org/HyperToc”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2766”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XmA HyperToc represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. Items in the table of contents are indicated using the [[tocEntry]] property, and typed [[HyperTocEntry]]. For cases where the same larger work is split into multiple files, [[associatedMedia]] can be used on individual [[HyperTocEntry]] items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Hyper toc”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/HyperToc-associatedMedia”…”R”KhŒ#http://schema.org/HyperToc-tocEntry”…”R”KuuhŒ*http://schema.org/HyperToc-associatedMedia”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/associatedMedia”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒWA media object that encodes this CreativeWork. This property is a synonym for encoding.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒassociatedMedia”NN‡”R”KsuhŒ#http://schema.org/HyperToc-tocEntry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tocEntry”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HyperTocEntry”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0Indicates a [[HyperTocEntry]] in a [[HyperToc]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtocEntry”NN‡”R”KsuhŒhttp://schema.org/HyperTocEntry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2766”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XaA HyperToEntry is an item within a [[HyperToc]], which represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. The media object itself is indicated using [[associatedMedia]]. Each section of interest within that content can be described with a [[HyperTocEntry]], with associated [[startOffset]] and [[endOffset]]. When several entries are all from the same file, [[associatedMedia]] is used on the overarching [[HyperTocEntry]]; if the content has been split into multiple files, they can be referenced using [[associatedMedia]] on each [[HyperTocEntry]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHyper toc entry”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ/http://schema.org/HyperTocEntry-associatedMedia”…”R”KhŒ/http://schema.org/HyperTocEntry-tocContinuation”…”R”KhŒ*http://schema.org/HyperTocEntry-utterances”…”R”KuuhŒ/http://schema.org/HyperTocEntry-associatedMedia”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/associatedMedia”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒWA media object that encodes this CreativeWork. This property is a synonym for encoding.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒassociatedMedia”NN‡”R”KsuhŒ/http://schema.org/HyperTocEntry-tocContinuation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/tocContinuation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/HyperTocEntry”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ—A [[HyperTocEntry]] can have a [[tocContinuation]] indicated, which is another [[HyperTocEntry]] that would be the default next item to play or render.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtocContinuation”NN‡”R”KsuhŒ*http://schema.org/HyperTocEntry-utterances”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/utterances”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰Text of an utterances (spoken words, lyrics etc.) that occurs at a certain section of a media object, represented as a [[HyperTocEntry]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ utterances”NN‡”R”KsuhŒhttp://schema.org/IceCreamShop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn ice cream shop.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIce cream shop”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/FoodEstablishment”…”R”KsuhŒhttp://schema.org/IgnoreAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMThe act of intentionally disregarding the object. An agent ignores an object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Ignore action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/AssessAction”…”R”KsuhŒhttp://schema.org/ImageGallery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Web page type: Image gallery page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Image gallery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MediaGallery”…”R”KsuhŒhttp://schema.org/ImageObject”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn image file.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Image object”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MediaObject”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ!http://purl.org/dc/dcmitype/Image”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/ImageObject-caption”…”R”KhŒ&http://schema.org/ImageObject-exifData”…”R”KhŒ2http://schema.org/ImageObject-representativeOfPage”…”R”KhŒ'http://schema.org/ImageObject-thumbnail”…”R”KuuhŒ%http://schema.org/ImageObject-caption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/caption”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ“The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcaption”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1245”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1243”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1244”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjî}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jñKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1246”…”R”Ksuj }”(j }”jüKsj }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/ImageObject-exifData”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/exifData”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œexif data for this object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexifData”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1249”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1247”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1248”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj@ }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jC KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1250”…”R”Ksujb }”(jZ }”jN Ksj^ }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/ImageObject-representativeOfPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/representativeOfPage”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJIndicates whether this image is representative of the content of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrepresentativeOfPage”NN‡”R”KsuhŒ'http://schema.org/ImageObject-thumbnail”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/thumbnail”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&Thumbnail image for an image or video.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ thumbnail”NN‡”R”KsuhŒhttp://schema.org/ImagingTest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDAny medical imaging modality typically used for diagnostic purposes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Imaging test”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ.http://schema.org/ImagingTest-imagingTechnique”…”R”KsuhŒ.http://schema.org/ImagingTest-imagingTechnique”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/imagingTechnique”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/MedicalImagingTechnique”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒImaging technique used.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒimagingTechnique”NN‡”R”KsuhŒhttp://schema.org/InForce”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/LegalForceStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)Indicates that a legislation is in force.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIn force”NN‡”R”KsuhŒhttp://schema.org/InStock”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ItemAvailability”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ$Indicates that the item is in stock.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIn stock”NN‡”R”KsuhŒhttp://schema.org/InStoreOnly”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ItemAvailability”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@Indicates that the item is available only at physical locations.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ In store only”NN‡”R”KsuhŒ#http://schema.org/IndividualProduct”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXA single, identifiable product instance (e.g. a laptop with a particular serial number).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIndividual product”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ0http://schema.org/IndividualProduct-serialNumber”…”R”KsuhŒ0http://schema.org/IndividualProduct-serialNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serialNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ±The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serialNumber”NN‡”R”KsuhŒhttp://schema.org/Infectious”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSomething in medical science that pertains to infectious diseases i.e caused by bacterial, viral, fungal or parasitic infections.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Infectious”NN‡”R”KsuhŒ&http://schema.org/InfectiousAgentClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRClasses of agents or pathogens that transmit infectious diseases. Enumerated type.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInfectious agent class”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”KsuhŒ#http://schema.org/InfectiousDisease”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X>An infectious disease is a clinically evident human disease resulting from the presence of pathogenic microbial agents, like pathogenic viruses, pathogenic bacteria, fungi, protozoa, multicellular parasites, and prions. To be considered an infectious disease, such pathogens are known to be able to cause this disease.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInfectious disease”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ3http://schema.org/InfectiousDisease-infectiousAgent”…”R”KhŒ8http://schema.org/InfectiousDisease-infectiousAgentClass”…”R”KhŒ6http://schema.org/InfectiousDisease-transmissionMethod”…”R”KuuhŒ3http://schema.org/InfectiousDisease-infectiousAgent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/infectiousAgent”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ:The actual infectious agent, such as a specific bacterium.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinfectiousAgent”NN‡”R”KsuhŒ8http://schema.org/InfectiousDisease-infectiousAgentClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/infectiousAgentClass”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/InfectiousAgentClass”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNThe class of infectious agent (bacteria, prion, etc.) that causes the disease.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinfectiousAgentClass”NN‡”R”KsuhŒ6http://schema.org/InfectiousDisease-transmissionMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/transmissionMethod”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒiHow the disease spreads, either as a route or vector, for example 'direct contact', 'Aedes aegypti', etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtransmissionMethod”NN‡”R”KsuhŒhttp://schema.org/InformAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒaThe act of notifying someone of information pertinent to them, with no expectation of a response.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Inform action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/CommunicateAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ$http://schema.org/InformAction-event”…”R”KsuhŒ$http://schema.org/InformAction-event”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/event”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKUpcoming or past event associated with this place, organization, or action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œevent”NN‡”R”KsuhŒ)http://schema.org/IngredientsHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2799”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAContent discussing ingredients-related aspects of a health topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIngredients health aspect”NN‡”R”KsuhŒhttp://schema.org/InsertAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBThe act of adding at a specific location in an ordered collection.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Insert action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/AddAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ)http://schema.org/InsertAction-toLocation”…”R”KsuhŒ)http://schema.org/InsertAction-toLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/toLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A sub property of location. The final location of the object or the agent after the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ toLocation”NN‡”R”KsuhŒhttp://schema.org/InstallAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%The act of installing an application.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInstall action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ConsumeAction”…”R”KsuhŒhttp://schema.org/Installment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/PriceComponentTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2689”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWRepresents the installment pricing component of the total price for an offered product.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Installment”NN‡”R”KsuhŒ!http://schema.org/InsuranceAgency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn Insurance agency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInsurance agency”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/FinancialService”…”R”KsuhŒhttp://schema.org/Intangible”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ{A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Intangible”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Thing”…”R”KsuhŒhttp://schema.org/Integer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒData type: Integer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInteger”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KsuhŒ http://schema.org/InteractAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;The act of interacting with another person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInteract action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KsuhŒ$http://schema.org/InteractionCounter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ•A summary of how users have interacted with this CreativeWork. In most cases, authors will use a subtype to specify the specific type of interaction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInteraction counter”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://schema.org/InteractionCounter-interactionService”…”R”KhŒ4http://schema.org/InteractionCounter-interactionType”…”R”KhŒ9http://schema.org/InteractionCounter-userInteractionCount”…”R”KuuhŒ7http://schema.org/InteractionCounter-interactionService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/interactionService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEThe WebSite or SoftwareApplication where the interactions took place.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinteractionService”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1253”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1251”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/SoftwareApplication”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1252”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebSite”…”R”Kssjð }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jó KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1254”…”R”Ksuj}”(j }”jþ Ksj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/InteractionCounter-interactionType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/interactionType”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Action”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ«The Action representing the type of interaction. For up votes, +1s, etc. use [[LikeAction]]. For down votes use [[DislikeAction]]. Otherwise, use the most specific Action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinteractionType”NN‡”R”KsuhŒ9http://schema.org/InteractionCounter-userInteractionCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/userInteractionCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYThe number of interactions for the CreativeWork using the WebSite or SoftwareApplication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒuserInteractionCount”NN‡”R”KsuhŒ$http://schema.org/InternationalTrial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalTrialDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn international trial.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInternational trial”NN‡”R”KsuhŒhttp://schema.org/InternetCafe”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn internet cafe.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Internet cafe”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒ http://schema.org/InvestmentFund”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1253”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ™A company or fund that gathers capital from a number of investors to create a pool of money that is then re-invested into stocks, bonds and other assets.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInvestment fund”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/InvestmentOrDeposit”…”R”KsuhŒ%http://schema.org/InvestmentOrDeposit”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒœA type of financial product that typically requires the client to transfer funds to a financial service in return for potential beneficial financial return.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInvestment or deposit”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/FinancialProduct”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ,http://schema.org/InvestmentOrDeposit-amount”…”R”KsuhŒ,http://schema.org/InvestmentOrDeposit-amount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/amount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe amount of money.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œamount”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1257”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1255”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1256”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjG}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jJKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1258”…”R”Ksuji}”(ja}”jUKsje}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/InviteAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGThe act of asking someone to attend an event. Reciprocal of RsvpAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Invite action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/CommunicateAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ$http://schema.org/InviteAction-event”…”R”KsuhŒ$http://schema.org/InviteAction-event”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/event”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKUpcoming or past event associated with this place, organization, or action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œevent”NN‡”R”KsuhŒhttp://schema.org/Invoice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;A statement of the money due for goods or services; a bill.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInvoice”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/Invoice-accountId”…”R”KhŒ'http://schema.org/Invoice-billingPeriod”…”R”KhŒ http://schema.org/Invoice-broker”…”R”KhŒ"http://schema.org/Invoice-category”…”R”KhŒ,http://schema.org/Invoice-confirmationNumber”…”R”KhŒ"http://schema.org/Invoice-customer”…”R”KhŒ+http://schema.org/Invoice-minimumPaymentDue”…”R”KhŒ$http://schema.org/Invoice-paymentDue”…”R”KhŒ(http://schema.org/Invoice-paymentDueDate”…”R”KhŒ'http://schema.org/Invoice-paymentMethod”…”R”KhŒ)http://schema.org/Invoice-paymentMethodId”…”R”KhŒ'http://schema.org/Invoice-paymentStatus”…”R”KhŒ"http://schema.org/Invoice-provider”…”R”KhŒ)http://schema.org/Invoice-referencesOrder”…”R”KhŒ.http://schema.org/Invoice-scheduledPaymentDate”…”R”KhŒ)http://schema.org/Invoice-totalPaymentDue”…”R”KuuhŒ#http://schema.org/Invoice-accountId”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/accountId”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>The identifier for the account the payment will be applied to.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ accountId”NN‡”R”KsuhŒ'http://schema.org/Invoice-billingPeriod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/billingPeriod”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The time interval used to compute the invoice.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ billingPeriod”NN‡”R”KsuhŒ http://schema.org/Invoice-broker”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/broker”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XAn entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbroker”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1261”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1259”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1260”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjž}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¡KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1262”…”R”KsujÀ}”(j¸}”j¬Ksj¼}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Invoice-category”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/category”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒjA category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcategory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1267”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1263”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://schema.org/PhysicalActivityCategory”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1264”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1265”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1266”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjð}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jóKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1268”…”R”Ksuj(}”(j }”jþKsj$}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1269”…”R”Ksuj.}”(j }”j Ksj$}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1270”…”R”Ksuj4}”(j }”jKsj$}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/Invoice-confirmationNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/confirmationNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDA number that confirms the given order or payment has been received.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒconfirmationNumber”NN‡”R”KsuhŒ"http://schema.org/Invoice-customer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/customer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.Party placing the order or paying the invoice.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcustomer”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1273”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1271”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1272”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjŽ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j‘KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1274”…”R”Ksuj°}”(j¨}”jœKsj¬}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Invoice-minimumPaymentDue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/minimumPaymentDue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The minimum payment required at this time.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒminimumPaymentDue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1277”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1275”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1276”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”Kssjà}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jãKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1278”…”R”Ksuj}”(jú}”jîKsjþ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Invoice-paymentDue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/paymentDue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe date that payment is due.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ paymentDue”NN‡”R”KsuhŒ(http://schema.org/Invoice-paymentDueDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/paymentDueDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe date that payment is due.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpaymentDueDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1281”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1279”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1280”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj\}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j_KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1282”…”R”Ksuj~}”(jv}”jjKsjz}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Invoice-paymentMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/paymentMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PaymentMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEThe name of the credit card or other method of payment for the order.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ paymentMethod”NN‡”R”KsuhŒ)http://schema.org/Invoice-paymentMethodId”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/paymentMethodId”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYAn identifier for the method of payment used (e.g. the last 4 digits of the credit card).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpaymentMethodId”NN‡”R”KsuhŒ'http://schema.org/Invoice-paymentStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/paymentStatus”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The status of payment; whether the invoice has been paid or not.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ paymentStatus”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1285”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1283”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/PaymentStatusType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1284”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1286”…”R”Ksuj$}”(j}”jKsj }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Invoice-provider”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/provider”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐThe service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œprovider”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1289”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1287”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1288”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjT}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jWKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1290”…”R”Ksujv}”(jn}”jbKsjr}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/Invoice-referencesOrder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/referencesOrder”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Order”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The Order(s) related to this Invoice. One or more Orders may be combined into a single Invoice.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒreferencesOrder”NN‡”R”KsuhŒ.http://schema.org/Invoice-scheduledPaymentDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/scheduledPaymentDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-The date the invoice is scheduled to be paid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒscheduledPaymentDate”NN‡”R”KsuhŒ)http://schema.org/Invoice-totalPaymentDue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/totalPaymentDue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe total amount due.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtotalPaymentDue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1293”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1291”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1292”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”Kssjú}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jýKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1294”…”R”Ksuj}”(j}”jKsj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/InvoicePrice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/PriceTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2712”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ3Represents the invoice price of an offered product.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Invoice price”NN‡”R”KsuhŒ"http://schema.org/ItemAvailability”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0A list of possible product availability options.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒItem availability”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/ItemList”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ°A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs. Not to be confused with HTML lists, which are often used only for formatting.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Item list”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/ItemList-itemListElement”…”R”KhŒ(http://schema.org/ItemList-itemListOrder”…”R”KhŒ(http://schema.org/ItemList-numberOfItems”…”R”KuuhŒ*http://schema.org/ItemList-itemListElement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/itemListElement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XoFor itemListElement values, you can use simple strings (e.g. "Peter", "Paul", "Mary"), existing entities, or use ListItem.\n\nText values are best if the elements in the list are plain strings. Existing entities are best for a simple, unordered list of existing things in your data. ListItem is used with ordered lists when you want to provide additional context about the element in that list or when the same item might be in different places in different lists.\n\nNote: The order of elements in your mark-up is not sufficient for indicating the order or elements. Use ListItem with a 'position' property in such cases.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒitemListElement”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1298”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1295”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ListItem”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1296”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1297”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÌ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÏKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1299”…”R”Ksujù}”(jñ}”jÚKsjõ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1300”…”R”Ksujÿ}”(jñ}”jåKsjõ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/ItemList-itemListOrder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemListOrder”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9Type of ordering (e.g. Ascending, Descending, Unordered).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemListOrder”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1303”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1301”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/ItemListOrderType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1302”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj/}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j2KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1304”…”R”KsujQ}”(jI}”j=KsjM}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/ItemList-numberOfItems”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfItems”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÊThe number of items in an ItemList. Note that some descriptions might not fully describe all items in a list (e.g., multi-page pagination); in such cases, the numberOfItems would be for the entire list.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfItems”NN‡”R”KsuhŒ(http://schema.org/ItemListOrderAscending”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/ItemListOrderType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ3An ItemList ordered with lower values listed first.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒItem list order ascending”NN‡”R”KsuhŒ)http://schema.org/ItemListOrderDescending”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/ItemListOrderType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ4An ItemList ordered with higher values listed first.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒItem list order descending”NN‡”R”KsuhŒ#http://schema.org/ItemListOrderType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ\Enumerated for values for itemListOrder for indicating how an ordered ItemList is organized.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒItem list order type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ#http://schema.org/ItemListUnordered”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/ItemListOrderType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+An ItemList ordered with no explicit order.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒItem list unordered”NN‡”R”KsuhŒhttp://schema.org/ItemPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGA page devoted to a single item, such as a particular product or hotel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Item page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”KsuhŒhttp://schema.org/JewelryStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA jewelry store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Jewelry store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/JobPosting”…”R”•}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAA listing that describes a job opening in a certain organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Job posting”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ:http://schema.org/JobPosting-applicantLocationRequirements”…”R”KhŒ/http://schema.org/JobPosting-applicationContact”…”R”KhŒ'http://schema.org/JobPosting-baseSalary”…”R”KhŒ%http://schema.org/JobPosting-benefits”…”R”KhŒ'http://schema.org/JobPosting-datePosted”…”R”KhŒ2http://schema.org/JobPosting-educationRequirements”…”R”KhŒ9http://schema.org/JobPosting-eligibilityToWorkRequirement”…”R”KhŒ-http://schema.org/JobPosting-employerOverview”…”R”KhŒ+http://schema.org/JobPosting-employmentType”…”R”KhŒ+http://schema.org/JobPosting-employmentUnit”…”R”KhŒ,http://schema.org/JobPosting-estimatedSalary”…”R”KhŒ9http://schema.org/JobPosting-experienceInPlaceOfEducation”…”R”KhŒ3http://schema.org/JobPosting-experienceRequirements”…”R”KhŒ/http://schema.org/JobPosting-hiringOrganization”…”R”KhŒ2http://schema.org/JobPosting-incentiveCompensation”…”R”KhŒ'http://schema.org/JobPosting-incentives”…”R”KhŒ%http://schema.org/JobPosting-industry”…”R”KhŒ(http://schema.org/JobPosting-jobBenefits”…”R”KhŒ.http://schema.org/JobPosting-jobImmediateStart”…”R”KhŒ(http://schema.org/JobPosting-jobLocation”…”R”KhŒ,http://schema.org/JobPosting-jobLocationType”…”R”KhŒ)http://schema.org/JobPosting-jobStartDate”…”R”KhŒ1http://schema.org/JobPosting-occupationalCategory”…”R”KhŒ0http://schema.org/JobPosting-physicalRequirement”…”R”KhŒ+http://schema.org/JobPosting-qualifications”…”R”KhŒ/http://schema.org/JobPosting-relevantOccupation”…”R”KhŒ-http://schema.org/JobPosting-responsibilities”…”R”KhŒ+http://schema.org/JobPosting-salaryCurrency”…”R”KhŒ9http://schema.org/JobPosting-securityClearanceRequirement”…”R”KhŒ/http://schema.org/JobPosting-sensoryRequirement”…”R”KhŒ#http://schema.org/JobPosting-skills”…”R”KhŒ/http://schema.org/JobPosting-specialCommitments”…”R”KhŒ"http://schema.org/JobPosting-title”…”R”KhŒ-http://schema.org/JobPosting-totalJobOpenings”…”R”KhŒ)http://schema.org/JobPosting-validThrough”…”R”KhŒ&http://schema.org/JobPosting-workHours”…”R”KuuhŒ:http://schema.org/JobPosting-applicantLocationRequirements”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ/http://schema.org/applicantLocationRequirements”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÝThe location(s) applicants can apply from. This is usually used for telecommuting jobs where the applicant does not need to be in a physical office. Note: This should not be used for citizenship or work visa requirements.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒapplicantLocationRequirements”NN‡”R”KsuhŒ/http://schema.org/JobPosting-applicationContact”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/applicationContact”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEContact details for further information relevant to this job posting.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒapplicationContact”NN‡”R”KsuhŒ'http://schema.org/JobPosting-baseSalary”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/baseSalary”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The base salary of the job or of an employee in an EmployeeRole.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ baseSalary”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1308”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1305”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1306”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1307”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjR}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jUKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1309”…”R”Ksuj}”(jw}”j`Ksj{}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1310”…”R”Ksuj…}”(jw}”jkKsj{}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/JobPosting-benefits”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/benefits”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0Description of benefits associated with the job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbenefits”NN‡”R”KsuhŒ'http://schema.org/JobPosting-datePosted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/datePosted”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&Publication date of an online listing.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ datePosted”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1313”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1311”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1312”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjß}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jâKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1314”…”R”Ksuj}”(jù}”jíKsjý}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/JobPosting-educationRequirements”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/educationRequirements”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=Educational background needed for the position or Occupation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeducationRequirements”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1317”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1315”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ3http://schema.org/EducationalOccupationalCredential”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1316”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj1}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j4KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1318”…”R”KsujS}”(jK}”j?KsjO}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ9http://schema.org/JobPosting-eligibilityToWorkRequirement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://schema.org/eligibilityToWorkRequirement”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoThe legal requirements such as citizenship, visa and other documentation required for an applicant to this job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeligibilityToWorkRequirement”NN‡”R”KsuhŒ-http://schema.org/JobPosting-employerOverview”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/employerOverview”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A description of the employer, career opportunities and work environment for this position.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒemployerOverview”NN‡”R”KsuhŒ+http://schema.org/JobPosting-employmentType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/employmentType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒZType of employment (e.g. full-time, part-time, contract, temporary, seasonal, internship).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒemploymentType”NN‡”R”KsuhŒ+http://schema.org/JobPosting-employmentUnit”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/employmentUnit”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒuIndicates the department, unit and/or facility where the employee reports and/or in which the job is to be performed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒemploymentUnit”NN‡”R”KsuhŒ,http://schema.org/JobPosting-estimatedSalary”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/estimatedSalary”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X-An estimated salary for a job posting or occupation, based on a variety of variables including, but not limited to industry, job title, and location. Estimated salaries are often computed by outside organizations rather than the hiring organization, who may not have committed to the estimated value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒestimatedSalary”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1322”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1319”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1320”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ,http://schema.org/MonetaryAmountDistribution”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1321”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj+}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j.KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1323”…”R”KsujX}”(jP}”j9KsjT}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1324”…”R”Ksuj^}”(jP}”jDKsjT}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ9http://schema.org/JobPosting-experienceInPlaceOfEducation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://schema.org/experienceInPlaceOfEducation”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XIndicates whether a [[JobPosting]] will accept experience (as indicated by [[OccupationalExperienceRequirements]]) in place of its formal educational qualifications (as indicated by [[educationRequirements]]). If true, indicates that satisfying one of these requirements is sufficient.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexperienceInPlaceOfEducation”NN‡”R”KsuhŒ3http://schema.org/JobPosting-experienceRequirements”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/experienceRequirements”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKDescription of skills and experience needed for the position or Occupation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexperienceRequirements”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1327”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1325”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ4http://schema.org/OccupationalExperienceRequirements”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1326”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¸}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j»KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1328”…”R”KsujÚ}”(jÒ}”jÆKsjÖ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/JobPosting-hiringOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/hiringOrganization”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'Organization offering the job position.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhiringOrganization”NN‡”R”KsuhŒ2http://schema.org/JobPosting-incentiveCompensation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/incentiveCompensation”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDDescription of bonus and commission compensation aspects of the job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒincentiveCompensation”NN‡”R”KsuhŒ'http://schema.org/JobPosting-incentives”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/incentives”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDDescription of bonus and commission compensation aspects of the job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ incentives”NN‡”R”KsuhŒ%http://schema.org/JobPosting-industry”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/industry”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The industry associated with the job position.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œindustry”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1331”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1329”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1330”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjˆ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j‹KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1332”…”R”Ksujª}”(j¢}”j–Ksj¦}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/JobPosting-jobBenefits”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/jobBenefits”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0Description of benefits associated with the job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ jobBenefits”NN‡”R”KsuhŒ.http://schema.org/JobPosting-jobImmediateStart”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/jobImmediateStart”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJAn indicator as to whether a position is available for an immediate start.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒjobImmediateStart”NN‡”R”KsuhŒ(http://schema.org/JobPosting-jobLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/jobLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJA (typically single) geographic location associated with the job position.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ jobLocation”NN‡”R”KsuhŒ,http://schema.org/JobPosting-jobLocationType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/jobLocationType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIA description of the job location (e.g TELECOMMUTE for telecommute jobs).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒjobLocationType”NN‡”R”KsuhŒ)http://schema.org/JobPosting-jobStartDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/jobStartDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒßThe date on which a successful applicant for this job would be expected to start work. Choose a specific date in the future or use the jobImmediateStart property to indicate the position is to be filled as soon as possible.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ jobStartDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1335”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1333”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1334”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‚}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j…KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1336”…”R”Ksuj¤}”(jœ}”jKsj }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/JobPosting-occupationalCategory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/occupationalCategory”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\n Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒoccupationalCategory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1339”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1337”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CategoryCode”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1338”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÔ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j×KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1340”…”R”Ksujö}”(jî}”jâKsjò}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/JobPosting-physicalRequirement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/physicalRequirement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒéA description of the types of physical activity associated with the job. Defined terms such as those in O*net may be used, but note that there is no way to specify the level of ability as well as its nature when using a defined term.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒphysicalRequirement”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1344”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1341”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1342”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1343”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj&}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j)KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1345”…”R”KsujS}”(jK}”j4KsjO}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1346”…”R”KsujY}”(jK}”j?KsjO}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/JobPosting-qualifications”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/qualifications”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=Specific qualifications required for this role or Occupation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œqualifications”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1349”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1347”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ3http://schema.org/EducationalOccupationalCredential”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1348”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‰}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jŒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1350”…”R”Ksuj«}”(j£}”j—Ksj§}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/JobPosting-relevantOccupation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/relevantOccupation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Occupation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The Occupation for the JobPosting.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelevantOccupation”NN‡”R”KsuhŒ-http://schema.org/JobPosting-responsibilities”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/responsibilities”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9Responsibilities associated with this role or Occupation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œresponsibilities”NN‡”R”KsuhŒ+http://schema.org/JobPosting-salaryCurrency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/salaryCurrency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒœThe currency (coded using [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) ) used for the main salary information in this job posting or for this employee.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsalaryCurrency”NN‡”R”KsuhŒ9http://schema.org/JobPosting-securityClearanceRequirement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://schema.org/securityClearanceRequirement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@A description of any security clearance requirements of the job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsecurityClearanceRequirement”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1353”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1351”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1352”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjY}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j\KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1354”…”R”Ksuj{}”(js}”jgKsjw}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/JobPosting-sensoryRequirement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/sensoryRequirement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XA description of any sensory requirements and levels necessary to function on the job, including hearing and vision. Defined terms such as those in O*net may be used, but note that there is no way to specify the level of ability as well as its nature when using a defined term.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsensoryRequirement”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1358”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1355”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1356”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1357”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj«}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j®KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1359”…”R”KsujØ}”(jÐ}”j¹KsjÔ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1360”…”R”KsujÞ}”(jÐ}”jÄKsjÔ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/JobPosting-skills”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/skills”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ­A statement of knowledge, skill, ability, task or any other assertion expressing a competency that is desired or required to fulfill this role or to work in this occupation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œskills”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1363”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1361”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1362”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1364”…”R”Ksuj0}”(j(}”jKsj,}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/JobPosting-specialCommitments”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/specialCommitments”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒyAny special commitments associated with this job posting. Valid entries include VeteranCommit, MilitarySpouseCommit, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒspecialCommitments”NN‡”R”KsuhŒ"http://schema.org/JobPosting-title”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/title”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe title of the job.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtitle”NN‡”R”KsuhŒ-http://schema.org/JobPosting-totalJobOpenings”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/totalJobOpenings”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰The number of positions open for this job posting. Use a positive integer. Do not use if the number of positions is unclear or not known.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtotalJobOpenings”NN‡”R”KsuhŒ)http://schema.org/JobPosting-validThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validThrough”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxThe date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validThrough”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1367”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1365”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1366”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjÞ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jáKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1368”…”R”Ksuj}”(jø}”jìKsjü}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/JobPosting-workHours”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/workHours”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNThe typical working hours for this job (e.g. 1st shift, night shift, 8am-5pm).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ workHours”NN‡”R”KsuhŒhttp://schema.org/JoinAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X“An agent joins an event/group with participants/friends at a location.\n\nRelated actions:\n\n* [[RegisterAction]]: Unlike RegisterAction, JoinAction refers to joining a group/team of people.\n* [[SubscribeAction]]: Unlike SubscribeAction, JoinAction does not imply that you'll be receiving updates.\n* [[FollowAction]]: Unlike FollowAction, JoinAction does not imply that you'll be polling for updates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Join action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/InteractAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ"http://schema.org/JoinAction-event”…”R”KsuhŒ"http://schema.org/JoinAction-event”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/event”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKUpcoming or past event associated with this place, organization, or action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œevent”NN‡”R”KsuhŒhttp://schema.org/Joint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@The anatomical location at which two or more bones make contact.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒJoint”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/Joint-biomechnicalClass”…”R”KhŒ'http://schema.org/Joint-functionalClass”…”R”KhŒ'http://schema.org/Joint-structuralClass”…”R”KuuhŒ)http://schema.org/Joint-biomechnicalClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/biomechnicalClass”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)The biomechanical properties of the bone.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbiomechnicalClass”NN‡”R”KsuhŒ'http://schema.org/Joint-functionalClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/functionalClass”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(The degree of mobility the joint allows.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfunctionalClass”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1371”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1369”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1370”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1372”…”R”Ksuj7 }”(j/ }”j# Ksj3 }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Joint-structuralClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/structuralClass”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=The name given to how bone physically connects to each other.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒstructuralClass”NN‡”R”KsuhŒhttp://schema.org/KosherDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.A diet conforming to Jewish dietary practices.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Kosher diet”NN‡”R”KsuhŒ#http://schema.org/LaboratoryScience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ†A medical science pertaining to chemical, hematological, immunologic, microscopic, or bacteriological diagnostic analyses or research.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLaboratory science”NN‡”R”KsuhŒ!http://schema.org/LakeBodyOfWater”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'A lake (for example, Lake Pontrachain).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLake body of water”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/BodyOfWater”…”R”KsuhŒhttp://schema.org/Landform”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X,A landform or physical feature. Landform elements include mountains, plains, lakes, rivers, seascape and oceanic waterbody interface features such as bays, peninsulas, seas and so forth, including sub-aqueous terrain features such as submersed mountain ranges, volcanoes, and the great ocean basins.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLandform”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Place”…”R”KsuhŒ0http://schema.org/LandmarksOrHistoricalBuildings”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#An historical landmark or building.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ!Landmarks or historical buildings”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Place”…”R”KsuhŒhttp://schema.org/Language”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XcNatural languages such as Spanish, Tamil, Hindi, English, etc. Formal language code tags expressed in [BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) can be used via the [[alternateName]] property. The Language type previously also covered programming languages such as Scheme and Lisp, which are now best represented using [[ComputerLanguage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLanguage”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KsuhŒ!http://schema.org/LaserDiscFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLaserDiscFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLaser disc format”NN‡”R”KsuhŒ"http://schema.org/LearningResource”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1401”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X#The LearningResource type can be used to indicate [[CreativeWork]]s (whether physical or digital) that have a particular and explicit orientation towards learning, education, skill acquisition, and other educational purposes. [[LearningResource]] is expected to be used as an addition to a primary type such as [[Book]], [[VideoObject]], [[Product]] etc. [[EducationEvent]] serves a similar purpose for event-like things (e.g. a [[Trip]]). A [[LearningResource]] may be created as a result of an [[EducationEvent]], for example by recording one.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLearning resource”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ+http://schema.org/LearningResource-assesses”…”R”KhŒ5http://schema.org/LearningResource-competencyRequired”…”R”KhŒ7http://schema.org/LearningResource-educationalAlignment”…”R”KhŒ3http://schema.org/LearningResource-educationalLevel”…”R”KhŒ1http://schema.org/LearningResource-educationalUse”…”R”KhŒ7http://schema.org/LearningResource-learningResourceType”…”R”KhŒ*http://schema.org/LearningResource-teaches”…”R”KuuhŒ+http://schema.org/LearningResource-assesses”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/assesses”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒqThe item being described is intended to assess the competency or learning outcome defined by the referenced term.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œassesses”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1375”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1373”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1374”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÏ!}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÒ!KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1376”…”R”Ksujñ!}”(jé!}”jÝ!Ksjí!}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ5http://schema.org/LearningResource-competencyRequired”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/competencyRequired”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÔKnowledge, skill, ability or personal attribute that must be demonstrated by a person or other entity in order to do something such as earn an Educational Occupational Credential or understand a LearningResource.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcompetencyRequired”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1380”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1377”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1378”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1379”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj!"}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j$"KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1381”…”R”KsujN"}”(jF"}”j/"KsjJ"}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1382”…”R”KsujT"}”(jF"}”j:"KsjJ"}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ7http://schema.org/LearningResource-educationalAlignment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/educationalAlignment”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/AlignmentObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒôAn alignment to an established educational framework. This property should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeducationalAlignment”NN‡”R”KsuhŒ3http://schema.org/LearningResource-educationalLevel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/educationalLevel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÃThe level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeducationalLevel”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1386”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1383”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1384”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1385”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj®"}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j±"KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1387”…”R”KsujÛ"}”(jÓ"}”j¼"Ksj×"}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1388”…”R”Ksujá"}”(jÓ"}”jÇ"Ksj×"}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/LearningResource-educationalUse”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/educationalUse”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The purpose of a work in the context of education; for example, 'assignment', 'group work'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeducationalUse”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1391”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1389”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1390”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj#}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j#KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1392”…”R”Ksuj3#}”(j+#}”j#Ksj/#}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ7http://schema.org/LearningResource-learningResourceType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/learningResourceType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒjThe predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlearningResourceType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1395”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1393”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1394”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjc#}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jf#KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1396”…”R”Ksuj…#}”(j}#}”jq#Ksj#}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/LearningResource-teaches”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/teaches”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ~The item being described is intended to help a person learn the competency or learning outcome defined by the referenced term.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œteaches”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1399”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1397”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1398”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjµ#}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¸#KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1400”…”R”Ksuj×#}”(jÏ#}”jÃ#KsjÓ#}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/LeaveAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X An agent leaves an event / group with participants/friends at a location.\n\nRelated actions:\n\n* [[JoinAction]]: The antonym of LeaveAction.\n* [[UnRegisterAction]]: Unlike UnRegisterAction, LeaveAction implies leaving a group/team of people rather than a service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Leave action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/InteractAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ#http://schema.org/LeaveAction-event”…”R”KsuhŒ#http://schema.org/LeaveAction-event”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/event”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKUpcoming or past event associated with this place, organization, or action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œevent”NN‡”R”KsuhŒ!http://schema.org/LeftHandDriving”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/SteeringPositionValue”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒeThe steering position is on the left side of the vehicle (viewed from the main direction of driving).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLeft hand driving”NN‡”R”KsuhŒ"http://schema.org/LegalForceStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAA list of possible statuses for the legal force of a legislation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLegal force status”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/StatusEnumeration”…”R”KsuhŒhttp://schema.org/LegalService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÐA LegalService is a business that provides legally-oriented services, advice and representation, e.g. law firms.\n\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\(s).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Legal service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒ!http://schema.org/LegalValueLevel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBA list of possible levels for the legal validity of a legislation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLegal value level”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/Legislation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyA legal document such as an act, decree, bill, etc. (enforceable or not) or a component of a legal act (like an article).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Legislation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/Legislation-jurisdiction”…”R”KhŒ0http://schema.org/Legislation-legislationApplies”…”R”KhŒ0http://schema.org/Legislation-legislationChanges”…”R”KhŒ5http://schema.org/Legislation-legislationConsolidates”…”R”KhŒ-http://schema.org/Legislation-legislationDate”…”R”KhŒ4http://schema.org/Legislation-legislationDateVersion”…”R”KhŒ3http://schema.org/Legislation-legislationIdentifier”…”R”KhŒ5http://schema.org/Legislation-legislationJurisdiction”…”R”KhŒ3http://schema.org/Legislation-legislationLegalForce”…”R”KhŒ1http://schema.org/Legislation-legislationPassedBy”…”R”KhŒ4http://schema.org/Legislation-legislationResponsible”…”R”KhŒ3http://schema.org/Legislation-legislationTransposes”…”R”KhŒ-http://schema.org/Legislation-legislationType”…”R”KuuhŒ*http://schema.org/Legislation-jurisdiction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/jurisdiction”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒdIndicates a legal jurisdiction, e.g. of some legislation, or where some government service is based.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ jurisdiction”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1403”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1401”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1402”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjt%}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jw%KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1404”…”R”Ksuj–%}”(jŽ%}”j‚%Ksj’%}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/Legislation-legislationApplies”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/legislationApplies”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Legislation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÔIndicates that this legislation (or part of a legislation) somehow transfers another legislation in a different legislative context. This is an informative link, and it has no legal value. For legally-binding links of transposition, use the legislationTransposes property. For example an informative consolidated law of a European Union's member state "applies" the consolidated version of the European Directive implemented in it.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationApplies”NN‡”R”KsuhŒ0http://schema.org/Legislation-legislationChanges”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/legislationChanges”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Legislation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X3Another legislation that this legislation changes. This encompasses the notions of amendment, replacement, correction, repeal, or other types of change. This may be a direct change (textual or non-textual amendment) or a consequential or indirect change. The property is to be used to express the existence of a change relationship between two acts rather than the existence of a consolidated version of the text that shows the result of the change. For consolidation relationships, use the legislationConsolidates property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationChanges”NN‡”R”KsuhŒ5http://schema.org/Legislation-legislationConsolidates”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/legislationConsolidates”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Legislation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XIIndicates another legislation taken into account in this consolidated legislation (which is usually the product of an editorial process that revises the legislation). This property should be used multiple times to refer to both the original version or the previous consolidated version, and to the legislations making the change.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationConsolidates”NN‡”R”KsuhŒ-http://schema.org/Legislation-legislationDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/legislationDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¿The date of adoption or signature of the legislation. This is the date at which the text is officially aknowledged to be a legislation, even though it might not even be published or in force.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationDate”NN‡”R”KsuhŒ4http://schema.org/Legislation-legislationDateVersion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”•KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/legislationDateVersion”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒìThe point-in-time at which the provided description of the legislation is valid (e.g. : when looking at the law on the 2016-04-07 (= dateVersion), I get the consolidation of 2015-04-12 of the "National Insurance Contributions Act 2015")”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationDateVersion”NN‡”R”KsuhŒ3http://schema.org/Legislation-legislationIdentifier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/legislationIdentifier”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒâAn identifier for the legislation. This can be either a string-based identifier, like the CELEX at EU level or the NOR in France, or a web-based, URL/URI identifier, like an ELI (European Legislation Identifier) or an URN-Lex.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationIdentifier”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1407”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1405”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1406”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj˜&}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j›&KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1408”…”R”Ksujº&}”(j²&}”j¦&Ksj¶&}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ5http://schema.org/Legislation-legislationJurisdiction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/legislationJurisdiction”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7The jurisdiction from which the legislation originates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationJurisdiction”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1411”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1409”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1410”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjê&}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jí&KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1412”…”R”Ksuj '}”(j'}”jø&Ksj'}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://schema.org/Legislation-legislationLegalForce”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/legislationLegalForce”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/LegalForceStatus”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSWhether the legislation is currently in force, not in force, or partially in force.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationLegalForce”NN‡”R”KsuhŒ1http://schema.org/Legislation-legislationPassedBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/legislationPassedBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒîThe person or organization that originally passed or made the law : typically parliament (for primary legislation) or government (for secondary legislation). This indicates the "legal author" of the law, as opposed to its physical author.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationPassedBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1415”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1413”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1414”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjf'}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”ji'KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1416”…”R”Ksujˆ'}”(j€'}”jt'Ksj„'}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/Legislation-legislationResponsible”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/legislationResponsible”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ÷An individual or organization that has some kind of responsibility for the legislation. Typically the ministry who is/was in charge of elaborating the legislation, or the adressee for potential questions about the legislation once it is published.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationResponsible”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1419”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1417”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1418”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¸'}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j»'KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1420”…”R”KsujÚ'}”(jÒ'}”jÆ'KsjÖ'}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://schema.org/Legislation-legislationTransposes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/legislationTransposes”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Legislation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XGIndicates that this legislation (or part of legislation) fulfills the objectives set by another legislation, by passing appropriate implementation measures. Typically, some legislations of European Union's member states or regions transpose European Directives. This indicates a legally binding link between the 2 legislations.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationTransposes”NN‡”R”KsuhŒ-http://schema.org/Legislation-legislationType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/legislationType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÉThe type of the legislation. Examples of values are "law", "act", "directive", "decree", "regulation", "statutory instrument", "loi organique", "règlement grand-ducal", etc., depending on the country.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1423”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1421”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CategoryCode”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1422”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj4(}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j7(KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1424”…”R”KsujV(}”(jN(}”jB(KsjR(}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/LegislationObject”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¼A specific object or file containing a Legislation. Note that the same Legislation can be published in multiple files. For example, a digitally signed PDF, a plain PDF and an HTML version.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLegislation object”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/Legislation”…”R”KhŒhttp://schema.org/MediaObject”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ9http://schema.org/LegislationObject-legislationLegalValue”…”R”KsuhŒ9http://schema.org/LegislationObject-legislationLegalValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/legislationLegalValue”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/LegalValueLevel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒßThe legal value of this legislation file. The same legislation can be written in multiple files with different legal values. Typically a digitally signed PDF have a "stronger" legal value than the HTML file of the same act.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlegislationLegalValue”NN‡”R”KsuhŒ%http://schema.org/LegislativeBuilding”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8A legislative building—for example, the state capitol.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLegislative building”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/GovernmentBuilding”…”R”KsuhŒ%http://schema.org/LeisureTimeActivity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/PhysicalActivityCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŠAny physical activity engaged in for recreational purposes. Examples may include ballroom dancing, roller skating, canoeing, fishing, etc.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLeisure time activity”NN‡”R”KsuhŒhttp://schema.org/LendAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¼The act of providing an object under an agreement that it will be returned at a later date. Reciprocal of BorrowAction.\n\nRelated actions:\n\n* [[BorrowAction]]: Reciprocal of LendAction.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Lend action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/TransferAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ%http://schema.org/LendAction-borrower”…”R”KsuhŒ%http://schema.org/LendAction-borrower”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/borrower”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMA sub property of participant. The person that borrows the object being lent.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œborrower”NN‡”R”KsuhŒhttp://schema.org/Library”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A library.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLibrary”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒhttp://schema.org/LibrarySystem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1495”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒHA [[LibrarySystem]] is a collaborative system amongst several libraries.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLibrary system”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KsuhŒ'http://schema.org/LifestyleModification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‹A process of care involving exercise, changes to diet, fitness routines, and other lifestyle changes aimed at improving a health condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLifestyle modification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KsuhŒhttp://schema.org/Ligament”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‘A short band of tough, flexible, fibrous connective tissue that functions to connect multiple bones, cartilages, and structurally support joints.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLigament”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KsuhŒhttp://schema.org/LikeAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒˆThe act of expressing a positive sentiment about the object. An agent likes an object (a proposition, topic or theme) with participants.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Like action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ReactAction”…”R”KsuhŒ%http://schema.org/LimitedAvailability”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ItemAvailability”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ1Indicates that the item has limited availability.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLimited availability”NN‡”R”KsuhŒ+http://schema.org/LimitedByGuaranteeCharity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/UKNonprofitType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2543”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒoLimitedByGuaranteeCharity: Non-profit type referring to a charitable company that is limited by guarantee (UK).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLimited by guarantee charity”NN‡”R”KsuhŒhttp://schema.org/LinkRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1045”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XcA Role that represents a Web link e.g. as expressed via the 'url' property. Its linkRelationship property can indicate URL-based and plain textual link types e.g. those in IANA link registry or others such as 'amphtml'. This structure provides a placeholder where details from HTML's link element can be represented outside of HTML, e.g. in JSON-LD feeds.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Link role”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Role”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/LinkRole-inLanguage”…”R”KhŒ+http://schema.org/LinkRole-linkRelationship”…”R”KuuhŒ%http://schema.org/LinkRole-inLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÈThe language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1427”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1425”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1426”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjæ*}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jé*KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1428”…”R”Ksuj+}”(j+}”jô*Ksj+}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/LinkRole-linkRelationship”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/linkRelationship”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/Indicates the relationship type of a Web link. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒlinkRelationship”NN‡”R”KsuhŒhttp://schema.org/LiquorStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒPA shop that sells alcoholic drinks such as wine, beer, whisky and other spirits.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Liquor store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/ListItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?An list item, e.g. a step in a checklist or how-to description.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ List item”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/ListItem-item”…”R”KhŒ#http://schema.org/ListItem-nextItem”…”R”KhŒ#http://schema.org/ListItem-position”…”R”KhŒ'http://schema.org/ListItem-previousItem”…”R”KuuhŒhttp://schema.org/ListItem-item”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/item”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒfAn entity represented by an entry in a list or data feed (e.g. an 'artist' in a list of 'artists')’.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œitem”NN‡”R”KsuhŒ#http://schema.org/ListItem-nextItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/nextItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ListItem”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4A link to the ListItem that follows the current one.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnextItem”NN‡”R”KsuhŒ#http://schema.org/ListItem-position”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/position”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The position of an item in a series or sequence of items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œposition”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1431”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1429”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1430”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj,}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j,KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1432”…”R”Ksuj4,}”(j,,}”j ,Ksj0,}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/ListItem-previousItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/previousItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ListItem”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5A link to the ListItem that preceeds the current one.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ previousItem”NN‡”R”KsuhŒhttp://schema.org/ListPrice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/PriceTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2712”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒaRepresents the list price (the price a product is actually advertised for) of an offered product.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ List price”NN‡”R”KsuhŒhttp://schema.org/ListenAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#The act of consuming audio content.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Listen action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ConsumeAction”…”R”KsuhŒhttp://schema.org/LiteraryEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Literary event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLiterary event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/LiveAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ LiveAlbum.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Live album”NN‡”R”KsuhŒ!http://schema.org/LiveBlogPosting”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒjA blog post intended to provide a rolling textual coverage of an ongoing event through continuous updates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLive blog posting”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/BlogPosting”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ1http://schema.org/LiveBlogPosting-coverageEndTime”…”R”KhŒ3http://schema.org/LiveBlogPosting-coverageStartTime”…”R”KhŒ0http://schema.org/LiveBlogPosting-liveBlogUpdate”…”R”KuuhŒ1http://schema.org/LiveBlogPosting-coverageEndTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/coverageEndTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe time when the live blog will stop covering the Event. Note that coverage may continue after the Event concludes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcoverageEndTime”NN‡”R”KsuhŒ3http://schema.org/LiveBlogPosting-coverageStartTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/coverageStartTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¶The time when the live blog will begin covering the Event. Note that coverage may begin before the Event's start time. The LiveBlogPosting may also be created before coverage begins.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcoverageStartTime”NN‡”R”KsuhŒ0http://schema.org/LiveBlogPosting-liveBlogUpdate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/liveBlogUpdate”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BlogPosting”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn update to the LiveBlog.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒliveBlogUpdate”NN‡”R”KsuhŒ(http://schema.org/LivingWithHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6Information about coping or life related to the topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLiving with health aspect”NN‡”R”KsuhŒhttp://schema.org/LoanOrCredit”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmA financial product for the loaning of an amount of money, or line of credit, under agreed terms and charges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLoan or credit”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/FinancialProduct”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/LoanOrCredit-amount”…”R”KhŒ'http://schema.org/LoanOrCredit-currency”…”R”KhŒ*http://schema.org/LoanOrCredit-gracePeriod”…”R”KhŒ0http://schema.org/LoanOrCredit-loanRepaymentForm”…”R”KhŒ'http://schema.org/LoanOrCredit-loanTerm”…”R”KhŒ'http://schema.org/LoanOrCredit-loanType”…”R”KhŒ+http://schema.org/LoanOrCredit-recourseLoan”…”R”KhŒ/http://schema.org/LoanOrCredit-renegotiableLoan”…”R”KhŒ1http://schema.org/LoanOrCredit-requiredCollateral”…”R”KuuhŒ%http://schema.org/LoanOrCredit-amount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/amount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe amount of money.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œamount”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1435”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1433”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1434”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjE.}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jH.KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1436”…”R”Ksujg.}”(j_.}”jS.Ksjc.}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/LoanOrCredit-currency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/currency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X¯The currency in which the monetary amount is expressed.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcurrency”NN‡”R”KsuhŒ*http://schema.org/LoanOrCredit-gracePeriod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gracePeriod”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ“The period of time after any due date that the borrower has to fulfil its obligations before a default (failure to pay) is deemed to have occurred.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ gracePeriod”NN‡”R”KsuhŒ0http://schema.org/LoanOrCredit-loanRepaymentForm”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/loanRepaymentForm”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://schema.org/RepaymentSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¸A form of paying back money previously borrowed from a lender. Repayment usually takes the form of periodic payments that normally include part principal plus interest in each payment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒloanRepaymentForm”NN‡”R”KsuhŒ'http://schema.org/LoanOrCredit-loanTerm”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/loanTerm”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-The duration of the loan or credit agreement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒloanTerm”NN‡”R”KsuhŒ'http://schema.org/LoanOrCredit-loanType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/loanType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe type of a loan or credit.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒloanType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1439”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1437”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1438”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj?/}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jB/KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1440”…”R”Ksuja/}”(jY/}”jM/Ksj]/}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/LoanOrCredit-recourseLoan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/recourseLoan”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ³The only way you get the money back in the event of default is the security. Recourse is where you still have the opportunity to go back to the borrower for the rest of the money.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ recourseLoan”NN‡”R”KsuhŒ/http://schema.org/LoanOrCredit-renegotiableLoan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/renegotiableLoan”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒZWhether the terms for payment of interest can be renegotiated during the life of the loan.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrenegotiableLoan”NN‡”R”KsuhŒ1http://schema.org/LoanOrCredit-requiredCollateral”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/requiredCollateral”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ’Assets required to secure loan or credit repayments. It may take form of third party pledge, goods, financial instruments (cash, securities, etc.)”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrequiredCollateral”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1443”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1441”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1442”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjå/}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jè/KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1444”…”R”Ksuj0}”(jÿ/}”jó/Ksj0}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/LocalBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÝA particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLocal business”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/Organization”…”R”KhŒhttp://schema.org/Place”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/LocalBusiness-branchOf”…”R”KhŒ2http://schema.org/LocalBusiness-currenciesAccepted”…”R”KhŒ,http://schema.org/LocalBusiness-openingHours”…”R”KhŒ/http://schema.org/LocalBusiness-paymentAccepted”…”R”KhŒ*http://schema.org/LocalBusiness-priceRange”…”R”KuuhŒ(http://schema.org/LocalBusiness-branchOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/branchOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxThe larger organization that this local business is a branch of, if any. Not to be confused with (anatomical)[[branch]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbranchOf”NN‡”R”KsuhŒ2http://schema.org/LocalBusiness-currenciesAccepted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/currenciesAccepted”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XŽThe currency accepted.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcurrenciesAccepted”NN‡”R”KsuhŒ,http://schema.org/LocalBusiness-openingHours”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/openingHours”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X;The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ',' separating each day. Day or time ranges are specified using a hyphen '-'.\n\n* Days are specified using the following two-letter combinations: ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```.\n* Times are specified using 24:00 format. For example, 3pm is specified as ```15:00```, 10am as ```10:00```. \n* Here is an example: <time itemprop="openingHours" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time>.\n* If a business is open 7 days a week, then it can be specified as <time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time>.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ openingHours”NN‡”R”KsuhŒ/http://schema.org/LocalBusiness-paymentAccepted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/paymentAccepted”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGCash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpaymentAccepted”NN‡”R”KsuhŒ*http://schema.org/LocalBusiness-priceRange”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/priceRange”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7The price range of the business, for example ```$$$```.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ priceRange”NN‡”R”KsuhŒ.http://schema.org/LocationFeatureSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¡Specifies a location feature by providing a structured value representing a feature of an accommodation as a property-value pair of varying degrees of formality.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLocation feature specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ=http://schema.org/LocationFeatureSpecification-hoursAvailable”…”R”KhŒ8http://schema.org/LocationFeatureSpecification-validFrom”…”R”KhŒ;http://schema.org/LocationFeatureSpecification-validThrough”…”R”KuuhŒ=http://schema.org/LocationFeatureSpecification-hoursAvailable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hoursAvailable”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ+http://schema.org/OpeningHoursSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j >KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1517”…”R”Ksuj6>}”(j.>}”j>Ksj2>}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1518”…”R”Ksuj<>}”(j.>}”j">Ksj2>}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/MediaObject-playerType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/playerType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9Player type required—for example, Flash or Silverlight.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ playerType”NN‡”R”KsuhŒ/http://schema.org/MediaObject-productionCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productionCompany”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The production company or studio responsible for the item e.g. series, video game, episode etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionCompany”NN‡”R”KsuhŒ,http://schema.org/MediaObject-regionsAllowed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/regionsAllowed”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¸The regions where the media is allowed. If not specified, then it's assumed to be allowed everywhere. Specify the countries in [ISO 3166 format](http://en.wikipedia.org/wiki/ISO_3166).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒregionsAllowed”NN‡”R”KsuhŒ2http://schema.org/MediaObject-requiresSubscription”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/requiresSubscription”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ©Indicates if use of the media require a subscription (either paid or free). Allowed values are ```true``` or ```false``` (note that an earlier version had 'yes', 'no').”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrequiresSubscription”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1521”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1519”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/MediaSubscription”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1520”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssjê>}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jí>KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1522”…”R”Ksuj ?}”(j?}”jø>Ksj?}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/MediaObject-startTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startTime”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1525”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1523”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1524”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”KssjTarget audiences types for medical web pages. Enumerated type.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical audience type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”KsuhŒ!http://schema.org/MedicalBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ§A particular physical or virtual business of an organization for medical purposes. Examples of MedicalBusiness include differents business run by health professionals.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical business”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒhttp://schema.org/MedicalCause”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X[The causative agent(s) that are responsible for the pathophysiologic process that eventually results in a medical condition, symptom or sign. In this schema, unless otherwise specified this is meant to be the proximate cause of the medical condition, symptom or sign. The proximate cause is defined as the causative agent that most directly results in the medical condition, symptom or sign. For example, the HIV virus could be considered a cause of AIDS. Or in a diagnostic context, if a patient fell and sustained a hip fracture and two days later sustained a pulmonary embolism which eventuated in a cardiac arrest, the cause of the cardiac arrest (the proximate cause) would be the pulmonary embolism and not the fall. Medical causes can include cardiovascular, chemical, dermatologic, endocrine, environmental, gastroenterologic, genetic, hematologic, gynecologic, iatrogenic, infectious, musculoskeletal, neurologic, nutritional, obstetric, oncologic, otolaryngologic, pharmacologic, psychiatric, pulmonary, renal, rheumatologic, toxic, traumatic, or urologic causes; medical conditions can be causes as well.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Medical cause”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ&http://schema.org/MedicalCause-causeOf”…”R”KsuhŒ&http://schema.org/MedicalCause-causeOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/causeOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8The condition, complication, symptom, sign, etc. caused.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcauseOf”NN‡”R”KsuhŒhttp://schema.org/MedicalClinic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ×A facility, often associated with a hospital or medical school, that is devoted to the specific diagnosis and/or healthcare. Previously limited to outpatients but with evolution it may be open to inpatients as well.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical clinic”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://schema.org/MedicalBusiness”…”R”KhŒ%http://schema.org/MedicalOrganization”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/MedicalClinic-availableService”…”R”KhŒ0http://schema.org/MedicalClinic-medicalSpecialty”…”R”KuuhŒ0http://schema.org/MedicalClinic-availableService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/availableService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/A medical service available from this provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableService”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1534”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1531”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalProcedure”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1532”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1533”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KssjB}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jBKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1535”…”R”KsujIB}”(jAB}”j*BKsjEB}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1536”…”R”KsujOB}”(jAB}”j5BKsjEB}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/MedicalClinic-medicalSpecialty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/medicalSpecialty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$A medical specialty of the provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmedicalSpecialty”NN‡”R”KsuhŒhttp://schema.org/MedicalCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA code for a medical entity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Medical code”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CategoryCode”…”R”KhŒ#http://schema.org/MedicalIntangible”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/MedicalCode-codeValue”…”R”KhŒ*http://schema.org/MedicalCode-codingSystem”…”R”KuuhŒ'http://schema.org/MedicalCode-codeValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/codeValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8A short textual code that uniquely identifies the value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ codeValue”NN‡”R”KsuhŒ*http://schema.org/MedicalCode-codingSystem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/codingSystem”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ!The coding system, e.g. 'ICD-10'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ codingSystem”NN‡”R”KsuhŒ"http://schema.org/MedicalCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¶Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical condition”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ4http://schema.org/MedicalCondition-associatedAnatomy”…”R”KhŒ8http://schema.org/MedicalCondition-differentialDiagnosis”…”R”KhŒ'http://schema.org/MedicalCondition-drug”…”R”KhŒ/http://schema.org/MedicalCondition-epidemiology”…”R”KhŒ4http://schema.org/MedicalCondition-expectedPrognosis”…”R”KhŒ5http://schema.org/MedicalCondition-naturalProgression”…”R”KhŒ2http://schema.org/MedicalCondition-pathophysiology”…”R”KhŒ7http://schema.org/MedicalCondition-possibleComplication”…”R”KhŒ4http://schema.org/MedicalCondition-possibleTreatment”…”R”KhŒ4http://schema.org/MedicalCondition-primaryPrevention”…”R”KhŒ-http://schema.org/MedicalCondition-riskFactor”…”R”KhŒ6http://schema.org/MedicalCondition-secondaryPrevention”…”R”KhŒ0http://schema.org/MedicalCondition-signOrSymptom”…”R”KhŒ(http://schema.org/MedicalCondition-stage”…”R”KhŒ)http://schema.org/MedicalCondition-status”…”R”KhŒ.http://schema.org/MedicalCondition-typicalTest”…”R”KuuhŒ4http://schema.org/MedicalCondition-associatedAnatomy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/associatedAnatomy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒUThe anatomy of the underlying organ system or structures associated with this entity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒassociatedAnatomy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1540”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1537”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1538”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/AnatomicalSystem”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1539”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/SuperficialAnatomy”…”R”Kssj˜C}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j›CKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1541”…”R”KsujÅC}”(j½C}”j¦CKsjÁC}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1542”…”R”KsujËC}”(j½C}”j±CKsjÁC}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ8http://schema.org/MedicalCondition-differentialDiagnosis”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/differentialDiagnosis”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DDxElement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XkOne of a set of differential diagnoses for the condition. Specifically, a closely-related or competing diagnosis typically considered later in the cognitive process whereby this medical condition is distinguished from others most likely responsible for a similar collection of signs and symptoms to reach the most parsimonious diagnosis or diagnoses in a patient.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdifferentialDiagnosis”NN‡”R”KsuhŒ'http://schema.org/MedicalCondition-drug”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/drug”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Drug”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=Specifying a drug or medicine used in a medication procedure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdrug”NN‡”R”KsuhŒ/http://schema.org/MedicalCondition-epidemiology”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/epidemiology”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJThe characteristics of associated patients, such as age, gender, race etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ epidemiology”NN‡”R”KsuhŒ4http://schema.org/MedicalCondition-expectedPrognosis”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/expectedPrognosis”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒRThe likely outcome in either the short term or long term of the medical condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexpectedPrognosis”NN‡”R”KsuhŒ5http://schema.org/MedicalCondition-naturalProgression”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/naturalProgression”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒaThe expected progression of the condition if it is not treated and allowed to progress naturally.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnaturalProgression”NN‡”R”KsuhŒ2http://schema.org/MedicalCondition-pathophysiology”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/pathophysiology”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒzChanges in the normal mechanical, physical, and biochemical functions that are associated with this activity or condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpathophysiology”NN‡”R”KsuhŒ7http://schema.org/MedicalCondition-possibleComplication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/possibleComplication”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÌA possible unexpected and unfavorable evolution of a medical condition. Complications may include worsening of the signs or symptoms of the disease, extension of the condition to other organ systems, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpossibleComplication”NN‡”R”KsuhŒ4http://schema.org/MedicalCondition-possibleTreatment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/possibleTreatment”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@A possible treatment to address this condition, sign or symptom.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpossibleTreatment”NN‡”R”KsuhŒ4http://schema.org/MedicalCondition-primaryPrevention”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/primaryPrevention”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒkA preventative therapy used to prevent an initial occurrence of the medical condition, such as vaccination.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprimaryPrevention”NN‡”R”KsuhŒ-http://schema.org/MedicalCondition-riskFactor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/riskFactor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/MedicalRiskFactor”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‡A modifiable or non-modifiable factor that increases the risk of a patient contracting this condition, e.g. age, coexisting condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ riskFactor”NN‡”R”KsuhŒ6http://schema.org/MedicalCondition-secondaryPrevention”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/secondaryPrevention”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒwA preventative therapy used to prevent reoccurrence of the medical condition after an initial episode of the condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsecondaryPrevention”NN‡”R”KsuhŒ0http://schema.org/MedicalCondition-signOrSymptom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/signOrSymptom”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/MedicalSignOrSymptom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÀA sign or symptom of this condition. Signs are objective or physically observable manifestations of the medical condition while symptoms are the subjective experience of the medical condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ signOrSymptom”NN‡”R”KsuhŒ(http://schema.org/MedicalCondition-stage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/stage”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ'http://schema.org/MedicalConditionStage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The stage of the condition, if applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œstage”NN‡”R”KsuhŒ)http://schema.org/MedicalCondition-status”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/status”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The status of the study (enumerated).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œstatus”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1546”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1543”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/EventStatusType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1544”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1545”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjF}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j FKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1547”…”R”KsujJF}”(jBF}”j+FKsjFF}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1548”…”R”KsujPF}”(jBF}”j6FKsjFF}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/MedicalCondition-typicalTest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/typicalTest”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8A medical test typically performed given this condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ typicalTest”NN‡”R”KsuhŒ'http://schema.org/MedicalConditionStage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5A stage of a medical condition, such as 'Stage IIIa'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical condition stage”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”•p}”hŒ#http://schema.org/MedicalIntangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ5http://schema.org/MedicalConditionStage-stageAsNumber”…”R”KhŒ6http://schema.org/MedicalConditionStage-subStageSuffix”…”R”KuuhŒ5http://schema.org/MedicalConditionStage-stageAsNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/stageAsNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The stage represented as a number, e.g. 3.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ stageAsNumber”NN‡”R”KsuhŒ6http://schema.org/MedicalConditionStage-subStageSuffix”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/subStageSuffix”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&The substage, e.g. 'a' for Stage IIIa.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubStageSuffix”NN‡”R”KsuhŒ)http://schema.org/MedicalContraindication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X^A condition or factor that serves as a reason to withhold a certain medical therapy. Contraindications can be absolute (there are no reasonable circumstances for undertaking a course of action) or relative (the patient is at higher risk of complications, but that these risks may be outweighed by other considerations or mitigated by other measures).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical contraindication”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KsuhŒhttp://schema.org/MedicalDevice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNAny object used in a medical capacity, such as to diagnose or treat a patient.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical device”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ6http://purl.bioontology.org/ontology/SNOMEDCT/63653004”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/MedicalDevice-adverseOutcome”…”R”KhŒ0http://schema.org/MedicalDevice-contraindication”…”R”KhŒ&http://schema.org/MedicalDevice-postOp”…”R”KhŒ%http://schema.org/MedicalDevice-preOp”…”R”KhŒ)http://schema.org/MedicalDevice-procedure”…”R”KhŒ5http://schema.org/MedicalDevice-seriousAdverseOutcome”…”R”KuuhŒ.http://schema.org/MedicalDevice-adverseOutcome”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/adverseOutcome”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X5A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadverseOutcome”NN‡”R”KsuhŒ0http://schema.org/MedicalDevice-contraindication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/contraindication”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$A contraindication for this therapy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcontraindication”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1551”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1549”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/MedicalContraindication”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1550”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÖG}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÙGKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1552”…”R”KsujøG}”(jðG}”jäGKsjôG}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/MedicalDevice-postOp”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/postOp”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒVA description of the postoperative procedures, care, and/or followups for this device.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpostOp”NN‡”R”KsuhŒ%http://schema.org/MedicalDevice-preOp”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/preOp”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒdA description of the workup, testing, and other preparations required before implanting this device.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpreOp”NN‡”R”KsuhŒ)http://schema.org/MedicalDevice-procedure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/procedure”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A description of the procedure involved in setting up, using, and/or installing the device.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ procedure”NN‡”R”KsuhŒ5http://schema.org/MedicalDevice-seriousAdverseOutcome”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/seriousAdverseOutcome”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X§A possible serious complication and/or serious side effect of this therapy. Serious adverse outcomes include those that are life-threatening; result in death, disability, or permanent damage; require hospitalization or prolong existing hospitalization; cause congenital anomalies or birth defects; or jeopardize the patient and may require medical or surgical intervention to prevent one of the outcomes in this definition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒseriousAdverseOutcome”NN‡”R”KsuhŒ&http://schema.org/MedicalDevicePurpose”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒVCategories of medical devices, organized by the purpose or intended use of the device.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical device purpose”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”KsuhŒhttp://schema.org/MedicalEntity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOThe most generic type of entity related to health and the practice of medicine.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical entity”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ$http://schema.org/MedicalEntity-code”…”R”KhŒ)http://schema.org/MedicalEntity-guideline”…”R”KhŒ+http://schema.org/MedicalEntity-legalStatus”…”R”KhŒ.http://schema.org/MedicalEntity-medicineSystem”…”R”KhŒ4http://schema.org/MedicalEntity-recognizingAuthority”…”R”KhŒ1http://schema.org/MedicalEntity-relevantSpecialty”…”R”KhŒ%http://schema.org/MedicalEntity-study”…”R”KuuhŒ$http://schema.org/MedicalEntity-code”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/code”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalCode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ†A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcode”NN‡”R”KsuhŒ)http://schema.org/MedicalEntity-guideline”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/guideline”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalGuideline”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A medical guideline related to this entity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ guideline”NN‡”R”KsuhŒ+http://schema.org/MedicalEntity-legalStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/legalStatus”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The drug or supplement's legal status, including any controlled substance schedules that apply.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ legalStatus”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1556”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1553”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/DrugLegalStatus”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1554”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1555”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj—I}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jšIKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1557”…”R”KsujÄI}”(j¼I}”j¥IKsjÀI}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1558”…”R”KsujÊI}”(j¼I}”j°IKsjÀI}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/MedicalEntity-medicineSystem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/medicineSystem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicineSystem”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒzThe system of medicine that includes this MedicalEntity, for example 'evidence-based', 'homeopathic', 'chiropractic', etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmedicineSystem”NN‡”R”KsuhŒ4http://schema.org/MedicalEntity-recognizingAuthority”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/recognizingAuthority”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒrIf applicable, the organization that officially recognizes this entity as part of its endorsed system of medicine.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrecognizingAuthority”NN‡”R”KsuhŒ1http://schema.org/MedicalEntity-relevantSpecialty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/relevantSpecialty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDIf applicable, a medical specialty in which this entity is relevant.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelevantSpecialty”NN‡”R”KsuhŒ%http://schema.org/MedicalEntity-study”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/study”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalStudy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0A medical study or trial related to this entity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œstudy”NN‡”R”KsuhŒ$http://schema.org/MedicalEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒçEnumerations related to health and the practice of medicine: A concept that is used to attribute a quality to another concept, as a qualifier, a collection of items or a listing of all of the elements of a set in medicine practice.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ&http://schema.org/MedicalEvidenceLevel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;Level of evidence for a medical guideline. Enumerated type.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical evidence level”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”KsuhŒ"http://schema.org/MedicalGuideline”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XïAny recommendation made by a standard society (e.g. ACC/AHA) or consensus statement that denotes how to diagnose and treat a particular condition. Note: this type should be used to tag the actual guideline recommendation; if the guideline recommendation occurs in a larger scholarly article, use MedicalScholarlyArticle to tag the overall article, not this type. Note also: the organization making the recommendation should be captured in the recognizingAuthority base property of MedicalEntity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical guideline”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/MedicalGuideline-evidenceLevel”…”R”KhŒ1http://schema.org/MedicalGuideline-evidenceOrigin”…”R”KhŒ0http://schema.org/MedicalGuideline-guidelineDate”…”R”KhŒ3http://schema.org/MedicalGuideline-guidelineSubject”…”R”KuuhŒ0http://schema.org/MedicalGuideline-evidenceLevel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/evidenceLevel”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/MedicalEvidenceLevel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNStrength of evidence of the data used to formulate the guideline (enumerated).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ evidenceLevel”NN‡”R”KsuhŒ1http://schema.org/MedicalGuideline-evidenceOrigin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/evidenceOrigin”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒTSource of the data used to formulate the guidance, e.g. RCT, consensus opinion, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒevidenceOrigin”NN‡”R”KsuhŒ0http://schema.org/MedicalGuideline-guidelineDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/guidelineDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Date on which this guideline's recommendation was made.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ guidelineDate”NN‡”R”KsuhŒ3http://schema.org/MedicalGuideline-guidelineSubject”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/guidelineSubject”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒOThe medical conditions, treatments, etc. that are the subject of the guideline.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒguidelineSubject”NN‡”R”KsuhŒ2http://schema.org/MedicalGuidelineContraindication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‰A guideline contraindication that designates a process as harmful and where quality of the data supporting the contraindication is sound.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Medical guideline contraindication”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/MedicalGuideline”…”R”KsuhŒ0http://schema.org/MedicalGuidelineRecommendation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ€A guideline recommendation that is regarded as efficacious and where quality of the data supporting the recommendation is sound.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Medical guideline recommendation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/MedicalGuideline”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒGhttp://schema.org/MedicalGuidelineRecommendation-recommendationStrength”…”R”KsuhŒGhttp://schema.org/MedicalGuidelineRecommendation-recommendationStrength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/recommendationStrength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAny medical test, typically performed for diagnostic purposes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Medical test”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/MedicalTest-affectedBy”…”R”KhŒ)http://schema.org/MedicalTest-normalRange”…”R”KhŒ*http://schema.org/MedicalTest-signDetected”…”R”KhŒ,http://schema.org/MedicalTest-usedToDiagnose”…”R”KhŒ(http://schema.org/MedicalTest-usesDevice”…”R”KuuhŒ(http://schema.org/MedicalTest-affectedBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/affectedBy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Drug”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%Drugs that affect the test's results.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ affectedBy”NN‡”R”KsuhŒ)http://schema.org/MedicalTest-normalRange”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/normalRange”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBRange of acceptable values for a typical patient, when applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ normalRange”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1581”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1579”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1580”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjEU}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jHUKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1582”…”R”KsujgU}”(j_U}”jSUKsjcU}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/MedicalTest-signDetected”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/signDetected”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalSign”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA sign detected by the test.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ signDetected”NN‡”R”KsuhŒ,http://schema.org/MedicalTest-usedToDiagnose”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/usedToDiagnose”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)A condition the test is used to diagnose.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒusedToDiagnose”NN‡”R”KsuhŒ(http://schema.org/MedicalTest-usesDevice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/usesDevice”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalDevice”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ Device used to perform the test.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ usesDevice”NN‡”R”KsuhŒ"http://schema.org/MedicalTestPanel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ2Any collection of tests commonly ordered together.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical test panel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ*http://schema.org/MedicalTestPanel-subTest”…”R”KsuhŒ*http://schema.org/MedicalTestPanel-subTest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/subTest”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA component test of the panel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubTest”NN‡”R”KsuhŒ http://schema.org/MedicalTherapy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XAny medical intervention designed to prevent, treat, and cure human diseases and medical conditions, including both curative and palliative therapies. Medical therapies are typically processes of care relying upon pharmacotherapy, behavioral therapy, supportive therapy (with fluid or nutrition for example), or detoxification (e.g. hemodialysis) aimed at improving or preventing a health condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical therapy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ&http://schema.org/TherapeuticProcedure”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ1http://schema.org/MedicalTherapy-contraindication”…”R”KhŒ1http://schema.org/MedicalTherapy-duplicateTherapy”…”R”KhŒ6http://schema.org/MedicalTherapy-seriousAdverseOutcome”…”R”KuuhŒ1http://schema.org/MedicalTherapy-contraindication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/contraindication”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$A contraindication for this therapy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcontraindication”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1585”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1583”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/MedicalContraindication”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1584”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj­V}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j°VKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1586”…”R”KsujÏV}”(jÇV}”j»VKsjËV}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/MedicalTherapy-duplicateTherapy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/duplicateTherapy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/A therapy that duplicates or overlaps this one.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒduplicateTherapy”NN‡”R”KsuhŒ6http://schema.org/MedicalTherapy-seriousAdverseOutcome”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/seriousAdverseOutcome”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X§A possible serious complication and/or serious side effect of this therapy. Serious adverse outcomes include those that are life-threatening; result in death, disability, or permanent damage; require hospitalization or prolong existing hospitalization; cause congenital anomalies or birth defects; or jeopardize the patient and may require medical or surgical intervention to prevent one of the outcomes in this definition.”•-NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒseriousAdverseOutcome”NN‡”R”KsuhŒhttp://schema.org/MedicalTrial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA medical trial is a type of medical study that uses scientific process used to compare the safety and efficacy of medical therapies or medical procedures. In general, medical trials are controlled and subjects are allocated at random to the different treatment and/or control groups.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Medical trial”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalStudy”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ*http://schema.org/MedicalTrial-trialDesign”…”R”KsuhŒ*http://schema.org/MedicalTrial-trialDesign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trialDesign”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/MedicalTrialDesign”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.Specifics about the trial design (enumerated).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ trialDesign”NN‡”R”KsuhŒ$http://schema.org/MedicalTrialDesign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒDhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_WikiDoc”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ2Design models for medical trials. Enumerated type.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical trial design”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”KsuhŒ http://schema.org/MedicalWebPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-A web page that provides medical information.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedical web page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/MedicalWebPage-aspect”…”R”KhŒ0http://schema.org/MedicalWebPage-medicalAudience”…”R”KuuhŒ'http://schema.org/MedicalWebPage-aspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/aspect”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ—An aspect of medical practice that is considered on the page, such as 'diagnosis', 'treatment', 'causes', 'prognosis', 'etiology', 'epidemiology', etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaspect”NN‡”R”KsuhŒ0http://schema.org/MedicalWebPage-medicalAudience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/medicalAudience”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMedical audience for page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmedicalAudience”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1589”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1587”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/MedicalAudience”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1588”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/MedicalAudienceType”…”R”KssjFX}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jIXKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1590”…”R”KsujhX}”(j`X}”jTXKsjdX}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/MedicineSystem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSystems of medical practice.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMedicine system”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/MedicalEnumeration”…”R”KsuhŒhttp://schema.org/MeetingRoom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X¹A meeting room, conference room, or conference hall is a room provided for singular events such as business conferences and meetings (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Conference_hall).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Meeting room”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Room”…”R”KsuhŒ#http://schema.org/MensClothingStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA men's clothing store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMens clothing store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/Menu”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒVA structured representation of food or drink items available from a FoodEstablishment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMenu”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ"http://schema.org/Menu-hasMenuItem”…”R”KhŒ%http://schema.org/Menu-hasMenuSection”…”R”KuuhŒ"http://schema.org/Menu-hasMenuItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasMenuItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuItem”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9A food or drink item contained in a menu or menu section.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ hasMenuItem”NN‡”R”KsuhŒ%http://schema.org/Menu-hasMenuSection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hasMenuSection”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuSection”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIA subgrouping of the menu (by dishes, course, serving time period, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasMenuSection”NN‡”R”KsuhŒhttp://schema.org/MenuItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6A food or drink item listed in a menu or menu section.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Menu item”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ$http://schema.org/MenuItem-menuAddOn”…”R”KhŒ$http://schema.org/MenuItem-nutrition”…”R”KhŒ!http://schema.org/MenuItem-offers”…”R”KhŒ*http://schema.org/MenuItem-suitableForDiet”…”R”KuuhŒ$http://schema.org/MenuItem-menuAddOn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/menuAddOn”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÏAdditional menu item(s) such as a side dish of salad or side order of fries that can be added to this menu item. Additionally it can be a menu section containing allowed add-on menu items for this menu item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ menuAddOn”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1593”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1591”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuItem”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1592”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuSection”…”R”KssjÒY}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÕYKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1594”…”R”KsujôY}”(jìY}”jàYKsjðY}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/MenuItem-nutrition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/nutrition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/NutritionInformation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4Nutrition information about the recipe or menu item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ nutrition”NN‡”R”KsuhŒ!http://schema.org/MenuItem-offers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/offers”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÿAn offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œoffers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1597”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1595”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Demand”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1596”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”KssjNZ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jQZKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1598”…”R”KsujpZ}”(jhZ}”j\ZKsjlZ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/MenuItem-suitableForDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/suitableForDiet”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒvIndicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuitableForDiet”NN‡”R”KsuhŒhttp://schema.org/MenuSection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒßA sub-grouping of food or drink items in a menu. E.g. courses (such as 'Dinner', 'Breakfast', etc.), specific type of dishes (such as 'Meat', 'Vegan', 'Drinks', etc.), or some other classification made by the menu provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Menu section”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/MenuSection-hasMenuItem”…”R”KhŒ,http://schema.org/MenuSection-hasMenuSection”…”R”KuuhŒ)http://schema.org/MenuSection-hasMenuItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasMenuItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuItem”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9A food or drink item contained in a menu or menu section.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ hasMenuItem”NN‡”R”KsuhŒ,http://schema.org/MenuSection-hasMenuSection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hasMenuSection”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuSection”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIA subgrouping of the menu (by dishes, course, serving time period, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasMenuSection”NN‡”R”KsuhŒ+http://schema.org/MerchantReturnEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMerchantReturnEnumeration enumerates several kinds of product return policy. Note that this structure may not capture all aspects of the policy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMerchant return enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ2http://schema.org/MerchantReturnFiniteReturnWindow”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ+http://schema.org/MerchantReturnEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOMerchantReturnFiniteReturnWindow: there is a finite window for product returns.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ$Merchant return finite return window”NN‡”R”KsuhŒ,http://schema.org/MerchantReturnNotPermitted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ+http://schema.org/MerchantReturnEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ>MerchantReturnNotPermitted: product returns are not permitted.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMerchant return not permitted”NN‡”R”KsuhŒ&http://schema.org/MerchantReturnPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ}A MerchantReturnPolicy provides information about product return policies associated with an [[Organization]] or [[Product]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMerchant return policy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒc}”(j6c}”j*cKsj:c}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/MonetaryAmount-value”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/value”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe value of the quantitative value or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œvalue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1649”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1645”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1646”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1647”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1648”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjnc}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jqcKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1650”…”R”Ksuj¦c}”(jžc}”j|cKsj¢c}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1651”…”R”Ksuj¬c}”(jžc}”j‡cKsj¢c}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1652”…”R”Ksuj²c}”(jžc}”j’cKsj¢c}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/MonetaryAmountDistribution”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1698”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/A statistical distribution of monetary amounts.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMonetary amount distribution”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ/http://schema.org/QuantitativeValueDistribution”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ5http://schema.org/MonetaryAmountDistribution-currency”…”R”KsuhŒ5http://schema.org/MonetaryAmountDistribution-currency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/currency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X¯The currency in which the monetary amount is expressed.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcurrency”NN‡”R”KsuhŒhttp://schema.org/MonetaryGrant”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ1https://github.com/schemaorg/schemaorg/issues/383”…”R”KhŒEhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FundInfoCollab”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA monetary grant.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMonetary grant”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Grant”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ&http://schema.org/MonetaryGrant-amount”…”R”KhŒ&http://schema.org/MonetaryGrant-funder”…”R”KuuhŒ&http://schema.org/MonetaryGrant-amount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/amount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe amount of money.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œamount”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1655”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1653”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1654”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssjd}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j„dKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1656”…”R”Ksuj£d}”(j›d}”jdKsjŸd}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/MonetaryGrant-funder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/funder”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhA person or organization that supports (sponsors) something through some kind of financial contribution.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfunder”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1659”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1657”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1658”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjÓd}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÖdKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1660”…”R”Ksujõd}”(jíd}”jádKsjñd}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/MoneyTransfer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1253”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒkThe act of transferring money from one place to another place. This may occur electronically or physically.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMoney transfer”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/TransferAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ&http://schema.org/MoneyTransfer-amount”…”R”KhŒ/http://schema.org/MoneyTransfer-beneficiaryBank”…”R”KuuhŒ&http://schema.org/MoneyTransfer-amount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/amount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe amount of money.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œamount”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1663”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1661”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1662”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssjfe}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jieKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1664”…”R”Ksujˆe}”(j€e}”jteKsj„e}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/MoneyTransfer-beneficiaryBank”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/beneficiaryBank”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªA bank or bank’s branch, financial institution or international financial institution operating the beneficiary’s bank account or releasing funds for the beneficiary.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbeneficiaryBank”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1667”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1665”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/BankOrCreditUnion”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1666”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¸e}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j»eKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1668”…”R”KsujÚe}”(jÒe}”jÆeKsjÖe}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/MortgageLoan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1253”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmA loan in which property or real estate is used as collateral. (A loan securitized against some real estate).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Mortgage loan”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LoanOrCredit”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/MortgageLoan-domiciledMortgage”…”R”KhŒ8http://schema.org/MortgageLoan-loanMortgageMandateAmount”…”R”KuuhŒ0http://schema.org/MortgageLoan-domiciledMortgage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/domiciledMortgage”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQWhether borrower is a resident of the jurisdiction where the property is located.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdomiciledMortgage”NN‡”R”KsuhŒ8http://schema.org/MortgageLoan-loanMortgageMandateAmount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/loanMortgageMandateAmount”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYAmount of mortgage mandate that can be converted into a proper mortgage at a later stage.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒloanMortgageMandateAmount”NN‡”R”KsuhŒhttp://schema.org/Mosque”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A mosque.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMosque”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/PlaceOfWorship”…”R”KsuhŒhttp://schema.org/Motel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¤A motel.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMotel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/LodgingBusiness”…”R”KsuhŒhttp://schema.org/Motorcycle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://auto.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGA motorcycle or motorbike is a single-track, two-wheeled motor vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Motorcycle”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Vehicle”…”R”KsuhŒ"http://schema.org/MotorcycleDealer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA motorcycle dealer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMotorcycle dealer”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/AutomotiveBusiness”…”R”KsuhŒ"http://schema.org/MotorcycleRepair”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA motorcycle repair shop.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMotorcycle repair”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/AutomotiveBusiness”…”R”KsuhŒ"http://schema.org/MotorizedBicycle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://auto.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒnA motorized bicycle is a bicycle with an attached motor used to power the vehicle, or to assist with pedaling.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMotorized bicycle”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Vehicle”…”R”KsuhŒhttp://schema.org/Mountain”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0A mountain, like Mount Whitney or Mount Everest.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMountain”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Landform”…”R”KsuhŒhttp://schema.org/MoveAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÊThe act of an agent relocating to a place.\n\nRelated actions:\n\n* [[TransferAction]]: Unlike TransferAction, the subject of the move is a living Person or Organization rather than an inanimate object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Move action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/MoveAction-fromLocation”…”R”KhŒ'http://schema.org/MoveAction-toLocation”…”R”KuuhŒ)http://schema.org/MoveAction-fromLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/fromLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_A sub property of location. The original location of the object or the agent before the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”•KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ fromLocation”NN‡”R”KsuhŒ'http://schema.org/MoveAction-toLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/toLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A sub property of location. The final location of the object or the agent after the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ toLocation”NN‡”R”KsuhŒhttp://schema.org/Movie”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA movie.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMovie”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Movie-actor”…”R”KhŒhttp://schema.org/Movie-actors”…”R”KhŒ'http://schema.org/Movie-countryOfOrigin”…”R”KhŒ http://schema.org/Movie-director”…”R”KhŒ!http://schema.org/Movie-directors”…”R”KhŒ http://schema.org/Movie-duration”…”R”KhŒhttp://schema.org/Movie-musicBy”…”R”KhŒ)http://schema.org/Movie-productionCompany”…”R”KhŒ(http://schema.org/Movie-subtitleLanguage”…”R”KhŒ!http://schema.org/Movie-titleEIDR”…”R”KhŒhttp://schema.org/Movie-trailer”…”R”KuuhŒhttp://schema.org/Movie-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒhttp://schema.org/Movie-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ'http://schema.org/Movie-countryOfOrigin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/countryOfOrigin”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒrThe country of the principal offices of the production company or individual responsible for the movie or program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcountryOfOrigin”NN‡”R”KsuhŒ http://schema.org/Movie-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ!http://schema.org/Movie-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ http://schema.org/Movie-duration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duration”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ€The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œduration”NN‡”R”KsuhŒhttp://schema.org/Movie-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1671”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1669”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1670”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssji}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j“iKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1672”…”R”Ksuj²i}”(jªi}”jžiKsj®i}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/Movie-productionCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productionCompany”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The production company or studio responsible for the item e.g. series, video game, episode etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionCompany”NN‡”R”KsuhŒ(http://schema.org/Movie-subtitleLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/subtitleLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxLanguages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubtitleLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1675”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1673”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1674”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj j}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jjKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1676”…”R”Ksuj.j}”(j&j}”jjKsj*j}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Movie-titleEIDR”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/titleEIDR”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XiAn [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing at the most general/abstract level, a work of film or television. For example, the motion picture known as "Ghostbusters" has a titleEIDR of "10.5240/7EC7-228A-510A-053E-CBB8-J". This title (or work) may have several variants, which EIDR calls "edits". See [[editEIDR]]. Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ titleEIDR”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1679”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1677”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1678”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj^j}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jajKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1680”…”R”Ksuj€j}”(jxj}”jljKsj|j}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Movie-trailer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The trailer of a movie or tv/radio series, season, episode, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrailer”NN‡”R”KsuhŒhttp://schema.org/MovieClip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A short segment/part of a movie.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Movie clip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Clip”…”R”KsuhŒ"http://schema.org/MovieRentalStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA movie rental store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMovie rental store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/MovieSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOA series of movies. Included movies can be indicated with the hasPart property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Movie series”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/CreativeWorkSeries”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/MovieSeries-actor”…”R”KhŒ$http://schema.org/MovieSeries-actors”…”R”KhŒ&http://schema.org/MovieSeries-director”…”R”KhŒ'http://schema.org/MovieSeries-directors”…”R”KhŒ%http://schema.org/MovieSeries-musicBy”…”R”KhŒ/http://schema.org/MovieSeries-productionCompany”…”R”KhŒ%http://schema.org/MovieSeries-trailer”…”R”KuuhŒ#http://schema.org/MovieSeries-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ$http://schema.org/MovieSeries-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ&http://schema.org/MovieSeries-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ'http://schema.org/MovieSeries-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ%http://schema.org/MovieSeries-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1683”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1681”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1682”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj l}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jlKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1684”…”R”Ksuj/l}”(j'l}”jlKsj+l}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/MovieSeries-productionCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productionCompany”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The production company or studio responsible for the item e.g. series, video game, episode etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionCompany”NN‡”R”KsuhŒ%http://schema.org/MovieSeries-trailer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The trailer of a movie or tv/radio series, season, episode, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrailer”NN‡”R”KsuhŒhttp://schema.org/MovieTheater”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA movie theater.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Movie theater”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ http://schema.org/CivicStructure”…”R”KhŒ'http://schema.org/EntertainmentBusiness”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ*http://schema.org/MovieTheater-screenCount”…”R”KsuhŒ*http://schema.org/MovieTheater-screenCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/screenCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+The number of screens in the movie theater.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ screenCount”NN‡”R”KsuhŒhttp://schema.org/MovingCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA moving company.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMoving company”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://schema.org/HomeAndConstructionBusiness”…”R”KsuhŒ"http://schema.org/MultiCenterTrial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalTrialDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-A trial that takes place at multiple centers.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMulti center trial”NN‡”R”KsuhŒhttp://schema.org/MultiPlayer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/GamePlayMode”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ\Play mode: MultiPlayer. Requiring or allowing multiple human players to play simultaneously.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Multi player”NN‡”R”KsuhŒ'http://schema.org/MulticellularParasite”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/InfectiousAgentClass”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Multicellular parasite that causes an infection.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMulticellular parasite”NN‡”R”KsuhŒhttp://schema.org/Muscle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒsA muscle is an anatomical structure consisting of a contractile form of tissue that animals use to effect movement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMuscle”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/Muscle-antagonist”…”R”KhŒ$http://schema.org/Muscle-bloodSupply”…”R”KhŒ"http://schema.org/Muscle-insertion”…”R”KhŒ%http://schema.org/Muscle-muscleAction”…”R”KhŒhttp://schema.org/Muscle-nerve”…”R”KuuhŒ#http://schema.org/Muscle-antagonist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/antagonist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Muscle”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The muscle whose action counteracts the specified muscle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ antagonist”NN‡”R”KsuhŒ$http://schema.org/Muscle-bloodSupply”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/bloodSupply”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Vessel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAThe blood vessel that carries blood from the heart to the muscle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ bloodSupply”NN‡”R”KsuhŒ"http://schema.org/Muscle-insertion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/insertion”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>The place of attachment of a muscle, or what the muscle moves.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ insertion”NN‡”R”KsuhŒ%http://schema.org/Muscle-muscleAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/muscleAction”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The movement the muscle generates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ muscleAction”NN‡”R”KsuhŒhttp://schema.org/Muscle-nerve”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/nerve”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Nerve”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The underlying innervation associated with the muscle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œnerve”NN‡”R”KsuhŒ!http://schema.org/Musculoskeletal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ…A specific branch of medical science that pertains to diagnosis and treatment of disorders of muscles, ligaments and skeletal system.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusculoskeletal”NN‡”R”KsuhŒ%http://schema.org/MusculoskeletalExam”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ,Musculoskeletal system clinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusculoskeletal exam”NN‡”R”KsuhŒhttp://schema.org/Museum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A museum.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMuseum”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/MusicAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA collection of music tracks.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Music album”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MusicPlaylist”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/MusicAlbum-albumProductionType”…”R”KhŒ)http://schema.org/MusicAlbum-albumRelease”…”R”KhŒ-http://schema.org/MusicAlbum-albumReleaseType”…”R”KhŒ%http://schema.org/MusicAlbum-byArtist”…”R”KuuhŒ0http://schema.org/MusicAlbum-albumProductionType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/albumProductionType”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_Classification of the album by it's type of content: soundtrack, live album, studio album, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒalbumProductionType”NN‡”R”KsuhŒ)http://schema.org/MusicAlbum-albumRelease”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/albumRelease”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicRelease”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA release of this album.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ albumRelease”NN‡”R”KsuhŒ-http://schema.org/MusicAlbum-albumReleaseType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/albumReleaseType”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ'http://schema.org/MusicAlbumReleaseType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=The kind of release which this album is: single, EP or album.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒalbumReleaseType”NN‡”R”KsuhŒ%http://schema.org/MusicAlbum-byArtist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/byArtist”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The artist that performed this album or recording.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbyArtist”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1687”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1685”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1686”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¸o}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j»oKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1688”…”R”KsujÚo}”(jÒo}”jÆoKsjÖo}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/MusicAlbumProductionType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ_Classification of the album by it's type of content: soundtrack, live album, studio album, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusic album production type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ'http://schema.org/MusicAlbumReleaseType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=The kind of release which this album is: single, EP or album.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusic album release type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ"http://schema.org/MusicComposition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA musical composition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusic composition”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ+http://schema.org/MusicComposition-composer”…”R”KhŒ3http://schema.org/MusicComposition-firstPerformance”…”R”KhŒ6http://schema.org/MusicComposition-includedComposition”…”R”KhŒ+http://schema.org/MusicComposition-iswcCode”…”R”KhŒ+http://schema.org/MusicComposition-lyricist”…”R”KhŒ)http://schema.org/MusicComposition-lyrics”…”R”KhŒ3http://schema.org/MusicComposition-musicArrangement”…”R”KhŒ7http://schema.org/MusicComposition-musicCompositionForm”…”R”KhŒ-http://schema.org/MusicComposition-musicalKey”…”R”KhŒ-http://schema.org/MusicComposition-recordedAs”…”R”KuuhŒ+http://schema.org/MusicComposition-composer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/composer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒmThe person or organization who wrote a composition, or who is the composer of a work performed at some event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcomposer”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1691”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1689”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1690”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj³p}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¶pKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1692”…”R”KsujÕp}”(jÍp}”jÁpKsjÑp}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://schema.org/MusicComposition-firstPerformance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/firstPerformance”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The date and place the work was first performed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfirstPerformance”NN‡”R”KsuhŒ6http://schema.org/MusicComposition-includedComposition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/includedComposition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MusicComposition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKSmaller compositions included in this work (e.g. a movement in a symphony).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒincludedComposition”NN‡”R”KsuhŒ+http://schema.org/MusicComposition-iswcCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/iswcCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAThe International Standard Musical Work Code for the composition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒiswcCode”NN‡”R”KsuhŒ+http://schema.org/MusicComposition-lyricist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/lyricist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe person who wrote the words.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlyricist”NN‡”R”KsuhŒ)http://schema.org/MusicComposition-lyrics”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/lyrics”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe words in the song.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlyrics”NN‡”R”KsuhŒ3http://schema.org/MusicComposition-musicArrangement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/musicArrangement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MusicComposition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,An arrangement derived from the composition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicArrangement”NN‡”R”KsuhŒ7http://schema.org/MusicComposition-musicCompositionForm”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/musicCompositionForm”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The type of composition (e.g. overture, sonata, symphony, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicCompositionForm”NN‡”R”KsuhŒ-http://schema.org/MusicComposition-musicalKey”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicalKey”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The key, mode, or scale this composition uses.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ musicalKey”NN‡”R”KsuhŒ-http://schema.org/MusicComposition-recordedAs”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/recordedAs”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MusicRecording”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn audio recording of the work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ recordedAs”NN‡”R”KsuhŒhttp://schema.org/MusicEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Music event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Music event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/MusicGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWA musical group, such as a band, an orchestra, or a choir. Can also be a solo musician.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Music group”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/PerformingGroup”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ"http://schema.org/MusicGroup-album”…”R”KhŒ#http://schema.org/MusicGroup-albums”…”R”KhŒ"http://schema.org/MusicGroup-genre”…”R”KhŒ-http://schema.org/MusicGroup-musicGroupMember”…”R”KhŒ"http://schema.org/MusicGroup-track”…”R”KhŒ#http://schema.org/MusicGroup-tracks”…”R”KuuhŒ"http://schema.org/MusicGroup-album”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/album”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicAlbum”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA music album.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œalbum”NN‡”R”KsuhŒ#http://schema.org/MusicGroup-albums”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/albums”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicAlbum”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA collection of music albums.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œalbums”NN‡”R”KsuhŒ"http://schema.org/MusicGroup-genre”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/genre”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Genre of the creative work, broadcast channel or group.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgenre”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1695”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1693”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1694”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj5s}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j8sKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1696”…”R”KsujWs}”(jOs}”jCsKsjSs}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/MusicGroup-musicGroupMember”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/musicGroupMember”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒFA member of a music group—for example, John, Paul, George, or Ringo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicGroupMember”NN‡”R”KsuhŒ"http://schema.org/MusicGroup-track”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/track”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA music recording (track)—usually a single song. If an ItemList is given, the list should contain items of type MusicRecording.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrack”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1699”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1697”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ItemList”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1698”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MusicRecording”…”R”Kssj±s}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j´sKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1700”…”R”KsujÓs}”(jËs}”j¿sKsjÏs}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/MusicGroup-tracks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tracks”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MusicRecording”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2A music recording (track)—usually a single song.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtracks”NN‡”R”KsuhŒhttp://schema.org/MusicPlaylist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.A collection of music tracks in playlist form.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusic playlist”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/MusicPlaylist-numTracks”…”R”KhŒ%http://schema.org/MusicPlaylist-track”…”R”KhŒ&http://schema.org/MusicPlaylist-tracks”…”R”KuuhŒ)http://schema.org/MusicPlaylist-numTracks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numTracks”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/The number of tracks in this album or playlist.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numTracks”NN‡”R”KsuhŒ%http://schema.org/MusicPlaylist-track”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/track”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA music recording (track)—usually a single song. If an ItemList is given, the list should contain items of type MusicRecording.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrack”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1703”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1701”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ItemList”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1702”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MusicRecording”…”R”KssjŠt}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jtKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1704”…”R”Ksuj¬t}”(j¤t}”j˜tKsj¨t}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/MusicPlaylist-tracks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tracks”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MusicRecording”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2A music recording (track)—usually a single song.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtracks”NN‡”R”KsuhŒ http://schema.org/MusicRecording”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ1A music recording (track), usually a single song.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMusic recording”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/MusicRecording-byArtist”…”R”KhŒ)http://schema.org/MusicRecording-duration”…”R”KhŒ(http://schema.org/MusicRecording-inAlbum”…”R”KhŒ+http://schema.org/MusicRecording-inPlaylist”…”R”KhŒ)http://schema.org/MusicRecording-isrcCode”…”R”KhŒ,http://schema.org/MusicRecording-recordingOf”…”R”KuuhŒ)http://schema.org/MusicRecording-byArtist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/byArtist”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The artist that performed this album or recording.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbyArtist”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1707”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1705”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1706”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjBu}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jEuKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1708”…”R”Ksujdu}”(j\u}”jPuKsj`u}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/MusicRecording-duration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duration”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ€The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œduration”NN‡”R”KsuhŒ(http://schema.org/MusicRecording-inAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inAlbum”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicAlbum”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The album to which this recording belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinAlbum”NN‡”R”KsuhŒ+http://schema.org/MusicRecording-inPlaylist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inPlaylist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicPlaylist”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-The playlist to which this recording belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inPlaylist”NN‡”R”KsuhŒ)http://schema.org/MusicRecording-isrcCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isrcCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe current approximate inventory level for the item or items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinventoryLevel”NN‡”R”KsuhŒ%http://schema.org/Offer-itemCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemCondition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/OfferItemCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A predefined value from OfferItemCondition or a textual description of the condition of the product or service, or the products or services included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemCondition”NN‡”R”KsuhŒ#http://schema.org/Offer-itemOffered”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemOffered”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XYAn item being offered (or demanded). The transactional nature of the offer or demand is documented using [[businessFunction]], e.g. sell, lease etc. While several common expected types are listed explicitly in this definition, others can be used. Using a second type, such as Product or a subtype of Product, can clarify the nature of the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemOffered”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1842”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1835”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/AggregateOffer”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1836”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1837”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1838”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MenuItem”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1839”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1840”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1841”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Trip”…”R”Kssj1•}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j4•KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1843”…”R”KsujŠ•}”(j‚•}”j?•Ksj†•}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1844”…”R”Ksuj•}”(j‚•}”jJ•Ksj†•}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1845”…”R”Ksuj–•}”(j‚•}”jU•Ksj†•}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1846”…”R”Ksujœ•}”(j‚•}”j`•Ksj†•}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1847”…”R”Ksuj¢•}”(j‚•}”jk•Ksj†•}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1848”…”R”Ksuj¨•}”(j‚•}”jv•Ksj†•}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Offer-leaseLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/leaseLength”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLength of the lease for some [[Accommodation]], either particular to some [[Offer]] or in some cases intrinsic to the property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ leaseLength”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1851”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1849”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1850”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KssjØ•}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÛ•KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1852”…”R”Ksujú•}”(jò•}”jæ•Ksjö•}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Offer-mpn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/mpn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmpn”NN‡”R”KsuhŒ!http://schema.org/Offer-offeredBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/offeredBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9A pointer to the organization or person making the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ offeredBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1855”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1853”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1854”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjT–}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jW–KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1856”…”R”Ksujv–}”(jn–}”jb–Ksjr–}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Offer-price”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/price”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÄThe offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\n\nUsage guidelines:\n\n* Use the [[priceCurrency]] property (with standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR") instead of including [ambiguous symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) such as '$' in the value.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\n* Note that both [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) and Microdata syntax allow the use of a "content=" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œprice”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1859”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1857”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1858”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¦–}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j©–KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1860”…”R”KsujÈ–}”(jÀ–}”j´–KsjÄ–}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Offer-priceCurrency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/priceCurrency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XáThe currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ priceCurrency”NN‡”R”KsuhŒ*http://schema.org/Offer-priceSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/priceSpecification”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeOne or more detailed price specifications, indicating the unit price and delivery or payment charges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpriceSpecification”NN‡”R”KsuhŒ'http://schema.org/Offer-priceValidUntil”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/priceValidUntil”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The date after which the price is no longer available.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpriceValidUntil”NN‡”R”KsuhŒhttp://schema.org/Offer-review”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/review”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA review of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreview”NN‡”R”KsuhŒhttp://schema.org/Offer-reviews”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviews”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒReview of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreviews”NN‡”R”KsuhŒhttp://schema.org/Offer-seller”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seller”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoAn entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseller”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1863”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1861”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1862”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjÊ—}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÍ—KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1864”…”R”Ksujì—}”(jä—}”jØ—Ksjè—}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Offer-serialNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serialNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ±The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serialNumber”NN‡”R”KsuhŒ'http://schema.org/Offer-shippingDetails”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/shippingDetails”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/OfferShippingDetails”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[Indicates information about the shipping policies and options associated with an [[Offer]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒshippingDetails”NN‡”R”KsuhŒhttp://schema.org/Offer-sku”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sku”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ…The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsku”NN‡”R”KsuhŒ!http://schema.org/Offer-validFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validFrom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The date when the item becomes valid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validFrom”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1867”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1865”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1866”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjš˜}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j˜KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1868”…”R”Ksuj¼˜}”(j´˜}”j¨˜Ksj¸˜}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Offer-validThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validThrough”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxThe date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validThrough”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1871”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1869”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1870”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjì˜}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jï˜KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1872”…”R”Ksuj™}”(j™}”jú˜Ksj ™}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Offer-warranty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/warranty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/WarrantyPromise”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The warranty promise(s) included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œwarranty”NN‡”R”KsuhŒhttp://schema.org/OfferCatalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ~An OfferCatalog is an ItemList that contains related Offers and/or further OfferCatalogs that are offeredBy the same provider.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Offer catalog”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ItemList”…”R”KsuhŒhttp://schema.org/OfferForLease”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2348”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X-An [[OfferForLease]] in Schema.org represents an [[Offer]] to lease out something, i.e. an [[Offer]] whose [[businessFunction]] is [lease out](http://purl.org/goodrelations/v1#LeaseOut.). See [Good Relations](https://en.wikipedia.org/wiki/GoodRelations) for background on the underlying concepts. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffer for lease”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Offer”…”R”KsuhŒ"http://schema.org/OfferForPurchase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2348”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X"An [[OfferForPurchase]] in Schema.org represents an [[Offer]] to sell something, i.e. an [[Offer]] whose [[businessFunction]] is [sell](http://purl.org/goodrelations/v1#Sell.). See [Good Relations](https://en.wikipedia.org/wiki/GoodRelations) for background on the underlying concepts. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffer for purchase”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Offer”…”R”KsuhŒ$http://schema.org/OfferItemCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+A list of possible conditions for the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffer item condition”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ&http://schema.org/OfferShippingDetails”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2506”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XOfferShippingDetails represents information about shipping destinations. Multiple of these entities can be used to represent different shipping rates for different destinations: One entity for Alaska/Hawaii. A different one for continental US.A different one for all France. Multiple of these entities can be used to represent different shipping costs and delivery times. Two entities that are identical but differ in rate and time: e.g. Cheaper and slower: $5 in 5-7days or Fast and expensive: $15 in 1-2 days.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffer shipping details”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ3http://schema.org/OfferShippingDetails-deliveryTime”…”R”KhŒ2http://schema.org/OfferShippingDetails-doesNotShip”…”R”KhŒ:http://schema.org/OfferShippingDetails-shippingDestination”…”R”KhŒ4http://schema.org/OfferShippingDetails-shippingLabel”…”R”Kh•Œ3http://schema.org/OfferShippingDetails-shippingRate”…”R”KhŒ;http://schema.org/OfferShippingDetails-shippingSettingsLink”…”R”KhŒ7http://schema.org/OfferShippingDetails-transitTimeLabel”…”R”KuuhŒ3http://schema.org/OfferShippingDetails-deliveryTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/deliveryTime”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/ShippingDeliveryTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The total delay between the receipt of the order and the goods reaching the final customer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ deliveryTime”NN‡”R”KsuhŒ2http://schema.org/OfferShippingDetails-doesNotShip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/doesNotShip”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQIndicates when shipping to a particular [[shippingDestination]] is not available.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ doesNotShip”NN‡”R”KsuhŒ:http://schema.org/OfferShippingDetails-shippingDestination”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/shippingDestination”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedRegion”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œqindicates (possibly multiple) shipping destinations. These can be defined in several ways e.g. postalCode ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒshippingDestination”NN‡”R”KsuhŒ4http://schema.org/OfferShippingDetails-shippingLabel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/shippingLabel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽLabel to match an [[OfferShippingDetails]] with a [[ShippingRateSettings]] (within the context of a [[shippingSettingsLink]] cross-reference).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ shippingLabel”NN‡”R”KsuhŒ3http://schema.org/OfferShippingDetails-shippingRate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/shippingRate”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¥The shipping rate is the cost of shipping to the specified destination. Typically, the maxValue and currency values (of the [[MonetaryAmount]]) are most appropriate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ shippingRate”NN‡”R”KsuhŒ;http://schema.org/OfferShippingDetails-shippingSettingsLink”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/shippingSettingsLink”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒXLink to a page containing [[ShippingRateSettings]] and [[DeliveryTimeSettings]] details.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒshippingSettingsLink”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ7http://schema.org/OfferShippingDetails-transitTimeLabel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/transitTimeLabel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽLabel to match an [[OfferShippingDetails]] with a [[DeliveryTimeSettings]] (within the context of a [[shippingSettingsLink]] cross-reference).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtransitTimeLabel”NN‡”R”KsuhŒ&http://schema.org/OfficeEquipmentStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn office equipment store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffice equipment store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ$http://schema.org/OfficialLegalValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/LegalValueLevel”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X?All the documents published by an official publisher should have at least the legal value level "OfficialLegalValue". This indicates that the document was published by an organisation with the public task of making it available (e.g. a consolidated version of a EU directive published by the EU Office of Publications).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOfficial legal value”NN‡”R”KsuhŒ,http://schema.org/OfflineEventAttendanceMode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/EventAttendanceModeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1842”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKOfflineEventAttendanceMode - an event that is primarily conducted offline. ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffline event attendance mode”NN‡”R”KsuhŒ$http://schema.org/OfflinePermanently”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/GameServerStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLGame server status: OfflinePermanently. Server is offline and not available.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffline permanently”NN‡”R”KsuhŒ$http://schema.org/OfflineTemporarily”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/GameServerStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXGame server status: OfflineTemporarily. Server is offline now but it can be online soon.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOffline temporarily”NN‡”R”KsuhŒhttp://schema.org/OnDemandEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒeA publication event e.g. catch-up TV or radio podcast, during which a program is available on-demand.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOn demand event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/PublicationEvent”…”R”KsuhŒhttp://schema.org/OnSitePickup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[A DeliveryMethod in which an item is collected on site, e.g. in a store or at a box office.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOn site pickup”NN‡”R”KsuhŒhttp://schema.org/Oncologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A specific branch of medical science that deals with benign and malignant tumors, including the study of their development, diagnosis, treatment and prevention.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Oncologic”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ!http://schema.org/OneTimePayments”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒIOneTimePayments: this is a benefit for one-time payments for individuals.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOne time payments”NN‡”R”KsuhŒhttp://schema.org/Online”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/GameServerStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Game server status: Online. Server is available.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOnline”NN‡”R”KsuhŒ+http://schema.org/OnlineEventAttendanceMode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ0http://schema.org/EventAttendanceModeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1842”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒIOnlineEventAttendanceMode - an event that is primarily conducted online. ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOnline event attendance mode”NN‡”R”KsuhŒhttp://schema.org/OnlineFull”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/GameServerStatus”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlGame server status: OnlineFull. Server is online but unavailable. The maximum number of players has reached.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Online full”NN‡”R”KsuhŒhttp://schema.org/OnlineOnly”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ItemAvailability”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ1Indicates that the item is available only online.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Online only”NN‡”R”KsuhŒhttp://schema.org/OpenTrial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalTrialDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒhA trial design in which the researcher knows the full details of the treatment, and so does the patient.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Open trial”NN‡”R”KsuhŒ+http://schema.org/OpeningHoursSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XeA structured value providing information about the opening hours of a place or a certain service inside a place.\n\n The place is __open__ if the [[opens]] property is specified, and __closed__ otherwise.\n\nIf the value for the [[closes]] property is less than the value for the [[opens]] property then the hour range is assumed to span over the next day. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOpening hours specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ2http://schema.org/OpeningHoursSpecification-closes”…”R”KhŒ5http://schema.org/OpeningHoursSpecification-dayOfWeek”…”R”KhŒ1http://schema.org/OpeningHoursSpecification-opens”…”R”KhŒ5http://schema.org/OpeningHoursSpecification-validFrom”…”R”KhŒ8http://schema.org/OpeningHoursSpecification-validThrough”…”R”KuuhŒ2http://schema.org/OpeningHoursSpecification-closes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/closes”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIThe closing hour of the place or service on the given day(s) of the week.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcloses”NN‡”R”KsuhŒ5http://schema.org/OpeningHoursSpecification-dayOfWeek”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dayOfWeek”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DayOfWeek”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn organization such as a school, NGO, corporation, club, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Organization”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://schema.org/Organization-actionableFeedbackPolicy”…”R”KhŒ&http://schema.org/Organization-address”…”R”KhŒ.http://schema.org/Organization-aggregateRating”…”R”KhŒ%http://schema.org/Organization-alumni”…”R”KhŒ)http://schema.org/Organization-areaServed”…”R”KhŒ$http://schema.org/Organization-award”…”R”KhŒ%http://schema.org/Organization-awards”…”R”KhŒ$http://schema.org/Organization-brand”…”R”KhŒ+http://schema.org/Organization-contactPoint”…”R”KhŒ,http://schema.org/Organization-contactPoints”…”R”KhŒ0http://schema.org/Organization-correctionsPolicy”…”R”KhŒ)http://schema.org/Organization-department”…”R”KhŒ.http://schema.org/Organization-dissolutionDate”…”R”KhŒ.http://schema.org/Organization-diversityPolicy”…”R”KhŒ6http://schema.org/Organization-diversityStaffingReport”…”R”KhŒ#http://schema.org/Organization-duns”…”R”KhŒ$http://schema.org/Organization-email”…”R”KhŒ'http://schema.org/Organization-employee”…”R”KhŒ(http://schema.org/Organization-employees”…”R”KhŒ+http://schema.org/Organization-ethicsPolicy”…”R”KhŒ$http://schema.org/Organization-event”…”R”KhŒ%http://schema.org/Organization-events”…”R”KhŒ(http://schema.org/Organization-faxNumber”…”R”KhŒ&http://schema.org/Organization-founder”…”R”KhŒ'http://schema.org/Organization-founders”…”R”KhŒ+http://schema.org/Organization-foundingDate”…”R”KhŒ/http://schema.org/Organization-foundingLocation”…”R”KhŒ%http://schema.org/Organization-funder”…”R”KhŒ3http://schema.org/Organization-globalLocationNumber”…”R”KhŒ,http://schema.org/Organization-hasCredential”…”R”KhŒ6http://schema.org/Organization-hasMerchantReturnPolicy”…”R”KhŒ.http://schema.org/Organization-hasOfferCatalog”…”R”KhŒ%http://schema.org/Organization-hasPOS”…”R”KhŒ5http://schema.org/Organization-hasProductReturnPolicy”…”R”KhŒ3http://schema.org/Organization-interactionStatistic”…”R”KhŒ%http://schema.org/Organization-isicV4”…”R”KhŒ)http://schema.org/Organization-knowsAbout”…”R”KhŒ,http://schema.org/Organization-knowsLanguage”…”R”KhŒ(http://schema.org/Organization-legalName”…”R”KhŒ&http://schema.org/Organization-leiCode”…”R”KhŒ'http://schema.org/Organization-location”…”R”KhŒ#http://schema.org/Organization-logo”…”R”KhŒ)http://schema.org/Organization-makesOffer”…”R”KhŒ%http://schema.org/Organization-member”…”R”KhŒ'http://schema.org/Organization-memberOf”…”R”KhŒ&http://schema.org/Organization-members”…”R”KhŒ$http://schema.org/Organization-naics”…”R”KhŒ.http://schema.org/Organization-nonprofitStatus”…”R”KhŒ0http://schema.org/Organization-numberOfEmployees”…”R”KhŒ3http://schema.org/Organization-ownershipFundingInfo”…”R”KhŒ#http://schema.org/Organization-owns”…”R”KhŒ1http://schema.org/Organization-parentOrganization”…”R”KhŒ3http://schema.org/Organization-publishingPrinciples”…”R”KhŒ%http://schema.org/Organization-review”…”R”KhŒ&http://schema.org/Organization-reviews”…”R”KhŒ$http://schema.org/Organization-seeks”…”R”KhŒ*http://schema.org/Organization-serviceArea”…”R”KhŒ%http://schema.org/Organization-slogan”…”R”KhŒ&http://schema.org/Organization-sponsor”…”R”KhŒ.http://schema.org/Organization-subOrganization”…”R”KhŒ$http://schema.org/Organization-taxID”…”R”KhŒ(http://schema.org/Organization-telephone”…”R”KhŒ3http://schema.org/Organization-unnamedSourcesPolicy”…”R”KhŒ$http://schema.org/Organization-vatID”…”R”KuuhŒ7http://schema.org/Organization-actionableFeedbackPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/actionableFeedbackPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XFor a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒactionableFeedbackPolicy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1923”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1921”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1922”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¨}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¨KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1924”…”R”Ksuj2¨}”(j*¨}”j¨Ksj.¨}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/Organization-address”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/address”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPhysical address of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaddress”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1927”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1925”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1926”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjb¨}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”je¨KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1928”…”R”Ksuj„¨}”(j|¨}”jp¨Ksj€¨}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/Organization-aggregateRating”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/aggregateRating”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/AggregateRating”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMThe overall rating, based on a collection of reviews or ratings, of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaggregateRating”NN‡”R”KsuhŒ%http://schema.org/Organization-alumni”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/alumni”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAlumni of an organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œalumni”NN‡”R”KsuhŒ)http://schema.org/Organization-areaServed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/areaServed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The geographic area where a service or offered item is provided.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ areaServed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1933”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1929”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1930”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1931”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1932”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj©}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j ©KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1934”…”R”Ksuu(j@©}”(j8©}”j©Ksj<©}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1935”…”R”KsujF©}”(j8©}”j!©Ksj<©}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1936”…”R”KsujL©}”(j8©}”j,©Ksj<©}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Organization-award”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/award”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ!An award won by or for this item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaward”NN‡”R”KsuhŒ%http://schema.org/Organization-awards”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/awards”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAwards won by or for this item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œawards”NN‡”R”KsuhŒ$http://schema.org/Organization-brand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/brand”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbrand”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1939”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1937”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Brand”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1938”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KssjЩ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÓ©KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1940”…”R”Ksujò©}”(jê©}”jÞ©Ksjî©}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Organization-contactPoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactPoint”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A contact point for a person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactPoint”NN‡”R”KsuhŒ,http://schema.org/Organization-contactPoints”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactPoints”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A contact point for a person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactPoints”NN‡”R”KsuhŒ0http://schema.org/Organization-correctionsPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/correctionsPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŸFor an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcorrectionsPolicy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1943”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1941”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1942”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjvª}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jyªKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1944”…”R”Ksuj˜ª}”(jª}”j„ªKsj”ª}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/Organization-department”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/department”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒßA relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ department”NN‡”R”KsuhŒ.http://schema.org/Organization-dissolutionDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/dissolutionDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The date that this organization was dissolved.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdissolutionDate”NN‡”R”KsuhŒ.http://schema.org/Organization-diversityPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/diversityPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒñStatement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdiversityPolicy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1947”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1945”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1946”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj«}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j«KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1948”…”R”Ksuj>«}”(j6«}”j*«Ksj:«}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ6http://schema.org/Organization-diversityStaffingReport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/diversityStaffingReport”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÑFor an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”•,}”h$ŒdiversityStaffingReport”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1951”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1949”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Article”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1950”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjn«}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jq«KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1952”…”R”Ksuj«}”(jˆ«}”j|«KsjŒ«}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Organization-duns”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duns”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒXThe Dun & Bradstreet DUNS number for identifying an organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œduns”NN‡”R”KsuhŒ$http://schema.org/Organization-email”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/email”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEmail address.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œemail”NN‡”R”KsuhŒ'http://schema.org/Organization-employee”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/employee”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&Someone working for this organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œemployee”NN‡”R”KsuhŒ(http://schema.org/Organization-employees”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/employees”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%People working for this organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ employees”NN‡”R”KsuhŒ+http://schema.org/Organization-ethicsPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/ethicsPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XsStatement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ ethicsPolicy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1955”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1953”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1954”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjh¬}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jk¬KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1956”…”R”KsujЬ}”(j‚¬}”jv¬Ksj†¬}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Organization-event”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/event”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKUpcoming or past event associated with this place, organization, or action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œevent”NN‡”R”KsuhŒ%http://schema.org/Organization-events”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/events”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCUpcoming or past events associated with this place or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œevents”NN‡”R”KsuhŒ(http://schema.org/Organization-faxNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/faxNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe fax number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ faxNumber”NN‡”R”KsuhŒ&http://schema.org/Organization-founder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/founder”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'A person who founded this organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfounder”NN‡”R”KsuhŒ'http://schema.org/Organization-founders”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/founders”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'A person who founded this organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfounders”NN‡”R”KsuhŒ+http://schema.org/Organization-foundingDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/foundingDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,The date that this organization was founded.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ foundingDate”NN‡”R”KsuhŒ/http://schema.org/Organization-foundingLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/foundingLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-The place where the Organization was founded.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfoundingLocation”NN‡”R”KsuhŒ%http://schema.org/Organization-funder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/funder”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhA person or organization that supports (sponsors) something through some kind of financial contribution.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfunder”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1959”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1957”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1958”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjà­}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jã­KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1960”…”R”Ksuj®}”(jú­}”jî­Ksjþ­}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ3http://schema.org/Organization-globalLocationNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/globalLocationNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒþThe [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒglobalLocationNumber”NN‡”R”KsuhŒ,http://schema.org/Organization-hasCredential”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasCredential”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ3http://schema.org/EducationalOccupationalCredential”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3A credential awarded to the Person or Organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ hasCredential”NN‡”R”KsuhŒ6http://schema.org/Organization-hasMerchantReturnPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/hasMerchantReturnPolicy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/MerchantReturnPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8Indicates a MerchantReturnPolicy that may be applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasMerchantReturnPolicy”NN‡”R”KsuhŒ.http://schema.org/Organization-hasOfferCatalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/hasOfferCatalog”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/OfferCatalog”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLIndicates an OfferCatalog listing for this Organization, Person, or Service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasOfferCatalog”NN‡”R”KsuhŒ%http://schema.org/Organization-hasPOS”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasPOS”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Points-of-Sales operated by the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasPOS”NN‡”R”KsuhŒ5http://schema.org/Organization-hasProductReturnPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/hasProductReturnPolicy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/ProductReturnPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Indicates a ProductReturnPolicy that may be applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasProductReturnPolicy”NN‡”R”KsuhŒ3http://schema.org/Organization-interactionStatistic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/interactionStatistic”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒœThe number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinteractionStatistic”NN‡”R”KsuhŒ%http://schema.org/Organization-isicV4”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isicV4”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¤The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒisicV4”NN‡”R”KsuhŒ)http://schema.org/Organization-knowsAbout”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/knowsAbout”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XOf a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ knowsAbout”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1964”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1961”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1962”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1963”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‚¯}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j…¯KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1965”…”R”Ksuj¯¯}”(j§¯}”j¯Ksj«¯}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1966”…”R”Ksujµ¯}”(j§¯}”j›¯Ksj«¯}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/Organization-knowsLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/knowsLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒüOf a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ knowsLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1969”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1967”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1968”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjå¯}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jè¯KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1970”…”R”Ksuj°}”(jÿ¯}”jó¯Ksj°}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/Organization-legalName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/legalName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHThe official name of the organization, e.g. the registered company name.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ legalName”NN‡”R”KsuhŒ&http://schema.org/Organization-leiCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/leiCode”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[An organization identifier that uniquely identifies a legal entity as defined in ISO 17442.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒleiCode”NN‡”R”KsuhŒ'http://schema.org/Organization-location”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/location”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ|The location of, for example, where an event is happening, where an organization is located, or where an action takes place.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlocation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1975”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1971”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1972”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1973”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/VirtualLocation”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1974”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj‹°}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jްKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1976”…”R”Ksujð}”(j»°}”j™°Ksj¿°}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1977”…”R”Ksujɰ}”(j»°}”j¤°Ksj¿°}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1978”…”R”Ksujϰ}”(j»°}”j¯°Ksj¿°}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Organization-logo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/logo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn associated logo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlogo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1981”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1979”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1980”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjÿ°}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j±KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1982”…”R”Ksuj!±}”(j±}”j ±Ksj±}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/Organization-makesOffer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/makesOffer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHA pointer to products or services offered by the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ makesOffer”NN‡”R”KsuhŒ%http://schema.org/Organization-member”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/member”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ’A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmember”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1985”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1983”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1984”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj{±}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j~±KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1986”…”R”Ksuj±}”(j•±}”j‰±Ksj™±}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Organization-memberOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/memberOf”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒTAn Organization (or ProgramMembership) to which this Person or Organization belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmemberOf”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1989”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1987”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1988”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/ProgramMembership”…”R”Kssjͱ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jбKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1990”…”R”Ksujï±}”(jç±}”jÛ±Ksjë±}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/Organization-members”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/members”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA member of this organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmembers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1993”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1991”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1992”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj²}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j"²KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1994”…”R”KsujA²}”(j9²}”j-²Ksj=²}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Organization-naics”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/naics”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒpThe North American Industry Classification System (NAICS) code for a particular organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œnaics”NN‡”R”KsuhŒ.http://schema.org/Organization-nonprofitStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/nonprofitStatus”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/NonprofitType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œjnonprofit Status indicates the legal status of a non-profit organization in its primary place of business.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnonprofitStatus”NN‡”R”KsuhŒ0http://schema.org/Organization-numberOfEmployees”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/numberOfEmployees”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9The number of employees in an organization e.g. business.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfEmployees”NN‡”R”KsuhŒ3http://schema.org/Organization-ownershipFundingInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/ownershipFundingInfo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X_For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒownershipFundingInfo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b1999”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b1995”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/AboutPage”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1996”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1997”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b1998”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjï²}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jò²KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2000”…”R”Ksuj'³}”(j³}”jý²Ksj#³}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2001”…”R”Ksuj-³}”(j³}”j³Ksj#³}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2002”…”R”Ksuj3³}”(j³}”j³Ksj#³}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Organization-owns”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/owns”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-Products owned by the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œowns”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2005”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2003”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/OwnershipInfo”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2004”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssjc³}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jf³KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2006”…”R”Ksuj…³}”(j}³}”jq³Ksj³}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/Organization-parentOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/parentOrganization”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSThe larger organization that this organization is a [[subOrganization]] of, if any.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒparentOrganization”NN‡”R”KsuhŒ3http://schema.org/Organization-publishingPrinciples”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/publishingPrinciples”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XaThe publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpublishingPrinciples”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2009”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2007”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2008”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjß³}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jâ³KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2010”…”R”Ksuj´}”(jù³}”jí³Ksjý³}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Organization-review”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/review”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA review of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreview”NN‡”R”KsuhŒ&http://schema.org/Organization-reviews”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviews”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒReview of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreviews”NN‡”R”KsuhŒ$http://schema.org/Organization-seeks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seeks”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Demand”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPA pointer to products or services sought by the organization or person (demand).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseeks”NN‡”R”KsuhŒ*http://schema.org/Organization-serviceArea”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serviceArea”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The geographic area where the service is provided.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serviceArea”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2014”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2011”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2012”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2013”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¯´}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j²´KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2015”…”R”KsujÜ´}”(jÔ´}”j½´KsjØ´}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2016”…”R”Ksujâ´}”(jÔ´}”jÈ´KsjØ´}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Organization-slogan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/slogan”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A slogan or motto associated with the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œslogan”NN‡”R”KsuhŒ&http://schema.org/Organization-sponsor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sponsor”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªA person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsponsor”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2019”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2017”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2018”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj<µ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j?µKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2020”…”R”Ksuj^µ}”(jVµ}”jJµKsjZµ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/Organization-subOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/subOrganization”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ—A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific 'department' property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubOrganization”NN‡”R”KsuhŒ$http://schema.org/Organization-taxID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/taxID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒbThe Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtaxID”NN‡”R”KsuhŒ(http://schema.org/Organization-telephone”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/telephone”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe telephone number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ telephone”NN‡”R”KsuhŒ3http://schema.org/Organization-unnamedSourcesPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/unnamedSourcesPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ–For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunnamedSourcesPolicy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2023”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2021”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2022”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj ¶}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¶KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2024”…”R”Ksuj.¶}”(j&¶}”j¶Ksj*¶}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Organization-vatID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/vatID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5The Value-added Tax ID of the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvatID”NN‡”R”KsuhŒ"http://schema.org/OrganizationRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?A subclass of Role used to describe roles within organizations.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOrganization role”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Role”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ3http://schema.org/OrganizationRole-numberedPosition”…”R”KsuhŒ3http://schema.org/OrganizationRole-numberedPosition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/numberedPosition”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒcA number associated with a role in an organization, for example, the number on an athlete's jersey.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberedPosition”NN‡”R”KsuhŒ http://schema.org/OrganizeAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRThe act of manipulating/administering/supervising/controlling one or more objects.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOrganize action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KsuhŒ&http://schema.org/OriginalMediaContent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/MediaManipulationRatingEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2450”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XContent coded 'as original media content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'original': No evidence the footage has been misleadingly altered or manipulated, though it may contain false or misleading claims. For an [[ImageObject]] to be 'original': No evidence the image has been misleadingly altered or manipulated, though it may still contain false or misleading claims. For an [[ImageObject]] with embedded text to be 'original': No evidence the image has been misleadingly altered or manipulated, though it may still contain false or misleading claims. For an [[AudioObject]] to be 'original': No evidence the audio has been misleadingly altered or manipulated, though it may contain false or misleading claims. ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOriginal media content”NN‡”R”KsuhŒ&http://schema.org/OriginalShippingFees”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/ReturnFeesEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOriginalShippingFees ...”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOriginal shipping fees”NN‡”R”KsuhŒhttp://schema.org/Osteopathic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/MedicineSystem”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSA system of medicine focused on promoting the body's innate ability to heal itself.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Osteopathic”NN‡”R”KsuhŒ!http://schema.org/Otolaryngologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyA specific branch of medical science that is concerned with the ear, nose and throat and their respective disease states.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOtolaryngologic”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒhttp://schema.org/OutOfStock”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/ItemAvailability”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(Indicates that the item is out of stock.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Out of stock”NN‡”R”KsuhŒhttp://schema.org/OutletStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAn outlet store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Outlet store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ&http://schema.org/OverviewHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒxOverview of the content. Contains a summarized view of the topic with the most relevant information for an introduction.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOverview health aspect”NN‡”R”KsuhŒhttp://schema.org/OwnershipInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmA structured value providing information about when a certain organization or person owned a certain product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOwnership info”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ,http://schema.org/OwnershipInfo-acquiredFrom”…”R”KhŒ)http://schema.org/OwnershipInfo-ownedFrom”…”R”KhŒ,http://schema.org/OwnershipInfo-ownedThrough”…”R”KhŒ*http://schema.org/OwnershipInfo-typeOfGood”…”R”KuuhŒ,http://schema.org/OwnershipInfo-acquiredFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/acquiredFrom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?The organization or person from which the product was acquired.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ acquiredFrom”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2027”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2025”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2026”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj=¸}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j@¸KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2028”…”R”Ksuj_¸}”(jW¸}”jK¸Ksj[¸}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/OwnershipInfo-ownedFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/ownedFrom”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+The date and time of obtaining the product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ ownedFrom”NN‡”R”KsuhŒ,http://schema.org/OwnershipInfo-ownedThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/ownedThrough”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8The date and time of giving up ownership on the product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ ownedThrough”NN‡”R”KsuhŒ*http://schema.org/OwnershipInfo-typeOfGood”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/typeOfGood”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7The product that this structured value is referring to.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ typeOfGood”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2031”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2029”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2030”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”Kssjã¸}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jæ¸KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2032”…”R”Ksuj¹}”(jý¸}”jñ¸Ksj¹}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/PET”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/MedicalImagingTechnique”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%Positron emission tomography imaging.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPET”NN‡”R”KsuhŒhttp://schema.org/PaidLeave”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ,PaidLeave: this is a benefit for paid leave.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Paid leave”NN‡”R”KsuhŒhttp://schema.org/PaintAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒPThe act of producing a painting, typically with paint and canvas as instruments.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Paint action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreateAction”…”R”KsuhŒhttp://schema.org/Painting”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A painting.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPainting”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KsuhŒ%http://schema.org/PalliativeProcedure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‚A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPalliative procedure”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ"http://schema.org/MedicalProcedure”…”R”KhŒ http://schema.org/MedicalTherapy”…”R”KuuhŒhttp://schema.org/Paperback”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/BookFormatType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBook format: Paperback.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Paperback”NN‡”R”KsuhŒ http://schema.org/ParcelDelivery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOThe delivery of a parcel either via the postal service or a commercial service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒParcel delivery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/ParcelDelivery-carrier”…”R”KhŒ0http://schema.org/ParcelDelivery-deliveryAddress”…”R”KhŒ/http://schema.org/ParcelDelivery-deliveryStatus”…”R”KhŒ4http://schema.org/ParcelDelivery-expectedArrivalFrom”…”R”KhŒ5http://schema.org/ParcelDelivery-expectedArrivalUntil”…”R”KhŒ2http://schema.org/ParcelDelivery-hasDeliveryMethod”…”R”KhŒ,http://schema.org/ParcelDelivery-itemShipped”…”R”KhŒ.http://schema.org/ParcelDelivery-originAddress”…”R”KhŒ,http://schema.org/ParcelDelivery-partOfOrder”…”R”KhŒ)http://schema.org/ParcelDelivery-provider”…”R”KhŒ/http://schema.org/ParcelDelivery-trackingNumber”…”R”KhŒ,http://schema.org/ParcelDelivery-trackingUrl”…”R”KuuhŒ(http://schema.org/ParcelDelivery-carrier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/carrier”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒY'carrier' is an out-dated term indicating the 'provider' for parcel delivery and flights.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcarrier”NN‡”R”KsuhŒ0http://schema.org/ParcelDelivery-deliveryAddress”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/deliveryAddress”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDestination address.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdeliveryAddress”NN‡”R”KsuhŒ/http://schema.org/ParcelDelivery-deliveryStatus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/deliveryStatus”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DeliveryEvent”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhNew entry added as the package passes through each leg of its journey (from shipment to final delivery).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdeliveryStatus”NN‡”R”KsuhŒ4http://schema.org/ParcelDelivery-expectedArrivalFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/expectedArrivalFrom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)The earliest date the package may arrive.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexpectedArrivalFrom”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2035”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2033”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2034”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjݺ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jàºKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2036”…”R”Ksujÿº}”(j÷º}”jëºKsjûº}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ5http://schema.org/ParcelDelivery-expectedArrivalUntil”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/expectedArrivalUntil”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'The latest date the package may arrive.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒexpectedArrivalUntil”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2039”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2037”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2038”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj/»}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j2»KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2040”…”R”KsujQ»}”(jI»}”j=»KsjM»}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/ParcelDelivery-hasDeliveryMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/hasDeliveryMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%Method used for delivery or shipping.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasDeliveryMethod”NN‡”R”KsuhŒ,http://schema.org/ParcelDelivery-itemShipped”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemShipped”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒItem(s) being shipped.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemShipped”NN‡”R”KsuhŒ.http://schema.org/ParcelDelivery-originAddress”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/originAddress”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒShipper's address.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ originAddress”NN‡”R”KsuhŒ,http://schema.org/ParcelDelivery-partOfOrder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/partOfOrder”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Order”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>The overall order the items in this delivery were included in.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partOfOrder”NN‡”R”KsuhŒ)http://schema.org/ParcelDelivery-provider”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/provider”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐThe service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œprovider”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2043”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2041”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2042”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj)¼}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j,¼KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2044”…”R”KsujK¼}”(jC¼}”j7¼KsjG¼}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/ParcelDelivery-trackingNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/trackingNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒShipper tracking number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtrackingNumber”NN‡”R”KsuhŒ,http://schema.org/ParcelDelivery-trackingUrl”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trackingUrl”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%Tracking url for the parcel delivery.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ trackingUrl”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒhttp://schema.org/ParcelService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒëA private parcel service as the delivery mode available for a certain offer.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#DHL\n* http://purl.org/goodrelations/v1#FederalExpress\n* http://purl.org/goodrelations/v1#UPS ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”•}”h$ŒParcel service”NN‡”R”KsuhŒ http://schema.org/ParentAudience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[A set of characteristics describing parents, who can be interested in viewing some content.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒParent audience”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/PeopleAudience”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ,http://schema.org/ParentAudience-childMaxAge”…”R”KhŒ,http://schema.org/ParentAudience-childMinAge”…”R”KuuhŒ,http://schema.org/ParentAudience-childMaxAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/childMaxAge”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMaximal age of the child.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ childMaxAge”NN‡”R”KsuhŒ,http://schema.org/ParentAudience-childMinAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/childMinAge”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMinimal age of the child.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ childMinAge”NN‡”R”KsuhŒ!http://schema.org/ParentalSupport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8ParentalSupport: this is a benefit for parental support.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒParental support”NN‡”R”KsuhŒhttp://schema.org/Park”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA park.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPark”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ!http://schema.org/ParkingFacility”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(A parking lot or other parking facility.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒParking facility”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒhttp://schema.org/ParkingMap”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/MapCategoryType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA parking map.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Parking map”NN‡”R”KsuhŒ"http://schema.org/PartiallyInForce”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/LegalForceStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒHIndicates that parts of the legislation are in force, and parts are not.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPartially in force”NN‡”R”KsuhŒhttp://schema.org/Pathology”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X_A specific branch of medical science that is concerned with the study of the cause, origin and nature of a disease state, including its consequences as a result of manifestation of the disease. In clinical care, the term is used to designate a branch of medicine using laboratory tests to diagnose and determine the prognostic significance of illness.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Pathology”NN‡”R”KsuhŒhttp://schema.org/PathologyTest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒqA medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPathology test”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalTest”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ,http://schema.org/PathologyTest-tissueSample”…”R”KsuhŒ,http://schema.org/PathologyTest-tissueSample”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tissueSample”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The type of tissue sample required for the test.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ tissueSample”NN‡”R”KsuhŒhttp://schema.org/Patient”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:A patient is any person recipient of health care services.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPatient”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://schema.org/MedicalAudience”…”R”KhŒhttp://schema.org/Person”…”R”KuhŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ7http://purl.bioontology.org/ontology/SNOMEDCT/116154003”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/Patient-diagnosis”…”R”KhŒhttp://schema.org/Patient-drug”…”R”KhŒ)http://schema.org/Patient-healthCondition”…”R”KuuhŒ#http://schema.org/Patient-diagnosis”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/diagnosis”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒuOne or more alternative conditions considered in the differential diagnosis process as output of a diagnosis process.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ diagnosis”NN‡”R”KsuhŒhttp://schema.org/Patient-drug”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/drug”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Drug”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=Specifying a drug or medicine used in a medication procedure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdrug”NN‡”R”KsuhŒ)http://schema.org/Patient-healthCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/healthCondition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYSpecifying the health condition(s) of a patient, medical study, or other target audience.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthCondition”NN‡”R”KsuhŒ/http://schema.org/PatientExperienceHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ§Content about the real life experience of patients or people that have lived a similar experience about the topic. May be forums, topics, Q-and-A and related material.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Patient experience health aspect”NN‡”R”KsuhŒhttp://schema.org/PawnShop”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRA shop that will buy, or lend money against the security of, personal possessions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Pawn shop”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/PayAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'An agent pays a price to a participant.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Pay action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/TradeAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ%http://schema.org/PayAction-recipient”…”R”KsuhŒ%http://schema.org/PayAction-recipient”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/recipient”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYA sub property of participant. The participant who is at the receiving end of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ recipient”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2049”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2045”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2046”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2047”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2048”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjã¿}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jæ¿KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2050”…”R”KsujÀ}”(jÀ}”jñ¿KsjÀ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2051”…”R”Ksuj!À}”(jÀ}”jü¿KsjÀ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2052”…”R”Ksuj'À}”(jÀ}”jÀKsjÀ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/PaymentAutomaticallyApplied”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/PaymentStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9An automatic payment system is in place and will be used.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment automatically applied”NN‡”R”KsuhŒhttp://schema.org/PaymentCard”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒeA payment method using a credit, debit, store or other card to associate the payment with an account.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Payment card”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ"http://schema.org/FinancialProduct”…”R”KhŒhttp://schema.org/PaymentMethod”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ&http://schema.org/PaymentCard-cashBack”…”R”KhŒ0http://schema.org/PaymentCard-contactlessPayment”…”R”KhŒ(http://schema.org/PaymentCard-floorLimit”…”R”KhŒ;http://schema.org/PaymentCard-monthlyMinimumRepaymentAmount”…”R”KuuhŒ&http://schema.org/PaymentCard-cashBack”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cashBack”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A cardholder benefit that pays the cardholder a small percentage of their net expenditures.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcashBack”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2055”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2053”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2054”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj°À}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j³ÀKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2056”…”R”KsujÒÀ}”(jÊÀ}”j¾ÀKsjÎÀ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/PaymentCard-contactlessPayment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/contactlessPayment”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA secure method for consumers to purchase products or services via debit, credit or smartcards by using RFID or NFC technology.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcontactlessPayment”NN‡”R”KsuhŒ(http://schema.org/PaymentCard-floorLimit”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/floorLimit”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ]A floor limit is the amount of money above which credit card transactions must be authorized.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ floorLimit”NN‡”R”KsuhŒ;http://schema.org/PaymentCard-monthlyMinimumRepaymentAmount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ/http://schema.org/monthlyMinimumRepaymentAmount”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe minimum payment is the lowest amount of money that one is required to pay on a credit card statement each month.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmonthlyMinimumRepaymentAmount”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2059”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2057”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2058”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjVÁ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jYÁKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2060”…”R”KsujxÁ}”(jpÁ}”jdÁKsjtÁ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/PaymentChargeSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDThe costs of settling the payment using a particular payment method.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment charge specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒDhttp://schema.org/PaymentChargeSpecification-appliesToDeliveryMethod”…”R”KhŒChttp://schema.org/PaymentChargeSpecification-appliesToPaymentMethod”…”R”KuuhŒDhttp://schema.org/PaymentChargeSpecification-appliesToDeliveryMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/appliesToDeliveryMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/DeliveryMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The delivery method(s) to which the delivery charge or payment charge specification applies.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒappliesToDeliveryMethod”NN‡”R”KsuhŒChttp://schema.org/PaymentChargeSpecification-appliesToPaymentMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/appliesToPaymentMethod”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PaymentMethod”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHThe payment method(s) to which the payment charge specification applies.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒappliesToPaymentMethod”NN‡”R”KsuhŒ!http://schema.org/PaymentComplete”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/PaymentStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ,The payment has been received and processed.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment complete”NN‡”R”KsuhŒ!http://schema.org/PaymentDeclined”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/PaymentStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDThe payee received the payment, but it was declined for some reason.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment declined”NN‡”R”KsuhŒhttp://schema.org/PaymentDue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/PaymentStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGThe payment is due, but still within an acceptable time to be received.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Payment due”NN‡”R”KsuhŒhttp://schema.org/PaymentMethod”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X³A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#ByBankTransferInAdvance\n* http://purl.org/goodrelations/v1#ByInvoice\n* http://purl.org/goodrelations/v1#Cash\n* http://purl.org/goodrelations/v1#CheckInAdvance\n* http://purl.org/goodrelations/v1#COD\n* http://purl.org/goodrelations/v1#DirectDebit\n* http://purl.org/goodrelations/v1#GoogleCheckout\n* http://purl.org/goodrelations/v1#PayPal\n* http://purl.org/goodrelations/v1#PaySwarm ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment method”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ http://schema.org/PaymentPastDue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://schema.org/PaymentStatusType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'The payment is due and considered late.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment past due”NN‡”R”KsuhŒ http://schema.org/PaymentService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ:http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FIBO”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA Service to transfer funds from a person or organization to a beneficiary person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/FinancialProduct”…”R”KsuhŒ#http://schema.org/PaymentStatusType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒIA specific payment status. For example, PaymentDue, PaymentComplete, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPayment status type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/StatusEnumeration”…”R”KsuhŒhttp://schema.org/Pediatric”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒgA specific branch of medical science that specializes in the care of infants, children and adolescents.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Pediatric”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ http://schema.org/PeopleAudience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYA set of characteristics belonging to people, e.g. who compose an item's target audience.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPeople audience”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Audience”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ0http://schema.org/PeopleAudience-healthCondition”…”R”KhŒ/http://schema.org/PeopleAudience-requiredGender”…”R”KhŒ/http://schema.org/PeopleAudience-requiredMaxAge”…”R”KhŒ/http://schema.org/PeopleAudience-requiredMinAge”…”R”KhŒ-http://schema.org/PeopleAudience-suggestedAge”…”R”KhŒ0http://schema.org/PeopleAudience-suggestedGender”…”R”KhŒ0http://schema.org/PeopleAudience-suggestedMaxAge”…”R”KhŒ5http://schema.org/PeopleAudience-suggestedMeasurement”…”R”KhŒ0http://schema.org/PeopleAudience-suggestedMinAge”…”R”KuuhŒ0http://schema.org/PeopleAudience-healthCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/healthCondition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYSpecifying the health condition(s) of a patient, medical study, or other target audience.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhealthCondition”NN‡”R”KsuhŒ/http://schema.org/PeopleAudience-requiredGender”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/requiredGender”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'Audiences defined by a person's gender.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrequiredGender”NN‡”R”KsuhŒ/http://schema.org/PeopleAudience-requiredMaxAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/requiredMaxAge”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,Audiences defined by a person's maximum age.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrequiredMaxAge”NN‡”R”KsuhŒ/http://schema.org/PeopleAudience-requiredMinAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/requiredMinAge”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,Audiences defined by a person's minimum age.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrequiredMinAge”NN‡”R”KsuhŒ-http://schema.org/PeopleAudience-suggestedAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/suggestedAge”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒvThe age or age range for the intended audience or person, for example 3-12 months for infants, 1-5 years for toddlers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ suggestedAge”NN‡”R”KsuhŒ0http://schema.org/PeopleAudience-suggestedGender”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/suggestedGender”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒcThe suggested gender of the intended person or audience, for example "male", "female", or "unisex".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuggestedGender”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2063”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2061”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GenderType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2062”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjUÄ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jXÄKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2064”…”R”KsujwÄ}”(joÄ}”jcÄKsjsÄ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/PeopleAudience-suggestedMaxAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/suggestedMaxAge”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ:Maximum recommended age in years for the audience or user.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuggestedMaxAge”NN‡”R”KsuhŒ5http://schema.org/PeopleAudience-suggestedMeasurement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/suggestedMeasurement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐA suggested range of body measurements for the intended audience or person, for example inseam between 32 and 34 inches or height between 170 and 190 cm. Typically found on a size chart for wearable products.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuggestedMeasurement”NN‡”R”KsuhŒ0http://schema.org/PeopleAudience-suggestedMinAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/suggestedMinAge”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ:Minimum recommended age in years for the audience or user.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuggestedMinAge”NN‡”R”KsuhŒ'http://schema.org/PercutaneousProcedure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/MedicalProcedureType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÌA type of medical procedure that involves percutaneous techniques, where access to organs or tissue is achieved via needle-puncture of the skin. For example, catheter-based procedures like stent delivery.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPercutaneous procedure”NN‡”R”KsuhŒhttp://schema.org/PerformAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-The act of participating in performance arts.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPerform action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/PlayAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ5http://schema.org/PerformAction-entertainmentBusiness”…”R”KsuhŒ5http://schema.org/PerformAction-entertainmentBusiness”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/entertainmentBusiness”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ'http://schema.org/EntertainmentBusiness”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQA sub property of location. The entertainment business where the action occurred.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒentertainmentBusiness”NN‡”R”KsuhŒ!http://schema.org/PerformanceRole”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ{A PerformanceRole is a Role that some entity places with regard to a theatrical performance, e.g. in a Movie, TVSeries etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPerformance role”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Role”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ/http://schema.org/PerformanceRole-characterName”…”R”KsuhŒ/http://schema.org/PerformanceRole-characterName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/characterName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The name of a character played in some acting or performing role, i.e. in a PerformanceRole.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ characterName”NN‡”R”KsuhŒ'http://schema.org/PerformingArtsTheater”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)A theater or other performing art center.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPerforming arts theater”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ!http://schema.org/PerformingGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?A performance group, such as a band, an orchestra, or a circus.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPerforming group”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KsuhŒhttp://schema.org/Periodical”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_bibex”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X&A publication in any medium issued in successive parts bearing numerical or chronological designations and intended, such as a magazine, scholarly journal, or newspaper to continue indefinitely.\n\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Periodical”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/CreativeWorkSeries”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ(http://purl.org/ontology/bibo/Periodical”…”R”KsuhŒhttp://schema.org/Permit”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8A permit issued by an organization, e.g. a parking pass.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPermit”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ!http://schema.org/Permit-issuedBy”…”R”KhŒ&http://schema.org/Permit-issuedThrough”…”R”KhŒ'http://schema.org/Permit-permitAudience”…”R”KhŒ!http://schema.org/Permit-validFor”…”R”KhŒ"http://schema.org/Permit-validFrom”…”R”KhŒ http://schema.org/Permit-validIn”…”R”KhŒ#http://schema.org/Permit-validUntil”…”R”KuuhŒ!http://schema.org/Permit-issuedBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issuedBy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The organization issuing the ticket or permit.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒissuedBy”NN‡”R”KsuhŒ&http://schema.org/Permit-issuedThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issuedThrough”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The service through with the permit was granted.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ issuedThrough”NN‡”R”KsuhŒ'http://schema.org/Permit-permitAudience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/permitAudience”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The target audience for this permit.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpermitAudience”NN‡”R”KsuhŒ!http://schema.org/Permit-validFor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validFor”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The duration of validity of a permit or similar thing.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalidFor”NN‡”R”KsuhŒ"http://schema.org/Permit-validFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validFrom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The date when the item becomes valid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validFrom”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2067”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2065”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2066”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjZÇ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j]ÇKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2068”…”R”Ksuj|Ç}”(jtÇ}”jhÇKsjxÇ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Permit-validIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validIn”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=The geographic area where a permit or similar thing is valid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalidIn”NN‡”R”KsuhŒ#http://schema.org/Permit-validUntil”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validUntil”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The date when the item is no longer valid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validUntil”NN‡”R”KsuhŒhttp://schema.org/Person”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-A person (alive, dead, undead, or fictional).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPerson”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ http://xmlns.com/foaf/0.1/Person”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/Person-additionalName”…”R”KhŒ http://schema.org/Person-address”…”R”KhŒ$http://schema.org/Person-affiliation”…”R”KhŒ!http://schema.org/Person-alumniOf”…”R”KhŒhttp://schema.org/Person-award”…”R”KhŒhttp://schema.org/Person-awards”…”R”KhŒ"http://schema.org/Person-birthDate”…”R”KhŒ#http://schema.org/Person-birthPlace”…”R”KhŒhttp://schema.org/Person-brand”…”R”KhŒ!http://schema.org/Person-callSign”…”R”KhŒ!http://schema.org/Person-children”…”R”KhŒ"http://schema.org/Person-colleague”…”R”KhŒ#http://schema.org/Person-colleagues”…”R”KhŒ%http://schema.org/Person-contactPoint”…”R”KhŒ&http://schema.org/Person-contactPoints”…”R”KhŒ"http://schema.org/Person-deathDate”…”R”KhŒ#http://schema.org/Person-deathPlace”…”R”KhŒhttp://schema.org/Person-duns”…”R”KhŒhttp://schema.org/Person-email”…”R”KhŒ#http://schema.org/Person-familyName”…”R”KhŒ"http://schema.org/Person-faxNumber”…”R”KhŒ http://schema.org/Person-follows”…”R”KhŒhttp://schema.org/Person-funder”…”R”KhŒhttp://schema.org/Person-gender”…”R”KhŒ"http://schema.org/Person-givenName”…”R”KhŒ-http://schema.org/Person-globalLocationNumber”…”R”KhŒ&http://schema.org/Person-hasCredential”…”R”KhŒ&http://schema.org/Person-hasOccupation”…”R”KhŒ(http://schema.org/Person-hasOfferCatalog”…”R”KhŒhttp://schema.org/Person-hasPOS”…”R”KhŒhttp://schema.org/Person-height”…”R”KhŒ%http://schema.org/Person-homeLocation”…”R”KhŒ(http://schema.org/Person-honorificPrefix”…”R”KhŒ(http://schema.org/Person-honorificSuffix”…”R”KhŒ-http://schema.org/Person-interactionStatistic”…”R”KhŒhttp://schema.org/Person-isicV4”…”R”KhŒ!http://schema.org/Person-jobTitle”…”R”KhŒhttp://schema.org/Person-knows”…”R”KhŒ#http://schema.org/Person-knowsAbout”…”R”KhŒ&http://schema.org/Person-knowsLanguage”…”R”KhŒ#http://schema.org/Person-makesOffer”…”R”KhŒ!http://schema.org/Person-memberOf”…”R”KhŒhttp://schema.org/Person-naics”…”R”KhŒ$http://schema.org/Person-nationality”…”R”KhŒ!http://schema.org/Person-netWorth”…”R”KhŒhttp://schema.org/Person-owns”…”R”KhŒhttp://schema.org/Person-parent”…”R”KhŒ http://schema.org/Person-parents”…”R”KhŒ$http://schema.org/Person-performerIn”…”R”KhŒ-http://schema.org/Person-publishingPrinciples”…”R”KhŒ"http://schema.org/Person-relatedTo”…”R”KhŒhttp://schema.org/Person-seeks”…”R”KhŒ http://schema.org/Person-sibling”…”R”KhŒ!http://schema.org/Person-siblings”…”R”KhŒ http://schema.org/Person-sponsor”…”R”KhŒhttp://schema.org/Person-spouse”…”R”KhŒhttp://schema.org/Person-taxID”…”R”KhŒ"http://schema.org/Person-telephone”…”R”KhŒhttp://schema.org/Person-vatID”…”R”KhŒhttp://schema.org/Person-weight”…”R”KhŒ%http://schema.org/Person-workLocation”…”R”KhŒ!http://schema.org/Person-worksFor”…”R”KuuhŒ'http://schema.org/Person-additionalName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/additionalName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?An additional name for a Person, can be used for a middle name.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadditionalName”NN‡”R”KsuhŒ http://schema.org/Person-address”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/address”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPhysical address of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaddress”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2071”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2069”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2070”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÉ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÉKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2072”…”R”Ksuj>É}”(j6É}”j*ÉKsj:É}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Person-affiliation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/affiliation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒiAn organization that this person is affiliated with. For example, a school/university, a club, or a team.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ affiliation”NN‡”R”KsuhŒ!http://schema.org/Person-alumniOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/alumniOf”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0An organization that the person is an alumni of.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒalumniOf”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2075”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2073”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ)http://schema.org/EducationalOrganization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2074”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj˜É}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j›ÉKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2076”…”R”KsujºÉ}”(j²É}”j¦ÉKsj¶É}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-award”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/award”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ!An award won by or for this item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaward”NN‡”R”KsuhŒhttp://schema.org/Person-awards”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/awards”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAwards won by or for this item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œawards”NN‡”R”KsuhŒ"http://schema.org/Person-birthDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/birthDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDate of birth.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ birthDate”NN‡”R”KsuhŒ#http://schema.org/Person-birthPlace”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/birthPlace”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The place where the person was born.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ birthPlace”NN‡”R”KsuhŒhttp://schema.org/Person-brand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/brand”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbrand”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2079”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2077”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Brand”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2078”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj’Ê}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j•ÊKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2080”…”R”Ksuj´Ê}”(j¬Ê}”j ÊKsj°Ê}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Person-callSign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/callSign”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŸA [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcallSign”NN‡”R”KsuhŒ!http://schema.org/Person-children”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/children”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA child of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œchildren”NN‡”R”KsuhŒ"http://schema.org/Person-colleague”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/colleague”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA colleague of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ colleague”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2083”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2081”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2082”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj8Ë}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j;ËKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2084”…”R”KsujZË}”(jRË}”jFËKsjVË}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Person-colleagues”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/colleagues”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA colleague of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ colleagues”NN‡”R”KsuhŒ%http://schema.org/Person-contactPoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactPoint”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A contact point for a person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactPoint”NN‡”R”KsuhŒ&http://schema.org/Person-contactPoints”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/contactPoints”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-A contact point for a person or organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ contactPoints”NN‡”R”KsuhŒ"http://schema.org/Person-deathDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/deathDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDate of death.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ deathDate”NN‡”R”KsuhŒ#http://schema.org/Person-deathPlace”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/deathPlace”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The place where the person died.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ deathPlace”NN‡”R”KsuhŒhttp://schema.org/Person-duns”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duns”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒXThe Dun & Bradstreet DUNS number for identifying an organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œduns”NN‡”R”KsuhŒhttp://schema.org/Person-email”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/email”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEmail address.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œemail”NN‡”R”KsuhŒ#http://schema.org/Person-familyName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/familyName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4Family name. In the U.S., the last name of a Person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ familyName”NN‡”R”KsuhŒ"http://schema.org/Person-faxNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/faxNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe fax number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ faxNumber”NN‡”R”KsuhŒ http://schema.org/Person-follows”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/follows”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The most generic uni-directional social relation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfollows”NN‡”R”KsuhŒhttp://schema.org/Person-funder”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/funder”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒhA person or organization that supports (sponsors) something through some kind of financial contribution.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfunder”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2087”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2085”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2086”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj.Í}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j1ÍKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2088”…”R”KsujPÍ}”(jHÍ}”j<ÍKsjLÍ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-gender”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gender”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XGender of something, typically a [[Person]], but possibly also fictional characters, animals, etc. While http://schema.org/Male and http://schema.org/Female may be used, text strings are also acceptable for people who do not identify as a binary gender. The [[gender]] property can also be used in an extended sense to cover e.g. the gender of sports teams. As with the gender of individuals, we do not try to enumerate all possibilities. A mixed-gender [[SportsTeam]] can be indicated with a text value of "Mixed".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgender”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2091”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2089”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GenderType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2090”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj€Í}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jƒÍKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2092”…”R”Ksuj¢Í}”(jšÍ}”jŽÍKsjžÍ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Person-givenName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/givenName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4Given name. In the U.S., the first name of a Person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ givenName”NN‡”R”KsuhŒ-http://schema.org/Person-globalLocationNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/globalLocationNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒþThe [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒglobalLocationNumber”NN‡”R”KsuhŒ&http://schema.org/Person-hasCredential”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasCredential”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ3http://schema.org/EducationalOccupationalCredential”…”R”•KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3A credential awarded to the Person or Organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ hasCredential”NN‡”R”KsuhŒ&http://schema.org/Person-hasOccupation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasOccupation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Occupation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMThe Person's occupation. For past professions, use Role for expressing dates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ hasOccupation”NN‡”R”KsuhŒ(http://schema.org/Person-hasOfferCatalog”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/hasOfferCatalog”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/OfferCatalog”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLIndicates an OfferCatalog listing for this Organization, Person, or Service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasOfferCatalog”NN‡”R”KsuhŒhttp://schema.org/Person-hasPOS”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasPOS”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Points-of-Sales operated by the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasPOS”NN‡”R”KsuhŒhttp://schema.org/Person-height”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/height”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe height of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œheight”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2095”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2093”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2094”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÎÎ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÑÎKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2096”…”R”KsujðÎ}”(jèÎ}”jÜÎKsjìÎ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Person-homeLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/homeLocation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,A contact location for a person's residence.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ homeLocation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2099”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2097”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2098”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj Ï}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j#ÏKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2100”…”R”KsujBÏ}”(j:Ï}”j.ÏKsj>Ï}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/Person-honorificPrefix”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/honorificPrefix”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@An honorific prefix preceding a Person's name such as Dr/Mrs/Mr.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhonorificPrefix”NN‡”R”KsuhŒ(http://schema.org/Person-honorificSuffix”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/honorificSuffix”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒFAn honorific suffix following a Person's name such as M.D. /PhD/MSCSW.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhonorificSuffix”NN‡”R”KsuhŒ-http://schema.org/Person-interactionStatistic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/interactionStatistic”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒœThe number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinteractionStatistic”NN‡”R”KsuhŒhttp://schema.org/Person-isicV4”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isicV4”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¤The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒisicV4”NN‡”R”KsuhŒ!http://schema.org/Person-jobTitle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/jobTitle”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=The job title of the person (for example, Financial Manager).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒjobTitle”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2103”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2101”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2102”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÐ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÐKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2104”…”R”Ksuj<Ð}”(j4Ð}”j(ÐKsj8Ð}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-knows”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/knows”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5The most generic bi-directional social/work relation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œknows”NN‡”R”KsuhŒ#http://schema.org/Person-knowsAbout”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/knowsAbout”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XOf a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ knowsAbout”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2108”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2105”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2106”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2107”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj–Ð}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j™ÐKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2109”…”R”KsujÃÐ}”(j»Ð}”j¤ÐKsj¿Ð}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2110”…”R”KsujÉÐ}”(j»Ð}”j¯ÐKsj¿Ð}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/Person-knowsLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/knowsLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒüOf a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ knowsLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2113”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2111”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2112”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjùÐ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jüÐKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2114”…”R”KsujÑ}”(jÑ}”jÑKsjÑ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Person-makesOffer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/makesOffer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHA pointer to products or services offered by the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ makesOffer”NN‡”R”KsuhŒ!http://schema.org/Person-memberOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/memberOf”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒTAn Organization (or ProgramMembership) to which this Person or Organization belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmemberOf”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2117”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2115”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2116”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/ProgramMembership”…”R”KssjuÑ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jxÑKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2118”…”R”Ksuj—Ñ}”(jÑ}”jƒÑKsj“Ñ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-naics”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/naics”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒpThe North American Industry Classification System (NAICS) code for a particular organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œnaics”NN‡”R”KsuhŒ$http://schema.org/Person-nationality”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/nationality”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNationality of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ nationality”NN‡”R”KsuhŒ!http://schema.org/Person-netWorth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/netWorth”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ]The total financial value of the person as calculated by subtracting assets from liabilities.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnetWorth”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2121”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2119”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MonetaryAmount”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2120”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KssjÒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2122”…”R”Ksuj=Ò}”(j5Ò}”j)ÒKsj9Ò}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-owns”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/owns”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-Products owned by the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œowns”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2125”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2123”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/OwnershipInfo”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2124”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”KssjmÒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jpÒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2126”…”R”KsujÒ}”(j‡Ò}”j{ÒKsj‹Ò}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-parent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/parent”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA parent of this person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œparent”NN‡”R”KsuhŒ http://schema.org/Person-parents”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/parents”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA parents of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œparents”NN‡”R”KsuhŒ$http://schema.org/Person-performerIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/performerIn”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8Event that this person is a performer or participant in.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ performerIn”NN‡”R”KsuhŒ-http://schema.org/Person-publishingPrinciples”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/publishingPrinciples”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XaThe publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpublishingPrinciples”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2129”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2127”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2128”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj=Ó}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j@ÓKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2130”…”R”Ksuj_Ó}”(jWÓ}”jKÓKsj[Ó}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Person-relatedTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/relatedTo”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ#The most generic familial relation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ relatedTo”NN‡”R”KsuhŒhttp://schema.org/Person-seeks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seeks”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Demand”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPA pointer to products or services sought by the organization or person (demand).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseeks”NN‡”R”KsuhŒ http://schema.org/Person-sibling”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sibling”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA sibling of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsibling”NN‡”R”KsuhŒ!http://schema.org/Person-siblings”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/siblings”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA sibling of the person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsiblings”NN‡”R”KsuhŒ http://schema.org/Person-sponsor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sponsor”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªA person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsponsor”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2133”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2131”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2132”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj7Ô}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j:ÔKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2134”…”R”KsujYÔ}”(jQÔ}”jEÔKsjUÔ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Person-spouse”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/spouse”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe person's spouse.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œspouse”NN‡”R”KsuhŒhttp://schema.org/Person-taxID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/taxID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒbThe Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtaxID”NN‡”R”KsuhŒ"http://schema.org/Person-telephone”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/telephone”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe telephone number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ telephone”NN‡”R”KsuhŒhttp://schema.org/Person-vatID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/vatID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5The Value-added Tax ID of the organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvatID”NN‡”R”KsuhŒhttp://schema.org/Person-weight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/weight”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The weight of the product or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œweight”NN‡”R”KsuhŒ%http://schema.org/Person-workLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/workLocation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0A contact location for a person's place of work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ workLocation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2137”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2135”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2136”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj[Õ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j^ÕKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2138”…”R”Ksuj}Õ}”(juÕ}”jiÕKsjyÕ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Person-worksFor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/worksFor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(Organizations that the person works for.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒworksFor”NN‡”R”KsuhŒhttp://schema.org/PetStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A pet store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Pet store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/Pharmacy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA pharmacy or drugstore.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPharmacy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ!http://schema.org/MedicalBusiness”…”R”KhŒ%http://schema.org/MedicalOrganization”…”R”KuuhŒ#http://schema.org/PharmacySpecialty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒPThe practice or art and science of preparing and dispensing drugs and medicines.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPharmacy specialty”NN‡”R”KsuhŒhttp://schema.org/Photograph”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A photograph.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Photograph”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KsuhŒ"http://schema.org/PhotographAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œhttp://schema.org/PostalCodeRangeSpecification-postalCodeBegin”…”R”KhŒhttp://schema.org/PostalCodeRangeSpecification-postalCodeBegin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/postalCodeBegin”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ(First postal code in a range (included).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpostalCodeBegin”NN‡”R”KsuhŒhttp://schema.org/PriceSpecification-eligibleTransactionVolume”…”R”KhŒ-http://schema.org/PriceSpecification-maxPrice”…”R”KhŒ-http://schema.org/PriceSpecification-minPrice”…”R”KhŒ*http://schema.org/PriceSpecification-price”…”R”KhŒ2http://schema.org/PriceSpecification-priceCurrency”…”R”KhŒ.http://schema.org/PriceSpecification-validFrom”…”R”KhŒ1http://schema.org/PriceSpecification-validThrough”…”R”KhŒ:http://schema.org/PriceSpecification-valueAddedTaxIncluded”…”R”KuuhŒ5http://schema.org/PriceSpecification-eligibleQuantity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/eligibleQuantity”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐThe interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeligibleQuantity”NN‡”R”KsuhŒ>http://schema.org/PriceSpecification-eligibleTransactionVolume”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/eligibleTransactionVolume”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒeligibleTransactionVolume”NN‡”R”KsuhŒ-http://schema.org/PriceSpecification-maxPrice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/maxPrice”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The highest price if the price is a range.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmaxPrice”NN‡”R”KsuhŒ-http://schema.org/PriceSpecification-minPrice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/minPrice”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ)The lowest price if the price is a range.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒminPrice”NN‡”R”KsuhŒ*http://schema.org/PriceSpecification-price”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/price”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÄThe offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\n\nUsage guidelines:\n\n* Use the [[priceCurrency]] property (with standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR") instead of including [ambiguous symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) such as '$' in the value.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\n* Note that both [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) and Microdata syntax allow the use of a "content=" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œprice”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2241”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2239”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2240”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjzì}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j}ìKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2242”…”R”Ksujœì}”(j”ì}”jˆìKsj˜ì}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/PriceSpecification-priceCurrency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/priceCurrency”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XáThe currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\n\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. "USD"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. "BTC"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. "Ithaca HOUR".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ priceCurrency”NN‡”R”KsuhŒ.http://schema.org/PriceSpecification-validFrom”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validFrom”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The date when the item becomes valid.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validFrom”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2245”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2243”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2244”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjöì}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jùìKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2246”…”R”Ksují}”(jí}”jíKsjí}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/PriceSpecification-validThrough”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/validThrough”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxThe date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ validThrough”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2249”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2247”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2248”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KssjHí}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKíKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2250”…”R”Ksujjí}”(jbí}”jVíKsjfí}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ:http://schema.org/PriceSpecification-valueAddedTaxIncluded”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/valueAddedTaxIncluded”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeSpecifies whether the applicable value-added tax (VAT) is included in the price specification or not.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalueAddedTaxIncluded”NN‡”R”KsuhŒ&http://schema.org/PriceTypeEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2712”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXEnumerates different price types, for example list price, invoice price, and sale price.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPrice type enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/PrimaryCare”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ³The medical care by a physician, or other health-care professional, who is the patient's first contact with the health-care system and who may recommend a specialist if necessary.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Primary care”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒhttp://schema.org/Prion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/InfectiousAgentClass”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGA prion is an infectious agent composed of protein in a misfolded form.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPrion”NN‡”R”KsuhŒhttp://schema.org/Product”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsTerms”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ›Any offered product or service. For example: a pair of shoes; a concert ticket; the rental of a car; a haircut; or an episode of a TV show streamed online.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ,http://schema.org/Product-additionalProperty”…”R”KhŒ)http://schema.org/Product-aggregateRating”…”R”KhŒ"http://schema.org/Product-audience”…”R”KhŒhttp://schema.org/Product-award”…”R”KhŒ http://schema.org/Product-awards”…”R”KhŒhttp://schema.org/Product-brand”…”R”KhŒ"http://schema.org/Product-category”…”R”KhŒhttp://schema.org/Product-color”…”R”KhŒhttp://schema.org/Product-depth”…”R”KhŒhttp://schema.org/Product-gtin”…”R”KhŒ http://schema.org/Product-gtin12”…”R”KhŒ http://schema.org/Product-gtin13”…”R”KhŒ http://schema.org/Product-gtin14”…”R”KhŒhttp://schema.org/Product-gtin8”…”R”KhŒ5http://schema.org/Product-hasEnergyConsumptionDetails”…”R”KhŒ(http://schema.org/Product-hasMeasurement”…”R”KhŒ1http://schema.org/Product-hasMerchantReturnPolicy”…”R”KhŒ0http://schema.org/Product-hasProductReturnPolicy”…”R”KhŒ http://schema.org/Product-height”…”R”KhŒ.http://schema.org/Product-inProductGroupWithID”…”R”KhŒ3http://schema.org/Product-isAccessoryOrSparePartFor”…”R”KhŒ)http://schema.org/Product-isConsumableFor”…”R”KhŒ%http://schema.org/Product-isRelatedTo”…”R”KhŒ%http://schema.org/Product-isSimilarTo”…”R”KhŒ%http://schema.org/Product-isVariantOf”…”R”KhŒ'http://schema.org/Product-itemCondition”…”R”KhŒhttp://schema.org/Product-logo”…”R”KhŒ&http://schema.org/Product-manufacturer”…”R”KhŒ"http://schema.org/Product-material”…”R”KhŒhttp://schema.org/Product-model”…”R”KhŒhttp://schema.org/Product-mpn”…”R”KhŒhttp://schema.org/Product-nsn”…”R”KhŒ http://schema.org/Product-offers”…”R”KhŒ!http://schema.org/Product-pattern”…”R”KhŒ#http://schema.org/Product-productID”…”R”KhŒ(http://schema.org/Product-productionDate”…”R”KhŒ&http://schema.org/Product-purchaseDate”…”R”KhŒ%http://schema.org/Product-releaseDate”…”R”KhŒ http://schema.org/Product-review”…”R”KhŒ!http://schema.org/Product-reviews”…”R”KhŒhttp://schema.org/Product-size”…”R”KhŒhttp://schema.org/Product-sku”…”R”KhŒ http://schema.org/Product-slogan”…”R”KhŒ http://schema.org/Product-weight”…”R”KhŒhttp://schema.org/Product-width”…”R”KuuhŒ,http://schema.org/Product-additionalProperty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/additionalProperty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XõA property-value pair representing an additional characteristics of the entitity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.\n\nNote: Publishers should be aware that applications designed to use specific schema.org properties (e.g. http://schema.org/width, http://schema.org/color, http://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadditionalProperty”NN‡”R”KsuhŒ)http://schema.org/Product-aggregateRating”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/aggregateRating”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/AggregateRating”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒMThe overall rating, based on a collection of reviews or ratings, of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaggregateRating”NN‡”R”KsuhŒ"http://schema.org/Product-audience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/audience”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBAn intended audience, i.e. a group for whom something was created.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaudience”NN‡”R”KsuhŒhttp://schema.org/Product-award”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/award”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ!An award won by or for this item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œaward”NN‡”R”KsuhŒ http://schema.org/Product-awards”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/awards”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAwards won by or for this item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œawards”NN‡”R”KsuhŒhttp://schema.org/Product-brand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/brand”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbrand”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2253”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2251”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Brand”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2252”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KssjÉï}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÌïKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2254”…”R”Ksujëï}”(jãï}”j×ïKsjçï}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”•KsuhŒ"http://schema.org/Product-category”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/category”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒjA category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcategory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2259”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2255”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://schema.org/PhysicalActivityCategory”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2256”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2257”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2258”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjð}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jðKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2260”…”R”KsujSð}”(jKð}”j)ðKsjOð}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2261”…”R”KsujYð}”(jKð}”j4ðKsjOð}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2262”…”R”Ksuj_ð}”(jKð}”j?ðKsjOð}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Product-color”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/color”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe color of the product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcolor”NN‡”R”KsuhŒhttp://schema.org/Product-depth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/depth”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe depth of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdepth”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2265”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2263”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2264”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¹ð}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¼ðKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2266”…”R”KsujÛð}”(jÓð}”jÇðKsj×ð}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Product-gtin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gtin”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÍA Global Trade Item Number ([GTIN](https://www.gs1.org/standards/id-keys/gtin)). GTINs identify trade items, including products and services, using numeric identification codes. The [[gtin]] property generalizes the earlier [[gtin8]], [[gtin12]], [[gtin13]], and [[gtin14]] properties. The GS1 [digital link specifications](https://www.gs1.org/standards/Digital-Link/) express GTINs as URLs. A correct [[gtin]] value should be a valid GTIN, which means that it should be an all-numeric string of either 8, 12, 13 or 14 digits, or a "GS1 Digital Link" URL based on such a string. The numeric component should also have a [valid GS1 check digit](https://www.gs1.org/services/check-digit-calculator) and meet the other rules for valid GTINs. See also [GS1's GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) and [Wikipedia](https://en.wikipedia.org/wiki/Global_Trade_Item_Number) for more details. Left-padding of the gtin values is not required or encouraged. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgtin”NN‡”R”KsuhŒ http://schema.org/Product-gtin12”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gtin12”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X<The GTIN-12 code of the product, or the product to which the offer refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a U.P.C. Company Prefix, Item Reference, and Check Digit used to identify trade items. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgtin12”NN‡”R”KsuhŒ http://schema.org/Product-gtin13”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gtin13”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XBThe GTIN-13 code of the product, or the product to which the offer refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former 12-digit UPC codes can be converted into a GTIN-13 code by simply adding a preceding zero. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgtin13”NN‡”R”KsuhŒ http://schema.org/Product-gtin14”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gtin14”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¦The GTIN-14 code of the product, or the product to which the offer refers. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgtin14”NN‡”R”KsuhŒhttp://schema.org/Product-gtin8”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gtin8”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÚThe GTIN-8 code of the product, or the product to which the offer refers. This code is also known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgtin8”NN‡”R”KsuhŒ5http://schema.org/Product-hasEnergyConsumptionDetails”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ-http://schema.org/hasEnergyConsumptionDetails”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://schema.org/EnergyConsumptionDetails”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ’Defines the energy efficiency Category (also known as "class" or "rating") for a product according to an international energy efficiency standard.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasEnergyConsumptionDetails”NN‡”R”KsuhŒ(http://schema.org/Product-hasMeasurement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hasMeasurement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒðA product measurement, for example the inseam of pants, the wheel size of a bicycle, or the gauge of a screw. Usually an exact measurement, but can also be a range of measurements for adjustable products, for example belts and ski bindings.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasMeasurement”NN‡”R”KsuhŒ1http://schema.org/Product-hasMerchantReturnPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/hasMerchantReturnPolicy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/MerchantReturnPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8Indicates a MerchantReturnPolicy that may be applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasMerchantReturnPolicy”NN‡”R”KsuhŒ0http://schema.org/Product-hasProductReturnPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/hasProductReturnPolicy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/ProductReturnPolicy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Indicates a ProductReturnPolicy that may be applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasProductReturnPolicy”NN‡”R”KsuhŒ http://schema.org/Product-height”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/height”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe height of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œheight”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2269”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2267”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2268”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj…ò}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jˆòKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2270”…”R”Ksuj§ò}”(jŸò}”j“òKsj£ò}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/Product-inProductGroupWithID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/inProductGroupWithID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[Indicates the [[productGroupID]] for a [[ProductGroup]] that this product [[isVariantOf]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinProductGroupWithID”NN‡”R”KsuhŒ3http://schema.org/Product-isAccessoryOrSparePartFor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/isAccessoryOrSparePartFor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒiA pointer to another product (or multiple products) for which this product is an accessory or spare part.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒisAccessoryOrSparePartFor”NN‡”R”KsuhŒ)http://schema.org/Product-isConsumableFor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/isConsumableFor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[A pointer to another product (or multiple products) for which this product is a consumable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒisConsumableFor”NN‡”R”KsuhŒ%http://schema.org/Product-isRelatedTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isRelatedTo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEA pointer to another, somehow related product (or multiple products).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isRelatedTo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2273”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2271”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2272”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”KssjUó}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jXóKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2274”…”R”Ksujwó}”(joó}”jcóKsjsó}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Product-isSimilarTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isSimilarTo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJA pointer to another, functionally similar product (or multiple products).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isSimilarTo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2277”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2275”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2276”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”Kssj§ó}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jªóKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2278”…”R”KsujÉó}”(jÁó}”jµóKsjÅó}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Product-isVariantOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isVariantOf”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XµIndicates the kind of product that this is a variant of. In the case of [[ProductModel]], this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a [[ProductGroup]], the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with [[ProductGroup]], this property can apply to any [[Product]] included in the group.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isVariantOf”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2281”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2279”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2280”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductModel”…”R”Kssjùó}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jüóKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2282”…”R”Ksujô}”(jô}”jôKsjô}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Product-itemCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemCondition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/OfferItemCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A predefined value from OfferItemCondition or a textual description of the condition of the product or service, or the products or services included in the offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemCondition”NN‡”R”KsuhŒhttp://schema.org/Product-logo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/logo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn associated logo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlogo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2285”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2283”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2284”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjuô}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jxôKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2286”…”R”Ksuj—ô}”(jô}”jƒôKsj“ô}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/Product-manufacturer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/manufacturer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The manufacturer of the product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ manufacturer”NN‡”R”KsuhŒ"http://schema.org/Product-material”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/material”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJA material that something is made from, e.g. leather, wool, cotton, paper.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmaterial”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2290”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2287”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2288”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2289”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjñô}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jôôKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2291”…”R”Ksujõ}”(jõ}”jÿôKsjõ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2292”…”R”Ksuj$õ}”(jõ}”j õKsjõ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Product-model”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/model”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X"The model of the product. Use with the URL of a ProductModel or a textual representation of the model identifier. The URL of the ProductModel can be from an external source. It is recommended to additionally provide strong product identifiers via the gtin8/gtin13/gtin14 and mpn properties.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmodel”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2295”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2293”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductModel”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2294”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjTõ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jWõKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2296”…”R”Ksujvõ}”(jnõ}”jbõKsjrõ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Product-mpn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/mpn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmpn”NN‡”R”KsuhŒhttp://schema.org/Product-nsn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/nsn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒkIndicates the [NATO stock number](https://en.wikipedia.org/wiki/NATO_Stock_Number) (nsn) of a [[Product]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œnsn”NN‡”R”KsuhŒ http://schema.org/Product-offers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/offers”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÿAn offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œoffers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2299”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2297”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Demand”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2298”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”Kssjúõ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jýõKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2300”…”R”Ksujö}”(jö}”jöKsjö}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Product-pattern”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/pattern”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¹A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpattern”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2303”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2301”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2302”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjLö}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jOöKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2304”…”R”Ksujnö}”(jfö}”jZöKsjjö}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/Product-productID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/productID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒpThe product identifier, such as ISBN. For example: ``` meta itemprop="productID" content="isbn:123-456-789" ```.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ productID”NN‡”R”KsuhŒ(http://schema.org/Product-productionDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/productionDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The date of production of the item, e.g. vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionDate”NN‡”R”KsuhŒ&http://schema.org/Product-purchaseDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/purchaseDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBThe date the item e.g. vehicle was purchased by the current owner.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ purchaseDate”NN‡”R”KsuhŒ%http://schema.org/Product-releaseDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/releaseDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoThe release date of a product or product model. This can be used to distinguish the exact variant of a product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ releaseDate”NN‡”R”KsuhŒ http://schema.org/Product-review”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/review”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA review of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreview”NN‡”R”KsuhŒ!http://schema.org/Product-reviews”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviews”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒReview of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreviews”NN‡”R”KsuhŒhttp://schema.org/Product-size”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/size”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XIA standardized size of a product or creative work, specified either through a simple textual string (for example 'XL', '32Wx34L'), a QuantitativeValue with a unitCode, or a comprehensive and structured [[SizeSpecification]]; in other cases, the [[width]], [[height]], [[depth]] and [[weight]] properties may be more applicable. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsize”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2309”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2305”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2306”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2307”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/SizeSpecification”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2308”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjš÷}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j÷KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2310”…”R”KsujÒ÷}”(jÊ÷}”j¨÷KsjÎ÷}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2311”…”R”KsujØ÷}”(jÊ÷}”j³÷KsjÎ÷}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2312”…”R”KsujÞ÷}”(jÊ÷}”j¾÷KsjÎ÷}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Product-sku”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sku”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ…The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsku”NN‡”R”KsuhŒ http://schema.org/Product-slogan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/slogan”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A slogan or motto associated with the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œslogan”NN‡”R”KsuhŒ http://schema.org/Product-weight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/weight”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ$The weight of the product or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œweight”NN‡”R”KsuhŒhttp://schema.org/Product-width”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/width”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe width of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œwidth”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2315”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2313”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2314”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjŒø}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jøKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2316”…”R”Ksuj®ø}”(j¦ø}”jšøKsjªø}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/ProductCollection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2597”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒpA set of products (either [[ProductGroup]]s or specific variants) that are listed together e.g. in an [[Offer]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct collection”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/Collection”…”R”KhŒhttp://schema.org/Product”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ2http://schema.org/ProductCollection-includesObject”…”R”KsuhŒ2http://schema.org/ProductCollection-includesObject”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/includesObject”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/TypeAndQuantityNode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThis links to a node or nodes indicating the exact quantity of the products included in an [[Offer]] or [[ProductCollection]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒincludesObject”NN‡”R”KsuhŒhttp://schema.org/ProductGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2597”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XÚA ProductGroup represents a group of [[Product]]s that vary only in certain well-described ways, such as by [[size]], [[color]], [[material]] etc. While a ProductGroup itself is not directly offered for sale, the various varying products that it represents can be. The ProductGroup serves as a prototype or template, standing in for all of the products who have an [[isVariantOf]] relationship to it. As such, properties (including additional types) can be applied to the ProductGroup to represent characteristics shared by each of the (possibly very many) variants. Properties that reference a ProductGroup are not included in this mechanism; neither are the following specific properties [[variesBy]], [[hasVariant]], [[url]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Product group”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/ProductGroup-hasVariant”…”R”KhŒ-http://schema.org/ProductGroup-productGroupID”…”R”KhŒ'http://schema.org/ProductGroup-variesBy”…”R”KuuhŒ)http://schema.org/ProductGroup-hasVariant”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/hasVariant”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒXIndicates a [[Product]] that is a member of this [[ProductGroup]] (or [[ProductModel]]).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ hasVariant”NN‡”R”KsuhŒ-http://schema.org/ProductGroup-productGroupID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/productGroupID”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2Indicates a textual identifier for a ProductGroup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductGroupID”NN‡”R”KsuhŒ'http://schema.org/ProductGroup-variesBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/variesBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ÷Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. "color"; terms defined elsewhere can be referenced with their URIs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvariesBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2319”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2317”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2318”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÛù}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÞùKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2320”…”R”Ksujýù}”(jõù}”jéùKsjùù}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/ProductModel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ^A datasheet or vendor specification of a product (in the sense of a prototypical description).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Product model”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/ProductModel-isVariantOf”…”R”KhŒ,http://schema.org/ProductModel-predecessorOf”…”R”KhŒ*http://schema.org/ProductModel-successorOf”…”R”KuuhŒ*http://schema.org/ProductModel-isVariantOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isVariantOf”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XµIndicates the kind of product that this is a variant of. In the case of [[ProductModel]], this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a [[ProductGroup]], the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with [[ProductGroup]], this property can apply to any [[Product]] included in the group.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isVariantOf”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2323”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2321”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2322”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductModel”…”R”Kssjgú}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jjúKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2324”…”R”Ksuj‰ú}”(jú}”juúKsj…ú}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/ProductModel-predecessorOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/predecessorOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductModel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒZA pointer from a previous, often discontinued variant of the product to its newer variant.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ predecessorOf”NN‡”R”KsuhŒ*http://schema.org/ProductModel-successorOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/successorOf”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ProductModel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ]A pointer from a newer variant of a product to its previous, often discontinued predecessor.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ successorOf”NN‡”R”KsuhŒ*http://schema.org/ProductReturnEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://attic.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ+http://schema.org/MerchantReturnEnumeration”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒProductReturnEnumeration enumerates several kinds of product return policy. Note that this structure may not capture all aspects of the policy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct return enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ1http://schema.org/ProductReturnFiniteReturnWindow”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/ProductReturnEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://attic.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ2http://schema.org/MerchantReturnFiniteReturnWindow”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNProductReturnFiniteReturnWindow: there is a finite window for product returns.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ#Product return finite return window”NN‡”R”KsuhŒ+http://schema.org/ProductReturnNotPermitted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/ProductReturnEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://attic.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ,http://schema.org/MerchantReturnNotPermitted”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=ProductReturnNotPermitted: product returns are not permitted.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct return not permitted”NN‡”R”KsuhŒ%http://schema.org/ProductReturnPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://attic.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ&http://schema.org/MerchantReturnPolicy”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ|A ProductReturnPolicy provides information about product return policies associated with an [[Organization]] or [[Product]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct return policy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://schema.org/ProductReturnPolicy-productReturnDays”…”R”KhŒ7http://schema.org/ProductReturnPolicy-productReturnLink”…”R”KuuhŒ7http://schema.org/ProductReturnPolicy-productReturnDays”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productReturnDays”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ†The productReturnDays property indicates the number of days (from purchase) within which relevant product return policy is applicable.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductReturnDays”NN‡”R”KsuhŒ7http://schema.org/ProductReturnPolicy-productReturnLink”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productReturnLink”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;Indicates a Web page or service by URL, for product return.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductReturnLink”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ.http://schema.org/ProductReturnUnlimitedWindow”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/ProductReturnEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://attic.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ/http://schema.org/MerchantReturnUnlimitedWindow”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOProductReturnUnlimitedWindow: there is an unlimited window for product returns.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct return unlimited window”NN‡”R”KsuhŒ*http://schema.org/ProductReturnUnspecified”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/ProductReturnEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://attic.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ+http://schema.org/MerchantReturnUnspecified”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒHProductReturnUnspecified: a product return policy is not specified here.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProduct return unspecified”NN‡”R”KsuhŒ%http://schema.org/ProfessionalService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X-Original definition: "provider of professional services."\n\nThe general [[ProfessionalService]] type for local businesses was deprecated due to confusion with [[Service]]. For reference, the types that it included were: [[Dentist]], [[AccountingService]], [[Attorney]], [[Notary]], as well as types for several kinds of [[HomeAndConstructionBusiness]]: [[Electrician]], [[GeneralContractor]], [[HousePainter]], [[Locksmith]], [[Plumber]], [[RoofingContractor]]. [[LegalService]] was introduced as a more inclusive supertype of [[Attorney]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProfessional service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒhttp://schema.org/ProfilePage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWeb page type: Profile page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Profile page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/WebPage”…”R”KsuhŒ'http://schema.org/PrognosisHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?Typical progression and happenings of life course of the topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPrognosis health aspect”NN‡”R”KsuhŒ#http://schema.org/ProgramMembership”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŠUsed to describe membership in a loyalty programs (e.g. "StarAliance"), traveler clubs (e.g. "AAA"), purchase clubs ("Safeway Club"), etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProgram membership”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://schema.org/ProgramMembership-hostingOrganization”…”R”KhŒ*http://schema.org/ProgramMembership-member”…”R”KhŒ+http://schema.org/ProgramMembership-members”…”R”KhŒ4http://schema.org/ProgramMembership-membershipNumber”…”R”KhŒ:http://schema.org/ProgramMembership-membershipPointsEarned”…”R”KhŒ/http://schema.org/ProgramMembership-programName”…”R”KuuhŒ7http://schema.org/ProgramMembership-hostingOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/hostingOrganization”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒNThe organization (airline, travelers' club, etc.) the membership is made with.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhostingOrganization”NN‡”R”KsuhŒ*http://schema.org/ProgramMembership-member”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/member”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ’A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmember”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2327”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2325”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2326”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjrý}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”juýKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2328”…”R”Ksuj”ý}”(jŒý}”j€ýKsjý}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/ProgramMembership-members”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/members”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA member of this organization.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œmembers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2331”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2329”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2330”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjÄý}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÇýKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2332”…”R”Ksujæý}”(jÞý}”jÒýKsjâý}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ4http://schema.org/ProgramMembership-membershipNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/membershipNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'A unique identifier for the membership.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmembershipNumber”NN‡”R”KsuhŒ:http://schema.org/ProgramMembership-membershipPointsEarned”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/membershipPointsEarned”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¥The number of membership points earned by the member. If necessary, the unitText can be used to express the units the points are issued in. (e.g. stars, miles, etc.)”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmembershipPointsEarned”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2335”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2333”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2334”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj@þ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jCþKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2336”…”R”Ksujbþ}”(jZþ}”jNþKsj^þ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/ProgramMembership-programName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/programName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The program providing the membership.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ programName”NN‡”R”KsuhŒhttp://schema.org/Project”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ1https://github.com/schemaorg/schemaorg/issues/383”…”R”KhŒEhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#FundInfoCollab”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÞAn enterprise (potentially individual but typically collaborative), planned to achieve a particular aim. Use properties from [[Organization]], [[subOrganization]]/[[parentOrganization]] to indicate project sub-structures. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProject”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KsuhŒ#http://schema.org/PronounceableText”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2108”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒData type: PronounceableText.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPronounceable text”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/PronounceableText-inLanguage”…”R”KhŒ0http://schema.org/PronounceableText-phoneticText”…”R”KhŒ6http://schema.org/PronounceableText-speechToTextMarkup”…”R”KhŒ-http://schema.org/PronounceableText-textValue”…”R”KuuhŒ.http://schema.org/PronounceableText-inLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÈThe language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2339”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2337”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2338”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj7ÿ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j:ÿKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2340”…”R”KsujYÿ}”(jQÿ}”jEÿKsjUÿ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/PronounceableText-phoneticText”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/phoneticText”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒRepresentation of a text [[textValue]] using the specified [[speechToTextMarkup]]. For example the city name of Houston in IPA: /ˈhjuËstÉ™n/.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ phoneticText”NN‡”R”KsuhŒ6http://schema.org/PronounceableText-speechToTextMarkup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/speechToTextMarkup”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ€Form of markup used. eg. [SSML](https://www.w3.org/TR/speech-synthesis11) or [IPA](https://www.wikidata.org/wiki/Property:P898).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒspeechToTextMarkup”NN‡”R”KsuhŒ-http://schema.org/PronounceableText-textValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/textValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒText value being annotated.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ textValue”NN‡”R”KsuhŒhttp://schema.org/PropertyValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XÁA property-value pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.\n\n Always use specific schema.org properties when a) they exist and b) you can populate them. Using PropertyValue as a substitute will typically not trigger the same effect as using the original, specific property. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProperty value”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/PropertyValue-maxValue”…”R”KhŒ4http://schema.org/PropertyValue-measurementTechnique”…”R”KhŒ(http://schema.org/PropertyValue-minValue”…”R”•KhŒ*http://schema.org/PropertyValue-propertyID”…”R”KhŒ(http://schema.org/PropertyValue-unitCode”…”R”KhŒ(http://schema.org/PropertyValue-unitText”…”R”KhŒ%http://schema.org/PropertyValue-value”…”R”KhŒ.http://schema.org/PropertyValue-valueReference”…”R”KuuhŒ(http://schema.org/PropertyValue-maxValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/maxValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The upper value of some characteristic or property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmaxValue”NN‡”R”KsuhŒ4http://schema.org/PropertyValue-measurementTechnique”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/measurementTechnique”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÁA technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: "mass spectrometry" or "nmr spectroscopy" or "colorimetry" or "immunofluorescence". If the [[variableMeasured]] is "depression rating", the [[measurementTechnique]] could be "Zung Scale" or "HAM-D" or "Beck Depression Inventory". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmeasurementTechnique”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2343”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2341”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2342”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjz}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j}KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2344”…”R”Ksujœ}”(j”}”jˆKsj˜}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/PropertyValue-minValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/minValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The lower value of some characteristic or property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒminValue”NN‡”R”KsuhŒ*http://schema.org/PropertyValue-propertyID”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/propertyID”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XvA commonly used identifier for the characteristic represented by the property, e.g. a manufacturer or a standard code for a property. propertyID can be (1) a prefixed string, mainly meant to be used with standards for product properties; (2) a site-specific, non-prefixed string (e.g. the primary key of the property or the vendor-specific id of the property), or (3) a URL indicating the type of the property, either pointing to an external vocabulary, or a Web resource that describes the property (e.g. a glossary entry). Standards bodies should promote a standard prefix for the identifiers of properties from their standards.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ propertyID”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2347”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2345”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2346”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjö}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jùKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2348”…”R”Ksuj}”(j}”jKsj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/PropertyValue-unitCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/unitCode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ°The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunitCode”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2351”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2349”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2350”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjH}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2352”…”R”Ksujj}”(jb}”jVKsjf}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/PropertyValue-unitText”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/unitText”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for unitCode.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunitText”NN‡”R”KsuhŒ%http://schema.org/PropertyValue-value”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/value”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe value of the quantitative value or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œvalue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2357”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2353”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2354”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2355”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2356”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÄ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÇKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2358”…”R”Ksujü}”(jô}”jÒKsjø}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2359”…”R”Ksuj}”(jô}”jÝKsjø}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2360”…”R”Ksuj}”(jô}”jèKsjø}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/PropertyValue-valueReference”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/valueReference”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalueReference”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2369”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2361”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2362”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Enumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2363”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ,http://schema.org/MeasurementTypeEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2364”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2365”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2366”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2367”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2368”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj8}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j;KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2370”…”R”Ksujœ}”(j”}”jFKsj˜}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2371”…”R”Ksuj¢}”(j”}”jQKsj˜}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2372”…”R”Ksuj¨}”(j”}”j\Ksj˜}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2373”…”R”Ksuj®}”(j”}”jgKsj˜}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2374”…”R”Ksuj´}”(j”}”jrKsj˜}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2375”…”R”Ksujº}”(j”}”j}Ksj˜}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2376”…”R”KsujÀ}”(j”}”jˆKsj˜}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/PropertyValueSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒNhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_ActionCollabClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA Property value specification.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProperty value specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ9http://schema.org/PropertyValueSpecification-defaultValue”…”R”KhŒ5http://schema.org/PropertyValueSpecification-maxValue”…”R”KhŒ5http://schema.org/PropertyValueSpecification-minValue”…”R”KhŒ;http://schema.org/PropertyValueSpecification-multipleValues”…”R”KhŒ:http://schema.org/PropertyValueSpecification-readonlyValue”…”R”KhŒ6http://schema.org/PropertyValueSpecification-stepValue”…”R”KhŒ;http://schema.org/PropertyValueSpecification-valueMaxLength”…”R”KhŒ;http://schema.org/PropertyValueSpecification-valueMinLength”…”R”KhŒ6http://schema.org/PropertyValueSpecification-valueName”…”R”KhŒ9http://schema.org/PropertyValueSpecification-valuePattern”…”R”KhŒ:http://schema.org/PropertyValueSpecification-valueRequired”…”R”KuuhŒ9http://schema.org/PropertyValueSpecification-defaultValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/defaultValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¿The default value of the input. For properties that expect a literal, the default is a literal value, for properties that expect an object, it's an ID reference to one of the current values.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ defaultValue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2379”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2377”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2378”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjB}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jEKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2380”…”R”Ksujd}”(j\}”jPKsj`}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ5http://schema.org/PropertyValueSpecification-maxValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/maxValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The upper value of some characteristic or property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmaxValue”NN‡”R”KsuhŒ5http://schema.org/PropertyValueSpecification-minValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/minValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ3The lower value of some characteristic or property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒminValue”NN‡”R”KsuhŒ;http://schema.org/PropertyValueSpecification-multipleValues”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/multipleValues”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHWhether multiple values are allowed for the property. Default is false.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmultipleValues”NN‡”R”KsuhŒ:http://schema.org/PropertyValueSpecification-readonlyValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/readonlyValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ§Whether or not a property is mutable. Default is false. Specifying this for a property that also has a value makes it act similar to a "hidden" input in an HTML form.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ readonlyValue”NN‡”R”KsuhŒ6http://schema.org/PropertyValueSpecification-stepValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/stepValue”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe stepValue attribute indicates the granularity that is expected (and required) of the value in a PropertyValueSpecification.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ stepValue”NN‡”R”KsuhŒ;http://schema.org/PropertyValueSpecification-valueMaxLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/valueMaxLength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHSpecifies the allowed range for number of characters in a literal value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalueMaxLength”NN‡”R”KsuhŒ;http://schema.org/PropertyValueSpecification-valueMinLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/valueMinLength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPSpecifies the minimum allowed range for number of characters in a literal value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalueMinLength”NN‡”R”KsuhŒ6http://schema.org/PropertyValueSpecification-valueName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/valueName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŽIndicates the name of the PropertyValueSpecification to be used in URL templates and form encoding in a manner analogous to HTML's input@name.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ valueName”NN‡”R”KsuhŒ9http://schema.org/PropertyValueSpecification-valuePattern”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/valuePattern”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒUSpecifies a regular expression for testing literal values according to the HTML spec.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ valuePattern”NN‡”R”KsuhŒ:http://schema.org/PropertyValueSpecification-valueRequired”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/valueRequired”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQWhether the property must be filled in to complete the action. Default is false.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ valueRequired”NN‡”R”KsuhŒhttp://schema.org/Protozoa”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/InfectiousAgentClass”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Single-celled organism that causes an infection.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProtozoa”NN‡”R”KsuhŒhttp://schema.org/Psychiatric”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ£A specific branch of medical science that is concerned with the study, treatment, and prevention of mental illness, using both medical and psychological therapies.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Psychiatric”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ(http://schema.org/PsychologicalTreatment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‰A process of care relying upon counseling, dialogue and communication aimed at improving a mental health condition without use of drugs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPsychological treatment”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ&http://schema.org/TherapeuticProcedure”…”R”KsuhŒhttp://schema.org/PublicHealth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¬Branch of medicine that pertains to the health services to improve and protect community health, especially epidemiology, sanitation, immunization, and preventive medicine.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Public health”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/MedicalBusiness”…”R”KsuhŒ http://schema.org/PublicHolidays”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/DayOfWeek”…”R”KshŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XªThis stands for any day that is a public holiday; it is a placeholder for all official public holidays in some particular location. While not technically a "day of the week", it can be used with [[OpeningHoursSpecification]]. In the context of an opening hours specification it can be used to indicate opening hours on public holidays, overriding general opening hours for the day of the week on which a public holiday occurs.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPublic holidays”NN‡”R”KsuhŒ$http://schema.org/PublicSwimmingPool”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA public swimming pool.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPublic swimming pool”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KsuhŒhttp://schema.org/PublicToilet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1624”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÌA public toilet is a room or small building containing one or more toilets (and possibly also urinals) which is available for use by the general public, or by customers or employees of certain businesses.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Public toilet”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ"http://schema.org/PublicationEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÏA PublicationEvent corresponds indifferently to the event of publication for a CreativeWork of any type e.g. a broadcast event, an on-demand event, a book/journal publication via a variety of delivery media.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPublication event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/PublicationEvent-free”…”R”KhŒ.http://schema.org/PublicationEvent-publishedBy”…”R”KhŒ.http://schema.org/PublicationEvent-publishedOn”…”R”KuuhŒ'http://schema.org/PublicationEvent-free”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/free”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGA flag to signal that the item, event, or place is accessible for free.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œfree”NN‡”R”KsuhŒ.http://schema.org/PublicationEvent-publishedBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/publishedBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ/An agent associated with the publication event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ publishedBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2383”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2381”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2382”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjª}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j­KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2384”…”R”KsujÌ}”(jÄ}”j¸KsjÈ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/PublicationEvent-publishedOn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/publishedOn”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/BroadcastService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ:A broadcast service associated with the publication event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ publishedOn”NN‡”R”KsuhŒ"http://schema.org/PublicationIssue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_bibex”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XA part of a successively published publication such as a periodical or publication volume, often numbered, usually containing a grouping of works such as articles.\n\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPublication issue”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ#http://purl.org/ontology/bibo/Issue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ.http://schema.org/PublicationIssue-issueNumber”…”R”KhŒ*http://schema.org/PublicationIssue-pageEnd”…”R”KhŒ,http://schema.org/PublicationIssue-pageStart”…”R”KhŒ-http://schema.org/PublicationIssue-pagination”…”R”KuuhŒ.http://schema.org/PublicationIssue-issueNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issueNumber”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?Identifies the issue of publication; for example, "iii" or "2".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ issueNumber”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2387”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2385”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2386”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jmKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2388”…”R”KsujŒ}”(j„}”jxKsjˆ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/PublicationIssue-pageEnd”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/pageEnd”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒunitCode.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunitText”NN‡”R”KsuhŒ)http://schema.org/QuantitativeValue-value”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/value”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe value of the quantitative value or property value node.\n\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œvalue”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2433”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2429”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2430”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2431”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2432”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj” }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j— KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2434”…”R”KsujÌ }”(jÄ }”j¢ KsjÈ }”j¤Œ&n8b6ee6229417493cb1977c6514222981b2435”…”R”KsujÒ }”(jÄ }”j­ KsjÈ }”j¤Œ&n8b6ee6229417493cb1977c6514222981b2436”…”R”KsujØ }”(jÄ }”j¸ KsjÈ }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/QuantitativeValue-valueReference”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/valueReference”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvalueReference”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2445”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2437”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DefinedTerm”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2438”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Enumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2439”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ,http://schema.org/MeasurementTypeEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2440”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2441”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2442”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2443”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2444”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2446”…”R”Ksujl}”(jd}”jKsjh}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2447”…”R”Ksujr}”(jd}”j!Ksjh}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2448”…”R”Ksujx}”(jd}”j,Ksjh}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2449”…”R”Ksuj~}”(jd}”j7Ksjh}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2450”…”R”Ksuj„}”(jd}”jBKsjh}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2451”…”R”KsujŠ}”(jd}”jMKsjh}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2452”…”R”Ksuj}”(jd}”jXKsjh}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/QuantitativeValueDistribution”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1698”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%A statistical distribution of values.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒQuantitative value distribution”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ8http://schema.org/QuantitativeValueDistribution-duration”…”R”KhŒ6http://schema.org/QuantitativeValueDistribution-median”…”R”KhŒhttp://en.wikipedia.org/wiki/Resort).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒResort”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/LodgingBusiness”…”R”KsuhŒ$http://schema.org/RespiratoryTherapy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‚The therapy that is concerned with the maintenance or improvement of respiratory function (as in patients with pulmonary disease).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRespiratory therapy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KsuhŒhttp://schema.org/Restaurant”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A restaurant.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Restaurant”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/FoodEstablishment”…”R”KsuhŒ http://schema.org/RestockingFees”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/ReturnFeesEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRestockingFees ...”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRestocking fees”NN‡”R”KsuhŒ http://schema.org/RestrictedDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒiA diet restricted to certain foods or preparations for cultural, religious, health or lifestyle reasons. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRestricted diet”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ"http://schema.org/ResultsAvailable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒResults are available.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒResults available”NN‡”R”KsuhŒ%http://schema.org/ResultsNotAvailable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒResults are not available.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒResults not available”NN‡”R”KsuhŒhttp://schema.org/ResumeAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒuThe act of resuming a device or application which was formerly paused (e.g. resume music playback or resume a timer).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Resume action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ControlAction”…”R”KsuhŒhttp://schema.org/Retail”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/DrugCostCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7The drug's cost represents the retail cost of the drug.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRetail”NN‡”R”KsuhŒhttp://schema.org/ReturnAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒnThe act of returning to the origin that which was previously received (concrete objects) or taken (ownership).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Return action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/TransferAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ(http://schema.org/ReturnAction-recipient”…”R”KsuhŒ(http://schema.org/ReturnAction-recipient”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/recipient”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYA sub property of participant. The participant who is at the receiving end of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ recipient”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2555”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2551”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2552”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2553”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2554”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¼*}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¿*KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2556”…”R”Ksujô*}”(jì*}”jÊ*Ksjð*}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2557”…”R”Ksujú*}”(jì*}”jÕ*Ksjð*}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2558”…”R”Ksuj+}”(jì*}”jà*Ksjð*}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/ReturnFeesEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9ReturnFeesEnumeration expresses policies for return fees.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒReturn fees enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ$http://schema.org/ReturnShippingFees”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/ReturnFeesEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2288”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒReturnShippingFees ...”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒReturn shipping fees”NN‡”R”KsuhŒhttp://schema.org/Review”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDA review of an item - for example, of a restaurant, movie, or store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒReview”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ%http://schema.org/Review-itemReviewed”…”R”KhŒ%http://schema.org/Review-reviewAspect”…”R”KhŒ#http://schema.org/Review-reviewBody”…”R”KhŒ%http://schema.org/Review-reviewRating”…”R”KuuhŒ%http://schema.org/Review-itemReviewed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/itemReviewed”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&The item that is being reviewed/rated.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ itemReviewed”NN‡”R”KsuhŒ%http://schema.org/Review-reviewAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviewAspect”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLThis Review or Rating is relevant to this part or facet of the itemReviewed.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ reviewAspect”NN‡”R”KsuhŒ#http://schema.org/Review-reviewBody”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviewBody”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe actual body of the review.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ reviewBody”NN‡”R”KsuhŒ%http://schema.org/Review-reviewRating”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviewRating”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Rating”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÜThe rating given in this review. Note that reviews can themselves be rated. The ```reviewRating``` applies to rating given by the review. The [[aggregateRating]] property applies to the review itself, as a creative work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ reviewRating”NN‡”R”KsuhŒhttp://schema.org/ReviewAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe act of producing a balanced opinion about the object for an audience. An agent reviews an object with participants resulting in a review.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Review action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/AssessAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ+http://schema.org/ReviewAction-resultReview”…”R”KsuhŒ+http://schema.org/ReviewAction-resultReview”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/resultReview”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSA sub property of result. The review that resulted in the performing of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ resultReview”NN‡”R”KsuhŒ#http://schema.org/ReviewNewsArticle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ2https://github.com/schemaorg/schemaorg/issues/1525”…”R”KhŒ9https://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#TP”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ•A [[NewsArticle]] and [[CriticReview]] providing a professional critic's assessment of a service, product, performance, or artistic or literary work.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒReview news article”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CriticReview”…”R”KhŒhttp://schema.org/NewsArticle”…”R”KuuhŒhttp://schema.org/Rheumatologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒxA specific branch of medical science that deals with the study and treatment of rheumatic, autoimmune or joint diseases.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Rheumatologic”NN‡”R”KsuhŒ"http://schema.org/RightHandDriving”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/SteeringPositionValue”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒfThe steering position is on the right side of the vehicle (viewed from the main direction of driving).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRight hand driving”NN‡”R”KsuhŒ2http://schema.org/RisksOrComplicationsHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒVInformation about the risk factors and possible complications that may follow a topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ$Risks or complications health aspect”NN‡”R”KsuhŒ"http://schema.org/RiverBodyOfWater”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ2A river (for example, the broad majestic Shannon).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRiver body of water”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/BodyOfWater”…”R”KsuhŒhttp://schema.org/Role”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XRepresents additional information about a relationship or property. For example a Role can be used to say that a 'member' role linking some SportsTeam to a player occurred during a particular time period. Or that a Person's 'actor' role in a Movie was for some particular characterName. Such properties can be attached to a Role entity, which is then associated with the main entities using ordinary properties like 'member' or 'actor'.\n\nSee also [blog post](http://blog.schema.org/2014/06/introducing-role.html).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRole”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Role-endDate”…”R”KhŒ$http://schema.org/Role-namedPosition”…”R”KhŒhttp://schema.org/Role-roleName”…”R”KhŒ http://schema.org/Role-startDate”…”R”KuuhŒhttp://schema.org/Role-endDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeThe end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2561”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2559”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2560”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj½-}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÀ-KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2562”…”R”Ksujß-}”(j×-}”jË-KsjÛ-}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Role-namedPosition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/namedPosition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ·A position played, performed or filled by a person or organization, as part of an organization. For example, an athlete in a SportsTeam might play in the position named 'Quarterback'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ namedPosition”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2565”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2563”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2564”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj.}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j.KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2566”…”R”Ksuj1.}”(j).}”j.Ksj-.}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Role-roleName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/roleName”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XA role played, performed or filled by a person or organization. For example, the team of creators for a comic book might fill the roles named 'inker', 'penciller', and 'letterer'; or an athlete in a SportsTeam might play in the position named 'Quarterback'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒroleName”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2569”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2567”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2568”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssja.}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jd.KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2570”…”R”Ksujƒ.}”(j{.}”jo.Ksj.}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Role-startDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgThe start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2573”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2571”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2572”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj³.}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¶.KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2574”…”R”KsujÕ.}”(jÍ.}”jÁ.KsjÑ.}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/RoofingContractor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA roofing contractor.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRoofing contractor”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://schema.org/HomeAndConstructionBusiness”…”R”KsuhŒhttp://schema.org/Room”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒQhttps://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#STI_Accommodation_Ontology”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X‹A room is a distinguishable space within a structure, usually separated from other spaces by interior walls. (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Room).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRoom”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Accommodation”…”R”KsuhŒhttp://schema.org/RsvpAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒUThe act of notifying an event organizer as to whether you expect to attend the event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Rsvp action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/InformAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ5http://schema.org/RsvpAction-additionalNumberOfGuests”…”R”KhŒ$http://schema.org/RsvpAction-comment”…”R”KhŒ)http://schema.org/RsvpAction-rsvpResponse”…”R”KuuhŒ5http://schema.org/RsvpAction-additionalNumberOfGuests”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/additionalNumberOfGuests”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSIf responding yes, the number of guests who will attend in addition to the invitee.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadditionalNumberOfGuests”NN‡”R”KsuhŒ$http://schema.org/RsvpAction-comment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/comment”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Comment”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒComments, typically from users.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcomment”NN‡”R”KsuhŒ)http://schema.org/RsvpAction-rsvpResponse”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/rsvpResponse”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/RsvpResponseType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The response (yes, no, maybe) to the RSVP.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ rsvpResponse”NN‡”R”KsuhŒ#http://schema.org/RsvpResponseMaybe”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/RsvpResponseType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"The invitee may or may not attend.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRsvp response maybe”NN‡”R”KsuhŒ http://schema.org/RsvpResponseNo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/RsvpResponseType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe invitee will not attend.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRsvp response no”NN‡”R”KsuhŒ"http://schema.org/RsvpResponseType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ`RsvpResponseType is an enumeration type whose instances represent responding to an RSVP request.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRsvp response type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ!http://schema.org/RsvpResponseYes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/RsvpResponseType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe invitee will attend.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRsvp response yes”NN‡”R”KsuhŒhttp://schema.org/SRP”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/PriceTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2712”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDRepresents the suggested retail price ("SRP") of an offered product.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSRP”NN‡”R”KsuhŒ$http://schema.org/SafetyHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2799”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;Content about the safety-related aspects of a health topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSafety health aspect”NN‡”R”KsuhŒhttp://schema.org/SaleEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Sales event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sale event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/SalePrice”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/PriceTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2712”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒTRepresents a sale price (usually active for a limited period) of an offered product.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sale price”NN‡”R”KsuhŒ'http://schema.org/SatireOrParodyContent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/MediaManipulationRatingEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2450”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XContent coded 'satire or content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'satire or parody content': A video that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) For an [[ImageObject]] to be 'satire or parody content': An image that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) For an [[ImageObject]] with embedded text to be 'satire or parody content': An image that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) For an [[AudioObject]] to be 'satire or parody content': Audio that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSatire or parody content”NN‡”R”KsuhŒ"http://schema.org/SatiricalArticle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ2https://github.com/schemaorg/schemaorg/issues/1525”…”R”KhŒ9https://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#TP”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”•}”h$X An [[Article]] whose content is primarily [[satirical]](https://en.wikipedia.org/wiki/Satire) in nature, i.e. unlikely to be literally true. A satirical article is sometimes but not necessarily also a [[NewsArticle]]. [[ScholarlyArticle]]s are also sometimes satirized.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSatirical article”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Article”…”R”KsuhŒhttp://schema.org/Saturday”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/DayOfWeek”…”R”KshŒhttp://schema.org/sameAs”…”R”}”hŒ#http://www.wikidata.org/entity/Q131”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.The day of the week between Friday and Sunday.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSaturday”NN‡”R”KsuhŒhttp://schema.org/Schedule”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1457”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X4A schedule defines a repeating time period used to describe a regularly occurring [[Event]]. At a minimum a schedule will specify [[repeatFrequency]] which describes the interval between occurences of the event. Additional information can be provided to specify the schedule more precisely. This includes identifying the day(s) of the week or month when the recurring event will take place, in addition to its start and end time. Schedules may also have start and end dates to indicate when they are active, e.g. to define a limited calendar of events.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSchedule”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ http://schema.org/Schedule-byDay”…”R”KhŒ"http://schema.org/Schedule-byMonth”…”R”KhŒ%http://schema.org/Schedule-byMonthDay”…”R”KhŒ&http://schema.org/Schedule-byMonthWeek”…”R”KhŒ#http://schema.org/Schedule-duration”…”R”KhŒ"http://schema.org/Schedule-endDate”…”R”KhŒ"http://schema.org/Schedule-endTime”…”R”KhŒ%http://schema.org/Schedule-exceptDate”…”R”KhŒ&http://schema.org/Schedule-repeatCount”…”R”KhŒ*http://schema.org/Schedule-repeatFrequency”…”R”KhŒ+http://schema.org/Schedule-scheduleTimezone”…”R”KhŒ$http://schema.org/Schedule-startDate”…”R”KhŒ$http://schema.org/Schedule-startTime”…”R”KuuhŒ http://schema.org/Schedule-byDay”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/byDay”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÉDefines the day(s) of the week on which a recurring [[Event]] takes place. May be specified using either [[DayOfWeek]], or alternatively [[Text]] conforming to iCal's syntax for byDay recurrence rules.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbyDay”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2577”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2575”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DayOfWeek”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2576”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjò1}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jõ1KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2578”…”R”Ksuj2}”(j 2}”j2Ksj2}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Schedule-byMonth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/byMonth”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„Defines the month(s) of the year on which a recurring [[Event]] takes place. Specified as an [[Integer]] between 1-12. January is 1.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbyMonth”NN‡”R”KsuhŒ%http://schema.org/Schedule-byMonthDay”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/byMonthDay”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒuDefines the day(s) of the month on which a recurring [[Event]] takes place. Specified as an [[Integer]] between 1-31.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ byMonthDay”NN‡”R”KsuhŒ&http://schema.org/Schedule-byMonthWeek”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/byMonthWeek”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒïDefines the week(s) of the month on which a recurring Event takes place. Specified as an Integer between 1-5. For clarity, byMonthWeek is best used in conjunction with byDay to indicate concepts like the first and third Mondays of a month.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ byMonthWeek”NN‡”R”KsuhŒ#http://schema.org/Schedule-duration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/duration”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ€The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œduration”NN‡”R”KsuhŒ"http://schema.org/Schedule-endDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒeThe end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2581”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2579”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2580”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjì2}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jï2KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2582”…”R”Ksuj3}”(j3}”jú2Ksj 3}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Schedule-endTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/endTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒendTime”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2585”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2583”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2584”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”Kssj>3}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jA3KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2586”…”R”Ksuj`3}”(jX3}”jL3Ksj\3}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Schedule-exceptDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/exceptDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XBDefines a [[Date]] or [[DateTime]] during which a scheduled [[Event]] will not take place. The property allows exceptions to a [[Schedule]] to be specified. If an exception is specified as a [[DateTime]] then only the event that would have started at that specific date and time should be excluded from the schedule. If an exception is specified as a [[Date]] then any event that is scheduled for that 24 hour period should be excluded from the schedule. This allows a whole day to be excluded from the schedule without having to itemise every scheduled event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ exceptDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2589”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2587”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2588”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj3}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j“3KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2590”…”R”Ksuj²3}”(jª3}”jž3Ksj®3}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/Schedule-repeatCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/repeatCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒADefines the number of times a recurring [[Event]] will take place”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ repeatCount”NN‡”R”KsuhŒ*http://schema.org/Schedule-repeatFrequency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/repeatFrequency”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªDefines the frequency at which [[Event]]s will occur according to a schedule [[Schedule]]. The intervals between events should be defined as a [[Duration]] of time.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrepeatFrequency”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2593”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2591”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2592”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj 4}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j4KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2594”…”R”Ksuj.4}”(j&4}”j4Ksj*4}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/Schedule-scheduleTimezone”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/scheduleTimezone”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¥Indicates the timezone for which the time(s) indicated in the [[Schedule]] are given. The value provided should be among those listed in the IANA Time Zone Database.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒscheduleTimezone”NN‡”R”KsuhŒ$http://schema.org/Schedule-startDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startDate”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgThe start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startDate”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2597”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2595”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2596”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjˆ4}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j‹4KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2598”…”R”Ksujª4}”(j¢4}”j–4Ksj¦4}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/Schedule-startTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/startTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\n\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ startTime”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2601”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2599”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2600”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”KssjÚ4}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÝ4KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2602”…”R”Ksujü4}”(jô4}”jè4Ksjø4}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/ScheduleAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÝScheduling future actions, events, or tasks.\n\nRelated actions:\n\n* [[ReserveAction]]: Unlike ReserveAction, ScheduleAction allocates future actions (e.g. an event, a task, etc) towards a time slot / spatial allocation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSchedule action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/PlanAction”…”R”KsuhŒ"http://schema.org/ScholarlyArticle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA scholarly article.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScholarly article”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Article”…”R”KsuhŒhttp://schema.org/School”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A school.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSchool”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://schema.org/EducationalOrganization”…”R”KsuhŒ http://schema.org/SchoolDistrict”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2500”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNA School District is an administrative area for the administration of schools.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSchool district”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”KsuhŒ http://schema.org/ScreeningEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ&A screening of a movie or other video.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScreening event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ1http://schema.org/ScreeningEvent-subtitleLanguage”…”R”KhŒ,http://schema.org/ScreeningEvent-videoFormat”…”R”KhŒ.http://schema.org/ScreeningEvent-workPresented”…”R”KuuhŒ1http://schema.org/ScreeningEvent-subtitleLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/subtitleLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxLanguages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubtitleLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2605”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2603”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2604”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj6}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j6KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2606”…”R”Ksuj'6}”(j6}”j6Ksj#6}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/ScreeningEvent-videoFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/videoFormat”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLThe type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ videoFormat”NN‡”R”KsuhŒ.http://schema.org/ScreeningEvent-workPresented”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/workPresented”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Movie”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&The movie presented during this event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ workPresented”NN‡”R”KsuhŒ'http://schema.org/ScreeningHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6Content about how to screen or further filter a topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒScreening health aspect”NN‡”R”KsuhŒhttp://schema.org/Sculpture”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA piece of sculpture.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sculpture”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KsuhŒ http://schema.org/SeaBodyOfWater”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%A sea (for example, the Caspian sea).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSea body of water”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/BodyOfWater”…”R”KsuhŒhttp://schema.org/SearchAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe act of searching for an object.\n\nRelated actions:\n\n* [[FindAction]]: SearchAction generally leads to a FindAction, but not necessarily.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Search action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ$http://schema.org/SearchAction-query”…”R”KsuhŒ$http://schema.org/SearchAction-query”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/query”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j>KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2646”…”R”Ksuj#>}”(j>}”j>Ksj>}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Service-isSimilarTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/isSimilarTo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJA pointer to another, functionally similar product (or multiple products).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ isSimilarTo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2649”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2647”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Product”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2648”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”KssjS>}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jV>KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2650”…”R”Ksuju>}”(jm>}”ja>Ksjq>}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Service-logo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/logo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn associated logo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlogo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2653”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2651”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2652”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¥>}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¨>KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2654”…”R”KsujÇ>}”(j¿>}”j³>KsjÃ>}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Service-offers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/offers”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÿAn offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œoffers”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2657”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2655”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Demand”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2656”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Offer”…”R”Kssj÷>}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jú>KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2658”…”R”Ksuj?}”(j?}”j?Ksj?}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Service-produces”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/produces”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJThe tangible thing generated by the service, e.g. a passport, permit, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œproduces”NN‡”R”KsuhŒ"http://schema.org/Service-provider”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/provider”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐThe service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œprovider”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2661”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2659”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2660”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjs?}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jv?KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2662”…”R”Ksuj•?}”(j?}”j?Ksj‘?}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ*http://schema.org/Service-providerMobility”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/providerMobility”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHIndicates the mobility of a provided service (e.g. 'static', 'dynamic').”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproviderMobility”NN‡”R”KsuhŒ http://schema.org/Service-review”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/review”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Review”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA review of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œreview”NN‡”R”KsuhŒ%http://schema.org/Service-serviceArea”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serviceArea”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ2The geographic area where the service is provided.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serviceArea”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2666”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2663”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2664”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GeoShape”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2665”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj@}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j@KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2667”…”R”KsujF@}”(j>@}”j'@KsjB@}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2668”…”R”KsujL@}”(j>@}”j2@KsjB@}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/Service-serviceAudience”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/serviceAudience”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Audience”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ'The audience eligible for this service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒserviceAudience”NN‡”R”KsuhŒ'http://schema.org/Service-serviceOutput”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serviceOutput”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒJThe tangible thing generated by the service, e.g. a passport, permit, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serviceOutput”NN‡”R”KsuhŒ%http://schema.org/Service-serviceType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serviceType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒRThe type of service being offered, e.g. veterans' benefits, emergency relief, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serviceType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2671”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2669”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2670”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÐ@}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÓ@KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2672”…”R”Ksujò@}”(jê@}”jÞ@Ksjî@}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Service-slogan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/slogan”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+A slogan or motto associated with the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œslogan”NN‡”R”KsuhŒ(http://schema.org/Service-termsOfService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/termsOfService”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.Human-readable terms of service documentation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtermsOfService”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2675”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2673”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2674”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjLA}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jOAKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2676”…”R”KsujnA}”(jfA}”jZAKsjjA}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/ServiceChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ^A means for accessing a service, e.g. a government office location, web site, or phone number.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒService channel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ2http://schema.org/ServiceChannel-availableLanguage”…”R”KhŒ/http://schema.org/ServiceChannel-processingTime”…”R”KhŒ0http://schema.org/ServiceChannel-providesService”…”R”KhŒ0http://schema.org/ServiceChannel-serviceLocation”…”R”KhŒ-http://schema.org/ServiceChannel-servicePhone”…”R”KhŒ5http://schema.org/ServiceChannel-servicePostalAddress”…”R”KhŒ1http://schema.org/ServiceChannel-serviceSmsNumber”…”R”KhŒ+http://schema.org/ServiceChannel-serviceUrl”…”R”KuuhŒ2http://schema.org/ServiceChannel-availableLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/availableLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÁA language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒavailableLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2679”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2677”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2678”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjàA}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jãAKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2680”…”R”KsujB}”(júA}”jîAKsjþA}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ/http://schema.org/ServiceChannel-processingTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”•}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/processingTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=Estimated processing time for the service using this channel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprocessingTime”NN‡”R”KsuhŒ0http://schema.org/ServiceChannel-providesService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/providesService”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Service”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The service provided by this channel.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprovidesService”NN‡”R”KsuhŒ0http://schema.org/ServiceChannel-serviceLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/serviceLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒfThe location (e.g. civic structure, local business, etc.) where a person can go to access the service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒserviceLocation”NN‡”R”KsuhŒ-http://schema.org/ServiceChannel-servicePhone”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/servicePhone”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The phone number to use to access the service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ servicePhone”NN‡”R”KsuhŒ5http://schema.org/ServiceChannel-servicePostalAddress”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/servicePostalAddress”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ.The address for accessing the service by mail.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒservicePostalAddress”NN‡”R”KsuhŒ1http://schema.org/ServiceChannel-serviceSmsNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/serviceSmsNumber”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ContactPoint”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The number to access the service by text message.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒserviceSmsNumber”NN‡”R”KsuhŒ+http://schema.org/ServiceChannel-serviceUrl”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/serviceUrl”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The website to access the service.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ serviceUrl”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒhttp://schema.org/ShareAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMThe act of distributing content to people for their amusement or edification.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Share action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/CommunicateAction”…”R”KsuhŒhttp://schema.org/SheetMusic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1448”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Printed music, as opposed to performed or recorded music.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sheet music”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KsuhŒ&http://schema.org/ShippingDeliveryTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2506”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ^ShippingDeliveryTime provides various pieces of information about delivery times for shipping.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒShipping delivery time”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ3http://schema.org/ShippingDeliveryTime-businessDays”…”R”KhŒ1http://schema.org/ShippingDeliveryTime-cutoffTime”…”R”KhŒ3http://schema.org/ShippingDeliveryTime-handlingTime”…”R”KhŒ2http://schema.org/ShippingDeliveryTime-transitTime”…”R”KuuhŒ3http://schema.org/ShippingDeliveryTime-businessDays”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/businessDays”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ+http://schema.org/OpeningHoursSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒZDays of the week when the merchant typically operates, indicated via opening hours markup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ businessDays”NN‡”R”KsuhŒ1http://schema.org/ShippingDeliveryTime-cutoffTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cutoffTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#time”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XúOrder cutoff time allows merchants to describe the time after which they will no longer process orders received on that day. For orders processed after cutoff time, one day gets added to the delivery time estimate. This property is expected to be most typically used via the [[ShippingRateSettings]] publication pattern. The time is indicated using the ISO-8601 Time format, e.g. "23:30:00-05:00" would represent 6:30 pm Eastern Standard Time (EST) which is 5 hours behind Coordinated Universal Time (UTC).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ cutoffTime”NN‡”R”KsuhŒ3http://schema.org/ShippingDeliveryTime-handlingTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/handlingTime”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XˆThe typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup. Typical properties: minValue, maxValue, unitCode (d for DAY). This is by common convention assumed to mean business days (if a unitCode is used, coded as "d"), i.e. only counting days when the business normally operates.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ handlingTime”NN‡”R”KsuhŒ2http://schema.org/ShippingDeliveryTime-transitTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/transitTime”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒœThe typical delay the order has been sent for delivery and the goods reach the final customer. Typical properties: minValue, maxValue, unitCode (d for DAY).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ transitTime”NN‡”R”KsuhŒ&http://schema.org/ShippingRateSettings”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2506”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XcA ShippingRateSettings represents re-usable pieces of shipping information. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of an [[OfferShippingDetails]]. Several occurrences can be published, distinguished and matched (i.e. identified/referenced) by their different values for [[shippingLabel]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒShipping rate settings”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ2http://schema.org/ShippingRateSettings-doesNotShip”…”R”KhŒSide effects that can be observed from the usage of the topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSide effects health aspect”NN‡”R”KsuhŒ$http://schema.org/SingleBlindedTrial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalTrialDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ{A trial design in which the researcher knows which treatment the patient was randomly assigned to but the patient does not.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSingle blinded trial”NN‡”R”KsuhŒ#http://schema.org/SingleCenterTrial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalTrialDesign”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ,A trial that takes place at a single center.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSingle center trial”NN‡”R”KsuhŒ'http://schema.org/SingleFamilyResidence”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#Residence type: Single-family home.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSingle family residence”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/House”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ5http://schema.org/SingleFamilyResidence-numberOfRooms”…”R”KhŒ1http://schema.org/SingleFamilyResidence-occupancy”…”R”KuuhŒ5http://schema.org/SingleFamilyResidence-numberOfRooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfRooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfRooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2687”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2685”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2686”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj#G}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j&GKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2688”…”R”KsujEG}”(j=G}”j1GKsjAG}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/SingleFamilyResidence-occupancy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/occupancy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X2The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ occupancy”NN‡”R”KsuhŒhttp://schema.org/SinglePlayer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/GamePlayMode”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:Play mode: SinglePlayer. Which is played by a lone player.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Single player”NN‡”R”KsuhŒhttp://schema.org/SingleRelease”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/MusicAlbumReleaseType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSingleRelease.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSingle release”NN‡”R”KsuhŒ'http://schema.org/SiteNavigationElement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!A navigation element of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSite navigation element”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KsuhŒ&http://schema.org/SizeGroupEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=Enumerates common size groups for various product categories.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSize group enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ#http://schema.org/SizeSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XBSize related properties of a product, typically a size code ([[name]]) and optionally a [[sizeSystem]], [[sizeGroup]], and product measurements ([[hasMeasurement]]). In addition, the intended audience can be defined through [[suggestedAge]], [[suggestedGender]], and suggested body measurements ([[suggestedMeasurement]]).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSize specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ2http://schema.org/SizeSpecification-hasMeasurement”…”R”KhŒ-http://schema.org/SizeSpecification-sizeGroup”…”R”KhŒ.http://schema.org/SizeSpecification-sizeSystem”…”R”KhŒ0http://schema.org/SizeSpecification-suggestedAge”…”R”KhŒ3http://schema.org/SizeSpecification-suggestedGender”…”R”KhŒ8http://schema.org/SizeSpecification-suggestedMeasurement”…”R”KuuhŒ2http://schema.org/SizeSpecification-hasMeasurement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/hasMeasurement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒðA product measurement, for example the inseam of pants, the wheel size of a bicycle, or the gauge of a screw. Usually an exact measurement, but can also be a range of measurements for adjustable products, for example belts and ski bindings.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhasMeasurement”NN‡”R”KsuhŒ-http://schema.org/SizeSpecification-sizeGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sizeGroup”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe size group (also known as "size type") for a product's size. Size groups are common in the fashion industry to define size segments and suggested audiences for wearable products. Multiple values can be combined, for example "men's big and tall", "petite maternity" or "regular"”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ sizeGroup”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2691”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2689”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/SizeGroupEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2690”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¦H}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j©HKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2692”…”R”KsujÈH}”(jÀH}”j´HKsjÄH}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/SizeSpecification-sizeSystem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sizeSystem”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÚThe size system used to identify a product's size. Typically either a standard (for example, "GS1" or "ISO-EN13402"), country code (for example "US" or "JP"), or a measuring system (for example "Metric" or "Imperial").”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ sizeSystem”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2695”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2693”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ'http://schema.org/SizeSystemEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2694”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjøH}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jûHKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2696”…”R”KsujI}”(jI}”jIKsjI}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/SizeSpecification-suggestedAge”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/suggestedAge”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒvThe age or age range for the intended audience or person, for example 3-12 months for infants, 1-5 years for toddlers.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ suggestedAge”NN‡”R”KsuhŒ3http://schema.org/SizeSpecification-suggestedGender”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/suggestedGender”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒcThe suggested gender of the intended person or audience, for example "male", "female", or "unisex".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuggestedGender”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2699”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2697”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GenderType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2698”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjtI}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jwIKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2700”…”R”Ksuj–I}”(jŽI}”j‚IKsj’I}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ8http://schema.org/SizeSpecification-suggestedMeasurement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/suggestedMeasurement”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÐA suggested range of body measurements for the intended audience or person, for example inseam between 32 and 34 inches or height between 170 and 190 cm. Typically found on a size chart for wearable products.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsuggestedMeasurement”NN‡”R”KsuhŒ'http://schema.org/SizeSystemEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‹Enumerates common size systems for different categories of products, for example "EN-13402" or "UK" for wearables or "Imperial" for screws.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSize system enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ$http://schema.org/SizeSystemImperial”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/SizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒImperial size system.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSize system imperial”NN‡”R”KsuhŒ"http://schema.org/SizeSystemMetric”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ'http://schema.org/SizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒMetric size system.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSize system metric”NN‡”R”KsuhŒhttp://schema.org/SkiResort”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A ski resort.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Ski resort”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/Resort”…”R”KhŒ(http://schema.org/SportsActivityLocation”…”R”KuuhŒhttp://schema.org/Skin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/PhysicalExam”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ*Skin assessment with clinical examination.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSkin”NN‡”R”KsuhŒhttp://schema.org/SocialEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Social event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Social event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒ$http://schema.org/SocialMediaPosting”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒUA post to a social media platform, including blog posts, tweets, Facebook posts, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSocial media posting”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Article”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ2http://schema.org/SocialMediaPosting-sharedContent”…”R”KsuhŒ2http://schema.org/SocialMediaPosting-sharedContent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sharedContent”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒUA CreativeWork such as an image, video, or audio clip shared as part of this posting.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ sharedContent”NN‡”R”KsuhŒ%http://schema.org/SoftwareApplication”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA software application.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSoftware application”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ9http://schema.org/SoftwareApplication-applicationCategory”…”R”KhŒThe current approximate inventory level for the item or items.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒinventoryLevel”NN‡”R”KsuhŒ!http://schema.org/SoundtrackAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSoundtrackAlbum.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSoundtrack album”NN‡”R”KsuhŒ(http://schema.org/SpeakableSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1389”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒüA SpeakableSpecification indicates (typically via [[xpath]] or [[cssSelector]]) sections of a document that are highlighted as particularly [[speakable]]. Instances of this type are expected to be used primarily as values of the [[speakable]] property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSpeakable specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ4http://schema.org/SpeakableSpecification-cssSelector”…”R”KhŒ.http://schema.org/SpeakableSpecification-xpath”…”R”KuuhŒ4http://schema.org/SpeakableSpecification-cssSelector”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cssSelector”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/CssSelectorType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒµA CSS selector, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual "Web page element".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ cssSelector”NN‡”R”KsuhŒ.http://schema.org/SpeakableSpecification-xpath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/xpath”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/XPathType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¯An XPath, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual "Web page element".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œxpath”NN‡”R”KsuhŒ%http://schema.org/SpecialAnnouncement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2490”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X|A SpecialAnnouncement combines a simple date-stamped textual information update with contextualized Web links and other structured data. It represents an information update made by a locally-oriented organization, for example schools, pharmacies, healthcare providers, community groups, police, local government. For work in progress guidelines on Coronavirus-related markup see [this doc](https://docs.google.com/document/d/14ikaGCKxo50rRM7nvKSlbUpjyIk2WMQd3IkB1lItlrM/edit#). The motivating scenario for SpecialAnnouncement is the [Coronavirus pandemic](https://en.wikipedia.org/wiki/2019%E2%80%9320_coronavirus_pandemic), and the initial vocabulary is oriented to this urgent situation. Schema.org expect to improve the markup iteratively as it is deployed and as feedback emerges from use. In addition to our usual [Github entry](https://github.com/schemaorg/schemaorg/issues/2490), feedback comments can also be provided in [this document](https://docs.google.com/document/d/1fpdFFxk8s87CWwACs53SGkYv3aafSxz_DTtOQxMrBJQ/edit#). While this schema is designed to communicate urgent crisis-related information, it is not the same as an emergency warning technology like [CAP](https://en.wikipedia.org/wiki/Common_Alerting_Protocol), although there may be overlaps. The intent is to cover the kinds of everyday practical information being posted to existing websites during an emergency situation. Several kinds of information can be provided: We encourage the provision of "name", "text", "datePosted", "expires" (if appropriate), "category" and "url" as a simple baseline. It is important to provide a value for "category" where possible, most ideally as a well known URL from Wikipedia or Wikidata. In the case of the 2019-2020 Coronavirus pandemic, this should be "https://en.wikipedia.org/w/index.php?title=2019-20\_coronavirus\_pandemic" or "https://www.wikidata.org/wiki/Q81068910". For many of the possible properties, values can either be simple links or an inline description, depending on whether a summary is available. For a link, provide just the URL of the appropriate page as the property's value. For an inline description, use a [[WebContent]] type, and provide the url as a property of that, alongside at least a simple "[[text]]" summary of the page. It is unlikely that a single SpecialAnnouncement will need all of the possible properties simultaneously. We expect that in many cases the page referenced might contain more specialized structured data, e.g. contact info, [[openingHours]], [[Event]], [[FAQPage]] etc. By linking to those pages from a [[SpecialAnnouncement]] you can help make it clearer that the events are related to the situation (e.g. Coronavirus) indicated by the [[category]] property of the [[SpecialAnnouncement]]. Many [[SpecialAnnouncement]]s will relate to particular regions and to identifiable local organizations. Use [[spatialCoverage]] for the region, and [[announcementLocation]] to indicate specific [[LocalBusiness]]es and [[CivicStructure]]s. If the announcement affects both a particular region and a specific location (for example, a library closure that serves an entire region), use both [[spatialCoverage]] and [[announcementLocation]]. The [[about]] property can be used to indicate entities that are the focus of the announcement. We now recommend using [[about]] only for representing non-location entities (e.g. a [[Course]] or a [[RadioStation]]). For places, use [[announcementLocation]] and [[spatialCoverage]]. Consumers of this markup should be aware that the initial design encouraged the use of /about for locations too. The basic content of [[SpecialAnnouncement]] is similar to that of an [RSS](https://en.wikipedia.org/wiki/RSS) or [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)) feed. For publishers without such feeds, basic feed-like information can be shared by posting [[SpecialAnnouncement]] updates in a page, e.g. using JSON-LD. For sites with Atom/RSS functionality, you can point to a feed with the [[webFeed]] property. This can be a simple URL, or an inline [[DataFeed]] object, with [[encodingFormat]] providing media type information e.g. "application/rss+xml" or "application/atom+xml". ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSpecial announcement”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ:http://schema.org/SpecialAnnouncement-announcementLocation”…”R”KhŒ.http://schema.org/SpecialAnnouncement-category”…”R”KhŒ0http://schema.org/SpecialAnnouncement-datePosted”…”R”KhŒ;http://schema.org/SpecialAnnouncement-diseasePreventionInfo”…”R”KhŒ=http://schema.org/SpecialAnnouncement-diseaseSpreadStatistics”…”R”KhŒ7http://schema.org/SpecialAnnouncement-gettingTestedInfo”…”R”KhŒhttp://schema.org/SpecialAnnouncement-newsUpdatesAndGuidelines”…”R”KhŒAhttp://schema.org/SpecialAnnouncement-publicTransportClosuresInfo”…”R”KhŒ:http://schema.org/SpecialAnnouncement-quarantineGuidelines”…”R”KhŒ8http://schema.org/SpecialAnnouncement-schoolClosuresInfo”…”R”KhŒ0http://schema.org/SpecialAnnouncement-travelBans”…”R”KhŒ-http://schema.org/SpecialAnnouncement-webFeed”…”R”KuuhŒ:http://schema.org/SpecialAnnouncement-announcementLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/announcementLocation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XIndicates a specific [[CivicStructure]] or [[LocalBusiness]] associated with the SpecialAnnouncement. For example, a specific testing facility or business with special opening hours. For a larger geographic region like a quarantine of an entire region, use [[spatialCoverage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒannouncementLocation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2743”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2741”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/CivicStructure”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2742”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KssjuT}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jxTKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2744”…”R”Ksuj—T}”(jT}”jƒTKsj“T}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/SpecialAnnouncement-category”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/category”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒjA category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcategory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2749”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2745”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://schema.org/PhysicalActivityCategory”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2746”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2747”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2748”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÇT}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÊTKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2750”…”R”KsujÿT}”(j÷T}”jÕTKsjûT}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2751”…”R”KsujU}”(j÷T}”jàTKsjûT}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2752”…”R”Ksuj U}”(j÷T}”jëTKsjûT}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/SpecialAnnouncement-datePosted”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/datePosted”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&Publication date of an online listing.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ datePosted”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2755”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2753”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2754”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssj;U}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j>UKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2756”…”R”Ksuj]U}”(jUU}”jIUKsjYU}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ;http://schema.org/SpecialAnnouncement-diseasePreventionInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/diseasePreventionInfo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%Information about disease prevention.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdiseasePreventionInfo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2759”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2757”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2758”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjU}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jUKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2760”…”R”Ksuj¯U}”(j§U}”j›UKsj«U}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ=http://schema.org/SpecialAnnouncement-diseaseSpreadStatistics”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/diseaseSpreadStatistics”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X Statistical information about the spread of a disease, either as [[WebContent]], or described directly as a [[Dataset]], or the specific [[Observation]]s in the dataset. When a [[WebContent]] URL is provided, the page indicated might also contain more such markup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdiseaseSpreadStatistics”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2765”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2761”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Dataset”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2762”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Observation”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2763”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2764”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjßU}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jâUKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2766”…”R”KsujV}”(jV}”jíUKsjV}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2767”…”R”KsujV}”(jV}”jøUKsjV}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2768”…”R”Ksuj#V}”(jV}”jVKsjV}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ7http://schema.org/SpecialAnnouncement-gettingTestedInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/gettingTestedInfo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒaInformation about getting tested (for a [[MedicalCondition]]), e.g. in the context of a pandemic.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒgettingTestedInfo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2771”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2769”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2770”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjSV}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jVVKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2772”…”R”KsujuV}”(jmV}”jaVKsjqV}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/SpecialAnnouncement-newsUpdatesAndGuidelines”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://schema.org/newsUpdatesAndGuidelines”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¥Indicates a page with news updates and guidelines. This could often be (but is not required to be) the main page containing [[SpecialAnnouncement]] markup on a site.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnewsUpdatesAndGuidelines”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2775”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2773”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2774”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjÏV}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÒVKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2776”…”R”KsujñV}”(jéV}”jÝVKsjíV}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒAhttp://schema.org/SpecialAnnouncement-publicTransportClosuresInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ-http://schema.org/publicTransportClosuresInfo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,Information about public transport closures.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpublicTransportClosuresInfo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2779”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2777”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2778”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”Kssj!W}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j$WKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2780”…”R”KsujCW}”(j;W}”j/WKsj?W}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ:http://schema.org/SpecialAnnouncement-quarantineGuidelines”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/quarantineGuidelines”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEGuidelines about quarantine rules, e.g. in the context of a pandemic.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒquarantineGuidelines”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2783”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2781”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2782”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjsW}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jvWKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2784”…”R”Ksuj•W}”(jW}”jWKsj‘W}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ8http://schema.org/SpecialAnnouncement-schoolClosuresInfo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/schoolClosuresInfo”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"Information about school closures.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒschoolClosuresInfo”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2787”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2785”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2786”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjÅW}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÈWKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2788”…”R”KsujçW}”(jßW}”jÓWKsjãW}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/SpecialAnnouncement-travelBans”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/travelBans”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAInformation about travel bans, e.g. in the context of a pandemic.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ travelBans”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2791”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2789”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2790”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WebContent”…”R”KssjX}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jXKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2792”…”R”Ksuj9X}”(j1X}”j%XKsj5X}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/SpecialAnnouncement-webFeed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/webFeed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ€The URL for a feed, e.g. associated with a podcast series, blog, or series of date-stamped updates. This is usually RSS or Atom.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒwebFeed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2795”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2793”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DataFeed”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2794”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KssjiX}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jlXKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2796”…”R”Ksuj‹X}”(jƒX}”jwXKsj‡X}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Specialty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ~Any branch of a field in which people typically develop specific expertise, usually after significant study, time, and effort.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Specialty”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒ!http://schema.org/SpeechPathology”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÍThe scientific study and treatment of defects, disorders, and malfunctions of speech and voice, as stuttering, lisping, or lalling, and of language disturbances, as aphasia or delayed language acquisition.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSpeech pathology”NN‡”R”KsuhŒ!http://schema.org/SpokenWordAlbum”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://schema.org/MusicAlbumProductionType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSpokenWordAlbum.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSpoken word album”NN‡”R”KsuhŒ$http://schema.org/SportingGoodsStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA sporting goods store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSporting goods store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒ(http://schema.org/SportsActivityLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+A sports location, such as a playing field.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSports activity location”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒhttp://schema.org/SportsClub”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA sports club.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sports club”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KsuhŒhttp://schema.org/SportsEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Sports event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sports event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ&http://schema.org/SportsEvent-awayTeam”…”R”KhŒ(http://schema.org/SportsEvent-competitor”…”R”KhŒ&http://schema.org/SportsEvent-homeTeam”…”R”KhŒ#http://schema.org/SportsEvent-sport”…”R”KuuhŒ&http://schema.org/SportsEvent-awayTeam”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/awayTeam”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The away team in a sports event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒawayTeam”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2799”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2797”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2798”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/SportsTeam”…”R”KssjÉY}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÌYKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2800”…”R”KsujëY}”(jãY}”j×YKsjçY}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/SportsEvent-competitor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/competitor”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA competitor in a sports event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ competitor”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2803”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2801”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2802”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/SportsTeam”…”R”KssjZ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jZKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2804”…”R”Ksuj=Z}”(j5Z}”j)ZKsj9Z}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/SportsEvent-homeTeam”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/homeTeam”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ The home team in a sports event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒhomeTeam”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2807”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2805”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2806”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/SportsTeam”…”R”KssjmZ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jpZKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2808”…”R”KsujZ}”(j‡Z}”j{ZKsj‹Z}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/SportsEvent-sport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sport”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ A type of sport (e.g. Baseball).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsport”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2811”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2809”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2810”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj¿Z}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÂZKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2812”…”R”KsujáZ}”(jÙZ}”jÍZKsjÝZ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/SportsOrganization”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyRepresents the collection of all sports organizations, including sports teams, governing bodies, and sports associations.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSports organization”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ*http://schema.org/SportsOrganization-sport”…”R”KsuhŒ*http://schema.org/SportsOrganization-sport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/sport”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ A type of sport (e.g. Baseball).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsport”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2815”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2813”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2814”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj>[}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jA[KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2816”…”R”Ksuj`[}”(jX[}”jL[Ksj\[}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/SportsTeam”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOrganization: Sports team.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Sports team”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/SportsOrganization”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ$http://schema.org/SportsTeam-athlete”…”R”KhŒ"http://schema.org/SportsTeam-coach”…”R”KhŒ#http://schema.org/SportsTeam-gender”…”R”KuuhŒ$http://schema.org/SportsTeam-athlete”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/athlete”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYA person that acts as performing member of a sports team; a player as opposed to a coach.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œathlete”NN‡”R”KsuhŒ"http://schema.org/SportsTeam-coach”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/coach”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ8A person that acts in a coaching role for a sports team.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcoach”NN‡”R”KsuhŒ#http://schema.org/SportsTeam-gender”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gender”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XGender of something, typically a [[Person]], but possibly also fictional characters, animals, etc. While http://schema.org/Male and http://schema.org/Female may be used, text strings are also acceptable for people who do not identify as a binary gender. The [[gender]] property can also be used in an extended sense to cover e.g. the gender of sports teams. As with the gender of individuals, we do not try to enumerate all possibilities. A mixed-gender [[SportsTeam]] can be indicated with a text value of "Mixed".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œgender”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2819”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2817”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GenderType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2818”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj\}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j\KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2820”…”R”Ksuj9\}”(j1\}”j%\Ksj5\}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ,http://schema.org/SpreadsheetDigitalDocument”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA spreadsheet file.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSpreadsheet digital document”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/DigitalDocument”…”R”KsuhŒ http://schema.org/StadiumOrArena”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A stadium.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒStadium or arena”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ http://schema.org/CivicStructure”…”R”KhŒ(http://schema.org/SportsActivityLocation”…”R”KuuhŒhttp://schema.org/StagedContent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/MediaManipulationRatingEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2450”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X’Content coded 'staged content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'staged content': A video that has been created using actors or similarly contrived. For an [[ImageObject]] to be 'staged content': An image that was created using actors or similarly contrived, such as a screenshot of a fake tweet. For an [[ImageObject]] with embedded text to be 'staged content': An image that was created using actors or similarly contrived, such as a screenshot of a fake tweet. For an [[AudioObject]] to be 'staged content': Audio that has been created using actors or similarly contrived. ”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒStaged content”NN‡”R”KsuhŒ$http://schema.org/StagesHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)Stages that can be observed from a topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒStages health aspect”NN‡”R”KsuhŒhttp://schema.org/State”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!A state or province of a country.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒState”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/AdministrativeArea”…”R”KsuhŒ'http://schema.org/StatisticalPopulation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2291”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X$A StatisticalPopulation is a set of instances of a certain given type that satisfy some set of constraints. The property [[populationType]] is used to specify the type. Any property that can be used on instances of that type can appear on the statistical population. For example, a [[StatisticalPopulation]] representing all [[Person]]s with a [[homeLocation]] of East Podunk California, would be described by applying the appropriate [[homeLocation]] and [[populationType]] properties to a [[StatisticalPopulation]] item that stands for that set of people. The properties [[numConstraints]] and [[constrainingProperty]] are used to specify which of the populations properties are used to specify the population. Note that the sense of "population" used here is the general sense of a statistical population, and does not imply that the population consists of people. For example, a [[populationType]] of [[Event]] or [[NewsArticle]] could be used. See also [[Observation]], and the [data and datasets](/docs/data-and-datasets.html) overview for more details. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒStatistical population”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://en.wikipedia.org/wiki/Suite_(hotel)).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuite”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Accommodation”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Suite-bed”…”R”KhŒ%http://schema.org/Suite-numberOfRooms”…”R”KhŒ!http://schema.org/Suite-occupancy”…”R”KuuhŒhttp://schema.org/Suite-bed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/bed”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X3The type of bed or beds included in the accommodation. For the single case of just one bed of a certain type, you use bed directly with a text. If you want to indicate the quantity of a certain kind of bed, use an instance of BedDetails. For more detailed information, use the amenityFeature property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œbed”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2824”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2821”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BedDetails”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2822”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/BedType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2823”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj•`}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j˜`KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2825”…”R”KsujÂ`}”(jº`}”j£`Ksj¾`}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2826”…”R”KsujÈ`}”(jº`}”j®`Ksj¾`}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Suite-numberOfRooms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfRooms”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfRooms”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2829”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2827”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2828”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssjø`}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jû`KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2830”…”R”Ksuja}”(ja}”jaKsja}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Suite-occupancy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/occupancy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X2The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ occupancy”NN‡”R”KsuhŒhttp://schema.org/Sunday”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/DayOfWeek”…”R”KshŒhttp://schema.org/sameAs”…”R”}”hŒ#http://www.wikidata.org/entity/Q132”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0The day of the week between Saturday and Monday.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSunday”NN‡”R”KsuhŒ$http://schema.org/SuperficialAnatomy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X Anatomical features that can be observed by sight (without dissection), including the form and proportions of the human body as well as surface landmarks that correspond to deeper subcutaneous structures. Superficial anatomy plays an important role in sports medicine, phlebotomy, and other medical specialties as underlying anatomical structures can be identified through surface palpation. For example, during back surgery, superficial anatomy can be used to palpate and count vertebrae to find the site of incision. Or in phlebotomy, superficial anatomy can be used to locate an underlying vein; for example, the median cubital vein can be located by palpating the borders of the cubital fossa (such as the epicondyles of the humerus) and then looking for the superficial signs of the vein, such as size, prominence, ability to refill after depression, and feel of surrounding tissue support. As another example, in a subluxation (dislocation) of the glenohumeral joint, the bony structure becomes pronounced with the deltoid muscle failing to cover the glenohumeral joint allowing the edges of the scapula to be superficially visible. Here, the superficial anatomy is the visible edges of the scapula, implying the underlying dislocation of the joint (the related anatomical structure).”•NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuperficial anatomy”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ>http://schema.org/SuperficialAnatomy-associatedPathophysiology”…”R”KhŒ3http://schema.org/SuperficialAnatomy-relatedAnatomy”…”R”KhŒ5http://schema.org/SuperficialAnatomy-relatedCondition”…”R”KhŒ3http://schema.org/SuperficialAnatomy-relatedTherapy”…”R”KhŒ1http://schema.org/SuperficialAnatomy-significance”…”R”KuuhŒ>http://schema.org/SuperficialAnatomy-associatedPathophysiology”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/associatedPathophysiology”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÅIf applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒassociatedPathophysiology”NN‡”R”KsuhŒ3http://schema.org/SuperficialAnatomy-relatedAnatomy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/relatedAnatomy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHAnatomical systems or structures that relate to the superficial anatomy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelatedAnatomy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2833”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2831”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2832”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/AnatomicalSystem”…”R”Kssjþa}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jbKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2834”…”R”Ksuj b}”(jb}”j bKsjb}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ5http://schema.org/SuperficialAnatomy-relatedCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/relatedCondition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/MedicalCondition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1A medical condition associated with this anatomy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelatedCondition”NN‡”R”KsuhŒ3http://schema.org/SuperficialAnatomy-relatedTherapy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/relatedTherapy”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/MedicalTherapy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*A medical therapy related to this anatomy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒrelatedTherapy”NN‡”R”KsuhŒ1http://schema.org/SuperficialAnatomy-significance”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/significance”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒºThe significance associated with the superficial anatomy; as an example, how characteristics of the superficial anatomy can suggest underlying medical conditions or courses of treatment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ significance”NN‡”R”KsuhŒhttp://schema.org/Surgical”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒƒA specific branch of medical science that pertains to treating diseases, injuries and deformities by manual and instrumental means.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSurgical”NN‡”R”KsuhŒ#http://schema.org/SurgicalProcedure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlA medical procedure involving an incision with instruments; performed for diagnose, or therapeutic purposes.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSurgical procedure”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/MedicalProcedure”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ7http://purl.bioontology.org/ontology/SNOMEDCT/387713003”…”R”KsuhŒhttp://schema.org/SuspendAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒdThe act of momentarily pausing a device or application (e.g. pause music playback or pause a timer).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSuspend action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ControlAction”…”R”KsuhŒhttp://schema.org/Suspended”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Suspended.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Suspended”NN‡”R”KsuhŒ&http://schema.org/SymptomsHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(Symptoms or related symptoms of a Topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSymptoms health aspect”NN‡”R”KsuhŒhttp://schema.org/Synagogue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A synagogue.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Synagogue”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/PlaceOfWorship”…”R”KsuhŒhttp://schema.org/TVClip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5A short TV program or a segment/part of a TV program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTVClip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Clip”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ'http://schema.org/TVClip-partOfTVSeries”…”R”KsuhŒ'http://schema.org/TVClip-partOfTVSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/partOfTVSeries”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/TVSeries”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The TV series to which this episode or season belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpartOfTVSeries”NN‡”R”KsuhŒhttp://schema.org/TVEpisode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5A TV episode which can be part of a series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ TVEpisode”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ+http://schema.org/TVEpisode-countryOfOrigin”…”R”KhŒ*http://schema.org/TVEpisode-partOfTVSeries”…”R”KhŒ,http://schema.org/TVEpisode-subtitleLanguage”…”R”KhŒ%http://schema.org/TVEpisode-titleEIDR”…”R”KuuhŒ+http://schema.org/TVEpisode-countryOfOrigin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/countryOfOrigin”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒrThe country of the principal offices of the production company or individual responsible for the movie or program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcountryOfOrigin”NN‡”R”KsuhŒ*http://schema.org/TVEpisode-partOfTVSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/partOfTVSeries”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/TVSeries”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The TV series to which this episode or season belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpartOfTVSeries”NN‡”R”KsuhŒ,http://schema.org/TVEpisode-subtitleLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/subtitleLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒxLanguages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsubtitleLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2837”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2835”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2836”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj–d}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j™dKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2838”…”R”Ksuj¸d}”(j°d}”j¤dKsj´d}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/TVEpisode-titleEIDR”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/titleEIDR”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XiAn [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing at the most general/abstract level, a work of film or television. For example, the motion picture known as "Ghostbusters" has a titleEIDR of "10.5240/7EC7-228A-510A-053E-CBB8-J". This title (or work) may have several variants, which EIDR calls "edits". See [[editEIDR]]. Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ titleEIDR”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2841”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2839”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2840”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjèd}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jëdKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2842”…”R”Ksuj e}”(je}”jödKsje}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/TVSeason”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@Season dedicated to TV broadcast and associated online delivery.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTVSeason”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒ$http://schema.org/CreativeWorkSeason”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/TVSeason-countryOfOrigin”…”R”KhŒ)http://schema.org/TVSeason-partOfTVSeries”…”R”KuuhŒ*http://schema.org/TVSeason-countryOfOrigin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/countryOfOrigin”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒrThe country of the principal offices of the production company or individual responsible for the movie or program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcountryOfOrigin”NN‡”R”KsuhŒ)http://schema.org/TVSeason-partOfTVSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/partOfTVSeries”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/TVSeries”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ6The TV series to which this episode or season belongs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpartOfTVSeries”NN‡”R”KsuhŒhttp://schema.org/TVSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLCreativeWorkSeries dedicated to TV broadcast and associated online delivery.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTVSeries”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/CreativeWork”…”R”KhŒ$http://schema.org/CreativeWorkSeries”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ http://schema.org/TVSeries-actor”…”R”KhŒ!http://schema.org/TVSeries-actors”…”R”KhŒ)http://schema.org/TVSeries-containsSeason”…”R”KhŒ*http://schema.org/TVSeries-countryOfOrigin”…”R”KhŒ#http://schema.org/TVSeries-director”…”R”KhŒ$http://schema.org/TVSeries-directors”…”R”KhŒ"http://schema.org/TVSeries-episode”…”R”KhŒ#http://schema.org/TVSeries-episodes”…”R”KhŒ"http://schema.org/TVSeries-musicBy”…”R”KhŒ+http://schema.org/TVSeries-numberOfEpisodes”…”R”KhŒ*http://schema.org/TVSeries-numberOfSeasons”…”R”KhŒ,http://schema.org/TVSeries-productionCompany”…”R”KhŒ!http://schema.org/TVSeries-season”…”R”KhŒ"http://schema.org/TVSeries-seasons”…”R”KhŒ"http://schema.org/TVSeries-trailer”…”R”KuuhŒ http://schema.org/TVSeries-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ!http://schema.org/TVSeries-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ)http://schema.org/TVSeries-containsSeason”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/containsSeason”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*A season that is part of the media series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcontainsSeason”NN‡”R”KsuhŒ*http://schema.org/TVSeries-countryOfOrigin”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/countryOfOrigin”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Country”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒrThe country of the principal offices of the production company or individual responsible for the movie or program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcountryOfOrigin”NN‡”R”KsuhŒ#http://schema.org/TVSeries-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ$http://schema.org/TVSeries-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ"http://schema.org/TVSeries-episode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBAn episode of a tv, radio or game media within a series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œepisode”NN‡”R”KsuhŒ#http://schema.org/TVSeries-episodes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episodes”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*An episode of a TV/radio series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œepisodes”NN‡”R”KsuhŒ"http://schema.org/TVSeries-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2845”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2843”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2844”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjkg}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jngKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2846”…”R”Ksujg}”(j…g}”jygKsj‰g}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://schema.org/TVSeries-numberOfEpisodes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/numberOfEpisodes”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The number of episodes in this season or series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfEpisodes”NN‡”R”KsuhŒ*http://schema.org/TVSeries-numberOfSeasons”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/numberOfSeasons”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The number of seasons in this series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfSeasons”NN‡”R”KsuhŒ,http://schema.org/TVSeries-productionCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productionCompany”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The production company or studio responsible for the item e.g. series, video game, episode etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionCompany”NN‡”R”KsuhŒ!http://schema.org/TVSeries-season”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/season”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA season in a media series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseason”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2849”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2847”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2848”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj;h}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j>hKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2850”…”R”Ksuj]h}”(jUh}”jIhKsjYh}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/TVSeries-seasons”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seasons”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA season in a media series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseasons”NN‡”R”KsuhŒ"http://schema.org/TVSeries-trailer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The trailer of a movie or tv/radio series, season, episode, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrailer”NN‡”R”KsuhŒhttp://schema.org/Table”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA table on a Web page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTable”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KsuhŒhttp://schema.org/TakeAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒýThe act of gaining ownership of an object from an origin. Reciprocal of GiveAction.\n\nRelated actions:\n\n* [[GiveAction]]: The reciprocal of TakeAction.\n* [[ReceiveAction]]: Unlike ReceiveAction, TakeAction implies that ownership has been transfered.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Take action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/TransferAction”…”R”KsuhŒhttp://schema.org/TattooParlor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA tattoo parlor.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Tattoo parlor”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://schema.org/HealthAndBeautyBusiness”…”R”KsuhŒhttp://schema.org/Taxi”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒhttp://schema.org/TaxiService”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA taxi.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTaxi”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KsuhŒ!http://schema.org/TaxiReservation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÙA reservation for a taxi.\n\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTaxi reservation”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Reservation”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ+http://schema.org/TaxiReservation-partySize”…”R”KhŒ0http://schema.org/TaxiReservation-pickupLocation”…”R”KhŒ,http://schema.org/TaxiReservation-pickupTime”…”R”KuuhŒ+http://schema.org/TaxiReservation-partySize”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/partySize”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ4Number of people the reservation should accommodate.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ partySize”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2853”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2851”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2852”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj³i}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¶iKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2854”…”R”KsujÕi}”(jÍi}”jÁiKsjÑi}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/TaxiReservation-pickupLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/pickupLocation”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGWhere a taxi will pick up a passenger or a rental car can be picked up.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpickupLocation”NN‡”R”KsuhŒ,http://schema.org/TaxiReservation-pickupTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/pickupTime”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEWhen a taxi will pickup a passenger or a rental car can be picked up.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ pickupTime”NN‡”R”KsuhŒhttp://schema.org/TaxiService”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒyA service for a vehicle for hire with a driver for local travel. Fares are usually calculated based on distance traveled.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Taxi service”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KsuhŒhttp://schema.org/TaxiStand”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A taxi stand.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Taxi stand”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuhŒ"http://schema.org/TaxiVehicleUsage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/CarUsageType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://auto.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒWhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#Automotive_Ontology_Working_Group”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)Indicates the usage of the car as a taxi.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTaxi vehicle usage”NN‡”R”KsuhŒhttp://schema.org/TechArticle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒsA technical article - Example: How-to (task) topics, step-by-step, procedural troubleshooting, specifications, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Tech article”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Article”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/TechArticle-dependencies”…”R”KhŒ.http://schema.org/TechArticle-proficiencyLevel”…”R”KuuhŒ*http://schema.org/TechArticle-dependencies”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/dependencies”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1Prerequisites needed to fulfill steps in article.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ dependencies”NN‡”R”KsuhŒ.http://schema.org/TechArticle-proficiencyLevel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/proficiencyLevel”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒKProficiency needed for this content; expected values: 'Beginner', 'Expert'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproficiencyLevel”NN‡”R”KsuhŒ#http://schema.org/TelevisionChannel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWA unique instance of a television BroadcastService on a CableOrSatelliteService lineup.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTelevision channel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/BroadcastChannel”…”R”KsuhŒ#http://schema.org/TelevisionStation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA television station.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTelevision station”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/LocalBusiness”…”R”KsuhŒhttp://schema.org/TennisComplex”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA tennis complex.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTennis complex”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://schema.org/SportsActivityLocation”…”R”KsuhŒhttp://schema.org/Terminated”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Terminated.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Terminated”NN‡”R”KsuhŒhttp://schema.org/Text”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒhttp://schema.org/DataType”…”R”KhŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒData type: Text.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒText”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KsuhŒ%http://schema.org/TextDigitalDocument”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"A file composed primarily of text.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒText digital document”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/DigitalDocument”…”R”KsuhŒhttp://schema.org/TheaterEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Event type: Theater performance.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Theater event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/TheaterGroup”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXA theater group or company, for example, the Royal Shakespeare Company or Druid Theatre.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Theater group”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/PerformingGroup”…”R”KsuhŒhttp://schema.org/Therapeutic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/MedicalDevicePurpose”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/A medical device used for therapeutic purposes.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Therapeutic”NN‡”R”KsuhŒ&http://schema.org/TherapeuticProcedure”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒgA medical procedure intended primarily for therapeutic purposes, aimed at improving a health condition.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTherapeutic procedure”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ"http://schema.org/MedicalProcedure”…”R”KshŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”}”hŒ7http://purl.bioontology.org/ontology/SNOMEDCT/277132007”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ5http://schema.org/TherapeuticProcedure-adverseOutcome”…”R”KhŒ3http://schema.org/TherapeuticProcedure-doseSchedule”…”R”KhŒ+http://schema.org/TherapeuticProcedure-drug”…”R”KuuhŒ5http://schema.org/TherapeuticProcedure-adverseOutcome”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/adverseOutcome”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MedicalEntity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X5A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadverseOutcome”NN‡”R”KsuhŒ3http://schema.org/TherapeuticProcedure-doseSchedule”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/doseSchedule”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/DoseSchedule”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ|A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ doseSchedule”NN‡”R”KsuhŒ+http://schema.org/TherapeuticProcedure-drug”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/drug”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Drug”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ=Specifying a drug or medicine used in a medication procedure.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdrug”NN‡”R”KsuhŒhttp://schema.org/Thesis”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://bib.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ(http://www.productontology.org/id/Thesis”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ{A thesis or dissertation document submitted in support of candidature for an academic degree or professional qualification.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒThesis”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ$http://schema.org/Thesis-inSupportOf”…”R”KsuhŒ$http://schema.org/Thesis-inSupportOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inSupportOf”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEQualification, candidature, degree, application that Thesis supports.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inSupportOf”NN‡”R”KsuhŒhttp://schema.org/Thing”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe most generic type of item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒThing”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://www.w3.org/2002/07/owl#Thing”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ&http://schema.org/Thing-additionalType”…”R”KhŒ%http://schema.org/Thing-alternateName”…”R”KhŒ#http://schema.org/Thing-description”…”R”KhŒ1http://schema.org/Thing-disambiguatingDescription”…”R”KhŒ"http://schema.org/Thing-identifier”…”R”KhŒhttp://schema.org/Thing-image”…”R”KhŒ(http://schema.org/Thing-mainEntityOfPage”…”R”KhŒhttp://schema.org/Thing-name”…”R”KhŒ'http://schema.org/Thing-potentialAction”…”R”KhŒhttp://schema.org/Thing-sameAs”…”R”KhŒ!http://schema.org/Thing-subjectOf”…”R”KhŒhttp://schema.org/Thing-url”…”R”KuuhŒ&http://schema.org/Thing-additionalType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/additionalType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XŸAn additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒadditionalType”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ%http://schema.org/Thing-alternateName”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/alternateName”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒAn alias for the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ alternateName”NN‡”R”KsuhŒ#http://schema.org/Thing-description”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/description”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA description of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ description”NN‡”R”KsuhŒ1http://schema.org/Thing-disambiguatingDescription”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://schema.org/disambiguatingDescription”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒìA sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdisambiguatingDescription”NN‡”R”KsuhŒ"http://schema.org/Thing-identifier”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/identifier”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XAThe identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ identifier”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2858”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2855”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PropertyValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2856”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2857”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj·n}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jºnKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2859”…”R”Ksujän}”(jÜn}”jÅnKsjàn}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2860”…”R”Ksujên}”(jÜn}”jÐnKsjàn}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Thing-image”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/image”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒQAn image of the item. This can be a [[URL]] or a fully described [[ImageObject]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œimage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2863”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2861”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2862”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssjo}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”joKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2864”…”R”KsujunitCode.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunitText”NN‡”R”KsuhŒ#http://schema.org/TypesHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ2Categorization and other types related to a topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒTypes health aspect”NN‡”R”KsuhŒ!http://schema.org/UKNonprofitType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2543”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRUKNonprofitType: Non-profit organization type originating from the United Kingdom.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUKNonprofit type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/NonprofitType”…”R”KsuhŒhttp://schema.org/UKTrust”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/UKNonprofitType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2543”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ1UKTrust: Non-profit type referring to a UK trust.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUKTrust”NN‡”R”KsuhŒhttp://schema.org/URL”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒData type: URL.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒURL”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KsuhŒ!http://schema.org/USNonprofitType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2543”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒQUSNonprofitType: Non-profit organization type originating from the United States.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUSNonprofit type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/NonprofitType”…”R”KsuhŒhttp://schema.org/Ultrasound”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/MedicalImagingTechnique”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒUltrasound imaging.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Ultrasound”NN‡”R”KsuhŒ"http://schema.org/UnRegisterAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X+The act of un-registering from a service.\n\nRelated actions:\n\n* [[RegisterAction]]: antonym of UnRegisterAction.\n* [[LeaveAction]]: Unlike LeaveAction, UnRegisterAction implies that you are unregistering from a service you werer previously registered, rather than leaving a team/group of people.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUn register action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/InteractAction”…”R”KsuhŒ%http://schema.org/UnemploymentSupport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/GovernmentBenefitsType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2534”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@UnemploymentSupport: this is a benefit for unemployment support.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUnemployment support”NN‡”R”KsuhŒ2http://schema.org/UnincorporatedAssociationCharity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/UKNonprofitType”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2543”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒrUnincorporatedAssociationCharity: Non-profit type referring to a charitable company that is not incorporated (UK).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Unincorporated association charity”NN‡”R”KsuhŒ(http://schema.org/UnitPriceSpecification”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒKThe price asked for a given offer by the respective organization or person.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUnit price specification”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/PriceSpecification”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ8http://schema.org/UnitPriceSpecification-billingDuration”…”R”KhŒ9http://schema.org/UnitPriceSpecification-billingIncrement”…”R”KhŒ5http://schema.org/UnitPriceSpecification-billingStart”…”R”KhŒ;http://schema.org/UnitPriceSpecification-priceComponentType”…”R”KhŒ2http://schema.org/UnitPriceSpecification-priceType”…”R”KhŒ:http://schema.org/UnitPriceSpecification-referenceQuantity”…”R”KhŒ1http://schema.org/UnitPriceSpecification-unitCode”…”R”KhŒ1http://schema.org/UnitPriceSpecification-unitText”…”R”KuuhŒ8http://schema.org/UnitPriceSpecification-billingDuration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/billingDuration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X2Specifies for how long this price (or price component) will be billed. Can be used, for example, to model the contractual duration of a subscription or payment plan. Type can be either a Duration or a Number (in which case the unit of measurement, for example month, is specified by the unitCode property).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbillingDuration”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2950”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2947”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2948”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#duration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2949”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2951”…”R”KsujE}”(j=}”j&KsjA}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2952”…”R”KsujK}”(j=}”j1KsjA}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ9http://schema.org/UnitPriceSpecification-billingIncrement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/billingIncrement”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒªThis property specifies the minimal quantity and rounding increment that will be the basis for the billing. The unit of measurement is specified by the unitCode property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbillingIncrement”NN‡”R”KsuhŒ5http://schema.org/UnitPriceSpecification-billingStart”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/billingStart”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒúSpecifies after how much time this price (or price component) becomes valid and billing starts. Can be used, for example, to model a price increase after the first year of a subscription. The unit of measurement is specified by the unitCode property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ billingStart”NN‡”R”KsuhŒ;http://schema.org/UnitPriceSpecification-priceComponentType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/priceComponentType”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ/http://schema.org/PriceComponentTypeEnumeration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒlIdentifies a price component (for example, a line item on an invoice), part of the total price for an offer.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒpriceComponentType”NN‡”R”KsuhŒ2http://schema.org/UnitPriceSpecification-priceType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/priceType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XâDefines the type of a price specified for an offered product, for example a list price, a (temporary) sale price or a manufacturer suggested retail price. If multiple prices are specified for an offer the [[priceType]] property can be used to identify the type of each such specified price. The value of priceType can be specified as a value from enumeration PriceTypeEnumeration or as a free form text string for price types that are not already predefined in PriceTypeEnumeration.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ priceType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2955”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2953”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ&http://schema.org/PriceTypeEnumeration”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2954”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjù}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jüKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2956”…”R”Ksuj‚}”(j‚}”j‚Ksj‚}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ:http://schema.org/UnitPriceSpecification-referenceQuantity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/referenceQuantity”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÞThe reference quantity for which a certain price applies, e.g. 1 EUR per 4 kWh of electricity. This property is a replacement for unitOfMeasurement for the advanced cases where the price does not relate to a standard unit.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒreferenceQuantity”NN‡”R”KsuhŒ1http://schema.org/UnitPriceSpecification-unitCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/unitCode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ°The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunitCode”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2959”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2957”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2958”…”R”}”h•Œ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssju‚}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jx‚KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2960”…”R”Ksuj—‚}”(j‚}”jƒ‚Ksj“‚}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/UnitPriceSpecification-unitText”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/unitText”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‰A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for unitCode.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒunitText”NN‡”R”KsuhŒ&http://schema.org/UnofficialLegalValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/LegalValueLevel”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”(hŒ0http://publications.europa.eu/mdr/eli/index.html”…”R”KhŒ2https://github.com/schemaorg/schemaorg/issues/1156”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒwIndicates that a document has no particular or special standing (e.g. a republication of a law by a private publisher).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUnofficial legal value”NN‡”R”KsuhŒhttp://schema.org/UpdateAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@The act of managing by changing/editing the state of the object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Update action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Action”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ)http://schema.org/UpdateAction-collection”…”R”KhŒ/http://schema.org/UpdateAction-targetCollection”…”R”KuuhŒ)http://schema.org/UpdateAction-collection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/collection”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>A sub property of object. The collection target of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ collection”NN‡”R”KsuhŒ/http://schema.org/UpdateAction-targetCollection”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/targetCollection”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>A sub property of object. The collection target of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtargetCollection”NN‡”R”KsuhŒhttp://schema.org/Urologic”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/MedicalSpecialty”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒžA specific branch of medical science that is concerned with the diagnosis and treatment of diseases pertaining to the urinary tract and the urogenital system.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUrologic”NN‡”R”KsuhŒ-http://schema.org/UsageOrScheduleHealthAspect”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/HealthAspectEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2374”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Content about how, when, frequency and dosage of a topic.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUsage or schedule health aspect”NN‡”R”KsuhŒhttp://schema.org/UseAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6The act of applying an object to its intended purpose.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Use action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ConsumeAction”…”R”KsuhŒhttp://schema.org/UsedCondition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/OfferItemCondition”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Indicates that the item is used.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUsed condition”NN‡”R”KsuhŒhttp://schema.org/UserBlocks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User blocks”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒhttp://schema.org/UserCheckins”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User checkins”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒhttp://schema.org/UserComments”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews”…”R”KshŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User comments”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/UserComments-commentText”…”R”KhŒ*http://schema.org/UserComments-commentTime”…”R”KhŒ&http://schema.org/UserComments-creator”…”R”KhŒ(http://schema.org/UserComments-discusses”…”R”KhŒ)http://schema.org/UserComments-replyToUrl”…”R”KuuhŒ*http://schema.org/UserComments-commentText”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/commentText”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe text of the UserComment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ commentText”NN‡”R”KsuhŒ*http://schema.org/UserComments-commentTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/commentTime”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ+The time at which the UserComment was made.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ commentTime”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2963”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2961”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2962”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ)http://www.w3.org/2001/XMLSchema#dateTime”…”R”Kssjð„}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jó„KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2964”…”R”Ksuj…}”(j …}”jþ„Ksj…}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/UserComments-creator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/creator”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒbThe creator/author of this CreativeWork. This is the same as the Author property for CreativeWork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcreator”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2967”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2965”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2966”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjB…}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jE…KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2968”…”R”Ksujd…}”(j\…}”jP…Ksj`…}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/UserComments-discusses”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/discusses”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ;Specifies the CreativeWork associated with the UserComment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ discusses”NN‡”R”KsuhŒ)http://schema.org/UserComments-replyToUrl”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/replyToUrl”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒDThe URL at which a reply may be posted to the specified UserComment.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ replyToUrl”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒhttp://schema.org/UserDownloads”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUser downloads”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒ!http://schema.org/UserInteraction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUser interaction”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/UserLikes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User likes”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒ http://schema.org/UserPageVisits”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUser page visits”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒhttp://schema.org/UserPlays”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User plays”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒhttp://schema.org/UserPlusOnes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒUser plus ones”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒhttp://schema.org/UserReview”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1589”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmA review created by an end-user (e.g. consumer, purchaser, attendee etc.), in contrast with [[CriticReview]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User review”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Review”…”R”KsuhŒhttp://schema.org/UserTweets”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/supersededBy”…”R”}”hŒ$http://schema.org/InteractionCounter”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ½UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ User tweets”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/UserInteraction”…”R”KsuhŒhttp://schema.org/VeganDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(A diet exclusive of all animal products.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Vegan diet”NN‡”R”KsuhŒ http://schema.org/VegetarianDiet”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/RestrictedDiet”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A diet exclusive of animal meat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVegetarian diet”NN‡”R”KsuhŒhttp://schema.org/Vehicle”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒtA vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVehicle”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Product”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/Vehicle-accelerationTime”…”R”KhŒ"http://schema.org/Vehicle-bodyType”…”R”KhŒ"http://schema.org/Vehicle-callSign”…”R”KhŒ%http://schema.org/Vehicle-cargoVolume”…”R”KhŒ4http://schema.org/Vehicle-dateVehicleFirstRegistered”…”R”KhŒ1http://schema.org/Vehicle-driveWheelConfiguration”…”R”KhŒ&http://schema.org/Vehicle-emissionsCO2”…”R”KhŒ&http://schema.org/Vehicle-fuelCapacity”…”R”KhŒ)http://schema.org/Vehicle-fuelConsumption”…”R”KhŒ(http://schema.org/Vehicle-fuelEfficiency”…”R”KhŒ"http://schema.org/Vehicle-fuelType”…”R”KhŒ-http://schema.org/Vehicle-knownVehicleDamages”…”R”KhŒ/http://schema.org/Vehicle-meetsEmissionStandard”…”R”KhŒ-http://schema.org/Vehicle-mileageFromOdometer”…”R”KhŒ#http://schema.org/Vehicle-modelDate”…”R”KhŒ)http://schema.org/Vehicle-numberOfAirbags”…”R”KhŒ'http://schema.org/Vehicle-numberOfAxles”…”R”KhŒ'http://schema.org/Vehicle-numberOfDoors”…”R”KhŒ.http://schema.org/Vehicle-numberOfForwardGears”…”R”KhŒ0http://schema.org/Vehicle-numberOfPreviousOwners”…”R”KhŒ!http://schema.org/Vehicle-payload”…”R”KhŒ(http://schema.org/Vehicle-productionDate”…”R”KhŒ&http://schema.org/Vehicle-purchaseDate”…”R”KhŒ)http://schema.org/Vehicle-seatingCapacity”…”R”KhŒhttp://schema.org/Vehicle-speed”…”R”KhŒ*http://schema.org/Vehicle-steeringPosition”…”R”KhŒ(http://schema.org/Vehicle-stupidProperty”…”R”KhŒ&http://schema.org/Vehicle-tongueWeight”…”R”KhŒ'http://schema.org/Vehicle-trailerWeight”…”R”KhŒ.http://schema.org/Vehicle-vehicleConfiguration”…”R”KhŒ'http://schema.org/Vehicle-vehicleEngine”…”R”KhŒ5http://schema.org/Vehicle-vehicleIdentificationNumber”…”R”KhŒ.http://schema.org/Vehicle-vehicleInteriorColor”…”R”KhŒ-http://schema.org/Vehicle-vehicleInteriorType”…”R”KhŒ*http://schema.org/Vehicle-vehicleModelDate”…”R”KhŒ0http://schema.org/Vehicle-vehicleSeatingCapacity”…”R”KhŒ-http://schema.org/Vehicle-vehicleSpecialUsage”…”R”KhŒ-http://schema.org/Vehicle-vehicleTransmission”…”R”KhŒ%http://schema.org/Vehicle-weightTotal”…”R”KhŒ#http://schema.org/Vehicle-wheelbase”…”R”KuuhŒ*http://schema.org/Vehicle-accelerationTime”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/accelerationTime”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÍThe time needed to accelerate the vehicle from a given start velocity to a given target velocity.\n\nTypical unit code(s): SEC for seconds\n\n* Note: There are unfortunately no standard unit codes for seconds/0..100 km/h or seconds/0..60 mph. Simply use "SEC" for seconds and indicate the velocities in the [[name]] of the [[QuantitativeValue]], or use [[valueReference]] with a [[QuantitativeValue]] of 0..60 mph or 0..100 km/h to specify the reference speeds.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒaccelerationTime”NN‡”R”KsuhŒ"http://schema.org/Vehicle-bodyType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/bodyType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYIndicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒbodyType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2972”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2969”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2970”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2971”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjUˆ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jXˆKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2973”…”R”Ksuj‚ˆ}”(jzˆ}”jcˆKsj~ˆ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2974”…”R”Ksujˆˆ}”(jzˆ}”jnˆKsj~ˆ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ"http://schema.org/Vehicle-callSign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/callSign”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒŸA [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcallSign”NN‡”R”KsuhŒ%http://schema.org/Vehicle-cargoVolume”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cargoVolume”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒåThe available volume for cargo or luggage. For automobiles, this is usually the trunk volume.\n\nTypical unit code(s): LTR for liters, FTQ for cubic foot/feet\n\nNote: You can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ cargoVolume”NN‡”R”KsuhŒ4http://schema.org/Vehicle-dateVehicleFirstRegistered”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://schema.org/dateVehicleFirstRegistered”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒYThe date of the first registration of the vehicle with the respective public authorities.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdateVehicleFirstRegistered”NN‡”R”KsuhŒ1http://schema.org/Vehicle-driveWheelConfiguration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ)http://schema.org/driveWheelConfiguration”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒvThe drive wheel configuration, i.e. which roadwheels will receive torque from the vehicle's engine via the drivetrain.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdriveWheelConfiguration”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2977”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2975”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ.http://schema.org/DriveWheelConfigurationValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2976”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj6‰}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j9‰KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2978”…”R”KsujX‰}”(jP‰}”jD‰KsjT‰}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/Vehicle-emissionsCO2”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/emissionsCO2”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¶The CO2 emissions in g/km. When used in combination with a QuantitativeValue, put "g/km" into the unitText property of that value, since there is no UN/CEFACT Common Code for "g/km".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ emissionsCO2”NN‡”R”KsuhŒ&http://schema.org/Vehicle-fuelCapacity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/fuelCapacity”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XDThe capacity of the fuel tank or in the case of electric cars, the battery. If there are multiple components for storage, this should indicate the total of all storage of the same type.\n\nTypical unit code(s): LTR for liters, GLL of US gallons, GLI for UK / imperial gallons, AMH for ampere-hours (for electrical vehicles).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ fuelCapacity”NN‡”R”KsuhŒ)http://schema.org/Vehicle-fuelConsumption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/fuelConsumption”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X·The amount of fuel consumed for traveling a particular distance or temporal duration with the given vehicle (e.g. liters per 100 km).\n\n* Note 1: There are unfortunately no standard unit codes for liters per 100 km. Use [[unitText]] to indicate the unit of measurement, e.g. L/100 km.\n* Note 2: There are two ways of indicating the fuel consumption, [[fuelConsumption]] (e.g. 8 liters per 100 km) and [[fuelEfficiency]] (e.g. 30 miles per gallon). They are reciprocal.\n* Note 3: Often, the absolute value is useful only when related to driving speed ("at 80 km/h") or usage pattern ("city traffic"). You can use [[valueReference]] to link the value for the fuel consumption to another value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfuelConsumption”NN‡”R”KsuhŒ(http://schema.org/Vehicle-fuelEfficiency”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/fuelEfficiency”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X¸The distance traveled per unit of fuel used; most commonly miles per gallon (mpg) or kilometers per liter (km/L).\n\n* Note 1: There are unfortunately no standard unit codes for miles per gallon or kilometers per liter. Use [[unitText]] to indicate the unit of measurement, e.g. mpg or km/L.\n* Note 2: There are two ways of indicating the fuel consumption, [[fuelConsumption]] (e.g. 8 liters per 100 km) and [[fuelEfficiency]] (e.g. 30 miles per gallon). They are reciprocal.\n* Note 3: Often, the absolute value is useful only when related to driving speed ("at 80 km/h") or usage pattern ("city traffic"). You can use [[valueReference]] to link the value for the fuel economy to another value.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfuelEfficiency”NN‡”R”KsuhŒ"http://schema.org/Vehicle-fuelType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/fuelType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒžThe type of fuel suitable for the engine or engines of the vehicle. If the vehicle has only one engine, this property can be attached directly to the vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒfuelType”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2982”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2979”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2980”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2981”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj0Š}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j3ŠKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2983”…”R”Ksuj]Š}”(jUŠ}”j>ŠKsjYŠ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2984”…”R”KsujcŠ}”(jUŠ}”jIŠKsjYŠ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/Vehicle-knownVehicleDamages”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/knownVehicleDamages”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒEA textual description of known damages, both repaired and unrepaired.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒknownVehicleDamages”NN‡”R”KsuhŒ/http://schema.org/Vehicle-meetsEmissionStandard”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://schema.org/meetsEmissionStandard”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBIndicates that the vehicle meets the respective emission standard.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmeetsEmissionStandard”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2988”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2985”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2986”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2987”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj½Š}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÀŠKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2989”…”R”KsujêŠ}”(jâŠ}”jËŠKsjæŠ}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2990”…”R”KsujðŠ}”(jâŠ}”jÖŠKsjæŠ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/Vehicle-mileageFromOdometer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/mileageFromOdometer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ²The total distance travelled by the particular vehicle since its initial production, as read from its odometer.\n\nTypical unit code(s): KMT for kilometers, SMI for statute miles”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmileageFromOdometer”NN‡”R”KsuhŒ#http://schema.org/Vehicle-modelDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/modelDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒfThe release date of a vehicle model (often used to differentiate versions of the same make and model).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ modelDate”NN‡”R”KsuhŒ)http://schema.org/Vehicle-numberOfAirbags”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/numberOfAirbags”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ-The number or type of airbags in the vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfAirbags”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2993”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2991”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2992”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjt‹}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jw‹KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2994”…”R”Ksuj–‹}”(jŽ‹}”j‚‹Ksj’‹}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Vehicle-numberOfAxles”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfAxles”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The number of axles.\n\nTypical unit code(s): C62”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfAxles”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2997”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2995”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b2996”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjÆ‹}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÉ‹KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b2998”…”R”Ksujè‹}”(jà‹}”jÔ‹Ksjä‹}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/Vehicle-numberOfDoors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/numberOfDoors”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The number of doors.\n\nTypical unit code(s): C62”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ numberOfDoors”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3001”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b2999”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3000”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjŒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jŒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3002”…”R”Ksuj:Œ}”(j2Œ}”j&ŒKsj6Œ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/Vehicle-numberOfForwardGears”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/numberOfForwardGears”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒtThe total number of forward gears available for the transmission system of the vehicle.\n\nTypical unit code(s): C62”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfForwardGears”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3005”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3003”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3004”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjjŒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jmŒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3006”…”R”KsujŒŒ}”(j„Œ}”jxŒKsjˆŒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://schema.org/Vehicle-numberOfPreviousOwners”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/numberOfPreviousOwners”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ\The number of owners of the vehicle, including the current one.\n\nTypical unit code(s): C62”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfPreviousOwners”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3009”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3007”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3008”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¼Œ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¿ŒKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3010”…”R”KsujÞŒ}”(jÖŒ}”jÊŒKsjÚŒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ!http://schema.org/Vehicle-payload”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/payload”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X<The permitted weight of passengers and cargo, EXCLUDING the weight of the empty vehicle.\n\nTypical unit code(s): KGM for kilogram, LBR for pound\n\n* Note 1: Many databases specify the permitted TOTAL weight instead, which is the sum of [[weight]] and [[payload]]\n* Note 2: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\n* Note 3: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\n* Note 4: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpayload”NN‡”R”KsuhŒ(http://schema.org/Vehicle-productionDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/productionDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The date of production of the item, e.g. vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionDate”NN‡”R”KsuhŒ&http://schema.org/Vehicle-purchaseDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/purchaseDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBThe date the item e.g. vehicle was purchased by the current owner.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ purchaseDate”NN‡”R”KsuhŒ)http://schema.org/Vehicle-seatingCapacity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/seatingCapacity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¾The number of persons that can be seated (e.g. in a vehicle), both in terms of the physical space available, and in terms of limitations set by law.\n\nTypical unit code(s): C62 for persons ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒseatingCapacity”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3013”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3011”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3012”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”KssjŒ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3014”…”R”Ksuj®}”(j¦}”jšKsjª}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/Vehicle-speed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/speed”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XBThe speed range of the vehicle. If the vehicle is powered by an engine, the upper limit of the speed range (indicated by [[maxValue]] should be the maximum speed achievable under regular conditions.\n\nTypical unit code(s): KMH for km/h, HM for mile per hour (0.447 04 m/s), KNT for knot\n\n*Note 1: Use [[minValue]] and [[maxValue]] to indicate the range. Typically, the minimal value is zero.\n* Note 2: There are many different ways of measuring the speed range. You can link to information about how the given value has been determined using the [[valueReference]] property.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œspeed”NN‡”R”KsuhŒ*http://schema.org/Vehicle-steeringPosition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/steeringPosition”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ'http://schema.org/SteeringPositionValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒGThe position of the steering wheel or similar device (mostly for cars).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsteeringPosition”NN‡”R”KsuhŒ(http://schema.org/Vehicle-stupidProperty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/stupidProperty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ,This is a StupidProperty! - for testing only”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒstupidProperty”NN‡”R”KsuhŒ&http://schema.org/Vehicle-tongueWeight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tongueWeight”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XThe permitted vertical load (TWR) of a trailer attached to the vehicle. Also referred to as Tongue Load Rating (TLR) or Vertical Load Rating (VLR)\n\nTypical unit code(s): KGM for kilogram, LBR for pound\n\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ tongueWeight”NN‡”R”KsuhŒ'http://schema.org/Vehicle-trailerWeight”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailerWeight”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X§The permitted weight of a trailer attached to the vehicle.\n\nTypical unit code(s): KGM for kilogram, LBR for pound\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ trailerWeight”NN‡”R”KsuhŒ.http://schema.org/Vehicle-vehicleConfiguration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/vehicleConfiguration”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒuA short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleConfiguration”NN‡”R”KsuhŒ'http://schema.org/Vehicle-vehicleEngine”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/vehicleEngine”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/EngineSpecification”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7Information about the engine or engines of the vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ vehicleEngine”NN‡”R”KsuhŒ5http://schema.org/Vehicle-vehicleIdentificationNumber”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ-http://schema.org/vehicleIdentificationNumber”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒˆThe Vehicle Identification Number (VIN) is a unique serial number used by the automotive industry to identify individual motor vehicles.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleIdentificationNumber”NN‡”R”KsuhŒ.http://schema.org/Vehicle-vehicleInteriorColor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/vehicleInteriorColor”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ>The color or color combination of the interior of the vehicle.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleInteriorColor”NN‡”R”KsuhŒ-http://schema.org/Vehicle-vehicleInteriorType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/vehicleInteriorType”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒëThe type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.). While most interior types are characterized by the material used, an interior type can also be based on vehicle usage or target audience.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleInteriorType”NN‡”R”KsuhŒ*http://schema.org/Vehicle-vehicleModelDate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/vehicleModelDate”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒfThe release date of a vehicle model (often used to differentiate versions of the same make and model).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleModelDate”NN‡”R”KsuhŒ0http://schema.org/Vehicle-vehicleSeatingCapacity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ(http://schema.org/vehicleSeatingCapacity”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¼The number of passengers that can be seated in the vehicle, both in terms of the physical space available, and in terms of limitations set by law.\n\nTypical unit code(s): C62 for persons.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleSeatingCapacity”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3017”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3015”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3016”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ&http://www.w3.org/2001/XMLSchema#float”…”R”Kssj¬}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¯KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3018”…”R”KsujÎ}”(jÆ}”jºKsjÊ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/Vehicle-vehicleSpecialUsage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/vehicleSpecialUsage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒàIndicates whether the vehicle has been used for special purposes, like commercial rental, driving school, or as a taxi. The legislation in many countries requires this information to be revealed when offering a car for sale.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleSpecialUsage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3021”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3019”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CarUsageType”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3020”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjþ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3022”…”R”Ksuj }”(j}”j Ksj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ-http://schema.org/Vehicle-vehicleTransmission”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://schema.org/vehicleTransmission”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•The type of component used for transmitting the power from a rotating power source to the wheels or other relevant component(s) ("gearbox" for cars).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvehicleTransmission”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3026”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3023”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/QualitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3024”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3025”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjP}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jSKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3027”…”R”Ksuj}}”(ju}”j^Ksjy}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3028”…”R”Ksujƒ}”(ju}”jiKsjy}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/Vehicle-weightTotal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/weightTotal”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XäThe permitted total weight of the loaded vehicle, including passengers and cargo and the weight of the empty vehicle.\n\nTypical unit code(s): KGM for kilogram, LBR for pound\n\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ weightTotal”NN‡”R”KsuhŒ#http://schema.org/Vehicle-wheelbase”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/wheelbase”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒžThe distance between the centers of the front and rear wheels.\n\nTypical unit code(s): CMT for centimeters, MTR for meters, INH for inches, FOT for foot/feet”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ wheelbase”NN‡”R”KsuhŒhttp://schema.org/Vein”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒDA type of blood vessel that specifically carries blood to the heart.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVein”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Vessel”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒhttp://schema.org/Vein-drainsTo”…”R”KhŒ$http://schema.org/Vein-regionDrained”…”R”KhŒ http://schema.org/Vein-tributary”…”R”KuuhŒhttp://schema.org/Vein-drainsTo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/drainsTo”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Vessel”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*The vasculature that the vein drains into.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdrainsTo”NN‡”R”KsuhŒ$http://schema.org/Vein-regionDrained”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/regionDrained”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒgThe anatomical or organ system drained by this vessel; generally refers to a specific part of an organ.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ regionDrained”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3031”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3029”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3030”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ"http://schema.org/AnatomicalSystem”…”R”Kssjk‘}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jn‘KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3032”…”R”Ksuj‘}”(j…‘}”jy‘Ksj‰‘}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ http://schema.org/Vein-tributary”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/tributary”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒfThe anatomical or organ system that the vein flows into; a larger structure that the vein connects to.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ tributary”NN‡”R”KsuhŒhttp://schema.org/VenueMap”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ!http://schema.org/MapCategoryType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9A venue map (e.g. for malls, auditoriums, museums, etc.).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Venue map”NN‡”R”KsuhŒhttp://schema.org/Vessel”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ“A component of the human body circulatory system comprised of an intricate network of hollow tubes that transport blood throughout the entire body.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVessel”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/AnatomicalStructure”…”R”KsuhŒ http://schema.org/VeterinaryCare”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA vet's office.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVeterinary care”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ%http://schema.org/MedicalOrganization”…”R”KsuhŒhttp://schema.org/VideoGallery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Web page type: Video gallery page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Video gallery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MediaGallery”…”R”KsuhŒhttp://schema.org/VideoGame”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”•}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ‡A video game is an electronic game that involves human interaction with a user interface to generate visual feedback on a video device.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Video game”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒhttp://schema.org/Game”…”R”KhŒ%http://schema.org/SoftwareApplication”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ!http://schema.org/VideoGame-actor”…”R”KhŒ"http://schema.org/VideoGame-actors”…”R”KhŒ%http://schema.org/VideoGame-cheatCode”…”R”KhŒ$http://schema.org/VideoGame-director”…”R”KhŒ%http://schema.org/VideoGame-directors”…”R”KhŒ(http://schema.org/VideoGame-gamePlatform”…”R”KhŒ&http://schema.org/VideoGame-gameServer”…”R”KhŒ#http://schema.org/VideoGame-gameTip”…”R”KhŒ#http://schema.org/VideoGame-musicBy”…”R”KhŒ$http://schema.org/VideoGame-playMode”…”R”KhŒ#http://schema.org/VideoGame-trailer”…”R”KuuhŒ!http://schema.org/VideoGame-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ"http://schema.org/VideoGame-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ%http://schema.org/VideoGame-cheatCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cheatCode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCheat codes to the game.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ cheatCode”NN‡”R”KsuhŒ$http://schema.org/VideoGame-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ%http://schema.org/VideoGame-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ(http://schema.org/VideoGame-gamePlatform”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gamePlatform”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒyThe electronic systems used to play video games.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ gamePlatform”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3036”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3033”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3034”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3035”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj “}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j£“KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3037”…”R”KsujÍ“}”(jÅ“}”j®“KsjÉ“}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3038”…”R”KsujÓ“}”(jÅ“}”j¹“KsjÉ“}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/VideoGame-gameServer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gameServer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GameServer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ5The server on which it is possible to play the game.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ gameServer”NN‡”R”KsuhŒ#http://schema.org/VideoGame-gameTip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gameTip”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒLinks to tips, tactics, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒgameTip”NN‡”R”KsuhŒ#http://schema.org/VideoGame-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3041”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3039”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3040”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KssjW”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jZ”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3042”…”R”Ksujy”}”(jq”}”je”Ksju”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ$http://schema.org/VideoGame-playMode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/playMode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GamePlayMode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ—Indicates whether this game is multi-player, co-op or single-player. The game can be marked as multi-player, co-op and single-player at the same time.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒplayMode”NN‡”R”KsuhŒ#http://schema.org/VideoGame-trailer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The trailer of a movie or tv/radio series, season, episode, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrailer”NN‡”R”KsuhŒhttp://schema.org/VideoGameClip”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%A short segment/part of a video game.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVideo game clip”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Clip”…”R”KsuhŒ!http://schema.org/VideoGameSeries”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA video game series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVideo game series”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ$http://schema.org/CreativeWorkSeries”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ'http://schema.org/VideoGameSeries-actor”…”R”KhŒ(http://schema.org/VideoGameSeries-actors”…”R”KhŒ4http://schema.org/VideoGameSeries-characterAttribute”…”R”KhŒ+http://schema.org/VideoGameSeries-cheatCode”…”R”KhŒ0http://schema.org/VideoGameSeries-containsSeason”…”R”KhŒ*http://schema.org/VideoGameSeries-director”…”R”KhŒ+http://schema.org/VideoGameSeries-directors”…”R”KhŒ)http://schema.org/VideoGameSeries-episode”…”R”KhŒ*http://schema.org/VideoGameSeries-episodes”…”R”KhŒ*http://schema.org/VideoGameSeries-gameItem”…”R”KhŒ.http://schema.org/VideoGameSeries-gameLocation”…”R”KhŒ.http://schema.org/VideoGameSeries-gamePlatform”…”R”KhŒ)http://schema.org/VideoGameSeries-musicBy”…”R”KhŒ2http://schema.org/VideoGameSeries-numberOfEpisodes”…”R”KhŒ1http://schema.org/VideoGameSeries-numberOfPlayers”…”R”KhŒ1http://schema.org/VideoGameSeries-numberOfSeasons”…”R”KhŒ*http://schema.org/VideoGameSeries-playMode”…”R”KhŒ3http://schema.org/VideoGameSeries-productionCompany”…”R”KhŒ'http://schema.org/VideoGameSeries-quest”…”R”KhŒ(http://schema.org/VideoGameSeries-season”…”R”KhŒ)http://schema.org/VideoGameSeries-seasons”…”R”KhŒ)http://schema.org/VideoGameSeries-trailer”…”R”KuuhŒ'http://schema.org/VideoGameSeries-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ(http://schema.org/VideoGameSeries-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ4http://schema.org/VideoGameSeries-characterAttribute”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/characterAttribute”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‡A piece of data that represents a particular aspect of a fictional character (skill, power, character points, advantage, disadvantage).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcharacterAttribute”NN‡”R”KsuhŒ+http://schema.org/VideoGameSeries-cheatCode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cheatCode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCheat codes to the game.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ cheatCode”NN‡”R”KsuhŒ0http://schema.org/VideoGameSeries-containsSeason”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/containsSeason”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*A season that is part of the media series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒcontainsSeason”NN‡”R”KsuhŒ*http://schema.org/VideoGameSeries-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ+http://schema.org/VideoGameSeries-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ)http://schema.org/VideoGameSeries-episode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒBAn episode of a tv, radio or game media within a series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œepisode”NN‡”R”KsuhŒ*http://schema.org/VideoGameSeries-episodes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/episodes”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Episode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ*An episode of a TV/radio series or season.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œepisodes”NN‡”R”KsuhŒ*http://schema.org/VideoGameSeries-gameItem”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gameItem”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒvAn item is an object within the game world that can be collected by a player or, occasionally, a non-player character.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒgameItem”NN‡”R”KsuhŒ.http://schema.org/VideoGameSeries-gameLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gameLocation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ9Real or fictional location of the game (or part of game).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ gameLocation”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3046”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3043”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Place”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3044”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/PostalAddress”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3045”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj3—}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j6—KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3047”…”R”Ksuj`—}”(jX—}”jA—Ksj\—}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3048”…”R”Ksujf—}”(jX—}”jL—Ksj\—}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ.http://schema.org/VideoGameSeries-gamePlatform”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/gamePlatform”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒyThe electronic systems used to play video games.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ gamePlatform”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3052”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3049”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3050”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3051”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj–—}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j™—KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3053”…”R”Ksuj×}”(j»—}”j¤—Ksj¿—}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3054”…”R”KsujÉ—}”(j»—}”j¯—Ksj¿—}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/VideoGameSeries-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3057”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3055”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3056”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssjù—}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jü—KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3058”…”R”Ksuj˜}”(j˜}”j˜Ksj˜}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ2http://schema.org/VideoGameSeries-numberOfEpisodes”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/numberOfEpisodes”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The number of episodes in this season or series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfEpisodes”NN‡”R”KsuhŒ1http://schema.org/VideoGameSeries-numberOfPlayers”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/numberOfPlayers”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒIIndicate how many people can play this game (minimum, maximum, or range).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfPlayers”NN‡”R”KsuhŒ1http://schema.org/VideoGameSeries-numberOfSeasons”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/numberOfSeasons”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%The number of seasons in this series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒnumberOfSeasons”NN‡”R”KsuhŒ*http://schema.org/VideoGameSeries-playMode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/playMode”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/GamePlayMode”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ—Indicates whether this game is multi-player, co-op or single-player. The game can be marked as multi-player, co-op and single-player at the same time.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒplayMode”NN‡”R”KsuhŒ3http://schema.org/VideoGameSeries-productionCompany”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/productionCompany”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ_The production company or studio responsible for the item e.g. series, video game, episode etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒproductionCompany”NN‡”R”KsuhŒ'http://schema.org/VideoGameSeries-quest”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/quest”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Thing”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒkThe task that a player-controlled character, or group of characters may complete in order to gain a reward.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œquest”NN‡”R”KsuhŒ(http://schema.org/VideoGameSeries-season”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/season”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA season in a media series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseason”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3061”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3059”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3060”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KssjG™}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jJ™KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3062”…”R”Ksuji™}”(ja™}”jU™Ksje™}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/VideoGameSeries-seasons”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/seasons”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://schema.org/CreativeWorkSeason”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒA season in a media series.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œseasons”NN‡”R”KsuhŒ)http://schema.org/VideoGameSeries-trailer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/trailer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/VideoObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ@The trailer of a movie or tv/radio series, season, episode, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œtrailer”NN‡”R”KsuhŒhttp://schema.org/VideoObject”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒBhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_rNews”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A video file.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Video object”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MediaObject”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ#http://schema.org/VideoObject-actor”…”R”KhŒ$http://schema.org/VideoObject-actors”…”R”KhŒ%http://schema.org/VideoObject-caption”…”R”KhŒ&http://schema.org/VideoObject-director”…”R”KhŒ'http://schema.org/VideoObject-directors”…”R”KhŒ%http://schema.org/VideoObject-musicBy”…”R”KhŒ'http://schema.org/VideoObject-thumbnail”…”R”KhŒ(http://schema.org/VideoObject-transcript”…”R”KhŒ,http://schema.org/VideoObject-videoFrameSize”…”R”KhŒ*http://schema.org/VideoObject-videoQuality”…”R”KuuhŒ#http://schema.org/VideoObject-actor”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actor”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ•An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactor”NN‡”R”KsuhŒ$http://schema.org/VideoObject-actors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/actors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ„An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œactors”NN‡”R”KsuhŒ%http://schema.org/VideoObject-caption”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/caption”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ“The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcaption”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3065”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3063”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MediaObject”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3064”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjš}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j“šKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3066”…”R”Ksuj²š}”(jªš}”jžšKsj®š}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/VideoObject-director”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/director”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¢A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdirector”NN‡”R”KsuhŒ'http://schema.org/VideoObject-directors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/directors”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ‘A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ directors”NN‡”R”KsuhŒ%http://schema.org/VideoObject-musicBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/musicBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe composer of the soundtrack.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmusicBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3069”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3067”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/MusicGroup”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3068”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj6›}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j9›KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3070”…”R”KsujX›}”(jP›}”jD›KsjT›}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/VideoObject-thumbnail”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/thumbnail”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ&Thumbnail image for an image or video.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ thumbnail”NN‡”R”KsuhŒ(http://schema.org/VideoObject-transcript”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/transcript”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒTIf this MediaObject is an AudioObject or VideoObject, the transcript of that object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ transcript”NN‡”R”KsuhŒ,http://schema.org/VideoObject-videoFrameSize”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/videoFrameSize”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe frame size of the video.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒvideoFrameSize”NN‡”R”KsuhŒ*http://schema.org/VideoObject-videoQuality”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/videoQuality”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe quality of the video.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ videoQuality”NN‡”R”KsuhŒhttp://schema.org/ViewAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ+The act of consuming static visual content.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ View action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ConsumeAction”…”R”KsuhŒhttp://schema.org/VinylFormat”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://schema.org/MusicReleaseFormatType”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ9http://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#MBZ”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ VinylFormat.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Vinyl format”NN‡”R”KsuhŒ!http://schema.org/VirtualLocation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1842”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X An online or virtual location for attending events. For example, one may attend an online seminar or educational event. While a virtual location may be used as the location of an event, virtual locations should not be confused with physical locations in the real world.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVirtual location”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Intangible”…”R”KsuhŒhttp://schema.org/Virus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://schema.org/InfectiousAgentClass”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-Pathogenic virus that causes viral infection.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVirus”NN‡”R”KsuhŒ!http://schema.org/VisualArtsEvent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEvent type: Visual arts event.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVisual arts event”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Event”…”R”KsuhŒhttp://schema.org/VisualArtwork”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_VisualArtworkClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ4A work of art that is primarily visual in character.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVisual artwork”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ*http://schema.org/VisualArtwork-artEdition”…”R”KhŒ)http://schema.org/VisualArtwork-artMedium”…”R”KhŒ'http://schema.org/VisualArtwork-artform”…”R”KhŒ&http://schema.org/VisualArtwork-artist”…”R”KhŒ.http://schema.org/VisualArtwork-artworkSurface”…”R”KhŒ(http://schema.org/VisualArtwork-colorist”…”R”KhŒ%http://schema.org/VisualArtwork-depth”…”R”KhŒ&http://schema.org/VisualArtwork-height”…”R”KhŒ%http://schema.org/VisualArtwork-inker”…”R”KhŒ(http://schema.org/VisualArtwork-letterer”…”R”KhŒ(http://schema.org/VisualArtwork-penciler”…”R”KhŒ'http://schema.org/VisualArtwork-surface”…”R”KhŒ%http://schema.org/VisualArtwork-width”…”R”KuuhŒ*http://schema.org/VisualArtwork-artEdition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/artEdition”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÁThe number of copies when multiple copies of a piece of artwork are produced - e.g. for a limited edition of 20 prints, 'artEdition' refers to the total number of copies (in this example "20").”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ artEdition”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3073”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3071”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3072”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjH}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3074”…”R”Ksujj}”(jb}”jVKsjf}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/VisualArtwork-artMedium”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/artMedium”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¦The material used. (e.g. Oil, Watercolour, Acrylic, Linoprint, Marble, Cyanotype, Digital, Lithograph, DryPoint, Intaglio, Pastel, Woodcut, Pencil, Mixed Media, etc.)”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ artMedium”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3077”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3075”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3076”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjš}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3078”…”R”Ksuj¼}”(j´}”j¨Ksj¸}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ'http://schema.org/VisualArtwork-artform”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/artform”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒOe.g. Painting, Drawing, Sculpture, Print, Photograph, Assemblage, Collage, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œartform”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3081”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3079”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3080”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjì}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jïKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3082”…”R”Ksujž}”(jž}”júKsj ž}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/VisualArtwork-artist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/artist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¡The primary artist for a work in a medium other than pencils or digital line art--for example, if the primary artwork is done in watercolors or digital paints.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œartist”NN‡”R”KsuhŒ.http://schema.org/VisualArtwork-artworkSurface”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/artworkSurface”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒOThe supporting materials for the artwork, e.g. Canvas, Paper, Wood, Board, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒartworkSurface”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3085”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3083”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3084”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjhž}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jkžKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3086”…”R”KsujŠž}”(j‚ž}”jvžKsj†ž}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ(http://schema.org/VisualArtwork-colorist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/colorist”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ0The individual who adds color to inked drawings.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œcolorist”NN‡”R”KsuhŒ%http://schema.org/VisualArtwork-depth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/depth”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe depth of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œdepth”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3089”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3087”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3088”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjäž}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jçžKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3090”…”R”KsujŸ}”(jþž}”jòžKsjŸ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/VisualArtwork-height”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/height”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe height of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œheight”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3093”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3091”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3092”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj6Ÿ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j9ŸKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3094”…”R”KsujXŸ}”(jPŸ}”jDŸKsjTŸ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/VisualArtwork-inker”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inker”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒUThe individual who traces over the pencil drawings in ink after pencils are complete.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œinker”NN‡”R”KsuhŒ(http://schema.org/VisualArtwork-letterer”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/letterer”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ[The individual who adds lettering, including speech balloons and sound effects, to artwork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œletterer”NN‡”R”KsuhŒ(http://schema.org/VisualArtwork-penciler”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/penciler”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7The individual who draws the primary narrative artwork.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œpenciler”NN‡”R”KsuhŒ'http://schema.org/VisualArtwork-surface”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/surface”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒSA material used as a surface in some artwork, e.g. Canvas, Paper, Wood, Board, etc.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œsurface”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3097”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3095”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3096”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j  KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3098”…”R”Ksuj( }”(j  }”j Ksj$ }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ%http://schema.org/VisualArtwork-width”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/width”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒThe width of the item.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œwidth”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3101”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3099”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3100”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjX }”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j[ KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3102”…”R”Ksujz }”(jr }”jf Ksjv }”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒhttp://schema.org/VitalSign”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒmVital signs are measures of various physiological functions in order to assess the most basic body functions.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Vital sign”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/MedicalSign”…”R”KsuhŒhttp://schema.org/Volcano”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA volcano, like Fuji san.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒVolcano”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Landform”…”R”KsuhŒhttp://schema.org/VoteAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYThe act of expressing a preference from a fixed/finite/structured set of choices/options.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Vote action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ChooseAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ&http://schema.org/VoteAction-candidate”…”R”KsuhŒ&http://schema.org/VoteAction-candidate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/candidate”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?A sub property of object. The candidate subject of this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ candidate”NN‡”R”KsuhŒhttp://schema.org/WPAdBlock”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#An advertising section of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ WPAd block”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KsuhŒhttp://schema.org/WPFooter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe footer section of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWPFooter”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KsuhŒhttp://schema.org/WPHeader”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe header section of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWPHeader”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KsuhŒhttp://schema.org/WPSideBar”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA sidebar section of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ WPSide bar”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KsuhŒhttp://schema.org/WantAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJThe act of expressing a desire about the object. An agent wants an object.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Want action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ReactAction”…”R”KsuhŒ!http://schema.org/WarrantyPromise”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¦A structured value representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWarranty promise”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ!http://schema.org/StructuredValue”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ4http://schema.org/WarrantyPromise-durationOfWarranty”…”R”KhŒ/http://schema.org/WarrantyPromise-warrantyScope”…”R”KuuhŒ4http://schema.org/WarrantyPromise-durationOfWarranty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/durationOfWarranty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ#http://schema.org/QuantitativeValue”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒoThe duration of the warranty promise. Common unitCode values are ANN for year, MON for months, or DAY for days.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒdurationOfWarranty”NN‡”R”KsuhŒ/http://schema.org/WarrantyPromise-warrantyScope”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/warrantyScope”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/WarrantyScope”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ"The scope of the warranty promise.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ warrantyScope”NN‡”R”KsuhŒhttp://schema.org/WarrantyScope”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒOhttp://www.w3.org/wiki/WebSchemas/SchemaDotOrgSources#source_GoodRelationsClass”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$X;A range of of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.\n\nCommonly used values:\n\n* http://purl.org/goodrelations/v1#Labor-BringIn\n* http://purl.org/goodrelations/v1#PartsAndLabor-BringIn\n* http://purl.org/goodrelations/v1#PartsAndLabor-PickUp ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWarranty scope”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Enumeration”…”R”KsuhŒhttp://schema.org/WatchAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ3The act of consuming dynamic/moving visual content.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Watch action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/ConsumeAction”…”R”KsuhŒhttp://schema.org/Waterfall”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA waterfall, like Niagara.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Waterfall”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/BodyOfWater”…”R”KsuhŒhttp://schema.org/WearAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(The act of dressing oneself in clothing.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Wear action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/UseAction”…”R”KsuhŒ)http://schema.org/WearableMeasurementBack”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/WearableMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8Measurement of the back section, for example of a jacket”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable measurement back”NN‡”R”KsuhŒ0http://schema.org/WearableMeasurementChestOrBust”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/WearableMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEnumerates common types of measurement for wearables products.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ%Wearable measurement type enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ,http://schema.org/MeasurementTypeEnumeration”…”R”KsuhŒ*http://schema.org/WearableMeasurementWaist”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/WearableMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6Measurement of the waist section, for example of pants”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable measurement waist”NN‡”R”KsuhŒ*http://schema.org/WearableMeasurementWidth”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ4http://schema.org/WearableMeasurementTypeEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.Measurement of the width, for example of shoes”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable measurement width”NN‡”R”KsuhŒ&http://schema.org/WearableSizeGroupBig”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSize group "Big" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group big”NN‡”R”KsuhŒ'http://schema.org/WearableSizeGroupBoys”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Size group "Boys" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group boys”NN‡”R”KsuhŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒQEnumerates common size groups (also known as "size types") for wearable products.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ&http://schema.org/SizeGroupEnumeration”…”R”KsuhŒ-http://schema.org/WearableSizeGroupExtraShort”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'Size group "Extra Short" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group extra short”NN‡”R”KsuhŒ,http://schema.org/WearableSizeGroupExtraTall”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ&Size group "Extra Tall" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group extra tall”NN‡”R”KsuhŒ(http://schema.org/WearableSizeGroupGirls”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!Size group "Girls" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group girls”NN‡”R”KsuhŒ(http://schema.org/WearableSizeGroupHusky”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/Size group "Husky" (or "Stocky") for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group husky”NN‡”R”KsuhŒ*http://schema.org/WearableSizeGroupInfants”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#Size group "Infants" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group infants”NN‡”R”KsuhŒ*http://schema.org/WearableSizeGroupJuniors”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#Size group "Juniors" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group juniors”NN‡”R”KsuhŒ,http://schema.org/WearableSizeGroupMaternity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%Size group "Maternity" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group maternity”NN‡”R”KsuhŒ'http://schema.org/WearableSizeGroupMens”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Size group "Mens" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group mens”NN‡”R”KsuhŒ)http://schema.org/WearableSizeGroupMisses”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:Size group "Misses" (also known as "Missy") for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group misses”NN‡”R”KsuhŒ)http://schema.org/WearableSizeGroupPetite”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Size group "Petite" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group petite”NN‡”R”KsuhŒ'http://schema.org/WearableSizeGroupPlus”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Size group "Plus" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group plus”NN‡”R”KsuhŒ*http://schema.org/WearableSizeGroupRegular”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#Size group "Regular" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group regular”NN‡”R”KsuhŒ(http://schema.org/WearableSizeGroupShort”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!Size group "Short" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group short”NN‡”R”KsuhŒ'http://schema.org/WearableSizeGroupTall”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Size group "Tall" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group tall”NN‡”R”KsuhŒ)http://schema.org/WearableSizeGroupWomens”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://schema.org/WearableSizeGroupEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Size group "Womens" for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size group womens”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemAU”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%Australian size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system AU”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemBR”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ$Brazilian size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system BR”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemCN”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Chinese size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system CN”NN‡”R”KsuhŒ/http://schema.org/WearableSizeSystemContinental”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ&Continental size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Wearable size system continental”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemDE”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!German size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system DE”NN‡”R”KsuhŒ+http://schema.org/WearableSizeSystemEN13402”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAEN 13402 (joint European standard for size labelling of clothes).”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system EN13402”NN‡”R”KsuhŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=Enumerates common size systems specific for wearable products”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Wearable size system enumeration”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://schema.org/SizeSystemEnumeration”…”R”KsuhŒ*http://schema.org/WearableSizeSystemEurope”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#European size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system europe”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemFR”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!French size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system FR”NN‡”R”KsuhŒ'http://schema.org/WearableSizeSystemGS1”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-GS1 (formerly NRF) size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system GS1”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemIT”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Italian size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system IT”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemJP”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#Japanese size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system JP”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemMX”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ"Mexican size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system MX”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemUK”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)United Kingdom size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system UK”NN‡”R”KsuhŒ&http://schema.org/WearableSizeSystemUS”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/WearableSizeSystemEnumeration”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2811”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(United States size system for wearables.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWearable size system US”NN‡”R”KsuhŒhttp://schema.org/WebAPI”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1423”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒOAn application programming interface accessible over Web/Internet technologies.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWeb API”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Service”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ&http://schema.org/WebAPI-documentation”…”R”KsuhŒ&http://schema.org/WebAPI-documentation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/documentation”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œbreadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWeb page”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ$http://schema.org/WebPage-breadcrumb”…”R”KhŒ&http://schema.org/WebPage-lastReviewed”…”R”KhŒ+http://schema.org/WebPage-mainContentOfPage”…”R”KhŒ,http://schema.org/WebPage-primaryImageOfPage”…”R”KhŒ%http://schema.org/WebPage-relatedLink”…”R”KhŒ$http://schema.org/WebPage-reviewedBy”…”R”KhŒ)http://schema.org/WebPage-significantLink”…”R”KhŒ*http://schema.org/WebPage-significantLinks”…”R”KhŒ#http://schema.org/WebPage-speakable”…”R”KhŒ#http://schema.org/WebPage-specialty”…”R”KuuhŒ$http://schema.org/WebPage-breadcrumb”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/breadcrumb”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒPA set of links that can help a user understand and navigate a website hierarchy.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ breadcrumb”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3109”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3107”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/BreadcrumbList”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3108”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KssjÅ«}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jÈ«KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3110”…”R”Ksujç«}”(jß«}”jÓ«Ksjã«}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/WebPage-lastReviewed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/lastReviewed”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ%http://www.w3.org/2001/XMLSchema#date”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ^Date on which the content on this web page was last reviewed for accuracy and/or completeness.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ lastReviewed”NN‡”R”KsuhŒ+http://schema.org/WebPage-mainContentOfPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://schema.org/mainContentOfPage”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ http://schema.org/WebPageElement”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒCIndicates if this web page element is the main subject of the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒmainContentOfPage”NN‡”R”KsuhŒ,http://schema.org/WebPage-primaryImageOfPage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://schema.org/primaryImageOfPage”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/ImageObject”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ%Indicates the main image on the page.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒprimaryImageOfPage”NN‡”R”KsuhŒ%http://schema.org/WebPage-relatedLink”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/relatedLink”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHA link related to this web page, for example to other related web pages.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ relatedLink”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ$http://schema.org/WebPage-reviewedBy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/reviewedBy”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒiPeople or organizations that have reviewed the content on this web page for accuracy and/or completeness.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ reviewedBy”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3113”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3111”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Organization”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3112”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”Kssj¿¬}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j¬KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3114”…”R”Ksujá¬}”(jÙ¬}”jͬKsjݬ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ)http://schema.org/WebPage-significantLink”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://schema.org/significantLink”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒyOne of the more significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsignificantLink”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ*http://schema.org/WebPage-significantLinks”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://schema.org/significantLinks”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒrThe most significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒsignificantLinks”NN‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsuhŒ#http://schema.org/WebPage-speakable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/speakable”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$XÒIndicates sections of a Web page that are particularly 'speakable' in the sense of being highlighted as being especially appropriate for text-to-speech conversion. Other sections of a page may also be usefully spoken in particular circumstances; the 'speakable' property serves to indicate the parts most likely to be generally useful for speech. The *speakable* property can be repeated an arbitrary number of times, with three kinds of possible 'content-locator' values: 1.) *id-value* URL references - uses *id-value* of an element in the page being annotated. The simplest use of *speakable* has (potentially relative) URL values, referencing identified sections of the document concerned. 2.) CSS Selectors - addresses content in the annotated page, eg. via class attribute. Use the [[cssSelector]] property. 3.) XPaths - addresses content via XPaths (assuming an XML view of the content). Use the [[xpath]] property. For more sophisticated markup of speakable sections beyond simple ID references, either CSS selectors or XPath expressions to pick out document section(s) as speakable. For this we define a supporting type, [[SpeakableSpecification]] which is defined to be a possible value of the *speakable* property. ”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ speakable”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3117”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3115”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://schema.org/SpeakableSpecification”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3116”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssje­}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jh­KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3118”…”R”Ksuj‡­}”(j­}”js­Ksjƒ­}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://schema.org/WebPage-specialty”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/specialty”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Specialty”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒHOne of the domain specialities to which this web page's content applies.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ specialty”NN‡”R”KsuhŒ http://schema.org/WebPageElement”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-A web page element, like a table or an image.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWeb page element”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ,http://schema.org/WebPageElement-cssSelector”…”R”KhŒ&http://schema.org/WebPageElement-xpath”…”R”KuuhŒ,http://schema.org/WebPageElement-cssSelector”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/cssSelector”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ!http://schema.org/CssSelectorType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒµA CSS selector, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual "Web page element".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ cssSelector”NN‡”R”KsuhŒ&http://schema.org/WebPageElement-xpath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/xpath”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/XPathType”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ¯An XPath, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual "Web page element".”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œxpath”NN‡”R”KsuhŒhttp://schema.org/WebSite”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒzA WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWeb site”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreativeWork”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒhttp://schema.org/WebSite-issn”…”R”KsuhŒhttp://schema.org/WebSite-issn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/issn”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÒThe International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œissn”NN‡”R”KsuhŒhttp://schema.org/Wednesday”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒhttp://schema.org/DayOfWeek”…”R”KshŒhttp://schema.org/sameAs”…”R”}”hŒ#http://www.wikidata.org/entity/Q128”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ1The day of the week between Tuesday and Thursday.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Wednesday”NN‡”R”KsuhŒ%http://schema.org/WesternConventional”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ http://schema.org/MedicineSystem”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÊThe conventional Western system of medicine, that aims to apply the best available evidence gained from the scientific method to clinical decision making. Also known as conventional or Western medicine.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWestern conventional”NN‡”R”KsuhŒhttp://schema.org/Wholesale”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ"http://schema.org/DrugCostCategory”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒFThe drug's cost represents the wholesale acquisition cost of the drug.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Wholesale”NN‡”R”KsuhŒ http://schema.org/WholesaleStore”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA wholesale store.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWholesale store”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Store”…”R”KsuhŒhttp://schema.org/WinAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7The act of achieving victory in a competitive activity.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Win action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/AchieveAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”hŒ!http://schema.org/WinAction-loser”…”R”KsuhŒ!http://schema.org/WinAction-loser”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/loser”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Person”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ7A sub property of participant. The loser of the action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œloser”NN‡”R”KsuhŒhttp://schema.org/Winery”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ A winery.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWinery”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ#http://schema.org/FoodEstablishment”…”R”KsuhŒhttp://schema.org/Withdrawn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/MedicalStudyStatus”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ Withdrawn.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Withdrawn”NN‡”R”KsuhŒ"http://schema.org/WorkBasedProgram”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/2289”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$XUA program with both an educational and employment component. Typically based at a workplace and structured around work-based learning, with the aim of instilling competencies related to an occupation. WorkBasedProgram is used to distinguish programs such as apprenticeships from school, college or other classroom based educational programs.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWork based program”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ0http://schema.org/EducationalOccupationalProgram”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ7http://schema.org/WorkBasedProgram-occupationalCategory”…”R”KhŒ1http://schema.org/WorkBasedProgram-trainingSalary”…”R”KuuhŒ7http://schema.org/WorkBasedProgram-occupationalCategory”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://schema.org/occupationalCategory”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$X A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\n Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒoccupationalCategory”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3121”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3119”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/CategoryCode”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3120”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssj°}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j °KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3122”…”R”Ksuj?°}”(j7°}”j+°Ksj;°}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ1http://schema.org/WorkBasedProgram-trainingSalary”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://schema.org/trainingSalary”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ,http://schema.org/MonetaryAmountDistribution”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ1The estimated salary earned while in the program.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$ŒtrainingSalary”NN‡”R”KsuhŒhttp://schema.org/WorkersUnion”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/source”…”R”}”hŒ1https://github.com/schemaorg/schemaorg/issues/243”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒàA Workers Union (also known as a Labor Union, Labour Union, or Trade Union) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Workers union”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/Organization”…”R”KsuhŒhttp://schema.org/WriteAction”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.The act of authoring written creative content.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Write action”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒhttp://schema.org/CreateAction”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ(http://schema.org/WriteAction-inLanguage”…”R”KhŒ&http://schema.org/WriteAction-language”…”R”KuuhŒ(http://schema.org/WriteAction-inLanguage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/inLanguage”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$ŒÈThe language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]].”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œ inLanguage”NN‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3125”…”R”Ksuj¤Œ&n8b6ee6229417493cb1977c6514222981b3123”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”Kssj¤Œ&n8b6ee6229417493cb1977c6514222981b3124”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssjö°}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jù°KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”j¤Œ&n8b6ee6229417493cb1977c6514222981b3126”…”R”Ksuj±}”(j±}”j±Ksj±}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ&http://schema.org/WriteAction-language”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://schema.org/language”…”R”KshŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒhttp://schema.org/Language”…”R”KshŒ&http://www.w3.org/ns/shacl#description”…”R”}”h$Œ?A sub property of instrument. The language used on this action.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#name”…”R”}”h$Œlanguage”NN‡”R”KsuhŒ!http://schema.org/WritePermission”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ/http://schema.org/DigitalDocumentPermissionType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)Permission to write or edit the document.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWrite permission”NN‡”R”KsuhŒhttp://schema.org/XPathType”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒhttp://schema.org/isPartOf”…”R”}”hŒhttp://pending.schema.org”…”R”KshŒhttp://schema.org/source”…”R”}”hŒ2https://github.com/schemaorg/schemaorg/issues/1672”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGText representing an XPath (typically but not necessarily version 1.0).”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ XPath type”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KsuhŒhttp://schema.org/XRay”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ)http://schema.org/MedicalImagingTechnique”…”R”KshŒhttp://schema.org/isPartOf”…”R”}”hŒ http://health-lifesci.schema.org”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒX-ray imaging.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒXRay”NN‡”R”KsuhŒ$http://schema.org/ZoneBoardingPolicy”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://schema.org/BoardingPolicyType”…”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)The airline boards by zones of the plane.”NN‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒZone boarding policy”NN‡”R”KsuhŒhttp://schema.org/Zoo”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KuhŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒA zoo.”NhŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#HTML”…”R”‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒZoo”NN‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://schema.org/CivicStructure”…”R”KsuuŒ _Memory__pos”}”(h}”(h}”hKshM}”(hEKhªKh×KjKj(KjNKjÄKjêKjKj KjÜ Kj Kjˆ Kj® KjÔ Kjú KjQ Kj§KjXKj~KjKj¦KjÿKj%KjYKjŸKjÖKjoKjÉKjïKjuKj(Kj£KjÉKjïKjKjBKjKjuKj›KjÁKjSKjŒKjãKjKj@KjfKjšKjÀKjDKj÷KjÈ Kji!Kj!Kjµ!KjÞ!Kj"Kj*"KjP"Kjv"KjÕ"Kj,#Kjr#KjR$Kjx$Kjž$Kjë$Kj%Kj7%Kj]%Kj&Kj@&Kj&Kj³&Kjd'KjŠ'Kj·'KjÝ'Kj(KjE(Kj]*Kj+Kj,+KjY+Kj‘,Kj·,KjÝ,Kj-Kj)-KjR-KjÑ-Kj÷-Kj$.Kj1/KjW/Kj}/Kj£/Kj+1Kj12KjY3KjÂ5Kjù5Kj6Kj±6Kj×6Kjý6Kj#7KjQ8Kj9Kj/9KjU9Kj©9Kjª:Kjo>Kj•>Kj»>Kjë>Kj?Kj>?Kjd?Kjï?Kjƒ@KjÉ@KjƒAKjèAKj5BKj[BKjŠCKj°CKjÖCKjüCKj"DKjHDKjŽDKjbEKjˆEKj®EKjÔEKj+FKj½FKjbGKjJKjZJKj§JKjKKj,KKjRKKjxKKjžKKjÎKKj MKj:MKjLNKjýNKjmOKjQKjqQKj$RKjJRKjpRKj–RKjÊRKjNSKjtSKj3VKj€VKj¦VKjÌVKjòVKjWKjñWKjOXKjƒXKj©XKj·ZKj[Kj¶[Kjã[Kj\Kj=\KjåwKjvzKjz{Kj­{KjÓ{Kj'|Kj[|Kjˆ|Kjl}Kj’}Kj¸}Kjr~Kjÿ~KjKjå€Kj KjVƒKjƒKj¨ƒKj…Kj2…KjX…Kj¥…KjË…Kj ‡KjƇKjUˆKj{ˆKjŠKjúŠKj'‹KjŒKj|”KjÈ”Kjî”Kj•KjË•Kj)–KjV–Kjº—Kj3šKjŠšKjX›KjÅ›KjœKj*œKjPœKjvœKjÜKjðœKj‘Kj¾žKj ŸKj1ŸKjeŸKj‹ŸKjߟKj¦Kjq¦Kjé§Kj¨Kjt¨Kj¡¨KjΨKjà©KjªKjë«Kj?¬KjŒ¬KjÆ­Kj$®Kj°KjѶKjR·Kjx·Kjž·KjÄ·Kjê·Kj7¸Kj]¸Kj¹KjG¹Kj{¹KjÁ¹Kj@ºKjmºKj“ºKjR»Kj­»Kjá»Kj…½Kj«½Kj?¿KjÏ¿Kj8ÂKjæËKj~ÌKj½ÌKjôÌKjÍKj ÍKj±ÎKj$ÑKjJÑKjÖÓKjÔKj ÕKjhÕKj§ÕKjÍÕKjóÕKj#×Kj¢×KjÈ×KjØKjVÛKj\ÜKj‚ÜKjvßKjœßKjàKjÑáKjúâKj ãKjÔãKj äKjbäKjˆäKjÌåKjòåKj£æKjÉæKjïæKj5çKj[çKjçKjççKj“èKj“êKj¤ìKj|ðKj6ñKj\ñKjñKj¶ñKjÜñKjòKj(òKjÔòKj±óKjðóKj|ôKj¢ôKjÖôKj.õKjtõKjšõKjõõKjöKjøKj,ùKjëùKjªúKjHûKj‡ûKj­ûKjÓûKjùûKj?üKjWýKj}ýKjªýKjnþKjôþKjhÿKjJKj§Kj7KjÍKjùKjxKj¡KjÇKjYKjKj>KjdKjŠKj¿ Kjy Kj÷ Kj$ KjÜ KjZ Kj± Kjþ Kj$ KjJ Kjp Kj– KjKjµKjìKjrKjÉKjLKjrKj¶KjõKjKjAKj3KjŠKj£ KjÉ Kjï Kj!Kj[!Kjà#KjW$KjŽ$Kj´$Kjë$Kj_(KjÊ(Kj)Kjg)Kj)KjÁ)Kjî)Kj*Kj*Kj;+Kja+KjŽ,Kj´,Kjú,KjÒ-Kj0Kj1Kj?2Kje2Kj¿4Kjß6Kjº7Kjú8Kj.9Kj…9Kj«9KjÑ9Kj÷9Kj„:KjØ:Kj ;Kj2;Kjf;Kjã?KjH@KjÓ@KjAKj0AKj]AKj»AKj‚BKjCKjƒFKjGKj;GKj©HKjÖHKj{JKj¨JKjÕJKjºKKjçKKjELKjrLKjŸLKjÌLKj*MKjWMKjNKj¯OKjüOKj)PKj´PKjQKjpQKjÎQKjYRKj·RKjçRKjZTKj‡TKj´TKjîUKjLVKj,WKjŠWKj¾WKjqXKjžXKjËXKjñXKjuYKj£ZKj'[Kj©[Kj=]Kjc`KjEaKjœaKjâaKj»cKjdKjþdKjãeKjxfKjžfKjÄfKjøfKjgKjDgKjxgKjžgKj"hKj³jKjÙjKjÿjKjŒlKjælKjemKj·nKjÝnKjãoKjpKj=pKjXrKj~rKjtKjßtKj?vKj¦wKjÓwKjùwKjxKjExKjkxKjŸxKjåxKjKzKj`{KjdKj˜Kj¨…KjF†Kjl†Kj’†Kjâ†KjH‰Kj¨ŠKjbKjÇKjôKjŽKjA™Kjg™Kj›™KjÏ™Kjõ™Kjh›KjœKj0Kj’žKjÉžKjŸKjv¤Kj¥KjÙ¦Kjÿ¦Kja¶Kj¸¶KjŒ·KjÙ·KjU¹Kj{¹Kj¡¹Kjê¹KjȼKjs½Kj™½Kj"¾Kj€¾Kji¿Kj¿KjIÀKjÁKjWÂKjÂKjÊÂKjÃKjÅKjuÅKjÌÅKjòÅKjÆKjLÆKjÙÇKj°ÕKjÖÕKjÖKjEÖKjkÖKjÓ×KjØKj0ØKj]ØKjqÙKj'äKjmäKjëäKjåKj£åKjÉåKjïåKj#æKjWæKj çKj4çKjZçKj€çKjàèKjréKjØéKjEêKjkêKj±êKjþêKj+ëKj_ëKjíKjîKj·øKjùKjúKjæúKj}ûKjrüKj˜üKjåüKj•þKjÌþKjàÿKjÉKjXKjÌKjòKj&KjÿKjcKjà Kj Kj- Kj™KjØKjþKj3KjgKjôKjKj@KjmKj¡KjÇKjíKjKj9Kj)Kj’KjjKjKjÏKjõKj÷Kj´KjKj°KjýKj#KjpKjÖKjcKj Kj!KjX"KjÜ"Kj3#KjŠ#KjÁ#Kjî#Kj%$KjK$Kjâ'KjR(Kjx(Kjž(KjÄ(Kj)Kjo)Kj¼)Kj"*Kjh*Kj +Kjd+KjB,Kj™,Kj:-Kj`-KjÞ.Kj/Kj1/Kj0Kj¡0Kj1Kjl1Kj5Kj+5KjQ5Kjw5Kj«5Kj«6KjÑ6Kj÷6KjN7Kjt7Kj¡7Kjç8KjB9Kjh9Kjì9Kjº:Kjà:KjwAKj1CKjWCKj‹CKjwDKjåEKj FKj1FKjÌFKj±GKj×GKj HKjÉIKjKJKj”JKjºJKjKKjÛPKjRKjæRKjdSKjïSKj”XKjúXKj YKjFYKjlYKjêZKji[KjB\Kjh\Kjß\Kj]KjÄ]Kjñ]Kj^Kj‹^KjÑ^Kj/_Kj|_Kj`Kj4`KjmaKjÇbKjûbKjhcKjŽcKjåcKjeKjšeKjºhKjàhKjiKj,iKjYiKj2jKjXjKj¥jKj)kKjOkKjukKj»kKjäkKj lKj0lKjvlKj5mKjšmKjÑpKjsKj:sKjcsKjtKjCtKj!uKjáuKjvKjºvKjàvKj7wKj0xKjVxKj|xKj´yKjxzKjÏzKjõzKjI{KjÖ}Kj_KjºKjàKj4€Kj¨€Kjô‚Kj¿ƒKjþƒKj+„KjX„KjÁ…Kjî…Kj†KjH†Kju†Kj¢†KjφKj‡Kjb‡KjàKjÙ‘Kj’Kj3’KjY’KjÖ”Kjü”KjÆ™Kj œKjOœKj£œKjÉœKjƒ Kj° KjÖ Kj-¡KjS¡Kjy¡KjŸ¡KjÅ¡Kjë¡Kjv¢Kj£¢KjÉ¢Kjï¢Kj›¤Kjk¥KjÒ¨Kj>ªKj˪Kj"«KjV«Kjº­Kj>®Kjõ®Kj¯Kjr¯Kj¸¯Kjr°KjŸ°Kjd±KjѱKuhP}”(hEKhªKh×KjKj(KjNKjÄKjêKjKj KjÜ Kj Kjˆ Kj® KjÔ Kjú KjQ Kj§KjXKj~KjKj¦KjÿKj%KjYKjŸKjÖKjoKjÉKjïKjuKj(Kj£KjÉKjïKjKjBKjKjuKj›KjÁKjSKjŒKjãKjKj@KjfKjšKjÀKjDKj÷KjÈ Kji!Kj!Kjµ!KjÞ!Kj"Kj*"KjP"Kjv"KjÕ"Kj,#Kjr#KjR$Kjx$Kjž$Kjë$Kj%Kj7%Kj]%Kj&Kj@&Kj&Kj³&Kjd'KjŠ'Kj·'KjÝ'Kj(KjE(Kj]*Kj+Kj,+KjY+Kj‘,Kj·,KjÝ,Kj-Kj)-KjR-KjÑ-Kj÷-Kj$.Kj1/KjW/Kj}/Kj£/Kj+1Kj12KjY3KjÂ5Kjù5Kj6Kj±6Kj×6Kjý6Kj#7KjQ8Kj9Kj/9KjU9Kj©9Kjª:Kjo>Kj•>Kj»>Kjë>Kj?Kj>?Kjd?Kjï?Kjƒ@KjÉ@KjƒAKjèAKj5BKj[BKjŠCKj°CKjÖCKjüCKj"DKjHDKjŽDKjbEKjˆEKj®EKjÔEKj+FKj½FKjbGKjJKjZJKj§JKjKKj,KKjRKKjxKKjžKKjÎKKj MKj:MKjLNKjýNKjmOKjQKjqQKj$RKjJRKjpRKj–RKjÊRKjNSKjtSKj3VKj€VKj¦VKjÌVKjòVKjWKjñWKjOXKjƒXKj©XKj·ZKj[Kj¶[Kjã[Kj\Kj=\KjåwKjvzKjz{Kj­{KjÓ{Kj'|Kj[|Kjˆ|Kjl}Kj’}Kj¸}Kjr~Kjÿ~KjKjå€Kj KjVƒKjƒKj¨ƒKj…Kj2…KjX…Kj¥…KjË…Kj ‡KjƇKjUˆKj{ˆKjŠKjúŠKj'‹KjŒKj|”KjÈ”Kjî”Kj•KjË•Kj)–KjV–Kjº—Kj3šKjŠšKjX›KjÅ›KjœKj*œKjPœKjvœKjÜKjðœKj‘Kj¾žKj ŸKj1ŸKjeŸKj‹ŸKjߟKj¦Kjq¦Kjé§Kj¨Kjt¨Kj¡¨KjΨKjà©KjªKjë«Kj?¬KjŒ¬KjÆ­Kj$®Kj°KjѶKjR·Kjx·Kjž·KjÄ·Kjê·Kj7¸Kj]¸Kj¹KjG¹Kj{¹KjÁ¹Kj@ºKjmºKj“ºKjR»Kj­»Kjá»Kj…½Kj«½Kj?¿KjÏ¿Kj8ÂKjæËKj~ÌKj½ÌKjôÌKjÍKj ÍKj±ÎKj$ÑKjJÑKjÖÓKjÔKj ÕKjhÕKj§ÕKjÍÕKjóÕKj#×Kj¢×KjÈ×KjØKjVÛKj\ÜKj‚ÜKjvßKjœßKjàKjÑáKjúâKj ãKjÔãKj äKjbäKjˆäKjÌåKjòåKj£æKjÉæKjïæKj5çKj[çKjçKjççKj“èKj“êKj¤ìKj|ðKj6ñKj\ñKjñKj¶ñKjÜñKjòKj(òKjÔòKj±óKjðóKj|ôKj¢ôKjÖôKj.õKjtõKjšõKjõõKjöKjøKj,ùKjëùKjªúKjHûKj‡ûKj­ûKjÓûKjùûKj?üKjWýKj}ýKjªýKjnþKjôþKjhÿKjJKj§Kj7KjÍKjùKjxKj¡KjÇKjYKjKj>KjdKjŠKj¿ Kjy Kj÷ Kj$ KjÜ KjZ Kj± Kjþ Kj$ KjJ Kjp Kj– KjKjµKjìKjrKjÉKjLKjrKj¶KjõKjKjAKj3KjŠKj£ KjÉ Kjï Kj!Kj[!Kjà#KjW$KjŽ$Kj´$Kjë$Kj_(KjÊ(Kj)Kjg)Kj)KjÁ)Kjî)Kj*Kj*Kj;+Kja+KjŽ,Kj´,Kjú,KjÒ-Kj0Kj1Kj?2Kje2Kj¿4Kjß6Kjº7Kjú8Kj.9Kj…9Kj«9KjÑ9Kj÷9Kj„:KjØ:Kj ;Kj2;Kjf;Kjã?KjH@KjÓ@KjAKj0AKj]AKj»AKj‚BKjCKjƒFKjGKj;GKj©HKjÖHKj{JKj¨JKjÕJKjºKKjçKKjELKjrLKjŸLKjÌLKj*MKjWMKjNKj¯OKjüOKj)PKj´PKjQKjpQKjÎQKjYRKj·RKjçRKjZTKj‡TKj´TKjîUKjLVKj,WKjŠWKj¾WKjqXKjžXKjËXKjñXKjuYKj£ZKj'[Kj©[Kj=]Kjc`KjEaKjœaKjâaKj»cKjdKjþdKjãeKjxfKjžfKjÄfKjøfKjgKjDgKjxgKjžgKj"hKj³jKjÙjKjÿjKjŒlKjælKjemKj·nKjÝnKjãoKjpKj=pKjXrKj~rKjtKjßtKj?vKj¦wKjÓwKjùwKjxKjExKjkxKjŸxKjåxKjKzKj`{KjdKj˜Kj¨…KjF†Kjl†Kj’†Kjâ†KjH‰Kj¨ŠKjbKjÇKjôKjŽKjA™Kjg™Kj›™KjÏ™Kjõ™Kjh›KjœKj0Kj’žKjÉžKjŸKjv¤Kj¥KjÙ¦Kjÿ¦Kja¶Kj¸¶KjŒ·KjÙ·KjU¹Kj{¹Kj¡¹Kjê¹KjȼKjs½Kj™½Kj"¾Kj€¾Kji¿Kj¿KjIÀKjÁKjWÂKjÂKjÊÂKjÃKjÅKjuÅKjÌÅKjòÅKjÆKjLÆKjÙÇKj°ÕKjÖÕKjÖKjEÖKjkÖKjÓ×KjØKj0ØKj]ØKjqÙKj'äKjmäKjëäKjåKj£åKjÉåKjïåKj#æKjWæKj çKj4çKjZçKj€çKjàèKjréKjØéKjEêKjkêKj±êKjþêKj+ëKj_ëKjíKjîKj·øKjùKjúKjæúKj}ûKjrüKj˜üKjåüKj•þKjÌþKjàÿKjÉKjXKjÌKjòKj&KjÿKjcKjà Kj Kj- Kj™KjØKjþKj3KjgKjôKjKj@KjmKj¡KjÇKjíKjKj9Kj)Kj’KjjKjKjÏKjõKj÷Kj´KjKj°KjýKj#KjpKjÖKjcKj Kj!KjX"KjÜ"Kj3#KjŠ#KjÁ#Kjî#Kj%$KjK$Kjâ'KjR(Kjx(Kjž(KjÄ(Kj)Kjo)Kj¼)Kj"*Kjh*Kj +Kjd+KjB,Kj™,Kj:-Kj`-KjÞ.Kj/Kj1/Kj0Kj¡0Kj1Kjl1Kj5Kj+5KjQ5Kjw5Kj«5Kj«6KjÑ6Kj÷6KjN7Kjt7Kj¡7Kjç8KjB9Kjh9Kjì9Kjº:Kjà:KjwAKj1CKjWCKj‹CKjwDKjåEKj FKj1FKjÌFKj±GKj×GKj HKjÉIKjKJKj”JKjºJKjKKjÛPKjRKjæRKjdSKjïSKj”XKjúXKj YKjFYKjlYKjêZKji[KjB\Kjh\Kjß\Kj]KjÄ]Kjñ]Kj^Kj‹^KjÑ^Kj/_Kj|_Kj`Kj4`KjmaKjÇbKjûbKjhcKjŽcKjåcKjeKjšeKjºhKjàhKji•Kj,iKjYiKj2jKjXjKj¥jKj)kKjOkKjukKj»kKjäkKj lKj0lKjvlKj5mKjšmKjÑpKjsKj:sKjcsKjtKjCtKj!uKjáuKjvKjºvKjàvKj7wKj0xKjVxKj|xKj´yKjxzKjÏzKjõzKjI{KjÖ}Kj_KjºKjàKj4€Kj¨€Kjô‚Kj¿ƒKjþƒKj+„KjX„KjÁ…Kjî…Kj†KjH†Kju†Kj¢†KjφKj‡Kjb‡KjàKjÙ‘Kj’Kj3’KjY’KjÖ”Kjü”KjÆ™Kj œKjOœKj£œKjÉœKjƒ Kj° KjÖ Kj-¡KjS¡Kjy¡KjŸ¡KjÅ¡Kjë¡Kjv¢Kj£¢KjÉ¢Kjï¢Kj›¤Kjk¥KjÒ¨Kj>ªKj˪Kj"«KjV«Kjº­Kj>®Kjõ®Kj¯Kjr¯Kj¸¯Kjr°KjŸ°Kjd±KjѱKuhˆ}”(h€KjKj:KjdKjŽKj¸Kj¬KjÖKjKj*KjTKj~KjÒKjüKjNKjxKj¢KjôKjKjpKjšKjbKjŒKjÞKj0KjZKj„KjøKj"KjtKjžKjðKj` Kjà Kj& Kjš Kjý Kj' KjŠ Kj‡ KjÙ Kj+KjUKjÚKjKj.Kj®KjØKj2Kj\KjæKjKj:KjdKjŽKjKjIKjsKjKjÇKjñKjKjEKj¯KjÙKj+KjUKjKj#Kj¬KjþKjaKj‹KjµKjKjYKj€Kj«KjJKjÿKj)KjœKjÆKjðKjBKj”KjæKjKjbKj¹KjðKjKj{KjÍKj1 Kj[ Kjõ Kj¬#KjÖ#Kj$Kj”%Kj¾%Kjæ&Kj'Kj:'Kjƒ(Kj­(Kj•+Kj¿+Kjé+Kj,Kj=,Kjg,Kj-Kja.Kj‹.KjÝ.Kj/Kjß/Kj 0Kj[0Kj…0Kj×0Kj1Kja1Kj‹1Kjµ1Kj2Kjk2Kj½2Kj3Kj¤3KjÎ3Kjø3Kj"4Kjt4Kjž4KjÈ4Kjò4Kj5Kjn5Kj˜5Kj]6Kj‡6KjY7Kj«7KjÕ7Kjÿ7Kj„8Kj®8KjØ8KjÜ9Kj.:Kj€:Kj;Kjg;Kj‘;Kj»;Kjå;Kj<Kj9<Kjc<Kj<Kj·<Kjá<Kj =Kj5=Kj_=Kj‰=Kj³=KjÝ=Kj›?KjÅ?KjAKj1AKj¾AKj•BKjçBKj9CKj¾DKjEKjFKjiFKj“FKjñFKj­GKj×GKjHKjSHKj}HKj§HKjùHKjKIKjuIKjŸIKjÉIKjÛJKjLKj;LKjeLKjLKj¹LKjãLKjzMKj¤MKjÎMKjøMKj"NKjNKj©NKjÓNKj*OKj£OKjÍOKjPKjIPKj¨QKjÒQKjúRKj$SKj¼SKj0TKj‚TKj¬TKjÖTKjUKj*UKjTUKj¦UKj VKjKWKjWKjÇWKj%XKjèXKjYKjuYKjØYKjZKjTZKjêZKj<[Kjf[Kj²]KjÜ]Kj^Kj0^KjZ^Kj„^Kj®^KjØ^Kj_Kj,_KjV_Kj¨_KjÒ_Kjü_KjN`Kjx`Kj¢`KjaKjWaKjaKj«aKjÕaKj'bKjQbKj{bKj¥bKjÏbKj!cKjKcKjcKjïcKjdKjCdKj¦dKjødKjJeKjteKjÆeKjfKjjfKj”fKjæfKjgKj:gKjgKjïgKjhKjkhKj•hKj¿hKjéhKj;iKjiKjßiKj jKj3jKj…jKj¯jKjÙjKjkKjfkKjÉkKjókKjElKj¨lKjúlKjLmKjvmKj mKjòmKjUnKj¨nKjÒnKj$oKjvoKjÈoKjpKjlpKj–pKjèpKjqKjdqKjŽqKj¸qKjâqKj rKj^rKjˆrKjÚrKj,sKj sKjÊsKjôsKjtKjptKjÂtKjuKjwuKj¡uKjËuKjõuKjvKjqvKj›vKjívKj?wKj‘wKj»wKj0xKjZxKj„xKjÖxKjyKj*yKjTyKj~yKj¨yKjúyKjLzKj¬zKjþzKj({Kj¿|Kjé|Kjö}Kj ~Kj­~Kj,KjÅKj€Kji€Kj»€KjdKjŽKj¸KjâKj ‚Kj6‚Kj`‚Kj²‚KjƒKjåƒKj7„Kja„Kj³„Kj†Kjd†KjކKj¸†Kjâ†KjJ‡Kjœ‡KjˆKj¸ˆKjâˆKjV‰Kj¹‰KjRŠKj|ŠKj¦ŠKjЊKjk‹Kj•‹Kj¿‹Kjé‹Kj§ŒKjùŒKj#Kj—KjÁKj$ŽKj‡ŽKj±ŽKjÛŽKjKj/KjYKjƒKj­KjKj:KjdKjŽKj¸KjâKj ‘Kj6‘Kj™‘KjÑKjí‘Kj”’Kj¾’Kjè’Kj:“Kjd“KjŽ“Kjà“Kj2”Kjÿ•Kj™–KjÖKj—Kj?—Kji—Kj ˜Kj6˜Kj`˜KjØKjí˜Kj™KjA™Kjk™Kj•™Kj¿™Kjé™Kj`šKjºšKj.›KjKjÎKjøKjJžKjtžKjt Kjž KjÈ Kjò Kj¡KjF¡Kjp¡Kjš¡KjÄ¡Kjî¡Kj¢KjB¢Kjl¢Kj–¢KjÀ¢Kjê¢Kj£Kj>£Kj¡£KjË£Kjõ£Kj¤KjI¤Kjs¤Kj¤KjǤKjñ¤KjC¥Kjm¥Kj—¥KjÁ¥KjG¦Kj´¦KjÞ¦Kj§Kj2§Kj\§Kj¿§KjJ¨Kj©Kj8©Kjb©KjŒ©Kj¶©Kj¿¬Kj­Kjt­Kjú­Kjn®KjÑ®Kj4¯Kj—¯KjÁ¯Kjë¯Kj•°Kj¿°Kjé°Kj±Kjv±KjȱKj²Kjl²Kj–²KjÀ²Kj³Kjd³KjdzKj´Kj´Kjß´Kj1µKj[µKj­µKj×µKj¶Kj+¶KjU¶Kj¶Kj·Kj¸Kjð¸Kjî¹KjÔºKjþºKj(»Kj!¼KjK¼Kju¼KjؼKj;½Kjñ½Kj¾Kjm¾Kj—¾KjÁ¾Kjë¾Kj¿Kjl¿KjÀKjDÀKjnÀKj˜ÀKjÂÀKjìÀKj>ÁKjÁKjºÁKjäÁKjÂKjÞÂKjÃKj2ÃKj\ÃKj®ÃKjÄKj*ÄKj|ÄKjÎÄKjøÄKjJÅKjtÅKjÆÅKjðÅKjÆKjDÆKj–ÆKjèÆKjÇKj†ÇKj°ÇKjÚÇKjÈKjVÈKj¨ÈKjúÈKjLÉKjvÉKj ÉKjÊÉKjôÉKjFÊKj˜ÊKjÂÊKjìÊKjËKjhËKj’ËKj¼ËKjäÍKjÎKj8ÎKjÏKj,ÏKjVÏKj€ÏKjªÏKjÔÏKjþÏKj(ÐKjRÐKj|ÐKj¦ÐKjÐÐKjúÐKj–ÑKjèÑKj:ÒKjdÒKjŽÒKjàÒKj2ÓKj„ÓKj-ÖKjÖKjÑÖKjP×KjhØKjºØKjäØKjÙKj8ÙKjbÙKjŒÙKj¶ÙKjàÙKj ÚKj\ÚKj†ÚKj°ÚKjÚÚKj,ÛKjŒÛKj¶ÛKjÜKj2ÜKjÞÜKjÝKj2ÝKj\ÝKj®ÝKjØÝKjÞKj,ÞKj~ÞKj¨ÞKjÒÞKj$ßKjÉßKjTàKj·àKjáKj}áKj§áKjâKjVâKj¨âKjÁäKjëäKjåKjxåKj¢åKj%æKjOæKjyæKjèKjAèKjÏèKj!éKjséKjÅéKjêKjiêKjÜêKj.ëKj€ëKjªëKjÔëKj&ìKjPìKjzìKjúìKjLíKjžíKjðíKjBîKj”îKjæîKj8ïKjŠïKjÜïKj©ðKjXòKjªòKjóKj?óKj+ôKjqöKj›öKjÅöKjïöKj÷KjC÷Kjm÷Kj—÷KjÁ÷KjZøKj„øKj®øKjØøKjùKjmùKj—ùKjÁùKj,úKjVúKj€úKjåúKjxüKjÛüKj-ýKjáýKjDþKj¢þKj­ÿKjÿÿKj)KjSKjÇKj*Kj|KjÎKjøKjKjáKj3Kj…Kj¯KjÙKj+Kj}KjÔKjjKj&KjKj/KjšKjÄKjîKjÇKj Kjk Kj• Kjó Kj­ Kj^ Kjˆ Kj² Kj Kj‡ KjÉ KjKjEKj KjŸKj#KjMKjwKjÉKj=KjgKj¹Kj Kj5Kj‡Kj±KjÛKj-KjKj©KjÓKj¥KjKjZKj×KjKj+KjŽKj¸Kj Kj\Kj†Kj°KjÚKjKjgKj‘KjãKj Kj7KjaKj³KjÝKjKj1Kj[Kj­KjÿKjbKj´KjÞKjKj2Kj„KjçKj9KjcKjKj·Kj Kj`KjÄKjîKj@ Kj¨!Kjú!Kj]"Kj‡"Kjê"Kj<#KjŽ#Kj $KjM%KjŸ%KjÉ%Kjó%Kj&KjG&Kjq&KjÃ&Kj'Kj?'Kj‘'Kjã'Kj (Kj (Kj=)Kj¿*Kj+Kj—+KjÁ+Kjë+Kj=,Kj--KjW-Kj-Kj.Kjp.Kjš.KjÄ.Kjî.Kj/Kjj/Kj”/Kj¾/KjL0Kjv0Kj 0KjÊ0Kjô0KjX1Kj‚1KjÔ1Kj§2KjÑ2Kjû2KjM3KjŸ3Kjñ3KjC4Kj•4Kjû4KjM5KjŸ5KjÉ5Kj6Kjm6Kj 7Kjô7Kj8Kjp8Kj[9Kj2:KjÆ;Kjð;Kj<KjD<Kjn<Kj˜<KjÂ<Kjì<Kj>=Kj=Kjâ=KjE>Kjo>Kj™>KjÃ>Kj?Kjg?Kj‘?Kj@Kj@Kj©@Kj‘AKjõAKjXBKj¼BKjæBKjqCKjÔCKjþCKj(DKjRDKj|DKj¦DKjÐDKjúDKj$EKjNEKjxEKj¢EKjÌEKjöEKjYFKjºFKjäFKj…GKj¯GKjHKj+HKjUHKjHKjIKjFIKjpIKjÓIKjýIKj'JKjQJKjKKjkKjhkKj’kKj¼kKjækKj8lKjblKj¼lKj¥mKjÏmKjùmKj#nKjMnKjoKj=oKjgoKj‘oKjŒpKjÞpKjqKj2qKj\qKj†qKj°qKjÚqKjrKj.rKjºrKjärKjsKj`sKjŠsKjÜsKj9tKjctKjµtKjuKjmuKj—uKjÁuKjëuKjvKj‚vKj¬vKjþvKj(wKjRwKj|wKj"yKjLyKjvyKjÈyKjŽzKj¸zKjâzKj {Kj6{Kj¼{Kj|Kj`|Kj²|Kj}KjV}Kj¨}Kjú}KjL~KjÀ~KjKj0‡KjZ‡Kj„‡Kj®‡Kj؇KjˆKj,ˆKjVˆKj€ˆKjªˆKjÔˆKjþˆKj‰Kj¹‰Kjã‰Kj ŠKj7ŠKjñŠKjC‹Kj¦‹Kjø‹Kj"ŒKjtŒKjÆŒKjðŒKjKjÒŽKj$KjNKjxKj¢KjKj@Kj£Kj‘Kj0‘KjZ‘Kj„‘Kjø‘Kj"’KjL’Kjv’Kj ’Kj“Kj-“KjW“Kj“Kj«“KjÕ“Kjÿ“Kj)”KjS”Kj¶”Kjà”Kj •Kj±•Kj–Kj-–Kj–KjÑ–Kjû–Kj%—KjO—Kjy—Kj£—Kjõ—Kj˜KjI˜Kjs˜KjŘKj™KjBšKjlšKj–šKjÀšKjêšKj›Kj>›KjpKjšKjÄKjîKj@žKj‰ŸKj³ŸKjÝŸKj/ KjY Kj« Kjý Kj'¡KjQ¡Kj{¡KjÍ¡Kj¢KjI¢Kjs¢Kj¢Kj£Kj*£KjT£Kj¦£KjУKjú£Kj$¤Kj£¤KjQ¥Kj{¥Kj¥¥KjÏ¥Kjù¥Kjé§Kj;¨Kj¨Kj·¨Kjá¨KjU©Kj©Kj©©Kjû©Kj%ªKjOªKj¡ªKj˪KjõªKjG«Kj™«KjëKjí«Kj¬KjA¬Kj“¬Kj½¬Kjç¬Kj­Kj;­Kje­Kj­Kj¹­Kj ®Kj5®Kj_®Kj‰®Kj³®KjÝ®Kj¯Kj1¯Kj[¯Kj¾¯Kj°Kj:°Kjd°KjذKj*±KjT±Kj¦±Kjø±KjJ²Kjt²Kjž²KjȲKj<³Kj޳Kj¸³Kj ´Kj4´Kj^´Kjˆ´Kjë´KjµKjgµKj‘µKj»µKjåµKj7¶Kj޶Kj¸Kjh¸Kj’¸Kj¼¸Kj8ºKjbºKjŒºKj¶ºKj»KjZ»Kj„»Kj®»KjØ»Kj¼KjT¼Kj~¼Kjø¼Kj"½KjV¾KjľKjî¾Kj¿Kj¼¿Kj‰ÀKjÛÀKjÁKj/ÁKj¸ÁKjâÁKj\ÃKj†ÃKj°ÃKjÚÃKjÄKj.ÄKj€ÄKjªÄKjÔÄKjKÅKj¢ÅKj‹ÆKjµÆKj߯Kj ÇKj3ÇKj…ÇKj¯ÇKjËÈKjõÈKjGÉKjqÉKjÃÉKjíÉKjÊKjAÊKjkÊKj½ÊKjçÊKjËKjcËKjËKj·ËKjáËKj ÌKj5ÌKj_ÌKj‰ÌKj³ÌKjÝÌKjÍKjYÍKj«ÍKjÕÍKjÿÍKj)ÎKjSÎKj}ÎKj§ÎKjùÎKjKÏKjuÏKjŸÏKjÉÏKjóÏKjEÐKjoÐKjÒÐKj$ÑKjNÑKj ÑKjÊÑKjôÑKjFÒKj˜ÒKjÂÒKjìÒKjÓKjhÓKj’ÓKj¼ÓKjæÓKjÔKjbÔKjŒÔKj¶ÔKjàÔKj ÕKj4ÕKj†ÕKj¨ÖKj ×Kj×Kj©×Kj“ØKjöØKj ÙKjÚKjIÚKj›ÚKjÅÚKjïÚKjÛKjCÛKjmÛKj—ÛKjÁÛKjëÛKjÜKjgÜKj¹ÜKj ÝKj]ÝKj¯ÝKjÞKjSÞKj¥ÞKj÷ÞKjIßKj›ßKjÅßKjïßKjAàKjkàKj•àKjçàKj9áKj‹áKjµáKjßáKj âKj3âKj…âKj×âKjãKj+ãKjUãKjãKj©ãKjÓãKjýãKjšäKjOåKjyåKj’æKj¼çKjèKj8èKjbèKjŒèKj¶èKjéKjHéKj«ëKjÕëKjÿëKj)ìKjSìKj¥ìKjÏìKj!íKjsíKjÐîKjúîKj$ïKjNïKjxïKj¢ïKjôïKjhðKj’ðKjäðKjñKj8ñKjbñKjŒñKj¶ñKjàñKj òKj4òKj^òKj°òKjÚòKjóKj.óKj€óKjÒóKj$ôKjNôKj ôKjÊôKj-õKjõKj©õKjÓõKj%öKjwöKj¡öKjËöKjõöKj÷KjI÷Kjs÷Kjç÷KjøKj;øKjeøKjõøKj`ùKjŠùKj´ùKj@úKj’úKj¼úKjÂûKjìûKj!ýKjKýKjýKjïýKjþKjkþKjÿKjbÿKjŒÿKj¶ÿKj)KjSKj¥KjÏKj!KjsKjKjKjKjmKj—KjÁKjëKjKj?KjiKj“Kj½KjçKjYKjƒKjÕKjCKj•KjçKj9Kj KjòKjD Kjn KjO Kjy Kj£ KjÍ Kj÷ Kj! KjK Kju Kjs Kj KjÇ Kjñ KjC Kjm Kjá KjÜKjKj0KjZKj„Kj®Kj;KjKj·KjáKj¢KjKj·KjáKj Kj5Kj_Kj‰Kj³KjKj/KjYKjƒKjÕKjÿKjÎKj KjrKjœKjîKjKj3Kj…Kj'KjQKjüKj&KjPKjzKj¤KjÎKjøKj"Kj…Kj×Kj<Kj“KjåKjE Kjo Kj™ Kjà Kj^!Kj°!KjÚ!Kj"Kj."Kjˆ"Kj²"Kj #Kj`#Kjœ$Kjî$Kj%Kjj%Kj”%Kj¾%Kjè%Kj:&Kjd&KjŽ&Kj¸&Kjâ&KjE'Kj(Kjñ(Kj•*Kjš+KjÄ+Kjî+Kj,Kjo,Kj–-Kjè-Kj:.KjŒ.Kjd/KjŽ/Kj¸/KjË1Kj2KjG2Kjq2Kj›2KjÅ2Kj3Kji3Kj»3Kjå3Kj74Kja4Kj³4KjÞ5Kj06KjZ6Kj$7Kj×7Kj8Kj+8KjU8Kj˜9KjÂ9Kj:KjF:KjR;Kj|;Kjð;Kj<KjD<Kjn<KjÀ<Kj=Kj†=Kj°=KjÚ=Kj,>Kj~>KjÐ>Kj"?KjL?Kjž?KjÈ?Kjò?KjU@Kj@Kj©@Kjû@Kj%AKj¹AKj BKj5BKj_BKj‰BKj³BKjÝBKjCKjÏCKjùCKj#DKjMDKjÁDKjëDKj=EKjgEKj‘EKj»EKjüFKjNGKjUHKjHKjÑHKj#IKjMIKjŸIKjçJKjƒKKjÕKKj'LKjQLKj{LKj¥LKjÏLKjùLKj#MKjuMKjŸMKjÉMKjNKjENKjoNKj™NKjëNKj=OKjOKj¹OKjãOKj5PKj_PKj±PKjQKjDQKjnQKjÀQKjêQKjRKj>RKj¼RKjSKj›SKjÅSKjNTKj TKjUKjfUKj¸UKj,VKj~VKj¨VKjúVKjLWKjžWKjðWKjBXKj¢YKjôYKjFZKj˜ZKj[Kjœ[KjÆ[Kjð[KjF]Kjp]Kjš]Kj_Kjº_Kjä_Kjn`KjÑ`Kj#aKj­aKj×aKj)bKjSbKj}bKj»cKjdKjEdKjodKjÁdKjFeKjpeKjôeKjfKjHfKjrfKjœfKjÆfKjðfKjgKjDgKj–gKjÀgKjêgKjhKjfhKjhKjŒiKjÞiKjjKjÕjKjÿjKj·lKjálKj mKjpmKjèmKjnKj­Kj­Kjê­Kj®Kjk®KjH¯Kjö¯KjH°KjϰKj!±Kujê}”(jâKjƒKjC@Kj¬KjüÓKjÇçKjTõKjš7Kj—nKjÅxKjòyKjÜ…KjtJKj‘pKuj0 }”(j( KjGKjœœKjäžKj× KjU_KujW }”(jO KjXQKj6ÕKj¦éKujp }”(jh Kj8QKje½Kj&†KjÝKjâ)Kj*Kj!cKj›kKj˜¯Kuj9 }”(j1 KjKjR#Kjñ×Kjð(KjBKjk^KujŽ}”(j†Kj93KjEªKj‘GKujÀ}”(j¸KjMãKjãKj×Kujà}”(jØKjf&KjBKjYVKj+·KjUðKjÿKjAÿKj3 Kj«-Kj±:Kj×`Kj²·KjB¿KjêKj×êKj¾üKjüKj-Kjz0Kj„6KjÀ8Kj9KjeFKj¸\KjAcKj"{Kj8Kj˜ƒKuj±}”(j©Kj#@Kj½PKj¨”KjD•Kjk•Kj“—Kj¸Kj¡¹KjçKj§çKj.ðKjUôKj(ûKj× Kjƒ Kj‰`KjwnKjzKj»†KjŠKjPœKjöžKjL·Kj¾KjðÂKjÿÕKjJÙKjÄäKjäæKjÑíKj1Kj…KjÀ KjOKjCKjH)KjÓ,KjºXKj§bKjšvKjxƒKuj }”(j… Kj,ªKj‘óKjõKjѹKuj¦ }”(jž Kj+ˆKjŽ›KjÊ‚Kuj¤"}”(jœ"KjnDKjüKj,·KjxKjµ®KujÄ"}”(j¼"Kjë›KjG Kj` KjA*Kj÷œKjs·Kj¿éKjêKjhRKuj#}”(j #KjBäKjEmKjøíKjKjƒœKujÌ$}”(jÄ$Kj‚9Kjž›KjÎõKjwœKj.¹KjL½KjZ€Kujß(}”(j×(Kjþ(Kj%)KjL)Kjs)Kjš)KjÁ)Kjè)Kj*Kj6*Kj‘*Kj¸*Kjß*Kuj1-}”(j)-KjVƒKjƒKj’†Kj»kKj:sKuj7>}”(j/>Kj©@Kj3}KjšKj~›Kj;!Kj/œKujW>}”(jO>Kjš8Kj¹KjOKj€Kj˜±Kujk@}”(jc@Kj‡JKj|Kj¿6KjaŠKj–KujkC}”(jcCKjZ*Kj“Kj€KujJG}”(jBGKjÜOKujIJ}”(jAJKj,mKjxGKuj\O}”(jTOKj¶KjK±KujìP}”(jäPKj}Kj\”KjÚ,Kj%aKj#KjDSKjÚXKj±^Kuj[}}”(jS}Kj2zKjWKjåƒKuj†…}”(j~…Kje¬KjÞ¶Kjî0Kj‘\Kj8zKujš•}”(j’•KjñKjüôKjnûKjj Kj67KjO7Kjh7Kj7Kj0‡KjI‡Kuj³•}”(j«•KjVlKuj¦ž}”(jžžKjoKj mKjKjMäKjrKjŒFKj¬FKj}}KujÀŸ}”(j¸ŸKjí Kj~jKujmª}”(jeªKjŒªKj³ªKjÚªKj«Kj(«KjO«Kjv«Kj«KjÄ«KujŽ»}”j†»Ksj"Ì}”(jÌKj3ÌKjLÌKjeÌKj¤ÌKujHÍ}”(j@ÍKj`ÍKj€ÍKuj’Î}”(jŠÎKj­ãKjD^KujQÔ}”(jIÔKjiÔKj‰ÔKj©ÔKjÉÔKjéÔKujWÕ}”(jOÕKj}Kuj–Õ}”(jŽÕKjá8Kujuã}”(jmãKjÂaKj¬KjL1KjMaKj±pKj¶}Kj•®Kujßó}”(j×óKj¸±Kujû}”(jûKj*tKuj% }”(j Kjü…KjؽKuj-}”(j%Kjg,Kjº8Kj°`KjS0KjÇ0KujŒ}”(j„KjKjÜKuj?$}”(j7$Kjó,Kuj.2}”(j&2Kj7œKj¨¼Kujc[}”(j[[Kj‚[Kjï\Kj]Kuja}”(jþ`Kj¸›Kj·œKujÆ}”(j¾KjþÄKujæ}”(jÞKj€Kj,€KjS€Kjz€Kj¡€KjÈ€Kjï€KjKj=KjdKj‹Kj²KjÙKj‚Kj'‚KjN‚Kju‚Kjœ‚KjÂKjê‚KjƒKj8ƒKj_ƒKj†ƒKj­ƒKjÔƒKjûƒKj"„KjI„Kjp„Kj—„Kj¾„Kjå„Kj …Kj3…Kujb…}”(jZ…Kj…Kuj0‰}”(j(‰Kj‘êKujç›}”(jß›Kjø›KjžœKjÞœKujÕ¤}”(jͤKjæ¤Kjÿ¤Kj\¦Kju¦KjަKj§¦KjÀ¦Kuj ·}”(j·Kj•)Kj=+Kujǽ}”(j¿½Kj§8Kj_zKjÀ‘Kuj8À}”(j0ÀKj ÂKj%ÂKj>ÂKj„ÂKuj)û}”(j!ûKjOûKjüKjDüKuj¾}”(j¶KjH*KjÕ®KujŸ'}”(j—'Kj°'KjÉ'Kj9(Kujê/}”(jâ/Kjû/Kj:0KujJ}”(jýIKj$JKuj£}”(j£Kj<£Kjc£KjŠ£Kj±£KjØ£Kjÿ£Kj&¤KjM¤Kjt¤KjϤKjö¤Kuj%¥}”(j¥KjD¥KjŸ¥KjÆ¥Kjí¥Kj¦Kj;¦Kjb¦Kj‰¦Kj°¦KjצKjþ¦Kj%§KjL§Kjs§Kjš§KjÁ§Kujð§}”(jè§Kj¨Kj6¨Kj]¨Kj„¨Kj«¨Kj©Kj-©KjT©Kj{©Kj¢©KjÉ©Kjð©KjªKuuh!}”(h*}”hKshh}”hEKshÆ}”hªKshì}”h×Ksjø}”jâKsj}”jKsj=}”j(Ksjj}”jNKsjÙ}”jÄKsjÿ}”jêKsj,}”jKsj6 }”j Ksjñ }”jÜ Ksj }”j KsjE }”j( Ksj^ }”jO Ksj~ }”jh Ksj }”jˆ Ksjà }”j® Ksjé }”jÔ Ksj }”jú KsjG }”j1 Ksjf }”jQ Ksj¼}”j§Ksjm}”jXKsj“}”j~Ksj}”jKsjœ}”j†KsjÂ}”j¦KsjÎ}”j¸Ksjõ}”jØKsj}”jÿKsjH}”j%Ksjn}”jYKsj•}”jKsjÅ}”jŸKsjò}”jÖKsj‹}”joKsj¿}”j©KsjÞ}”jÉKsj }”jïKsj‘}”juKsj=}”j(Ksj™}”jƒKsj¸}”j£KsjÞ}”jÉKsj }”jïKsj1}”jKsje}”jBKsj2}”jKsjŠ}”juKsj°}”j›KsjÝ}”jÁKsjo}”jSKsj¡}”jŒKsj }”jãKsj/}”jKsjU}”j@Ksj‰}”jfKsj¯}”jšKsjÕ}”jÀKsj`}”jDKsj }”j÷Ksj” }”j… Ksj¾ }”jž KsjÝ }”jÈ Ksj~!}”ji!Ksj¤!}”j!KsjÊ!}”jµ!Ksjó!}”jÞ!Ksj"}”j"Ksj?"}”j*"Ksje"}”jP"Ksj‹"}”jv"Ksj²"}”jœ"KsjË"}”j¼"Ksjû"}”jÕ"Ksj"#}”j #KsjA#}”j,#Ksjh#}”jR#KsjŽ#}”jr#Ksjg$}”jR$Ksj$}”jx$Ksj³$}”jž$Ksjá$}”jÄ$Ksj%}”jë$Ksj&%}”j%KsjL%}”j7%Ksjy%}”j]%Ksj/&}”j&KsjU&}”j@&Ksjƒ&}”jf&Ksj¢&}”j&KsjÈ&}”j³&Ksjy'}”jd'Ksj¦'}”jŠ'KsjÌ'}”j·'Ksj(}”jÝ'Ksj4(}”j(Ksjh(}”jE(Ksjô(}”j×(Ksj)}”jþ(KsjB)}”j%)Ksji)}”jL)Ksj)}”js)Ksj·)}”jš)KsjÞ)}”jÁ)Ksj*}”jè)Ksj,*}”j*KsjS*}”j6*Ksj€*}”j]*Ksj®*}”j‘*KsjÕ*}”j¸*Ksjü*}”jß*Ksj+}”j+KsjH+}”j,+Ksjn+}”jY+Ksj¦,}”j‘,KsjÌ,}”j·,Ksjò,}”jÝ,Ksj-}”j-KsjA-}”j)-Ksjg-}”jR-Ksjæ-}”jÑ-Ksj.}”j÷-Ksj@.}”j$.KsjF/}”j1/Ksjl/}”jW/Ksj’/}”j}/Ksj¸/}”j£/Ksj@1}”j+1KsjM2}”j12KsjO3}”j93Ksjn3}”jY3Ksjè5}”jÂ5Ksj6}”jù5KsjB6}”j6KsjÆ6}”j±6Ksjì6}”j×6Ksj7}”jý6Ksj87}”j#7Ksjf8}”jQ8Ksj9}”j9KsjD9}”j/9Ksjq9}”jU9KsjŸ9}”j‚9Ksj¾9}”j©9KsjÍ:}”jª:KsjE>}”j/>Ksje>}”jO>Ksj„>}”jo>Ksjª>}”j•>Ksj×>}”j»>Ksj?}”jë>Ksj-?}”j?KsjS?}”j>?Ksj€?}”jd?Ksj@}”jï?Ksj9@}”j#@KsjY@}”jC@Ksjy@}”jc@Ksj˜@}”jƒ@Ksj¿@}”j©@Ksjì@}”jÉ@Ksj¦A}”jƒAKsjýA}”jèAKsj+B}”jBKsjJB}”j5BKsjwB}”j[BKsj€C}”jcCKsjŸC}”jŠCKsjÅC}”j°CKsjëC}”jÖCKsjD}”jüCKsj7D}”j"DKsj]D}”jHDKsj„D}”jnDKsj£D}”jŽDKsjwE}”jbEKsjE}”jˆEKsjÃE}”j®EKsjéE}”jÔEKsjNF}”j+FKsjÙF}”j½FKsj8G}”jGKsjXG}”jBGKsjwG}”jbGKsj0J}”jJKsjPJ}”jAJKsjvJ}”(jZJKjÛPKujJ}”j‡JKsjÃJ}”j§JKsjK}”jKKsjAK}”j,KKsjgK}”jRKKsjK}”jxKKsjºK}”jžKKsjêK}”jÎKKsj)M}”j MKsjVM}”j:MKsjaN}”jLNKsjO}”jýNKsjcO}”jTOKsj‚O}”jmOKsjÓP}”j½PKsjúP}”jäPKsj'Q}”jQKsjNQ}”j8QKsjgQ}”jXQKsjQ}”jqQKsj9R}”j$RKsj_R}”jJRKsj…R}”jpRKsj¹R}”j–RKsjßR}”jÊRKsjcS}”jNSKsj‰S}”jtSKsjHV}”j3VKsjvV}”jYVKsj•V}”j€VKsj»V}”j¦VKsjáV}”jÌVKsjW}”jòVKsj-W}”jWKsj X}”jñWKsjrX}”jOXKsj˜X}”jƒXKsj¾X}”j©XKsjÌZ}”j·ZKsj¥[}”j[KsjÒ[}”j¶[Ksj\}”jã[Ksj,\}”j\KsjY\}”j=\Ksjúw}”(jåwKjt7Kuj‹z}”jvzKsj™{}”jz{KsjÂ{}”j­{Ksjö{}”jÓ{Ksj|}”j|KsjJ|}”j'|Ksjw|}”j[|Ksj¤|}”jˆ|Ksj)}}”j}KsjI}}”j3}Ksjb}}”jS}Ksj}}”jl}Ksj§}}”j’}KsjÔ}}”j¸}KsjŽ~}”jr~Ksj}”jÿ~Ksj¤}”jKsjú€}”jå€Ksj'}”j Ksjnƒ}”jVƒKsj—ƒ}”jƒKsjă}”j¨ƒKsj!…}”j…KsjG…}”j2…Ksjm…}”jX…Ksj›…}”j~…Ksjº…}”j¥…Ksjî…}”jË…Ksj/‡}”j ‡Ksjé‡}”jƇKsjKˆ}”j+ˆKsjjˆ}”jUˆKsj—ˆ}”j{ˆKsj1Š}”jŠKsj‹}”júŠKsjJ‹}”j'‹Ksj/Œ}”jŒKsjr”}”j\”Ksj‘”}”j|”Ksj¾”}”j¨”KsjÝ”}”jÈ”Ksj•}”jî”Ksj0•}”j•Ksja•}”jD•Ksj•}”jk•Ksj¡•}”j’•KsjÁ•}”j«•Ksjç•}”jË•KsjE–}”j)–Ksjr–}”jV–Ksj©—}”j“—KsjÖ—}”jº—Ksj)š}”jšKsjHš}”j3šKsjŸš}”jŠšKsjm›}”jX›Ksj”›}”j~›Ksj»›}”jž›KsjÚ›}”jÅ›Ksjú›}”jë›Ksjœ}”jœKsj?œ}”j*œKsjeœ}”jPœKsj‹œ}”jvœKsj¹œ}”jœœKsjßœ}”jÜKsj}”jðœKsj­}”j‘Ksj´ž}”jžžKsjÓž}”j¾žKsjŸ}”jäžKsj Ÿ}”j ŸKsjTŸ}”j1ŸKsjzŸ}”jeŸKsj§Ÿ}”j‹ŸKsjÕŸ}”j¸ŸKsjûŸ}”jߟKsj/¦}”j¦Ksj¦}”jq¦Ksj¨}”jé§Ksj2¨}”j¨Ksj¨}”jt¨Ksj½¨}”j¡¨Ksjê¨}”jΨKsjõ©}”jà©Ksjª}”jªKsj;ª}”j,ªKsj[ª}”jEªKsj‚ª}”jeªKsj©ª}”jŒªKsjЪ}”j³ªKsj÷ª}”jÚªKsj«}”j«KsjE«}”j(«Ksjl«}”jO«Ksj“«}”jv«Ksjº«}”j«Ksjá«}”jÄ«Ksj¬}”jë«Ksj5¬}”j¬KsjT¬}”j?¬Ksj‚¬}”je¬Ksj¡¬}”jŒ¬Ksjâ­}”jÆ­KsjG®}”j$®Ksj8°}”j°Ksjæ¶}”jѶKsjH·}”j+·Ksjg·}”jR·Ksj·}”jx·Ksj³·}”jž·KsjÙ·}”jÄ·Ksjÿ·}”jê·Ksj&¸}”j¸KsjL¸}”j7¸Ksjr¸}”j]¸Ksj6¹}”j¹Ksjj¹}”jG¹Ksj¹}”j{¹Ksj·¹}”j¡¹KsjÖ¹}”jÁ¹Ksj\º}”j@ºKsj‚º}”jmºKsj¶º}”j“ºKsju»}”jR»Ksj£»}”j†»Ksjл}”j­»Ksjý»}”já»Ksj{½}”je½Ksjš½}”j…½Ksjǽ}”j«½KsjT¿}”j?¿Ksjä¿}”jÏ¿KsjMÂ}”j8ÂKsj Ì}”jæËKsj)Ì}”jÌKsjBÌ}”j3ÌKsj[Ì}”jLÌKsjtÌ}”jeÌKsj“Ì}”j~ÌKsj³Ì}”j¤ÌKsjàÌ}”j½ÌKsj Í}”jôÌKsj/Í}”jÍKsjVÍ}”j@ÍKsjvÍ}”j`ÍKsj–Í}”j€ÍKsjÆÍ}”j ÍKsj§Î}”jŠÎKsjÆÎ}”j±ÎKsj9Ñ}”j$ÑKsjfÑ}”jJÑKsjëÓ}”jÖÓKsjÔ}”jüÓKsj8Ô}”jÔKsj_Ô}”jIÔKsjÔ}”jiÔKsjŸÔ}”j‰ÔKsj¿Ô}”j©ÔKsjßÔ}”jÉÔKsjÿÔ}”jéÔKsj%Õ}”j ÕKsjEÕ}”j6ÕKsj^Õ}”jOÕKsj}Õ}”jhÕKsjÕ}”jŽÕKsj¼Õ}”j§ÕKsjâÕ}”jÍÕKsjÖ}”jóÕKsj8×}”j#×Ksj·×}”j¢×KsjÝ×}”jÈ×KsjØ}”jñ×Ksj&Ø}”jØKsjkÛ}”jVÛKsjqÜ}”j\ÜKsj¥Ü}”j‚ÜKsj‹ß}”jvßKsj±ß}”jœßKsj0à}”jàKsjæá}”jÑáKsjã}”júâKsj<ã}”j ãKsjcã}”jMãKsjƒã}”jmãKsj£ã}”jãKsjÊã}”j­ãKsjúã}”jÔãKsj1ä}”j äKsjXä}”jBäKsjwä}”jbäKsjä}”jˆäKsjáå}”jÌåKsjæ}”jòåKsj¸æ}”j£æKsjÞæ}”jÉæKsjç}”jïæKsj+ç}”jçKsjJç}”j5çKsjpç}”j[çKsj–ç}”jçKsj½ç}”j§çKsjÝç}”jÇçKsjüç}”jççKsj¨è}”j“èKsj¯ê}”j“êKsjÇì}”j¤ìKsjDð}”j.ðKsjrð}”jUðKsj‘ð}”j|ðKsj,ñ}”jñKsjKñ}”j6ñKsjñ}”j\ñKsj¥ñ}”jñKsjËñ}”j¶ñKsjññ}”jÜñKsjò}”jòKsj=ò}”j(òKsjúò}”jÔòKsj§ó}”j‘óKsjÆó}”j±óKsjæó}”j×óKsjô}”jðóKsjkô}”jUôKsj‘ô}”j|ôKsjÅô}”j¢ôKsjëô}”jÖôKsj õ}”jüôKsj$õ}”jõKsjCõ}”j.õKsjjõ}”jTõKsj‰õ}”jtõKsj½õ}”jšõKsjëõ}”jÎõKsj ö}”jõõKsjAö}”jöKsj6ø}”jøKsjOù}”j,ùKsjú}”jëùKsjÍú}”jªúKsjû}”jûKsj>û}”j(ûKsj]û}”jHûKsj}û}”jnûKsjœû}”j‡ûKsjÂû}”j­ûKsjèû}”jÓûKsjü}”jùûKsj5ü}”jüKsjTü}”j?üKsjlý}”jWýKsj™ý}”j}ýKsjÆý}”jªýKsjŠþ}”jnþKsj ÿ}”jôþKsj7ÿ}”jÿKsj^ÿ}”jAÿKsj}ÿ}”jhÿKsj_}”jJKsj¼}”j§KsjL}”j7Ksjâ}”jÍKsj}”jùKsj}”jxKsj¶}”j¡Ksjê}”jÇKsj|}”jYKsj-}”jKsjS}”j>Ksjy}”jdKsjŸ}”jŠKsjÛ }”j¿ Ksj= }”j KsjV }”jG Ksjo }”j` Ksj• }”jy Ksjí }”j× Ksj }”j÷ Ksj@ }”j$ Ksjñ }”jÜ KsjP }”j3 Ksjo }”jZ KsjÆ }”j± Ksjô }”j× Ksj }”jþ Ksj9 }”j$ Ksj_ }”jJ Ksj… }”jp Ksj« }”j– Ksj…}”joKsj¤}”jKsjÛ}”jµKsj}”jìKsj‡}”jrKsjÞ}”jÉKsjB}”j%Ksja}”jLKsj‡}”jrKsj“}”j„Ksj¬}”jKsjË}”j¶Ksjë}”jÜKsj }”jõKsj0}”jKsjV}”jAKsjH}”j3Ksj¦}”jŠKsjy }”jj Ksj™ }”jƒ Ksj¸ }”j£ KsjÞ }”jÉ Ksj!}”jï Ksj*!}”j!KsjQ!}”j;!Ksj~!}”j[!Ksjõ#}”jà#KsjM$}”j7$Ksj}$}”jW$Ksj£$}”jŽ$KsjÚ$}”j´$Ksj%}”jë$Ksj…(}”j_(Ksjß(}”jÊ(Ksj)}”jð(Ksj%)}”j)Ksj|)}”jg)Ksj°)}”j)KsjÝ)}”jÁ)Ksj *}”jî)Ksj0*}”j*KsjP*}”jA*Ksjw*}”jZ*Ksj¤*}”j*KsjP+}”j;+Ksjv+}”ja+Ksj„,}”jg,Ksj£,}”jŽ,KsjÉ,}”j´,Ksjð,}”jÚ,Ksj-}”jú,KsjÈ-}”j«-Ksjî-}”jÒ-Ksj%0}”j0Ksj:1}”j1Ksj52}”j&2KsjT2}”j?2Ksjz2}”je2KsjÔ4}”j¿4KsjÕ6}”j¿6Ksjô6}”jß6KsjE7}”j67Ksj^7}”jO7Ksjw7}”jh7Ksj7}”j7Ksj°7}”jš7KsjÖ7}”jº7Ksj°8}”jš8Ksj×8}”jº8Ksjð8}”já8Ksj9}”jú8KsjC9}”j.9Ksjš9}”j…9KsjÀ9}”j«9Ksjæ9}”jÑ9Ksj:}”j÷9Ksj :}”j„:KsjÎ:}”j±:Ksjû:}”jØ:Ksj!;}”j ;KsjU;}”j2;Ksj{;}”jf;Ksj@}”jã?Ksjd@}”jH@Ksjï@}”jÓ@KsjA}”jAKsjLA}”j0AKsjyA}”j]AKsj×A}”j»AKsjžB}”j‚BKsj,C}”jCKsjŸF}”jƒFKsj*G}”jGKsjWG}”j;GKsjÅH}”j©HKsjòH}”jÖHKsj—J}”j{JKsjÄJ}”j¨JKsjñJ}”jÕJKsjÖK}”jºKKsjL}”jçKKsjaL}”jELKsjŽL}”jrLKsj»L}”jŸLKsjèL}”jÌLKsjFM}”j*MKsjlM}”jWMKsj$N}”jNKsjËO}”j¯OKsjòO}”jÜOKsjP}”jüOKsjEP}”j)PKsjÐP}”j´PKsj.Q}”jQKsjŒQ}”jpQKsjêQ}”jÎQKsjuR}”jYRKsjÓR}”j·RKsjS}”jçRKsjvT}”jZTKsj£T}”j‡TKsjÐT}”j´TKsj V}”jîUKsjhV}”jLVKsjHW}”j,WKsj­W}”jŠWKsjÚW}”j¾WKsjX}”jqXKsjºX}”jžXKsjàX}”jËXKsjY}”jñXKsjŠY}”juYKsj¸Z}”j£ZKsjJ[}”j'[Ksjx[}”j[[KsjŸ[}”j‚[KsjÌ[}”j©[Ksj ]}”jï\Ksj3]}”j]KsjR]}”j=]Ksjx`}”jc`KsjŸ`}”j‰`KsjÍ`}”j°`Ksjô`}”j×`Ksja}”jþ`Ksj;a}”j%aKsjZa}”jEaKsj±a}”jœaKsjØa}”jÂaKsjþa}”jâaKsj×c}”j»cKsj?d}”jdKsj$e}”jþdKsj f}”jãeKsjf}”jxfKsj³f}”jžfKsjçf}”jÄfKsj g}”jøfKsj3g}”jgKsjgg}”jDgKsjg}”jxgKsj³g}”jžgKsj7h}”j"hKsjÈj}”j³jKsjîj}”jÙjKsjk}”jÿjKsj¡l}”jŒlKsjûl}”jælKsj"m}”j mKsj;m}”j,mKsj[m}”jEmKsjm}”jemKsjn}”jwnKsj­n}”j—nKsjÌn}”j·nKsjòn}”jÝnKsjÿo}”jãoKsj,p}”jpKsjYp}”j=pKsjmr}”jXrKsj“r}”j~rKsjt}”jtKsjôt}”jßtKsj[v}”j?vKsjÂw}”j¦wKsjèw}”jÓwKsjx}”jùwKsj4x}”jxKsjZx}”jExKsjŽx}”jkxKsj´x}”jŸxKsjÛx}”jÅxKsjy}”jåxKsjz}”jòyKsj(z}”jzKsjAz}”j2zKsjjz}”jKzKsj†{}”j`{Ksj‡}”jdKsj­}”j˜KsjÔ}”j¾Ksjû}”jÞKsj"€}”j€KsjI€}”j,€Ksjp€}”jS€Ksj—€}”jz€Ksj¾€}”j¡€Ksjå€}”jÈ€Ksj }”jï€Ksj3}”jKsjZ}”j=Ksj}”jdKsj¨}”j‹KsjÏ}”j²Ksjö}”jÙKsj‚}”j‚KsjD‚}”j'‚Ksjk‚}”jN‚Ksj’‚}”ju‚Ksj¹‚}”jœ‚Ksjà‚}”jÂKsjƒ}”jê‚Ksj.ƒ}”jƒKsjUƒ}”j8ƒKsj|ƒ}”j_ƒKsj£ƒ}”j†ƒKsjʃ}”j­ƒKsjñƒ}”jÔƒKsj„}”jûƒKsj?„}”j"„Ksjf„}”jI„Ksj„}”jp„Ksj´„}”j—„KsjÛ„}”j¾„Ksj…}”jå„Ksj)…}”j …KsjP…}”j3…Ksjw…}”jZ…Ksjž…}”j…KsjË…}”j¨…Ksjò…}”jÜ…Ksj†}”jü…Ksj<†}”j&†Ksj[†}”jF†Ksj†}”jl†Ksjª†}”j’†Ksjц}”j»†Ksj÷†}”jâ†Ksj>‰}”j(‰Ksjk‰}”jH‰KsjwŠ}”jaŠKsj—Š}”jŠKsjÄŠ}”j¨ŠKsjX}”jBKsj…}”jbKsjã}”jÇKsj Ž}”jôKsj6Ž}”jŽKsjV™}”jA™KsjŠ™}”jg™Ksj¾™}”j›™Ksjä™}”jÏ™Ksjš}”jõ™Ksj}›}”jh›Ksj®›}”jŽ›KsjÕ›}”j¸›Ksjî›}”jß›Ksjœ}”jø›Ksj&œ}”jœKsjFœ}”j7œKsjfœ}”jPœKsj”œ}”jwœKsj­œ}”jžœKsjÔœ}”j·œKsjíœ}”jÞœKsj}”j÷œKsj&}”jKsjL}”j0Ksj¸ž}”j’žKsjåž}”jÉžKsj Ÿ}”jöžKsj2Ÿ}”jŸKsj‹¤}”jv¤Ksjܤ}”jͤKsjõ¤}”jæ¤Ksj¥}”jÿ¤Ksj-¥}”j¥Ksjk¦}”j\¦Ksj„¦}”ju¦Ksj¦}”jަKsj¶¦}”j§¦KsjϦ}”jÀ¦Ksjî¦}”jÙ¦Ksj§}”jÿ¦Ksjv¶}”ja¶KsjͶ}”j¸¶Ksjû¶}”jÞ¶Ksj"·}”j·KsjB·}”j,·Ksjb·}”jL·Ksj‚·}”js·Ksj¡·}”jŒ·KsjÏ·}”j²·Ksjõ·}”jÙ·Ksj$¹}”j¹KsjK¹}”j.¹Ksjj¹}”jU¹Ksj¹}”j{¹Ksj½¹}”j¡¹Ksjà¹}”jѹKsjÿ¹}”jê¹Ksj¾¼}”j¨¼Ksjݼ}”jȼKsji½}”jL½Ksjˆ½}”js½Ksj®½}”j™½Ksjν}”j¿½Ksjø½}”jؽKsj¾}”j¾Ksj>¾}”j"¾Ksjœ¾}”j€¾Ksj_¿}”jB¿Ksj~¿}”ji¿Ksj¤¿}”j¿Ksj?À}”j0ÀKsjeÀ}”jIÀKsjÁ}”jÁKsjÂ}”j ÂKsj4Â}”j%ÂKsjMÂ}”j>ÂKsjsÂ}”jWÂKsj“Â}”j„ÂKsj¹Â}”jÂKsjßÂ}”jÊÂKsjÃ}”jðÂKsj,Ã}”jÃKsjÅ}”jþÄKsj3Å}”jÅKsjŠÅ}”juÅKsjáÅ}”jÌÅKsjÆ}”jòÅKsj4Æ}”jÆKsjaÆ}”jLÆKsjõÇ}”jÙÇKsjÅÕ}”j°ÕKsjëÕ}”jÖÕKsjÖ}”jÿÕKsj4Ö}”jÖKsjZÖ}”jEÖKsj‡Ö}”jkÖKsjï×}”jÓ×KsjØ}”jØKsjLØ}”j0ØKsjrØ}”j]ØKsj`Ù}”jJÙKsj†Ù}”jqÙKsj<ä}”j'äKsjcä}”jMäKsj‚ä}”jmäKsjÚä}”jÄäKsjå}”jëäKsj4å}”jåKsj¸å}”j£åKsjÞå}”jÉåKsjæ}”jïåKsjFæ}”j#æKsjzæ}”jWæKsjúæ}”jäæKsj ç}”j çKsjIç}”j4çKsjoç}”jZçKsj•ç}”j€çKsjé}”jàèKsj•é}”jréKsjµé}”j¦éKsjÎé}”j¿éKsjôé}”jØéKsjê}”jêKsj;ê}”jêKsjZê}”jEêKsj€ê}”jkêKsj§ê}”j‘êKsjÆê}”j±êKsjôê}”j×êKsjë}”jþêKsjNë}”j+ëKsj{ë}”j_ëKsjÀí}”jíKsjçí}”jÑíKsjî}”jøíKsj4î}”jîKsjÚø}”j·øKsjBù}”jùKsj"ú}”júKsjû}”jæúKsjEû}”j!ûKsjsû}”jOûKsj§û}”j}ûKsj:ü}”jüKsjhü}”jDüKsj‡ü}”jrüKsj­ü}”j˜üKsjÛü}”j¾üKsjúü}”jåüKsj»þ}”j•þKsjïþ}”jÌþKsjüÿ}”jàÿKsjå}”jÉKsj'}”jKsjG}”j1Ksjt}”jXKsj›}”j…KsjÂ}”j¬Ksjá}”jÌKsj}”jòKsj;}”j&Ksj}”jÿKsj}”jcKsjÖ }”jÀ Ksjõ }”jà Ksj" }”j KsjI }”j- Ksjµ}”j™Ksjí}”jØKsj}”jþKsjV}”j3KsjŠ}”jgKsj }”jôKsj/}”jKsj\}”j@Ksj}”jmKsj¶}”j¡KsjÜ}”jÇKsj}”jíKsj(}”jKsjN}”j9Ksj>}”j)Ksjh}”jOKsjˆ}”jrKsj§}”j’Ksj}”jjKsj¥}”jKsjÅ}”j¶Ksjä}”jÏKsj}”jõKsjí}”j×Ksj }”j÷KsjÉ}”j´Ksj$}”jKsjÌ}”j°Ksjó}”jÝKsj}”jýKsjF}”j#Ksjf}”jWKsj…}”jpKsj¬}”j–KsjÌ}”j¶Ksjë}”jÖKsj}”jüKsj9}”j#KsjY}”jCKsjx}”jcKsj$ }”j Ksj !}”jí Ksj:!}”j!Ksjm"}”jX"Ksjñ"}”jÜ"KsjH#}”j3#Ksj°#}”jŠ#KsjÝ#}”jÁ#Ksj$}”jî#Ksj:$}”j%$Ksj`$}”jK$Ksj¦'}”j—'Ksj¿'}”j°'KsjØ'}”jÉ'Ksu(j÷'}”jâ'KsjH(}”j9(Ksjg(}”jR(Ksj(}”jx(Ksj³(}”jž(KsjÙ(}”jÄ(Ksj7)}”j)Ksj^)}”jH)Ksj„)}”jo)Ksj²)}”j•)KsjÑ)}”j¼)Ksjø)}”jâ)Ksj*}”j*Ksj7*}”j"*Ksj^*}”jH*Ksj}*}”jh*Ksj,+}”j +KsjZ+}”j=+Ksjy+}”jd+KsjW,}”jB,Ksj¿,}”j™,Ksjé,}”jÓ,Ksj -}”jó,Ksj0-}”j-KsjO-}”j:-Ksju-}”j`-Ksjó.}”jÞ.Ksj /}”j/KsjF/}”j1/Ksjñ/}”jâ/Ksj 0}”jû/Ksj)0}”j0KsjI0}”j:0Ksjp0}”jS0Ksj—0}”jz0Ksj¶0}”j¡0Ksjä0}”jÇ0Ksj 1}”jî0Ksj;1}”j1Ksjb1}”jL1Ksj1}”jl1Ksj5}”j5Ksj@5}”j+5Ksjf5}”jQ5Ksjš5}”jw5KsjÀ5}”j«5Ksj¡6}”j„6KsjÀ6}”j«6Ksjæ6}”jÑ6Ksj 7}”j÷6Ksjc7}”jN7Ksj¶7}”j¡7Ksj¶8}”j§8KsjÝ8}”jÀ8Ksj 9}”jç8Ksj89}”j9KsjW9}”jB9Ksj}9}”jh9Ksj:}”jì9KsjÏ:}”jº:Ksjõ:}”jà:KsjŒA}”jwAKsjFC}”j1CKsjzC}”jWCKsj®C}”j‹CKsjšD}”jwDKsjúE}”jåEKsj F}”j FKsjTF}”j1FKsj‚F}”jeFKsj¢F}”jŒFKsjÂF}”j¬FKsjáF}”jÌFKsj‡G}”jxGKsj§G}”j‘GKsjÆG}”j±GKsjúG}”j×GKsj.H}”j HKsjìI}”jÉIKsjJ}”jýIKsjAJ}”j$JKsj`J}”jKJKsjŠJ}”jtJKsj©J}”j”JKsjÏJ}”jºJKsj&K}”jKKsjwR}”jhRKsj¤R}”jRKsjS}”jæRKsjZS}”jDSKsj€S}”jdSKsjT}”jïSKsj©X}”j”XKsjÐX}”jºXKsjðX}”jÚXKsjY}”júXKsj5Y}”j YKsj[Y}”jFYKsjY}”jlYKsjÿZ}”jêZKsj~[}”ji[KsjW\}”jB\Ksj}\}”jh\Ksj®\}”j‘\KsjÕ\}”j¸\Ksjô\}”jß\Ksj(]}”j]Ksjà]}”jÄ]Ksj ^}”jñ]Ksj3^}”j^Ksja^}”jD^Ksj^}”jk^Ksj ^}”j‹^KsjÇ^}”j±^Ksjí^}”jÑ^KsjD_}”j/_Ksjr_}”jU_Ksj˜_}”j|_Ksj#`}”j`KsjP`}”j4`Ksjca}”jMaKsj‰a}”jmaKsj½b}”j§bKsjãb}”jÇbKsjc}”jûbKsj7c}”j!cKsj^c}”jAcKsj}c}”jhcKsj£c}”jŽcKsjúc}”jåcKsj(e}”jeKsj¯e}”jšeKsjÏh}”jºhKsjõh}”jàhKsji}”jiKsjHi}”j,iKsjni}”jYiKsjGj}”j2jKsjmj}”jXjKsj›j}”j~jKsjºj}”j¥jKsj>k}”j)kKsjdk}”jOkKsjŠk}”jukKsj±k}”j›kKsjÓk}”j»kKsjùk}”jäkKsjl}”j lKsjEl}”j0lKsjll}”jVlKsj’l}”jvlKsjXm}”j5mKsj¯m}”jšmKsj§p}”j‘pKsjÇp}”j±pKsjæp}”jÑpKsj)s}”jsKsjRs}”j:sKsjxs}”jcsKsjt}”jtKsj9t}”j*tKsjbt}”jCtKsjJu}”j!uKsjöu}”jáuKsj0v}”jvKsj°v}”jšvKsjÏv}”jºvKsjõv}”jàvKsjLw}”j7wKsj&x}”jxKsjEx}”j0xKsjkx}”jVxKsj‘x}”j|xKsjÉy}”j´yKsjUz}”j8zKsjnz}”j_zKsjz}”jxzKsjäz}”jÏzKsj{}”jõzKsj?{}”j"{Ksje{}”jI{Ksj“}}”j}}Ksj¬}}”j}KsjÌ}}”j¶}Ksjò}}”jÖ}KsjU}”j8Ksj‚}”j_Ksj°}”j“KsjÏ}”jºKsj€}”jàKsj*€}”j€KsjI€}”j4€Ksjw€}”jZ€Ksjž€}”j€KsjÄ€}”j¨€Ksjê‚}”jÊ‚Ksj ƒ}”jô‚KsjŽƒ}”jxƒKsjµƒ}”j˜ƒKsjÔƒ}”j¿ƒKsjôƒ}”jåƒKsj„}”(jþƒKj+„KjX„KjÁ…Kjî…Kj†KjH†Kju†Kj¢†Kj‡Kujò†}”jφKsj?‡}”j0‡KsjX‡}”jI‡Ksjw‡}”jb‡Ksjü}”jàKsjÏ‘}”jÀ‘Ksjõ‘}”jÙ‘Ksj"’}”j’KsjH’}”j3’Ksjn’}”jY’Ksjë”}”jÖ”Ksj•}”jü”Ksjâ™}”jÆ™Ksjœ}”j œKsjEœ}”j/œKsjrœ}”jOœKsj™œ}”jƒœKsj¸œ}”j£œKsjåœ}”jÉœKsjŸ }”jƒ KsjÅ }”j° Ksjë }”jÖ KsjB¡}”j-¡Ksjh¡}”jS¡KsjŽ¡}”jy¡Ksj´¡}”jŸ¡KsjÚ¡}”jÅ¡Ksj¢}”jë¡Ksj’¢}”jv¢Ksj¸¢}”j£¢KsjÞ¢}”jÉ¢Ksj£}”jï¢Ksj2£}”j£KsjY£}”j<£Ksj€£}”jc£Ksj§£}”jŠ£KsjΣ}”j±£Ksjõ£}”jØ£Ksj¤}”jÿ£KsjC¤}”j&¤Ksjj¤}”jM¤Ksj‘¤}”jt¤Ksj¾¤}”j›¤Ksjì¤}”jϤKsj¥}”jö¤Ksj:¥}”j¥Ksja¥}”jD¥KsjŽ¥}”jk¥Ksj¼¥}”jŸ¥Ksjã¥}”jÆ¥Ksj ¦}”jí¥Ksj1¦}”j¦KsjX¦}”j;¦Ksj¦}”jb¦Ksj¦¦}”j‰¦Ksjͦ}”j°¦Ksjô¦}”jצKsj§}”jþ¦KsjB§}”j%§Ksji§}”jL§Ksj§}”js§Ksj·§}”jš§KsjÞ§}”jÁ§Ksj¨}”jè§Ksj,¨}”j¨KsjS¨}”j6¨Ksjz¨}”j]¨Ksj¡¨}”j„¨KsjȨ}”j«¨Ksjõ¨}”jÒ¨Ksj#©}”j©KsjJ©}”j-©Ksjq©}”jT©Ksj˜©}”j{©Ksj¿©}”j¢©Ksjæ©}”jÉ©Ksj ª}”jð©Ksj4ª}”jªKsjaª}”j>ªKsjàª}”j˪KsjE«}”j"«Ksjk«}”jV«KsjÏ­}”jº­KsjS®}”j>®Ksj«®}”j•®KsjË®}”jµ®Ksjë®}”jÕ®Ksj ¯}”jõ®Ksj0¯}”j¯Ksj‡¯}”jr¯Ksj®¯}”j˜¯KsjÛ¯}”j¸¯Ksjް}”jr°Ksj´°}”jŸ°KsjZ±}”jK±Ksj‡±}”jd±Ksj®±}”j˜±KsjDZ}”j¸±Ksjæ±}”jѱKsuh-}”(h1}”hKsho}”hEKshÍ}”hªKshó}”h×Ksjÿ}”jâKsj}”jKsjD}”j(Ksjq}”jNKsjà}”jÄKsj}”jêKsj3}”jKsj= }”j Ksjø }”jÜ Ksj }”j KsjL }”j( Ksje }”jO Ksj… }”jh Ksj¤ }”jˆ KsjÊ }”j® Ksjð }”jÔ Ksj' }”jú KsjN }”j1 Ksjm }”jQ KsjÃ}”j§Ksjt}”jXKsjš}”j~Ksj}”jKsj£}”j†KsjÉ}”j¦KsjÕ}”j¸Ksjü}”jØKsj}”jÿKsjO}”j%Ksju}”jYKsjœ}”jKsjÌ}”jŸKsjù}”jÖKsj’}”joKsjÆ}”j©Ksjå}”jÉKsj}”jïKsj˜}”juKsjD}”j(Ksj }”jƒKsj¿}”j£Ksjå}”jÉKsj}”jïKsj8}”jKsjl}”jBKsj9}”jKsj‘}”juKsj·}”j›Ksjä}”jÁKsjv}”jSKsj¨}”jŒKsj}”jãKsj6}”jKsj\}”j@Ksj}”jfKsj¶}”jšKsjÜ}”jÀKsjg}”jDKsj }”j÷Ksj› }”j… KsjÅ }”jž Ksjä }”jÈ Ksj…!}”ji!Ksj«!}”j!KsjÑ!}”jµ!Ksjú!}”jÞ!Ksj "}”j"KsjF"}”j*"Ksjl"}”jP"Ksj’"}”jv"Ksj¹"}”jœ"KsjÒ"}”j¼"Ksj#}”jÕ"Ksj)#}”j #KsjH#}”j,#Ksjo#}”jR#Ksj•#}”jr#Ksjn$}”jR$Ksj”$}”jx$Ksjº$}”jž$Ksjè$}”jÄ$Ksj%}”jë$Ksj-%}”j%KsjS%}”j7%Ksj€%}”j]%Ksj6&}”j&Ksj\&}”j@&KsjŠ&}”jf&Ksj©&}”j&KsjÏ&}”j³&Ksj€'}”jd'Ksj­'}”jŠ'KsjÓ'}”j·'Ksj(}”jÝ'Ksj;(}”j(Ksjo(}”jE(Ksjû(}”j×(Ksj")}”jþ(KsjI)}”j%)Ksjp)}”jL)Ksj—)}”js)Ksj¾)}”jš)Ksjå)}”jÁ)Ksj *}”jè)Ksj3*}”j*KsjZ*}”j6*Ksj‡*}”j]*Ksjµ*}”j‘*KsjÜ*}”j¸*Ksj+}”jß*Ksj"+}”j+KsjO+}”j,+Ksju+}”jY+Ksj­,}”j‘,KsjÓ,}”j·,Ksjù,}”jÝ,Ksj-}”j-KsjH-}”j)-Ksjn-}”jR-Ksjí-}”jÑ-Ksj.}”j÷-KsjG.}”j$.KsjM/}”j1/Ksjs/}”jW/Ksj™/}”j}/Ksj¿/}”j£/KsjG1}”j+1KsjT2}”j12KsjV3}”j93Ksju3}”jY3Ksjï5}”jÂ5Ksj6}”jù5KsjI6}”j6KsjÍ6}”j±6Ksjó6}”j×6Ksj7}”jý6Ksj?7}”j#7Ksjm8}”jQ8Ksj%9}”j9KsjK9}”j/9Ksjx9}”jU9Ksj¦9}”j‚9KsjÅ9}”j©9KsjÔ:}”jª:KsjL>}”j/>Ksjl>}”jO>Ksj‹>}”jo>Ksj±>}”j•>KsjÞ>}”j»>Ksj?}”jë>Ksj4?}”j?KsjZ?}”j>?Ksj‡?}”jd?Ksj@}”jï?Ksj@@}”j#@Ksj`@}”jC@Ksj€@}”jc@KsjŸ@}”jƒ@KsjÆ@}”j©@Ksjó@}”jÉ@Ksj­A}”jƒAKsjB}”jèAKsj2B}”jBKsjQB}”j5BKsj~B}”j[BKsj‡C}”jcCKsj¦C}”jŠCKsjÌC}”j°CKsjòC}”jÖCKsjD}”jüCKsj>D}”j"DKsjdD}”jHDKsj‹D}”jnDKsjªD}”jŽDKsj~E}”jbEKsj¤E}”jˆEKsjÊE}”j®EKsjðE}”jÔEKsjUF}”j+FKsjàF}”j½FKsj?G}”jGKsj_G}”jBGKsj~G}”jbGKsj7J}”jJKsjWJ}”jAJKsj}J}”jZJKsj¤J}”j‡JKsjÊJ}”j§JKsj"K}”jKKsjHK}”j,KKsjnK}”jRKKsj”K}”jxKKsjÁK}”jžKKsjñK}”jÎKKsj0M}”j MKsj]M}”j:MKsjhN}”jLNKsjO}”jýNKsjjO}”jTOKsj‰O}”jmOKsjÚP}”j½PKsjQ}”jäPKsj.Q}”jQKsjUQ}”j8QKsjnQ}”jXQKsj”Q}”jqQKsj@R}”j$RKsjfR}”jJRKsjŒR}”jpRKsjÀR}”j–RKsjæR}”jÊRKsjjS}”jNSKsjS}”jtSKsjOV}”j3VKsj}V}”jYVKsjœV}”j€VKsjÂV}”j¦VKsjèV}”jÌVKsjW}”jòVKsj4W}”jWKsjX}”jñWKsjyX}”jOXKsjŸX}”jƒXKsjÅX}”j©XKsjÓZ}”j·ZKsj¬[}”j[KsjÙ[}”j¶[Ksj \}”jã[Ksj3\}”j\Ksj`\}”j=\Ksjx}”jåwKsj’z}”jvzKsj {}”jz{KsjÉ{}”j­{Ksjý{}”jÓ{Ksj$|}”j|KsjQ|}”j'|Ksj~|}”j[|Ksj«|}”jˆ|Ksj0}}”j}KsjP}}”j3}Ksji}}”jS}Ksjˆ}}”jl}Ksj®}}”j’}KsjÛ}}”j¸}Ksj•~}”jr~Ksj}”jÿ~Ksj«}”jKsj}”jå€Ksj.}”j Ksjuƒ}”jVƒKsjžƒ}”jƒKsj˃}”j¨ƒKsj(…}”j…KsjN…}”j2…Ksjt…}”jX…Ksj¢…}”j~…KsjÁ…}”j¥…Ksjõ…}”jË…Ksj6‡}”j ‡Ksjð‡}”jƇKsjRˆ}”j+ˆKsjqˆ}”jUˆKsjžˆ}”j{ˆKsj8Š}”jŠKsj‹}”júŠKsjQ‹}”j'‹Ksj6Œ}”jŒKsjy”}”j\”Ksj˜”}”j|”KsjÅ”}”j¨”Ksjä”}”jÈ”Ksj •}”jî”Ksj7•}”j•Ksjh•}”jD•Ksjˆ•}”jk•Ksj¨•}”j’•KsjÈ•}”j«•Ksjî•}”jË•KsjL–}”j)–Ksjy–}”jV–Ksj°—}”j“—KsjÝ—}”jº—Ksj0š}”jšKsjOš}”j3šKsj¦š}”jŠšKsjt›}”jX›Ksj››}”j~›Ksj›}”jž›Ksjá›}”jÅ›Ksjœ}”jë›Ksj œ}”jœKsjFœ}”j*œKsjlœ}”jPœKsj’œ}”jvœKsjÀœ}”jœœKsjæœ}”jÜKsj }”jðœKsj´}”j‘Ksj»ž}”jžžKsjÚž}”j¾žKsjŸ}”jäžKsj'Ÿ}”j ŸKsj[Ÿ}”j1ŸKsjŸ}”jeŸKsj®Ÿ}”j‹ŸKsjÜŸ}”j¸ŸKsj }”jߟKsj6¦}”j¦Ksj”¦}”jq¦Ksj ¨}”jé§Ksj9¨}”j¨Ksj—¨}”jt¨KsjĨ}”j¡¨Ksjñ¨}”jΨKsjü©}”jà©Ksj"ª}”jªKsjBª}”j,ªKsjbª}”jEªKsj‰ª}”jeªKsj°ª}”jŒªKsjת}”j³ªKsjþª}”jÚªKsj%«}”j«KsjL«}”j(«Ksjs«}”jO«Ksjš«}”jv«KsjÁ«}”j«Ksjè«}”jÄ«Ksj¬}”jë«Ksj<¬}”j¬Ksj[¬}”j?¬Ksj‰¬}”je¬Ksj¨¬}”jŒ¬Ksjé­}”jÆ­KsjN®}”j$®Ksj?°}”j°Ksjí¶}”jѶKsjO·}”j+·Ksjn·}”jR·Ksj”·}”jx·Ksjº·}”jž·Ksjà·}”jÄ·Ksj¸}”jê·Ksj-¸}”j¸KsjS¸}”j7¸Ksjy¸}”j]¸Ksj=¹}”j¹Ksjq¹}”jG¹Ksj—¹}”j{¹Ksj¾¹}”j¡¹Ksjݹ}”jÁ¹Ksjcº}”j@ºKsj‰º}”jmºKsj½º}”j“ºKsj|»}”jR»Ksjª»}”j†»Ksj×»}”j­»Ksj¼}”já»Ksj‚½}”je½Ksj¡½}”j…½Ksjν}”j«½Ksj[¿}”j?¿Ksjë¿}”jÏ¿KsjTÂ}”j8ÂKsjÌ}”jæËKsj0Ì}”jÌKsjIÌ}”j3ÌKsjbÌ}”jLÌKsj{Ì}”jeÌKsjšÌ}”j~ÌKsjºÌ}”j¤ÌKsjçÌ}”j½ÌKsjÍ}”jôÌKsj6Í}”jÍKsj]Í}”j@ÍKsj}Í}”j`ÍKsjÍ}”j€ÍKsjÍÍ}”j ÍKsj®Î}”jŠÎKsjÍÎ}”j±ÎKsj@Ñ}”j$ÑKsjmÑ}”jJÑKsjòÓ}”jÖÓKsjÔ}”jüÓKsj?Ô}”jÔKsjfÔ}”jIÔKsj†Ô}”jiÔKsj¦Ô}”j‰ÔKsjÆÔ}”j©ÔKsjæÔ}”jÉÔKsjÕ}”jéÔKsj,Õ}”j ÕKsjLÕ}”j6ÕKsjeÕ}”jOÕKsj„Õ}”jhÕKsj¤Õ}”jŽÕKsjÃÕ}”j§ÕKsjéÕ}”jÍÕKsjÖ}”jóÕKsj?×}”j#×Ksj¾×}”j¢×Ksjä×}”jÈ×KsjØ}”jñ×Ksj-Ø}”jØKsjrÛ}”jVÛKsjxÜ}”j\ÜKsj¬Ü}”j‚ÜKsj’ß}”jvßKsj¸ß}”jœßKsj7à}”jàKsjíá}”jÑáKsjã}”júâKsjCã}”j ãKsjjã}”jMãKsjŠã}”jmãKsjªã}”jãKsjÑã}”j­ãKsjä}”jÔãKsj8ä}”j äKsj_ä}”jBäKsj~ä}”jbäKsj¤ä}”jˆäKsjèå}”jÌåKsjæ}”jòåKsj¿æ}”j£æKsjåæ}”jÉæKsj ç}”jïæKsj2ç}”jçKsjQç}”j5çKsjwç}”j[çKsjç}”jçKsjÄç}”j§çKsjäç}”jÇçKsjè}”jççKsj¯è}”j“èKsj¶ê}”j“êKsjÎì}”j¤ìKsjKð}”j.ðKsjyð}”jUðKsj˜ð}”j|ðKsj3ñ}”jñKsjRñ}”j6ñKsj†ñ}”j\ñKsj¬ñ}”jñKsjÒñ}”j¶ñKsjøñ}”jÜñKsjò}”jòKsjDò}”j(òKsjó}”jÔòKsj®ó}”j‘óKsjÍó}”j±óKsjíó}”j×óKsjô}”jðóKsjrô}”jUôKsj˜ô}”j|ôKsjÌô}”j¢ôKsjòô}”jÖôKsjõ}”jüôKsj+õ}”jõKsjJõ}”j.õKsjqõ}”jTõKsjõ}”jtõKsjÄõ}”jšõKsjòõ}”jÎõKsjö}”jõõKsjHö}”jöKsj=ø}”jøKsjVù}”j,ùKsjú}”jëùKsjÔú}”jªúKsj%û}”jûKsjEû}”j(ûKsjdû}”jHûKsj„û}”jnûKsj£û}”j‡ûKsjÉû}”j­ûKsjïû}”jÓûKsjü}”jùûKsj<ü}”jüKsj[ü}”j?üKsjsý}”jWýKsj ý}”j}ýKsjÍý}”jªýKsj‘þ}”jnþKsjÿ}”jôþKsj>ÿ}”jÿKsjeÿ}”jAÿKsj„ÿ}”jhÿKsjf}”jJKsjÃ}”j§KsjS}”j7Ksjé}”jÍKsj}”jùKsj”}”jxKsj½}”j¡Ksjñ}”jÇKsjƒ}”jYKsj4}”jKsjZ}”j>Ksj€}”jdKsj¦}”jŠKsjâ }”j¿ KsjD }”j Ksj] }”jG Ksjv }”j` Ksjœ }”jy Ksjô }”j× Ksj }”j÷ KsjG }”j$ Ksjø }”jÜ KsjW }”j3 Ksjv }”jZ KsjÍ }”j± Ksjû }”j× Ksj }”jþ Ksj@ }”j$ Ksjf }”jJ KsjŒ }”jp Ksj² }”j– KsjŒ}”joKsj«}”jKsjâ}”jµKsj}”jìKsjŽ}”jrKsjå}”jÉKsjI}”j%Ksjh}”jLKsjŽ}”jrKsjš}”j„Ksj³}”jKsjÒ}”j¶Ksjò}”jÜKsj}”jõKsj7}”jKsj]}”jAKsjO}”j3Ksj­}”jŠKsj€ }”jj Ksj  }”jƒ Ksj¿ }”j£ Ksjå }”jÉ Ksj !}”jï Ksj1!}”j!KsjX!}”j;!Ksj…!}”j[!Ksjü#}”jà#KsjT$}”j7$Ksj„$}”jW$Ksjª$}”jŽ$Ksjá$}”j´$Ksj%}”jë$KsjŒ(}”j_(Ksjæ(}”jÊ(Ksj )}”jð(Ksj,)}”j)Ksjƒ)}”jg)Ksj·)}”j)Ksjä)}”jÁ)Ksj*}”jî)Ksj7*}”j*KsjW*}”jA*Ksj~*}”jZ*Ksj«*}”j*KsjW+}”j;+Ksj}+}”ja+Ksj‹,}”jg,Ksjª,}”jŽ,KsjÐ,}”j´,Ksj÷,}”jÚ,Ksj-}”jú,KsjÏ-}”j«-Ksjõ-}”jÒ-Ksj,0}”j0KsjA1}”j1Ksj<2}”j&2Ksj[2}”j?2Ksj2}”je2KsjÛ4}”j¿4KsjÜ6}”j¿6Ksjû6}”jß6KsjL7}”j67Ksje7}”jO7Ksj~7}”jh7Ksj—7}”j7Ksj·7}”jš7KsjÝ7}”jº7Ksj·8}”jš8KsjÞ8}”jº8Ksj÷8}”já8Ksj$9}”jú8KsjJ9}”j.9Ksj¡9}”j…9KsjÇ9}”j«9Ksjí9}”jÑ9Ksj!:}”j÷9Ksj§:}”j„:KsjÕ:}”j±:Ksj;}”jØ:Ksj(;}”j ;Ksj\;}”j2;Ksj‚;}”jf;Ksj @}”jã?Ksjk@}”jH@Ksjö@}”jÓ@Ksj&A}”jAKsjSA}”j0AKsj€A}”j]AKsjÞA}”j»AKsj¥B}”j‚BKsj3C}”jCKsj¦F}”jƒFKsj1G}”jGKsj^G}”j;GKsjÌH}”j©HKsjùH}”jÖHKsjžJ}”j{JKsjËJ}”j¨JKsjøJ}”jÕJKsjÝK}”jºKKsj L}”jçKKsjhL}”jELKsj•L}”jrLKsjÂL}”jŸLKsjïL}”jÌLKsjMM}”j*MKsjsM}”jWMKsj+N}”jNKsjÒO}”j¯OKsjùO}”jÜOKsjP}”jüOKsjLP}”j)PKsj×P}”j´PKsj5Q}”jQKsj“Q}”jpQKsjñQ}”jÎQKsj|R}”jYRKsjÚR}”j·RKsj S}”jçRKsj}T}”jZTKsjªT}”j‡TKsj×T}”j´TKsjV}”jîUKsjoV}”jLVKsjOW}”j,WKsj´W}”jŠWKsjáW}”j¾WKsj”X}”jqXKsjÁX}”jžXKsjçX}”jËXKsj Y}”jñXKsj‘Y}”juYKsj¿Z}”j£ZKsjQ[}”j'[Ksj[}”j[[Ksj¦[}”j‚[KsjÓ[}”j©[Ksj]}”jï\Ksj:]}”j]KsjY]}”j=]Ksj`}”jc`Ksj¦`}”j‰`KsjÔ`}”j°`Ksjû`}”j×`Ksj"a}”jþ`KsjBa}”j%aKsjaa}”jEaKsj¸a}”jœaKsjßa}”jÂaKsjb}”jâaKsjÞc}”j»cKsjFd}”jdKsj+e}”jþdKsjf}”jãeKsj”f}”jxfKsjºf}”jžfKsjîf}”jÄfKsjg}”jøfKsj:g}”jgKsjng}”jDgKsj”g}”jxgKsjºg}”jžgKsj>h}”j"hKsjÏj}”j³jKsjõj}”jÙjKsjk}”jÿjKsj¨l}”jŒlKsjm}”jælKsj)m}”j mKsjBm}”j,mKsjbm}”jEmKsjˆm}”jemKsj”n}”jwnKsj´n}”j—nKsjÓn}”j·nKsjùn}”jÝnKsjp}”jãoKsj3p}”jpKsj`p}”j=pKsjtr}”jXrKsjšr}”j~rKsj"t}”jtKsjût}”jßtKsjbv}”j?vKsjÉw}”j¦wKsjïw}”jÓwKsjx}”jùwKsj;x}”jxKsjax}”jExKsj•x}”jkxKsj»x}”jŸxKsjâx}”jÅxKsjy}”jåxKsjz}”jòyKsj/z}”jzKsjHz}”j2zKsjqz}”jKzKsj{}”j`{KsjŽ}”jdKsj´}”j˜KsjÛ}”j¾Ksj€}”jÞKsj)€}”j€KsjP€}”j,€Ksjw€}”jS€Ksjž€}”jz€KsjÅ€}”j¡€Ksjì€}”jÈ€Ksj}”jï€Ksj:}”jKsja}”j=Ksjˆ}”jdKsj¯}”j‹KsjÖ}”j²Ksjý}”jÙKsj$‚}”j‚KsjK‚}”j'‚Ksjr‚}”jN‚Ksj™‚}”ju‚KsjÀ‚}”jœ‚Ksjç‚}”jÂKsjƒ}”jê‚Ksj5ƒ}”jƒKsj\ƒ}”j8ƒKsjƒƒ}”j_ƒKsjªƒ}”j†ƒKsjу}”j­ƒKsjøƒ}”jÔƒKsj„}”jûƒKsjF„}”j"„Ksjm„}”jI„Ksj”„}”jp„Ksj»„}”j—„Ksjâ„}”j¾„Ksj …}”jå„Ksj0…}”j …KsjW…}”j3…Ksj~…}”jZ…Ksj¥…}”j…KsjÒ…}”j¨…Ksjù…}”jÜ…Ksj#†}”jü…KsjC†}”j&†Ksjb†}”jF†Ksjˆ†}”jl†Ksj±†}”j’†Ksj؆}”j»†Ksjþ†}”jâ†KsjE‰}”j(‰Ksjr‰}”jH‰Ksj~Š}”jaŠKsjžŠ}”jŠKsjËŠ}”j¨ŠKsj_}”jBKsjŒ}”jbKsjê}”jÇKsjŽ}”jôKsj=Ž}”jŽKsj]™}”jA™Ksj‘™}”jg™KsjÅ™}”j›™Ksjë™}”jÏ™Ksjš}”jõ™Ksj„›}”jh›Ksjµ›}”jŽ›KsjÜ›}”j¸›Ksjõ›}”jß›Ksjœ}”jø›Ksj-œ}”jœKsjMœ}”j7œKsjmœ}”jPœKsj›œ}”jwœKsj´œ}”jžœKsjÛœ}”j·œKsjôœ}”jÞœKsj }”j÷œKsj-}”jKsjS}”j0Ksj¿ž}”j’žKsjìž}”jÉžKsjŸ}”jöžKsj9Ÿ}”jŸKsj’¤}”jv¤Ksjã¤}”jͤKsjü¤}”jæ¤Ksj¥}”jÿ¤Ksj4¥}”j¥Ksjr¦}”j\¦Ksj‹¦}”ju¦Ksj¤¦}”jަKsj½¦}”j§¦KsjÖ¦}”jÀ¦Ksjõ¦}”jÙ¦Ksj§}”jÿ¦Ksj}¶}”ja¶KsjÔ¶}”j¸¶Ksj·}”jÞ¶Ksj)·}”j·KsjI·}”j,·Ksji·}”jL·Ksj‰·}”js·Ksj¨·}”jŒ·KsjÖ·}”j²·Ksjü·}”jÙ·Ksj+¹}”j¹KsjR¹}”j.¹Ksjq¹}”jU¹Ksj—¹}”j{¹KsjĹ}”j¡¹Ksjç¹}”jѹKsjº}”jê¹Ksjż}”j¨¼Ksjä¼}”jȼKsjp½}”jL½Ksj½}”js½Ksjµ½}”j™½KsjÕ½}”j¿½Ksjÿ½}”jؽKsj¾}”j¾KsjE¾}”j"¾Ksj£¾}”j€¾Ksjf¿}”jB¿Ksj…¿}”ji¿Ksj«¿}”j¿KsjFÀ}”j0ÀKsjlÀ}”jIÀKsj¤Á}”jÁKsj"Â}”j ÂKsj;Â}”j%ÂKsjTÂ}”j>ÂKsjzÂ}”jWÂKsjšÂ}”j„ÂKsjÀÂ}”jÂKsjæÂ}”jÊÂKsj Ã}”jðÂKsj3Ã}”jÃKsjÅ}”jþÄKsj:Å}”jÅKsj‘Å}”juÅKsjèÅ}”jÌÅKsjÆ}”jòÅKsj;Æ}”jÆKsjhÆ}”jLÆKsjüÇ}”jÙÇKsjÌÕ}”j°ÕKsjòÕ}”jÖÕKsjÖ}”jÿÕKsj;Ö}”jÖKsjaÖ}”jEÖKsjŽÖ}”jkÖKsjö×}”jÓ×Ksj#Ø}”jØKsjSØ}”j0ØKsjyØ}”j]ØKsjgÙ}”jJÙKsjÙ}”jqÙKsjCä}”j'äKsjjä}”jMäKsj‰ä}”jmäKsjáä}”jÄäKsjå}”jëäKsj;å}”jåKsj¿å}”j£åKsjåå}”jÉåKsjæ}”jïåKsjMæ}”j#æKsjæ}”jWæKsjç}”jäæKsj'ç}”j çKsjPç}”j4çKsjvç}”jZçKsjœç}”j€çKsj é}”jàèKsjœé}”jréKsj¼é}”j¦éKsjÕé}”j¿éKsjûé}”jØéKsjê}”jêKsjBê}”jêKsjaê}”jEêKsj‡ê}”jkêKsj®ê}”j‘êKsjÍê}”j±êKsjûê}”j×êKsj!ë}”jþêKsjUë}”j+ëKsj‚ë}”j_ëKsjÇí}”jíKsjîí}”jÑíKsjî}”jøíKsj;î}”jîKsjáø}”j·øKsjIù}”jùKsj)ú}”júKsjû}”jæúKsjLû}”j!ûKsjzû}”jOûKsj®û}”j}ûKsjAü}”jüKsjoü}”jDüKsjŽü}”jrüKsj´ü}”j˜üKsjâü}”j¾üKsjý}”jåüKsjÂþ}”j•þKsjöþ}”jÌþKsj}”jàÿKsjì}”jÉKsj.}”jKsjN}”j1Ksj{}”jXKsj¢}”j…KsjÉ}”j¬Ksjè}”jÌKsj}”jòKsjB}”j&Ksj"}”jÿKsj†}”jcKsjÝ }”jÀ Ksjü }”jà Ksj) }”j KsjP }”j- Ksj¼}”j™Ksjô}”jØKsj!}”jþKsj]}”j3Ksj‘}”jgKsj}”jôKsj6}”jKsjc}”j@Ksj—}”jmKsj½}”j¡Ksjã}”jÇKsj }”jíKsj/}”jKsjU}”j9KsjE}”j)Ksjo}”jOKsj}”jrKsj®}”j’Ksj†}”jjKsj¬}”jKsjÌ}”j¶Ksjë}”jÏKsj}”jõKsjô}”j×Ksj}”j÷KsjÐ}”j´Ksj+}”jKsjÓ}”j°Ksjú}”jÝKsj}”jýKsjM}”j#Ksjm}”jWKsjŒ}”jpKsj³}”j–KsjÓ}”j¶Ksjò}”jÖKsj }”jüKsj@}”j#Ksj`}”jCKsj}”jcKsj+ }”j Ksj!}”jí KsjA!}”j!Ksjt"}”jX"Ksjø"}”jÜ"KsjO#}”j3#Ksj·#}”jŠ#Ksjä#}”jÁ#Ksj$}”jî#KsjA$}”j%$Ksjg$}”jK$Ksj­'}”j—'KsjÆ'}”j°'Ksjß'}”jÉ'Ksu(jþ'}”jâ'KsjO(}”j9(Ksjn(}”jR(Ksj”(}”jx(Ksjº(}”jž(Ksjà(}”jÄ(Ksj>)}”j)Ksje)}”jH)Ksj‹)}”jo)Ksj¹)}”j•)KsjØ)}”j¼)Ksjÿ)}”jâ)Ksj*}”j*Ksj>*}”j"*Ksje*}”jH*Ksj„*}”jh*Ksj3+}”j +Ksja+}”j=+Ksj€+}”jd+Ksj^,}”jB,KsjÆ,}”j™,Ksjð,}”jÓ,Ksj-}”jó,Ksj7-}”j-KsjV-}”j:-Ksj|-}”j`-Ksjú.}”jÞ.Ksj'/}”j/KsjM/}”j1/Ksjø/}”jâ/Ksj0}”jû/Ksj00}”j0KsjP0}”j:0Ksjw0}”jS0Ksjž0}”jz0Ksj½0}”j¡0Ksjë0}”jÇ0Ksj1}”jî0KsjB1}”j1Ksji1}”jL1Ksj–1}”jl1Ksj!5}”j5KsjG5}”j+5Ksjm5}”jQ5Ksj¡5}”jw5KsjÇ5}”j«5Ksj¨6}”j„6KsjÇ6}”j«6Ksjí6}”jÑ6Ksj7}”j÷6Ksjj7}”jN7Ksj—7}”jt7Ksj½7}”j¡7Ksj½8}”j§8Ksjä8}”jÀ8Ksj9}”jç8Ksj?9}”j9Ksj^9}”jB9Ksj„9}”jh9Ksj:}”jì9KsjÖ:}”jº:Ksjü:}”jà:Ksj“A}”jwAKsjMC}”j1CKsjC}”jWCKsjµC}”j‹CKsj¡D}”jwDKsjF}”jåEKsj'F}”j FKsj[F}”j1FKsj‰F}”jeFKsj©F}”jŒFKsjÉF}”j¬FKsjèF}”jÌFKsjŽG}”jxGKsj®G}”j‘GKsjÍG}”j±GKsjH}”j×GKsj5H}”j HKsjóI}”jÉIKsj!J}”jýIKsjHJ}”j$JKsjgJ}”jKJKsj‘J}”jtJKsj°J}”j”JKsjÖJ}”jºJKsj-K}”jKKsj÷P}”jÛPKsj~R}”jhRKsj«R}”jRKsj S}”jæRKsjaS}”jDSKsj‡S}”jdSKsjT}”jïSKsj°X}”j”XKsj×X}”jºXKsj÷X}”jÚXKsjY}”júXKsjc}”j!cKsjec}”jAcKsj„c}”jhcKsjªc}”jŽcKsjd}”jåcKsj/e}”jeKsj¶e}”jšeKsjÖh}”jºhKsjüh}”jàhKsj"i}”jiKsjOi}”j,iKsjui}”jYiKsjNj}”j2jKsjtj}”jXjKsj¢j}”j~jKsjÁj}”j¥jKsjEk}”j)kKsjkk}”jOkKsj‘k}”jukKsj¸k}”j›kKsjÚk}”j»kKsjl}”jäkKsj&l}”j lKsjLl}”j0lKsjsl}”jVlKsj™l}”jvlKsj_m}”j5mKsj¶m}”jšmKsj®p}”j‘pKsjÎp}”j±pKsjíp}”jÑpKsj0s}”jsKsjYs}”j:sKsjs}”jcsKsj t}”jtKsj@t}”j*tKsjit}”jCtKsjQu}”j!uKsjýu}”jáuKsj7v}”jvKsj·v}”jšvKsjÖv}”jºvKsjüv}”jàvKsjSw}”j7wKsj-x}”jxKsjLx}”j0xKsjrx}”jVxKsj˜x}”j|xKsjÐy}”j´yKsj\z}”j8zKsjuz}”j_zKsj”z}”jxzKsjëz}”jÏzKsj{}”jõzKsjF{}”j"{Ksjl{}”jI{Ksjš}}”j}}Ksj³}}”j}KsjÓ}}”j¶}Ksjù}}”jÖ}Ksj\}”j8Ksj‰}”j_Ksj·}”j“KsjÖ}”jºKsj €}”jàKsj1€}”j€KsjP€}”j4€Ksj~€}”jZ€Ksj¥€}”j€KsjË€}”j¨€Ksjñ‚}”jÊ‚Ksjƒ}”jô‚Ksj•ƒ}”jxƒKsj¼ƒ}”j˜ƒKsjÛƒ}”j¿ƒKsjûƒ}”jåƒKsj!„}”jþƒKsjN„}”j+„Ksj‚„}”jX„Ksjä…}”jÁ…Ksj†}”jî…Ksj>†}”j†Ksjk†}”jH†Ksj˜†}”ju†Ksjņ}”j¢†Ksjù†}”jφKsj&‡}”j‡KsjF‡}”j0‡Ksj_‡}”jI‡Ksj~‡}”jb‡Ksj‘}”jàKsjÖ‘}”jÀ‘Ksjü‘}”jÙ‘Ksj)’}”j’KsjO’}”j3’Ksju’}”jY’Ksjò”}”jÖ”Ksj•}”jü”Ksjé™}”jÆ™Ksj%œ}”j œKsjLœ}”j/œKsjyœ}”jOœKsj œ}”jƒœKsj¿œ}”j£œKsjìœ}”jÉœKsj¦ }”jƒ KsjÌ }”j° Ksjò }”jÖ KsjI¡}”j-¡Ksjo¡}”jS¡Ksj•¡}”jy¡Ksj»¡}”jŸ¡Ksjá¡}”jÅ¡Ksj¢}”jë¡Ksj™¢}”jv¢Ksj¿¢}”j£¢Ksjå¢}”jÉ¢Ksj £}”jï¢Ksj9£}”j£Ksj`£}”j<£Ksj‡£}”jc£Ksj®£}”jŠ£KsjÕ£}”j±£Ksjü£}”jØ£Ksj#¤}”jÿ£KsjJ¤}”j&¤Ksjq¤}”jM¤Ksj˜¤}”jt¤KsjŤ}”j›¤Ksjó¤}”jϤKsj¥}”jö¤KsjA¥}”j¥Ksjh¥}”jD¥Ksj•¥}”jk¥KsjÃ¥}”jŸ¥Ksjê¥}”jÆ¥Ksj¦}”jí¥Ksj8¦}”j¦Ksj_¦}”j;¦Ksj†¦}”jb¦Ksj­¦}”j‰¦KsjÔ¦}”j°¦Ksjû¦}”jצKsj"§}”jþ¦KsjI§}”j%§Ksjp§}”jL§Ksj—§}”js§Ksj¾§}”jš§Ksjå§}”jÁ§Ksj ¨}”jè§Ksj3¨}”j¨KsjZ¨}”j6¨Ksj¨}”j]¨Ksj¨¨}”j„¨KsjϨ}”j«¨Ksjü¨}”jÒ¨Ksj*©}”j©KsjQ©}”j-©Ksjx©}”jT©KsjŸ©}”j{©KsjÆ©}”j¢©Ksjí©}”jÉ©Ksjª}”jð©Ksj;ª}”jªKsjhª}”j>ªKsjçª}”j˪KsjL«}”j"«Ksjr«}”jV«KsjÖ­}”jº­KsjZ®}”j>®Ksj²®}”j•®KsjÒ®}”jµ®Ksjò®}”jÕ®Ksj¯}”jõ®Ksj7¯}”j¯Ksjޝ}”jr¯Ksjµ¯}”j˜¯Ksjâ¯}”j¸¯Ksj•°}”jr°Ksj»°}”jŸ°Ksja±}”jK±Ksjޱ}”jd±Ksjµ±}”j˜±Ksjα}”j¸±Ksjí±}”jѱKsuh4}”h8}”hKssh;}”hB}”hKsshS}”(hW}”(hEKj( Kjú KjØKj%KjŸKjBKjKjãKjž KjÕ"KjÄ$Kjf&KjÝ'Kj(KjE(Kj×(Kjþ(Kj%)KjL)Kjs)Kjš)KjÁ)Kjè)Kj*Kj6*Kj]*Kj‘*Kj¸*Kjß*KjÂ5Kj‚9Kjª:KjÉ@KjƒAKjBKjcCKj+FKjGKjQKj–RKjYVKjOXKjã[KjÓ{Kj'|Kj~…KjË…Kj ‡KjƇKj+ˆKj'‹Kjž›KjœœKjäžKj1ŸKjeªKjŒªKj³ªKjÚªKj«Kj(«KjO«Kjv«Kj«KjÄ«Kjë«Kje¬Kj$®Kj°Kj+·KjG¹Kj“ºKjR»Kj†»Kj­»KjæËKj½ÌKj ÍKjŠÎKj‚ÜKj­ãKjÔãKj äKj¤ìKjUðKj\ñKjÔòKjðóKj¢ôKjšõKjÎõKjöKjøKj,ùKjëùKjªúKjÿKjAÿKjÇKjYKj Kj3 Kj× KjµKj%Kj[!KjW$Kj´$Kjë$Kj_(Kj)KjZ*Kj*Kjg,Kj«-Kjº8Kjú8Kj÷9Kj±:KjØ:Kj2;Kjã?Kj'[Kj[[Kj‚[Kj©[Kjï\Kj]Kj°`Kj×`Kjþ`KjdKjþdKjãeKjkxKj`{KjÞKj€Kj,€KjS€Kjz€Kj¡€KjÈ€Kjï€KjKj=KjdKj‹Kj²KjÙKj‚Kj'‚KjN‚Kju‚Kjœ‚KjÂKjê‚KjƒKj8ƒKj_ƒKj†ƒKj­ƒKjÔƒKjûƒKj"„KjI„Kjp„Kj—„Kj¾„Kjå„Kj …Kj3…KjZ…Kj…Kj¨…Kjü…KjH‰KjbKjg™Kj›™Kjõ™KjŽ›Kj¸›KjwœKj·œKj’žKjÞ¶Kj·Kj²·Kj.¹KjL½KjؽKjB¿KjëäKjïåKj#æKjWæKjàèKjréKjêKj×êKj+ëKjíKj·øKjùKj¾üKj•þKjÌþKjòKj3KjgKjmKjõKjKj#KjüKj!KjŠ#Kjî#Kj•)Kj +Kj=+Kj™,Kj-KjS0Kjz0KjÇ0Kjî0Kj1Kjl1Kjw5Kj„6KjÀ8Kjç8Kj9KjWCKj‹CKjwDKj1FKjeFKj×GKj HKjÉIKjýIKj$JKjRKjïSKj‘\Kj¸\Kj]KjD^KjU_KjAcKj!uKjvKj8zKj"{Kj8Kj_Kj“KjàKjZ€Kj€KjÊ‚Kj˜ƒKjφKjOœKj£Kj<£Kjc£KjŠ£Kj±£KjØ£Kjÿ£Kj&¤KjM¤Kjt¤Kj›¤KjϤKjö¤Kj¥KjD¥Kjk¥KjŸ¥KjÆ¥Kjí¥Kj¦Kj;¦Kjb¦Kj‰¦Kj°¦KjצKjþ¦Kj%§KjL§Kjs§Kjš§KjÁ§Kjè§Kj¨Kj6¨Kj]¨Kj„¨Kj«¨KjÒ¨Kj©Kj-©KjT©Kj{©Kj¢©KjÉ©Kjð©KjªKj>ªKj"«Kj¸¯Kjd±Kujñ}”(jâKjh Kj1 KjKjÖKjoKj©KjƒKjïKjÁKjœ"Kj #KjR#KjŠ'Kj,+Kj÷-KjO>Kj#@KjC@Kjc@KjnDKjBGKj‡JKj½PKj8QKj|Kjˆ|Kj¨”KjD•Kjk•Kj«•KjË•Kj)–KjV–Kj“—Kjº—Kj‘KjžžKjߟKj¦Kjq¦Kjé§Kj¨Kjt¨Kj¡¨KjΨKj¬Kj¸Kj¡¹Kje½Kj@ÍKj`ÍKj€ÍKjJÑKjüÓKjIÔKjiÔKj‰ÔKj©ÔKjÉÔKjéÔKjñ×KjBäKjçKj§çKjÇçKj.ðKjUôKjTõKj(ûKjüKj¿ Kj× Kj÷ Kj$ KjoKjŠKjƒ Kjð(KjÁ)Kjî)Kj¿6Kjš7Kjº7Kjš8Kj„:KjÓ@KjAKj0AKj]AKj»AKj‚BKjCKjƒFKjGKj;GKj©HKjÖHKj{JKj¨JKjÕJKjºKKjçKKjELKjrLKjŸLKjÌLKj*MKjNKj¯OKjÜOKjüOKj)PKj´PKjQKjpQKjÎQKjYRKj·RKjçRKjZTKj‡TKj´TKjîUKjLVKj,WKjŠWKj¾WKjqXKj‰`Kj mKjEmKjemKjwnKj—nKjÅxKjåxKjòyKjzKj¾KjÜ…Kj&†Kj»†Kj(‰KjaŠKjŠKjBKjÇKjPœKjKjÉžKjöžKj,·KjL·Kj¹Kj¡¹Kj¾Kj"¾Kj€¾KjðÂKjþÄKjÿÕKjkÖKjÓ×KjØKj0ØKjJÙKjMäKjÄäKjäæKj‘êKjþêKjÑíKjøíKjKj1KjXKj…KjÀ Kj@KjOKjrKj°KjÝKj–Kj¶KjCKjÁ#KjH)Kjâ)Kj*KjH*KjÓ,KjŒFKj¬FKjtJKjºXKjk^Kj|_KjmaKj§bKjÇbKj!cKj›kKjVlKjvlKj‘pKjšvKjxKjõzKj}}Kj€KjxƒKjàKjÙ‘Kj’KjƒœKjƒ Kjµ®KjÕ®Kj˜¯Kj˜±Kujx}”(jfKj÷Kj[BKj§JKjžKKjÎKKj MKj:MKj¶[Kj‘óKjdKj5mKuj16}”(j6Kjï?Kj¸ŸKjÄfKjDgKjí Kj~jKujøú}”(jæúKj!ûKjOûKj}ûKjüKjDüKjÑ^KuuhZ}”(h^}”hEKsh¼}”(hªKj12Kj ÕKuj`}”(jNKjuKj]%Kj&Kj»>Kjë>Kj ãKj}ýKjªýKjnþKj1KjžXKj)Kj/Kj4`Kuj"}”(jKj«½KjÉKuj, }”(j KjH@Kuj> }”(j( KjGKjœœKjäžKj× Kj+ëKjU_Kuj }”(jú KjŸKjãKjÕ"Kj`{Kj’žKjŠ#Kj™,Kj1Kuj }”(jú KjŸKjãKjÕ"Kj`{Kj’žKjŠ#Kj™,Kj1Kuj•}”(j†Kj93Kj/>Kj©@KjäPKj}Kj3}Kj\”KjšKj~›KjEªKj;!KjÚ,Kj%aKjãoKjpKj=pKj?vKj¦wKj#Kj‘GKjDSKjÚXKj±^Kj/œKuj¸}”(j¦KjÆ­KujÇ}”(j¸Kj6Kjd?Kjï?Kj‹ŸKj¸ŸKjá»KjMãKjãKj7$KjÄfKjDgKj×Kjí Kjó,Kjñ]Kj~jKujî}”(jØKj+·KjUðKjÿKj3 KjêKjz0Kuj>}”j%Ksj}”(jïKjþKuj[}”(jBKjKuje}”(jSKjDKjñWKj=\Kj“êKjKzKjÙÇKjX„KjÆ™Kuj}”jfKsj´ }”(jž Kj+ˆKj KjW$Kj´$Kjë$Kj_(Kjü…KjŽ›KjؽKjÊ‚Kuj· }”(jž Kj+ˆKj KjW$Kj´$Kjë$Kj_(Kjü…KjŽ›KjؽKjÊ‚Kuj„#}”(jr#KjÂ5Kjz{Kj[|Kj•Kj ÍKjóÕKjµKjìKjÒ-KjâaKjþdKjãeKjIÀKjÂKj!KujÚ$}”(jÄ$Kj‚9Kjž›Kj\ñKjÎõKjwœKj.¹KjL½KjZ€Kuj"&}”j&Ksj|&}”(jf&KjBKjYVKjšõKjªúKjAÿKj«-Kj±:Kj×`Kj²·KjB¿Kj×êKj¾üKjüKj-Kj„6KjÀ8Kj9KjeFKj¸\KjAcKj"{Kj8Kj˜ƒKujö'}”(jÝ'Kj(KjE(Kují(}”(j×(Kjþ(Kj%)KjL)Kjs)Kjš)KjÁ)Kjè)Kj*Kj6*Kj]*Kj‘*Kj¸*Kjß*KjØ:Kj×GKj HKjÉIKjýIKj$JKj£Kj<£Kjc£KjŠ£Kj±£KjØ£Kjÿ£Kj&¤KjM¤Kjt¤Kj›¤KjϤKjö¤Kj¥KjD¥Kjk¥KjŸ¥KjÆ¥Kjí¥Kj¦Kj;¦Kjb¦Kj‰¦Kj°¦KjצKjþ¦Kj%§KjL§Kjs§Kjš§KjÁ§Kjè§Kj¨Kj6¨Kj]¨Kj„¨Kj«¨KjÒ¨Kj©Kj-©KjT©Kj{©Kj¢©KjÉ©Kjð©KjªKuj6.}”(j$.Kj9KjU9KjqQKjz{Kj…Kj{ˆKjúŠKjŒKjy Kj0KjÙ·Kj¨¼KjÁKjWÂKj_ëKjúKjàÿKj¬Kj Kj- KjæRKjÖ}Kj¨€Kjë¡Kjv¢KujÞ5}”(jÂ5Kj ÍKjµKjþdKjãeKj!KujÃ:}”jª:Ksjâ@}”(jÉ@KjƒAKj ‡KjƇKujyC}”(jcCKjZ*KjkxKjÞKj€Kj,€KjS€Kjz€Kj¡€KjÈ€Kjï€KjKj=KjdKj‹Kj²KjÙKj‚Kj'‚KjN‚Kju‚Kjœ‚KjÂKjê‚KjƒKj8ƒKj_ƒKj†ƒKj­ƒKjÔƒKjûƒKj"„KjI„Kjp„Kj—„Kj¾„Kjå„Kj …Kj3…KjZ…Kj…Kj¨…Kj_Kj“KjàKj€KujDF}”j+FKsjÏF}”j½FKsjQ}”jQKsj¯R}”j–RKsjhX}”jOXKsjü[}”(jã[KjïSKujì{}”(jÓ{KjG¹KjφKuj@|}”(j'|Kjd±KujÊ}}”(j¸}Kjr~Kj Kuj”…}”(j~…Kje¬Kj2;Kjã?KjÞ¶Kjî0Kj‘\Kj8zKujä…}”(jË…Kj'‹Kjõ™KjàèKj‹CKjwDKujÕœ}”jÜKsjJŸ}”(j1ŸKjú8KjréKjWCKuj{ª}”(jeªKjŒªKj³ªKjÚªKj«Kj(«KjO«Kjv«Kj«KjÄ«Kjë«Kj“ºKjR»Kj†»Kj­»Kuj=®}”j$®Ksj.°}”(j°Kj¸¯Kuj,¹}”j¹KsjRº}”j@ºKsjÿË}”(jæËKjþ`Kj¸›Kj·œKjOœKujÖÌ}”j½ÌKsj Î}”(jŠÎKj­ãKj'[Kj[[Kj‚[Kj©[Kjï\Kj]Kj·KjæúKj!ûKjOûKj}ûKjüKjDüKj#Kj•)Kj +Kj=+KjD^Kuj.Ô}”jÔKsj›Ü}”j‚ÜKsjíã}”(jÔãKj äKjÔòKjdKj•þKjî#Kujðã}”(jÔãKj äKjÔòKjd•Kj•þKjî#Kuj½ì}”j¤ìKsj ô}”(jðóKjKuj»ô}”j¢ôKsj7ö}”(jöKjøKj,ùKjëùKujà}”(jÇKjYKuj;}”(j%Kjg,Kjº8Kj°`KjíKjS0KjÇ0Kujt!}”j[!Ksj¦)}”j)Ksjš*}”j*Ksj:}”(j÷9KjRKuj£W}”jŠWKsjÍc}”(j»cKj¨ŠKj™Kuj`z}”jKzKsj}}”jdKsja‰}”(jH‰Kj]Kuj{}”jbKsj,Ž}”(jŽKjîKuj€™}”(jg™Kj›™KjõKuj*Æ}”(jÆKjÿKjcKujå}”jëäKsjæ}”(jïåKj#æKjWæKujêé}”jØéKsjÐø}”(j·øKjùKujåþ}”jÌþKsj }”jòKsjL}”j3Ksj€}”jgKsj†}”jmKsj…1}”jl1Ksj5}”jw5Ksj9}”jç8KsjJF}”j1FKsjvS}”jdSKsjÖ]}”jÄ]KsjNm}”j5mKsjUt}”(jCtKj!uKjvKujXt}”(jCtKj!uKjvKjI{Kuj@u}”(j!uKjvKujÛœ}”jÉœKsjWª}”j>ªKsj;«}”j"«Ksj„°}”jr°Ksuhr}”(hv}”(hEKjDKjr~KjŠKj_(KjxKjÆ™KuhÔ}”(hªKj ÕKuhú}”h×Ksj%}”(jKjüCKjKKjNSKjÔKjõKj¾WKj˜üKjà KjõKjN7KujK}”(j(Kj@KjÈ KjÖKujx}”(jNKj® KjÔEKjÉ Kjï Kj0KjÄ(KjCtKj!uKujç}”(jÄKjP"KjR$Kjþ Kuj }”(jêKjKjÊRKj¦VKj\Kj¢×Kjp KjžgKj¸¶KjåKj÷6Kjç8KjRKj7wKj´yKjô‚Kuj:}”(jKj=\Kj8ÂKj$ KjÖHKjÿ¦KjÙÇKjqÙKjîKjÑ^KujD }”(j Kj¦KjÀKj]%Kj$.Kj£/Kj12Kj$RKjKj ‡KjŒKjŠšKj°Kj“ºKj«½Kj?¿Kj‚ÜKjòåKj¤ìKjÔòKjöKjøKj,ùKjëùKjÉKjrKjAKj!Kja+KjH@KjuYKj©[KjH‰Kj¨ŠKjbKjŽKjŸKj¥Kjê¹KjLÆKj}ûKjåüKjÉKjØKj’KjK$Kj`-Kjl1Kj¡7Kjº:Kjà:KjwAKjdSKj]Kj‹^KjÑpKjI{KjOœKujÿ }”(jÜ KjôÌKj£æKjW$KjÙ¦KjÊÂKjR(Kuj% }”(j KjX…Kj"*KjûbKuj« }”(jˆ KjUˆKjX"Kuj÷ }”(jÔ KjYKj›Kjƒ@KjRKKjŒlKj˜Kuj. }”(jú KjKzKj3#Kj1Kj+5KjºJKj¥jKujt }”(jQ Kjg™Kj›™KujÊ}”(j§Kj@ºKuj{}”(jXKjÅ›KjPœKjÁ¹Kj*KjÅ¡Kuj¡}”(j~Kj–RKjñWKjѶKj äKjÜñKj)Kj0KjWMKjExKj`{KjòÅKj•þKjêZKjr°Kuj%}”(jKjKjë$Kj(Kj}/Kj×6Kjý6Kj»>Kj5BKj­{KjѶKjÍKjÈ×KjñKj?üKjŒlKj·nKjùwKjs½Kj™½KjÌÅKj'äKj£åKj çKjòKjKjh\Kj`KjXjKjVxKjѱKuj"}”(jÿKjÉKj-KjmäKujV}”(j%KjBKjSKjfKj³&KjY+Kj[BKj+FKjbGKjZJKj§JKj:MKjLNKjòVKj©XKjåwKjvzKj¸}Kj KjƇKjV–Kj3šKj1ŸKj$®KjÏ¿KjJÑKjˆäKjðóKjhÿKjJKj7KjÍKjxKjÇKjYKj[!Kjë$Kjú8Kj.9Kj÷9Kjf;KjñXKj£ZKj=]Kj"hKj=pKjtKjßtKj{¹KjÖKjëäKjréKjÿKjcKjgKjd+Kj«6Kjt7KjWCKj1FKjKKjÛPKjïSKjeKjšeKj5mKjÉœKj"«KjV«Kjº­Kj>®KujÓ}”(jŸKjãKjÕ"Kj’žKjŠ#Kj™,Kuj}”(jÖKjoKj¦Kjq¦KjÁ)Kj]AKjCKjGKj;GKjÕJKjrLKjŸLKjNKj)PKj´PKjçRKj´TKj|_KjmaKujì}”(jÉKjKjv"Kj"DKj|”Kjà©Kj7¸Kj{¹Kj…½Kj#×KjàKj¶ñKjtõKjÓûKjKjŽ$Kjg)Kje2Kj0AKjrüKj)KjÏKjýKjB9Kj FKj YKj^KjOkKjáuKjÏzKuj}”(jïKjOXKjþKujŸ}”(juKjë>KjnþKj/Kj4`KujK}”(j(Kj5çKujÆ}”(j£KjEêKuj}”(jïKjþêKjõzKuj˜}”(juKjÈ”KjxzKujë}”(jÁKjº7KjàKuj¯}”(jŒKj°CKjÖCKjýNKjÜ KjrKjÜ"Kj1CKuj½}”(jšKjF†Kuj! }”j÷Ksj$ }”j÷KsjŒ!}”(ji!Kj!Kjµ!KjÞ!Kj"Kj*"KjïæKjøfKjgKujÛ!}”(jµ!Kj&KjÝ,KjJKjJRKjÌVKjî”Kjx·KjvßKjbäKjÉæKj±óKj.õKj­ûKjùûKjKj;+KjËXKjœaKjÙjKjÓwKjh›KjŒ·Kji¿Kj°ÕKjåEKjúXKjtKjºvKjõ®KujO#}”(j,#Kjx$KjW/Kj•>KjÜKjhÕKjKjo)Kjr¯Kujœ#}”(jr#Kj[|KjìKjÒ-KjIÀKjÂKujÁ$}”jž$Ksj4%}”(j%Kj2…KjÖôKjõõKjŸxKjiKujZ%}”(j7%Kj»>KjWýKj}ýKjžfKj)Kuj=&}”(j&Kj‹ŸKj HKjñ]Kujc&}”(j@&KjmOKjœßKj3Kjà#Kj«9KjpKj/_Kj4€Kuj‡'}”(jd'Kj*œKuj´'}”(jŠ'Kj¿ KjîUKj"¾KujÚ'}”(j·'Kj‘,Kj9KjU9Kjï?Kj3VKj…KjúŠKjX›KjR»KjæËKjÌåKj[çKj\ñKjšõKjLKj¶Kj´$Kj…9KjØ:Kj2;Kj{JKj'[KjãoKjpKj¦wKj¨…KjÏ™KjWÂKjÓ×Kj+ëKjíKjæúKj Kj#Kj¼)Kj +Kj0Kj×GKjÉIKj”XKjÄ]Kjv¢Kuj(}”(jÝ'Kj±6Kj~ÌKjVÛKjÑáKj¿4Kj Kjâ'KjYiKj0xKujv(}”(jE(Kj#7KjØKjvKj|xKujŽ*}”(j]*Kj›¤Kuj)+}”(j+Kj€VKjxgKj° KujV+}”(j,+Kj÷-KjŠKjî)KjemKjåxKjÙ‘KujÚ,}”(j·,KjÿjKjÆKjWæKj9KjšeKjü”KujO-}”(j)-KjVƒKjƒKj’†Kj»kKj:sKuju-}”(jR-Kj¾žKj|ðKj)KjþdKj÷Kjh*Kjì9KjàhKujô-}”(jÑ-Kj$ÑKj6ñKjõõKjÌKjKJKjFYKjh\KjukKujT/}”(j1/Kj7KjÍKjA™KujN1}”(j+1KjœKuj|3}”(jY3Kjo>KjóÕKj ãKj(òKj,iKj2jKj>ªKujö5}”(jÂ5Kj•KjµKuj6}”(jù5KjbEKj‡ûKjxfKjhcKujP6}”(j6Kjd?KjÄfKjDgKujt8}”(jQ8KjÆ­KjÓ@KjÃKj%$KujR9}”(j/9KjHDKjxKKj·ZKjl}KjŠKjŒ¬Kj½ÌKjÖÓKj§ÕKjúâKj¢ôKj´,KjXrKj&Kj¡0Kj«5Kj”JKjlYKj lKjî…Kj£œKujÌ9}”(j©9KjðœKjv¤Kj¿KjØéKjôKjcKjh9KjcsKujÛ:}”(jª:KjtSKj¨ƒKjË…Kj'‹Kjá»Kj ÍKj“èKj“êKj– KjâaKjâ†Kjõ™Kj0KjÙ·KjàèKj_ëKjàÿKj- Kj™Kj!Kj‹CKjwDKjÖ}Kjë¡Kuj;?}”(j?Kj£ KjôKj4çKjž(Kj:-KjÑ6KjÉ¢Kuja?}”(j>?Kjx(Kj5Kujú@}”jÉ@Ksj´A}”jƒAKsj B}”jèAKsj­C}”(jŠCKjœKjàvKuj±D}”(jŽDKj>KjjKjB,Kuj«E}”(jˆEKjƒXKjw5Kjß\KujÑE}”(j®EKj[Kj¥…Kjê·KjÊ(KujçF}”(j½FKjÓ{KjG¹Kjã?KjKjφKujOK}”(j,KKjž·KjHûKjc`KjkêKjQ5KujÈK}”jžKKsjËK}”jžKKsjøK}”jÎKKsj7M}”(j MKjdKujáP}”(j½PKj|”Kjk•Kj“—Kj¸Kj.ðKjUôKj»AKj‰`Kj»†KjŠKjPœKjÉžKjöžKjL·KjðÂKjÖÕKj]ØKjJÙKjÄäKjäæKjÑíKj1Kj…Kuj5Q}”jQKsj›Q}”(jqQKj{ˆKjÁKj¨€Kuj“R}”(jpRKj1/Kuj;W}”(jWKj ŸKjÍÕKjU¹KjEÖKjŸ°KujÏX}”(j©XKj3Kujà[}”j¶[Ksj\}”jã[Ksjœz}”(jvzKj½ÌKuj§{}”(jz{KjãeKujª{}”jz{KsjX|}”(j'|KjÌþKjºKjd±Kuj²|}”(jˆ|Kj‘Kj¨KjΨKj‚BKjƒFKujµ}}”(j’}Kj~rKj0lKuj"}”jÿ~Ksj}”jå€Ksj¥”}”(j|”KjË•Kj?üKj»AKjÖÕKj]ØKj’Kuj>•}”j•KsjS–}”(j)–Kj¡¹KjØKjÇbKjvlKujƒ–}”(jV–KjkÖKujä—}”(jº—KjߟKuj™œ}”(jvœKjªKjmºKjÑ9KujˆŸ}”(jeŸKj?¬Kj± KjŽ,KjKj¿ƒKj œKj£¢Kuj¨}”(jé§Kjt¨Kj¡¨Kj÷ KjAKj©HKj¨JKjELKj*MKj¯OKj·RKjZTKjŠWKjqXKjØKuj¬}”(jë«Kj­»Kuju·}”(jR·KjçKj|ôKjôþKj?2KjælKjÉåKjÞ.Kujç·}”jÄ·Ksj€¸}”j]¸KsjD¹}”j¹KsjÔÎ}”(j±ÎKjÅKujwÑ}”jJÑKsjî×}”(jÈ×Kj?üKj çKujÜ}”(j\ÜKjJ Kujä}”(jÔãKjî#Kuj è}”jççKsj%ò}”jòKsjÛú}”jªúKsjÔý}”(jªýKjžXKujp}”(jJKj§Kj7KjÍKjxKuj}”(jùKj¡Kuj‡}”(jdKj3’Kuj£ }”(jy Kj·øKjùKjúKjæRKjb‡KujN }”(j$ KjYRKuj} }”jZ Ksj“(}”j_(Ksj²*}”(j*Kja¶KjuÅKuj-}”jú,KsjH1}”j1Ksj7}”(jß6KjsKj¯Kuj®:}”(j„:Kj°KjÁ#Kuj/;}”j ;KsjA}”(jÓ@KjȼKuj¬B}”j‚BKsjäK}”(jºKKjçKKujöL}”(jÌLKj,WKuj&P}”(jüOKjQKujšQ}”jpQKsjøQ}”(jÎQKj‡TKujäR}”j·RKsjvV}”(jLVKjXKujha}”(jEaKjY’Kj˪Kujåc}”j»cKsjMd}”jdKsjÖj}”(j³jKjÇKjŽcKjÖ”Kujo}”(jÝnKj?vKujœx}”(jkxKj_KjàKuj†}”(jl†Kj±êKjB\KjäkKujñ}”(jÇKj¡¹Kj0ØKj@KjH)Kujª¾}”j€¾Ksj­¾}”j€¾KsjvÀ}”jIÀKsj æ}”(jïåKjíKjåcKujTæ}”(j#æKjKjeKuj}ç}”jZçKsj£ç}”j€çKsjèø}”j·øKsjž}”jmKsjÄ}”(j¡Kj)kKuj×}”j´KsjÍ,}”j™,KsjïF}”jÌFKsjÔG}”(j±GKjºhKj-¡KjS¡Kjy¡KjŸ¡KujnJ}”jKJKsjŒ[}”ji[Ksj½m}”jšmKsj(„}”(jþƒKj+„KjX„KjÁ…Kj†KjH†Kju†Kj¢†Kj‡Kuj|’}”jY’Ksj­ }”jƒ Ksjù }”jÖ Ksj£}”jï¢Ksjœ¥}”jk¥Ksj©}”jÒ¨Ksjé¯}”j¸¯Ksuhy}”(h}}”hEKsj}”h×Ksj}”h×Ksj}”h×Ksj }”h×Ksj }”h×Ksj}”jNKsj‚}”jNKsj…}”jNKsjˆ}”jNKsj‹}”jNKsjŽ}”jNKsj‘}”jNKsj”}”jNKsj—}”jNKsjš}”jNKsj}”jNKsj }”jNKsj£}”jNKsj¦}”jNKsj©}”jNKsjA}”jKsjD}”jKsjG}”jKsjJ}”jKsjM}”jKsjP}”jKsjS}”jKsjV}”jKsjY}”jKsj\}”jKsj_}”jKsjK }”j KsjN }”j KsjQ }”j KsjT }”j KsjW }”j KsjZ }”j Ksj] }”j Ksj{ }”jQ Ksj~ }”jQ Ksj }”jQ Ksj„ }”jQ KsjÑ}”j§KsjÔ}”j§Ksj×}”j§Ksj¨}”j~Ksj«}”j~Ksj,}”jKsj/}”jKsj×}”j¦KsjÚ}”j¦KsjÝ}”j¦Ksjà}”j¦Ksjã}”j¦Ksj}”jÖKsj }”jÖKsj }”jÖKsj}”jÖKsj}”jÖKsj}”jÖKsj}”jÖKsj}”jÖKsj }”joKsj£}”joKsj¦}”joKsj©}”joKsj¬}”joKsj }”jïKsj¦}”juKsj©}”juKsjR}”j(KsjU}”j(KsjX}”j(Ksj[}”j(Ksj^}”j(Ksjz}”jBKsj}}”jBKsjG}”jKsjù}”jÁKsjü}”jÁKsj„}”jSKsj‡}”jSKsjŠ}”jSKsj}”jSKsj}”jSKsj“}”jSKsj–}”jSKsj™}”jSKsj¶}”jŒKsjê}”jÀKsjí}”jÀKsju}”jDKsjx}”jDKsj+ }”j÷Ksj. }”j÷Ksjò }”jÈ Ksj£#}”jr#Ksj¦#}”jr#Ksj©#}”jr#KsjŽ%}”j]%Ksj‘%}”j]%KsjÝ&}”j³&Ksjà&}”j³&Ksjã&}”j³&Ksj}(}”jE(Ksj€(}”jE(Ksjƒ+}”jY+Ksj†+}”jY+Ksj‰+}”jY+KsjŒ+}”jY+Ksj+}”jY+Ksj’+}”jY+Ksj|-}”jR-KsjU.}”j$.KsjX.}”j$.Ksj[.}”j$.Ksj^.}”j$.KsjÍ/}”j£/KsjÐ/}”j£/KsjÓ/}”j£/KsjÖ/}”j£/KsjÙ/}”j£/KsjÜ/}”j£/KsjU1}”j+1KsjX1}”j+1Ksj[1}”j+1Ksj^1}”j+1Ksjb2}”j12Ksje2}”j12Ksjh2}”j12Ksjƒ3}”jY3Ksj†3}”jY3Ksj‰3}”jY3KsjŒ3}”jY3Ksj3}”jY3Ksj’3}”jY3Ksj•3}”jY3Ksj˜3}”jY3Ksj›3}”jY3Ksjž3}”jY3Ksj¡3}”jY3KsjW6}”j6KsjZ6}”j6KsjM7}”j#7KsjP7}”j#7KsjS7}”j#7KsjV7}”j#7Ksj{8}”jQ8Ksj~8}”jQ8Ksj8}”jQ8KsjÓ9}”j©9KsjÖ9}”j©9KsjÙ9}”j©9Ksjâ:}”jª:Ksjå:}”jª:Ksjè:}”jª:Ksjë:}”jª:Ksjî:}”jª:Ksjñ:}”jª:Ksjô:}”jª:Ksj÷:}”jª:Ksjú:}”jª:Ksjý:}”jª:Ksj;}”jª:Ksj;}”jª:Ksj;}”jª:Ksj ;}”jª:Ksj ;}”jª:Ksj;}”jª:Ksj;}”jª:Ksj•?}”jd?Ksj˜?}”jd?KsjA}”jÉ@KsjA}”jÉ@Ksj»A}”jƒAKsjŒB}”j[BKsjB}”j[BKsj’B}”j[BKsj¸D}”jŽDKsj»D}”jŽDKsjþE}”jÔEKsjcF}”j+FKsjfF}”j+FKsjîF}”j½FKsjŒG}”jbGKsjG}”jbGKsj’G}”jbGKsj•G}”jbGKsj˜G}”jbGKsj›G}”jbGKsjžG}”jbGKsj¡G}”jbGKsj¤G}”jbGKsj§G}”jbGKsjªG}”jbGKsjØJ}”j§JKsjÿK}”jÎKKsjL}”jÎKKsjL}”jÎKKsjL}”jÎKKsj L}”jÎKKsjL}”jÎKKsjkM}”j:MKsjnM}”j:MKsjqM}”j:MKsjtM}”j:MKsjwM}”j:MKsjvN}”jLNKsjyN}”jLNKsj|N}”jLNKsj'O}”jýNKsj—O}”jmOKsjšO}”jmOKsjO}”jmOKsj O}”jmOKsj¢Q}”jqQKsj¥Q}”jqQKsjôR}”jÊRKsj÷R}”jÊRKsjžS}”jtSKsj¡S}”jtSKsj¤S}”jtSKsj§S}”jtSKsjªS}”jtSKsj­S}”jtSKsj°S}”jtSKsj³S}”jtSKsj¶S}”jtSKsj¹S}”jtSKsjBW}”jWKsjEW}”jWKsjHW}”jWKsj"X}”jñWKsjÖX}”j©XKsjÙX}”j©XKsjÜX}”j©XKsjßX}”j©XKsjâX}”j©XKsjåX}”j©XKsjáZ}”j·ZKsjäZ}”j·ZKsjçZ}”j·ZKsjn\}”j=\Ksjq\}”j=\Ksjt\}”j=\Ksjw\}”j=\Ksjz\}”j=\Ksj}\}”j=\Ksj€\}”j=\Ksjƒ\}”j=\Ksj†\}”j=\Ksj‰\}”j=\KsjŒ\}”j=\Ksj\}”j=\Ksj’\}”j=\Ksj•\}”j=\Ksj˜\}”j=\Ksj›\}”j=\Ksjž\}”j=\Ksj¡\}”j=\Ksj¤\}”j=\Ksj§\}”j=\Ksjª\}”j=\Ksj­\}”j=\Ksj°\}”j=\Ksj³\}”j=\Ksj¶\}”j=\Ksj¹\}”j=\Ksj¼\}”j=\Ksj¿\}”j=\KsjÂ\}”j=\KsjÅ\}”j=\KsjÈ\}”j=\KsjË\}”j=\KsjÎ\}”j=\KsjÑ\}”j=\KsjÔ\}”j=\Ksj×\}”j=\KsjÚ\}”j=\KsjÝ\}”j=\Ksjà\}”j=\Ksjã\}”j=\Ksjæ\}”j=\Ksjé\}”j=\Ksjì\}”j=\Ksjï\}”j=\Ksjò\}”j=\Ksjõ\}”j=\Ksjø\}”j=\Ksjû\}”j=\Ksjþ\}”j=\Ksj]}”j=\Ksj]}”j=\Ksj]}”j=\Ksj ]}”j=\Ksj ]}”j=\Ksj]}”j=\Ksj]}”j=\Ksj]}”j=\Ksj]}”j=\Ksj]}”j=\Ksj]}”j=\Ksj"]}”j=\Ksj%]}”j=\Ksj(]}”j=\Ksj+]}”j=\Ksj.]}”j=\Ksj1]}”j=\Ksj4]}”j=\Ksj7]}”j=\Ksj:]}”j=\Ksj=]}”j=\Ksj@]}”j=\KsjC]}”j=\KsjF]}”j=\KsjI]}”j=\KsjL]}”j=\KsjO]}”j=\KsjR]}”j=\KsjU]}”j=\KsjX]}”j=\Ksj[]}”j=\Ksj^]}”j=\Ksja]}”j=\Ksjd]}”j=\Ksjg]}”j=\Ksjj]}”j=\Ksjm]}”j=\Ksjp]}”j=\Ksjs]}”j=\Ksjv]}”j=\Ksjy]}”j=\Ksj|]}”j=\Ksj]}”j=\Ksj‚]}”j=\Ksj…]}”j=\Ksjˆ]}”j=\Ksj‹]}”j=\KsjŽ]}”j=\Ksj‘]}”j=\Ksj”]}”j=\Ksj—]}”j=\Ksjš]}”j=\Ksj]}”j=\Ksj ]}”j=\Ksj£]}”j=\Ksj¦]}”j=\Ksj©]}”j=\Ksj¬]}”j=\Ksj¯]}”j=\Ksjx}”jåwKsjx}”jåwKsjx}”jåwKsjx}”jåwKsjx}”jåwKsjx}”jåwKsj!x}”jåwKsj$x}”jåwKsj'x}”jåwKsj*x}”jåwKsj-x}”jåwKsj£z}”jvzKsj¦z}”jvzKsj©z}”jvzKsj¹|}”jˆ|Ksj¼|}”jˆ|Ksjð}}”j¸}Ksjó}}”j¸}Ksjª~}”jr~Ksj)}”jÿ~Ksj¹}”jKsj¼}”jKsj¿}”jKsjÂ}”jKsjI}”j KsjL}”j KsjO}”j KsjR}”j KsjU}”j KsjX}”j Ksj[}”j Ksj^}”j Ksja}”j KsjÙƒ}”j¨ƒKsj܃}”j¨ƒKsj߃}”j¨ƒKsjâƒ}”j¨ƒKsj†}”jË…Ksj†}”jË…Ksj †}”jË…Ksj †}”jË…Ksj†}”jË…KsjD‡}”j ‡KsjG‡}”j ‡Ksjþ‡}”jƇKsj¬ˆ}”j{ˆKsj¯ˆ}”j{ˆKsj²ˆ}”j{ˆKsjµˆ}”j{ˆKsjFŠ}”jŠKsjIŠ}”jŠKsjLŠ}”jŠKsjOŠ}”jŠKsj_‹}”j'‹Ksjb‹}”j'‹Ksje‹}”j'‹Ksjh‹}”j'‹KsjDŒ}”jŒKsjGŒ}”jŒKsjJŒ}”jŒKsjMŒ}”jŒKsjPŒ}”jŒKsjSŒ}”jŒKsjVŒ}”jŒKsjYŒ}”jŒKsj\Œ}”jŒKsj_Œ}”jŒKsjbŒ}”jŒKsjeŒ}”jŒKsjhŒ}”jŒKsjkŒ}”jŒKsjnŒ}”jŒKsjqŒ}”jŒKsjtŒ}”jŒKsjwŒ}”jŒKsjzŒ}”jŒKsj}Œ}”jŒKsj€Œ}”jŒKsjƒŒ}”jŒKsj†Œ}”jŒKsj‰Œ}”jŒKsjŒŒ}”jŒKsjŒ}”jŒKsj’Œ}”jŒKsj•Œ}”jŒKsj˜Œ}”jŒKsj›Œ}”jŒKsjžŒ}”jŒKsj¡Œ}”jŒKsj¤Œ}”jŒKsjü•}”jË•KsjŠ–}”jV–Ksj–}”jV–Ksj–}”jV–Ksj“–}”jV–Ksj––}”jV–Ksjë—}”jº—Ksjî—}”jº—Ksjñ—}”jº—Ksjô—}”jº—Ksj÷—}”jº—Ksjú—}”jº—Ksjý—}”jº—Ksj˜}”jº—Ksj˜}”jº—Ksj˜}”jº—Ksj ˜}”jº—Ksj]š}”j3šKsj´š}”jŠšKsj·š}”jŠšKsj}”jðœKsjÂ}”j‘KsjÅ}”j‘KsjÈ}”j‘KsjË}”j‘Ksj }”jߟKsj }”jߟKsj }”jߟKsj  }”jߟKsj# }”jߟKsj& }”jߟKsj) }”jߟKsj, }”jߟKsj/ }”jߟKsj2 }”jߟKsj5 }”jߟKsj8 }”jߟKsj; }”jߟKsj> }”jߟKsjA }”jߟKsjD }”jߟKsjG }”jߟKsjJ }”jߟKsjM }”jߟKsjP }”jߟKsjS }”jߟKsjV }”jߟKsjY }”jߟKsj\ }”jߟKsj_ }”jߟKsjb }”jߟKsje }”jߟKsjh }”jߟKsjk }”jߟKsjn }”jߟKsjq }”jߟKsjD¦}”j¦Ksj¢¦}”jq¦Ksj¥¦}”jq¦Ksj¨¦}”jq¦Ksj«¦}”jq¦Ksj®¦}”jq¦Ksj±¦}”jq¦KsjG¨}”j¨Ksjÿ¨}”jΨKsj©}”jΨKsj©}”jΨKsj©}”jΨKsj ©}”jΨKsj¶¬}”jŒ¬Ksj¹¬}”jŒ¬Ksj¼¬}”jŒ¬Ksj÷­}”jÆ­Ksj\®}”j$®Ksj_®}”j$®Ksjb®}”j$®Ksje®}”j$®Ksjh®}”j$®Ksjk®}”j$®KsjM°}”j°KsjP°}”j°KsjS°}”j°KsjV°}”j°KsjY°}”j°Ksj\°}”j°Ksj_°}”j°Ksjb°}”j°Ksje°}”j°Ksjh°}”j°Ksjk°}”j°Ksjn°}”j°Ksjq°}”j°Ksjt°}”j°Ksjw°}”j°Ksjz°}”j°Ksj}°}”j°Ksj€°}”j°Ksjƒ°}”j°Ksj†°}”j°Ksj‰°}”j°KsjŒ°}”j°Ksj°}”j°Ksj’°}”j°Ksjþ¶}”jѶKsj‡¸}”j]¸KsjЏ}”j]¸Ksjë¹}”jÁ¹Ksj˺}”j“ºKsjκ}”j“ºKsjѺ}”j“ºKsj¼}”já»Ksj¼}”já»Ksj¼}”já»Ksj¼}”já»Ksj¼}”já»Ksjܽ}”j«½Ksjß½}”j«½Ksjâ½}”j«½Ksjå½}”j«½Ksjè½}”j«½Ksjë½}”j«½Ksjî½}”j«½Ksji¿}”j?¿Ksjù¿}”jÏ¿Ksjü¿}”jÏ¿Ksjÿ¿}”jÏ¿KsjÀ}”jÏ¿KsjÀ}”jÏ¿KsjÀ}”jÏ¿Ksj À}”jÏ¿KsjÀ}”jÏ¿KsjÀ}”jÏ¿KsjÀ}”jÏ¿KsjÀ}”jÏ¿KsjiÂ}”j8ÂKsjlÂ}”j8ÂKsjoÂ}”j8ÂKsjrÂ}”j8ÂKsjuÂ}”j8ÂKsjxÂ}”j8ÂKsj{Â}”j8ÂKsj~Â}”j8ÂKsjÂ}”j8ÂKsj„Â}”j8ÂKsj‡Â}”j8ÂKsjŠÂ}”j8ÂKsjÂ}”j8ÂKsjÂ}”j8ÂKsj“Â}”j8ÂKsj–Â}”j8ÂKsj™Â}”j8ÂKsjœÂ}”j8ÂKsjŸÂ}”j8ÂKsj¢Â}”j8ÂKsj¥Â}”j8ÂKsj¨Â}”j8ÂKsj«Â}”j8ÂKsj®Â}”j8ÂKsj±Â}”j8ÂKsj´Â}”j8ÂKsj·Â}”j8ÂKsjºÂ}”j8ÂKsj½Â}”j8ÂKsjÀÂ}”j8ÂKsjÃÂ}”j8ÂKsjÆÂ}”j8ÂKsjÉÂ}”j8ÂKsjÌÂ}”j8ÂKsjÏÂ}”j8ÂKsjÒÂ}”j8ÂKsjÕÂ}”j8ÂKsjØÂ}”j8ÂKsjÛÂ}”j8ÂKsjÛÍ}”j ÍKsjÞÍ}”j ÍKsjáÍ}”j ÍKsjÛÎ}”j±ÎKsjÞÎ}”j±ÎKsjáÎ}”j±ÎKsjäÎ}”j±ÎKsjçÎ}”j±ÎKsjêÎ}”j±ÎKsjíÎ}”j±ÎKsjðÎ}”j±ÎKsjóÎ}”j±ÎKsjöÎ}”j±ÎKsjùÎ}”j±ÎKsjüÎ}”j±ÎKsjÿÎ}”j±ÎKsj~Ñ}”jJÑKsjÑ}”jJÑKsj„Ñ}”jJÑKsj‡Ñ}”jJÑKsjŠÑ}”jJÑKsjÑ}”jJÑKsjÑ}”jJÑKsj“Ñ}”jJÑKsj$Ö}”jóÕKsj'Ö}”jóÕKsj*Ö}”jóÕKsjM×}”j#×Ksj;Ø}”jØKsj>Ø}”jØKsjAØ}”jØKsjDØ}”jØKsjGØ}”jØKsjJØ}”jØKsjMØ}”jØKsjPØ}”jØKsjSØ}”jØKsjVØ}”jØKsjYØ}”jØKsj\Ø}”jØKsj_Ø}”jØKsjbØ}”jØKsjeØ}”jØKsj€Û}”jVÛKsjƒÛ}”jVÛKsj†Û}”jVÛKsj‰Û}”jVÛKsjºÜ}”j‚ÜKsj½Ü}”j‚ÜKsjÀÜ}”j‚ÜKsjÃÜ}”j‚ÜKsjÆÜ}”j‚ÜKsjÉÜ}”j‚ÜKsjÌÜ}”j‚ÜKsjÏÜ}”j‚ÜKsjÒÜ}”j‚ÜKsjÕÜ}”j‚ÜKsjØÜ}”j‚ÜKsjÛÜ}”j‚ÜKsjÆß}”jœßKsjEà}”jàKsjHà}”jàKsjKà}”jàKsjNà}”jàKsjQà}”jàKsjûá}”jÑáKsjþá}”jÑáKsjâ}”jÑáKsj²ä}”jˆäKsjµä}”jˆäKsj¸ä}”jˆäKsj»ä}”jˆäKsj¾ä}”jˆäKsjæ}”jòåKsjæ}”jòåKsj"æ}”jòåKsjè}”jççKsjè}”jççKsj½è}”j“èKsjÀè}”j“èKsjÃè}”j“èKsjÆè}”j“èKsjÉè}”j“èKsjÌè}”j“èKsjÄê}”j“êKsjÇê}”j“êKsjÊê}”j“êKsjÍê}”j“êKsjÐê}”j“êKsjÓê}”j“êKsjÖê}”j“êKsjÙê}”j“êKsjÜì}”j¤ìKsjßì}”j¤ìKsjâì}”j¤ìKsjåì}”j¤ìKsjèì}”j¤ìKsjëì}”j¤ìKsjîì}”j¤ìKsjñì}”j¤ìKsjôì}”j¤ìKsj÷ì}”j¤ìKsj¦ð}”j|ðKsjRò}”j(òKsjUò}”j(òKsjó}”jÔòKsjó}”jÔòKsj(ô}”jðóKsjVö}”jöKsjYö}”jöKsj\ö}”jöKsj_ö}”jöKsjbö}”jöKsjeö}”jöKsjhö}”jöKsjkö}”jöKsjnö}”jöKsjKø}”jøKsjNø}”jøKsjQø}”jøKsjTø}”jøKsjWø}”jøKsjdù}”j,ùKsjgù}”j,ùKsjjù}”j,ùKsj#ú}”jëùKsj&ú}”jëùKsj)ú}”jëùKsjâú}”jªúKsjoü}”j?üKsjrü}”j?üKsjuü}”j?üKsjÛý}”jªýKsjÞý}”jªýKsjŸþ}”jnþKsj’ÿ}”jhÿKsj•ÿ}”jhÿKsj˜ÿ}”jhÿKsj›ÿ}”jhÿKsjžÿ}”jhÿKsj¡ÿ}”jhÿKsj¤ÿ}”jhÿKsj§ÿ}”jhÿKsjªÿ}”jhÿKsjw}”jJKsjz}”jJKsj}}”jJKsj€}”jJKsjƒ}”jJKsj†}”jJKsj‰}”jJKsjŒ}”jJKsjÑ}”j§Ksjg}”j7Ksj#}”jùKsjÿ}”jÇKsj}”jÇKsj‘}”jYKsj”}”jYKsj—}”jYKsj»}”jŠKsj¾}”jŠKsjÁ}”jŠKsjÄ}”jŠKsjð }”j¿ Ksjª }”jy KsjU }”j$ KsjX }”j$ Ksj[ }”j$ Ksj }”jÜ Ksj„ }”jZ KsjÀ }”j– Ksjà }”j– KsjÆ }”j– Ksj}”jìKsjœ}”jrKsjó}”jÉKsjö}”jÉKsjù}”jÉKsjü}”jÉKsjÿ}”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj }”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj }”jÉKsjœ}”jrKsjŸ}”jrKsj¢}”jrKsjk}”jAKsjn}”jAKsjq}”jAKsjt}”jAKsjw}”jAKsjz}”jAKsj}}”jAKsj€}”jAKsjƒ}”jAKsj†}”jAKsj‰}”jAKsjŒ}”jAKsj}”jAKsj’}”jAKsj•}”jAKsj˜}”jAKsj›}”jAKsjž}”jAKsj¡}”jAKsj¤}”jAKsj§}”jAKsjª}”jAKsj­}”jAKsj°}”jAKsj³}”jAKsj¶}”jAKsj¹}”jAKsj¼}”jAKsj¿}”jAKsjÂ}”jAKsjÅ}”jAKsjÈ}”jAKsjË}”jAKsjÎ}”jAKsjÑ}”jAKsjÔ}”jAKsj]}”j3Ksj»}”jŠKsj¾}”jŠKsjÁ}”jŠKsj“!}”j[!Ksj–!}”j[!Ksj™!}”j[!Ksjœ!}”j[!KsjŸ!}”j[!Ksj¢!}”j[!Ksj¥!}”j[!Ksj $}”jà#Ksj&%}”jë$Ksj)%}”jë$Ksj,%}”jë$Ksj/%}”jë$Ksj2%}”jë$Ksj5%}”jë$Ksj8%}”jë$Ksj;%}”jë$Ksj>%}”jë$KsjA%}”jë$KsjD%}”jë$KsjG%}”jë$KsjJ%}”jë$Ksj(}”j_(Ksj:)}”j)Ksj¹*}”j*Ksj¼*}”j*Ksj‹+}”ja+KsjŽ+}”ja+Ksj‘+}”ja+Ksj”+}”ja+Ksj$-}”jú,Ksj'-}”jú,Ksj*-}”jú,Ksj.}”jÒ-Ksj.}”jÒ-Ksj .}”jÒ-Ksj .}”jÒ-Ksj.}”jÒ-Ksj.}”jÒ-Ksj.}”jÒ-Ksj.}”jÒ-Ksj.}”jÒ-Ksj=0}”j0Ksj@0}”j0KsjC0}”j0KsjF0}”j0KsjI0}”j0KsjO1}”j1KsjR1}”j1KsjU1}”j1Ksj2}”je2Ksj’2}”je2Ksj•2}”je2Ksj˜2}”je2Ksj›2}”je2Ksjž2}”je2Ksj¡2}”je2Ksj¤2}”je2Ksjé4}”j¿4Ksjì4}”j¿4Ksjï4}”j¿4Ksjò4}”j¿4Ksjõ4}”j¿4Ksjø4}”j¿4Ksj 7}”jß6Ksjë7}”jº7Ksjî7}”jº7Ksjñ7}”jº7KsjX9}”j.9Ksj/:}”j÷9Ksj;}”jf;Ksj“;}”jf;Ksj–;}”jf;Ksj™;}”jf;Ksjœ;}”jf;KsjŸ;}”jf;Ksj¢;}”jf;Ksj¥;}”jf;Ksj¨;}”jf;Ksj«;}”jf;Ksj®;}”jf;Ksj±;}”jf;Ksj´;}”jf;Ksj·;}”jf;Ksjº;}”jf;Ksj½;}”jf;KsjÀ;}”jf;KsjÃ;}”jf;Ksj@}”jã?Ksjy@}”jH@Ksj|@}”jH@KsjŽA}”j]AKsjïA}”j»AKsjòA}”j»AKsj¶B}”j‚BKsj¹B}”j‚BKsjAC}”jCKsjDC}”jCKsjGC}”jCKsjJC}”jCKsjMC}”jCKsjPC}”jCKsjSC}”jCKsjVC}”jCKsjYC}”jCKsj\C}”jCKsj_C}”jCKsjbC}”jCKsjeC}”jCKsjhC}”jCKsjkC}”jCKsjnC}”jCKsj´F}”jƒFKsj·F}”jƒFKsjsG}”j;GKsjvG}”j;GKsjyG}”j;GKsj|G}”j;GKsjG}”j;GKsj‚G}”j;GKsjI}”jÖHKsj I}”jÖHKsj I}”jÖHKsjI}”jÖHKsjI}”jÖHKsjI}”jÖHKsjI}”jÖHKsjK}”jÕJKsj K}”jÕJKsj K}”jÕJKsjK}”jÕJKsjL}”jçKKsjýL}”jÌLKsjM}”jWMKsj„M}”jWMKsj‡M}”jWMKsj@N}”jNKsjCN}”jNKsjFN}”jNKsjIN}”jNKsjLN}”jNKsjON}”jNKsjZP}”j)PKsj]P}”j)PKsjåP}”j´PKsjCQ}”jQKsj¡Q}”jpQKsjÿQ}”jÎQKsjR}”jÎQKsjŠR}”jYRKsjS}”jçRKsjS}”jçRKsu(jS}”jçRKsj!S}”jçRKsj$S}”jçRKsjåT}”j´TKsjèT}”j´TKsjëT}”j´TKsjîT}”j´TKsjñT}”j´TKsjV}”jîUKsj}V}”jLVKsj€V}”jLVKsjƒV}”jLVKsj]W}”j,WKsjïW}”j¾WKsjòW}”j¾WKsjY}”jñXKsjY}”jñXKsjŸY}”juYKsj¢Y}”juYKsj¥Y}”juYKsj¨Y}”juYKsjÍZ}”j£ZKsjÐZ}”j£ZKsjá[}”j©[Ksjä[}”j©[Ksjç[}”j©[Ksjê[}”j©[Ksjí[}”j©[Ksjð[}”j©[Ksjg]}”j=]Ksjj]}”j=]Ksjm]}”j=]Ksjp]}”j=]Ksjs]}”j=]Ksjv]}”j=]Ksjy]}”j=]Ksj|]}”j=]Ksj]}”j=]Ksjoa}”jEaKsjb}”jâaKsjb}”jâaKsjb}”jâaKsjb}”jâaKsjb}”jâaKsj"b}”jâaKsjìc}”j»cKsjTd}”jdKsjWd}”jdKsj9e}”jþdKsj§}”jÿ¦KsjA§}”jÿ¦KsjD§}”jÿ¦KsjG§}”jÿ¦KsjJ§}”jÿ¦KsjM§}”jÿ¦KsjP§}”jÿ¦KsjS§}”jÿ¦KsjV§}”jÿ¦KsjY§}”jÿ¦Ksj\§}”jÿ¦Ksj_§}”jÿ¦Ksjb§}”jÿ¦Ksje§}”jÿ¦Ksjh§}”jÿ¦Ksjk§}”jÿ¦Ksjn§}”jÿ¦Ksjq§}”jÿ¦Ksjt§}”jÿ¦Ksjw§}”jÿ¦Ksjz§}”jÿ¦Ksj}§}”jÿ¦Ksj€§}”jÿ¦Ksjƒ§}”jÿ¦Ksj†§}”jÿ¦Ksj‰§}”jÿ¦KsjŒ§}”jÿ¦Ksj§}”jÿ¦Ksj’§}”jÿ¦Ksj•§}”jÿ¦Ksj˜§}”jÿ¦Ksj›§}”jÿ¦Ksjž§}”jÿ¦Ksj¡§}”jÿ¦Ksj¤§}”jÿ¦Ksj§§}”jÿ¦Ksjª§}”jÿ¦Ksj­§}”jÿ¦Ksj°§}”jÿ¦Ksj³§}”jÿ¦Ksj¶§}”jÿ¦Ksj¹§}”jÿ¦Ksj¼§}”jÿ¦Ksj¿§}”jÿ¦Ksj§}”jÿ¦Ksjŧ}”jÿ¦Ksjȧ}”jÿ¦Ksj˧}”jÿ¦KsjΧ}”jÿ¦Ksjѧ}”jÿ¦KsjÔ§}”jÿ¦Ksj×§}”jÿ¦KsjÚ§}”jÿ¦Ksjݧ}”jÿ¦Ksjà§}”jÿ¦Ksjã§}”jÿ¦Ksjæ§}”jÿ¦Ksj‹¶}”ja¶Ksj ¸}”jÙ·Ksj ¸}”jÙ·Ksj¸}”jÙ·Ksj¸}”jÙ·Ksjº}”jê¹Ksjº}”jê¹Ksjº}”jê¹Ksjº}”jê¹Ksj º}”jê¹Ksj#º}”jê¹Ksj&º}”jê¹Ksj)º}”jê¹Ksj,º}”jê¹Ksj/º}”jê¹Ksj2º}”jê¹Ksj5º}”jê¹Ksjò¼}”jȼKsjõ¼}”jȼKsjS¾}”j"¾Ksj»¾}”j€¾Ksj¾¾}”j€¾KsjÁ¾}”j€¾Ksj¹¿}”j¿Ksj}À}”jIÀKsj€À}”jIÀKsjƒÀ}”jIÀKsj†À}”jIÀKsj²Á}”jÁKsjµÁ}”jÁKsjAÃ}”jÃKsjDÃ}”jÃKsjGÃ}”jÃKsjJÃ}”jÃKsjMÃ}”jÃKsjPÃ}”jÃKsjSÃ}”jÃKsjVÃ}”jÃKsjYÃ}”jÃKsjHÅ}”jÅKsjŸÅ}”juÅKsjvÆ}”jLÆKsjyÆ}”jLÆKsj|Æ}”jLÆKsjÆ}”jLÆKsj‚Æ}”jLÆKsj…Æ}”jLÆKsjˆÆ}”jLÆKsjÈ}”jÙÇKsjÈ}”jÙÇKsjÈ}”jÙÇKsjÈ}”jÙÇKsjÈ}”jÙÇKsj È}”jÙÇKsj#È}”jÙÇKsj&È}”jÙÇKsj)È}”jÙÇKsj,È}”jÙÇKsj/È}”jÙÇKsj2È}”jÙÇKsj5È}”jÙÇKsj8È}”jÙÇKsj;È}”jÙÇKsj>È}”jÙÇKsjAÈ}”jÙÇKsjDÈ}”jÙÇKsjGÈ}”jÙÇKsjJÈ}”jÙÇKsjMÈ}”jÙÇKsjPÈ}”jÙÇKsjSÈ}”jÙÇKsjVÈ}”jÙÇKsjYÈ}”jÙÇKsj\È}”jÙÇKsj_È}”jÙÇKsjbÈ}”jÙÇKsjeÈ}”jÙÇKsjhÈ}”jÙÇKsjkÈ}”jÙÇKsjnÈ}”jÙÇKsjqÈ}”jÙÇKsjtÈ}”jÙÇKsjwÈ}”jÙÇKsjzÈ}”jÙÇKsj}È}”jÙÇKsj€È}”jÙÇKsjƒÈ}”jÙÇKsj†È}”jÙÇKsj‰È}”jÙÇKsjŒÈ}”jÙÇKsjÈ}”jÙÇKsj’È}”jÙÇKsj•È}”jÙÇKsj˜È}”jÙÇKsj›È}”jÙÇKsjžÈ}”jÙÇKsj¡È}”jÙÇKsj¤È}”jÙÇKsj§È}”jÙÇKsjªÈ}”jÙÇKsj­È}”jÙÇKsj°È}”jÙÇKsj³È}”jÙÇKsj¶È}”jÙÇKsj¹È}”jÙÇKsj¼È}”jÙÇKsj¿È}”jÙÇKsjÂÈ}”jÙÇKsjÅÈ}”jÙÇKsjÈÈ}”jÙÇKsjœÖ}”jkÖKsjŸÖ}”jkÖKsj¢Ö}”jkÖKsj¥Ö}”jkÖKsjŠØ}”j]ØKsjØ}”j]ØKsjØ}”j]ØKsj›Ù}”jqÙKsjžÙ}”jqÙKsj¡Ù}”jqÙKsj¤Ù}”jqÙKsj§Ù}”jqÙKsjªÙ}”jqÙKsj­Ù}”jqÙKsj°Ù}”jqÙKsj³Ù}”jqÙKsj¶Ù}”jqÙKsj¹Ù}”jqÙKsj¼Ù}”jqÙKsj¿Ù}”jqÙKsjÂÙ}”jqÙKsjÅÙ}”jqÙKsjÈÙ}”jqÙKsjËÙ}”jqÙKsjÎÙ}”jqÙKsjÑÙ}”jqÙKsjÔÙ}”jqÙKsj×Ù}”jqÙKsjÚÙ}”jqÙKsjÝÙ}”jqÙKsjàÙ}”jqÙKsjãÙ}”jqÙKsjæÙ}”jqÙKsjéÙ}”jqÙKsjìÙ}”jqÙKsjïÙ}”jqÙKsjòÙ}”jqÙKsjõÙ}”jqÙKsjøÙ}”jqÙKsjûÙ}”jqÙKsjþÙ}”jqÙKsjÚ}”jqÙKsjÚ}”jqÙKsjÚ}”jqÙKsj Ú}”jqÙKsj Ú}”jqÙKsjÚ}”jqÙKsjÚ}”jqÙKsjÚ}”jqÙKsjÚ}”jqÙKsjÚ}”jqÙKsj—ä}”jmäKsjIå}”jåKsjLå}”jåKsjæ}”jWæKsjªç}”j€çKsj­ç}”j€çKsj°ç}”j€çKsj³ç}”j€çKsj¶ç}”j€çKsj¹ç}”j€çKsjé}”jàèKsjé}”jàèKsjë}”j_ëKsj“ë}”j_ëKsj–ë}”j_ëKsj™ë}”j_ëKsjœë}”j_ëKsjŸë}”j_ëKsj¢ë}”j_ëKsj¥ë}”j_ëKsj¨ë}”j_ëKsjIî}”jîKsjLî}”jîKsjOî}”jîKsjRî}”jîKsjUî}”jîKsjXî}”jîKsj[î}”jîKsj^î}”jîKsjaî}”jîKsjdî}”jîKsjgî}”jîKsjjî}”jîKsjmî}”jîKsjpî}”jîKsjsî}”jîKsjvî}”jîKsjyî}”jîKsj|î}”jîKsjî}”jîKsj‚î}”jîKsj…î}”jîKsjˆî}”jîKsj‹î}”jîKsjŽî}”jîKsj‘î}”jîKsj”î}”jîKsj—î}”jîKsjšî}”jîKsjî}”jîKsj î}”jîKsj£î}”jîKsj¦î}”jîKsj©î}”jîKsj¬î}”jîKsj¯î}”jîKsj²î}”jîKsjµî}”jîKsj¸î}”jîKsj»î}”jîKsj¾î}”jîKsjÁî}”jîKsjÄî}”jîKsjÇî}”jîKsjÊî}”jîKsjÍî}”jîKsjòø}”j·øKsjWù}”jùKsjZù}”jùKsj]ù}”jùKsj7ú}”júKsj:ú}”júKsj=ú}”júKsj¼û}”j}ûKsj¿û}”j}ûKsjý}”jåüKsjý}”jåüKsjý}”jåüKsjý}”jåüKsjý}”jåüKsjý}”jåüKsjÿ}”jÌþKsjÿ}”jÌþKsj ÿ}”jÌþKsj ÿ}”jÌþKsj}”jàÿKsj}”jàÿKsj}”jàÿKsj}”jàÿKsj}”jàÿKsj }”jàÿKsj#}”jàÿKsj&}”jàÿKsjú}”jÉKsjý}”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj }”jÉKsj }”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsj}”jÉKsjP}”j&KsjS}”j&KsjV}”j&Ksj7}”jÿKsj:}”jÿKsj=}”jÿKsj@}”jÿKsj”}”jcKsj—}”jcKsjš}”jcKsj}”jcKsj7 }”j Ksj: }”j Ksj= }”j Ksj@ }”j KsjC }”j KsjF }”j KsjI }”j KsjL }”j Ksj^ }”j- Ksja }”j- Ksjd }”j- Ksjg }”j- Ksjj }”j- Ksjm }”j- Ksjp }”j- KsjÊ}”j™KsjÍ}”j™KsjÐ}”j™KsjÓ}”j™KsjÖ}”j™KsjÙ}”j™Ksj/}”jþKsj2}”jþKsj5}”jþKsj8}”jþKsjŸ}”jgKsjc}”j9Ksjf}”j9Ksji}”j9Ksjl}”j9Ksjo}”j9Ksjr}”j9Ksju}”j9Ksjx}”j9Ksj{}”j9Ksj~}”j9Ksj}”j9Ksj„}”j9Ksj‡}”j9KsjŠ}”j9Ksj¼}”j’Ksj¿}”j’KsjÂ}”j’KsjÅ}”j’KsjÈ}”j’KsjË}”j’Ksj-}”jõKsj0}”jõKsj!}”j÷Ksj$}”j÷KsjÞ}”j´Ksjá}”j´Ksjä}”j´Ksjç}”j´Ksjê}”j´Ksjí}”j´Ksjð}”j´Ksjó}”j´Ksjö}”j´Ksjù}”j´Ksj9}”jKsj}”jcKsj}”jcKsj9 }”j Ksj< }”j Ksj? }”j KsjB }”j KsjO!}”j!KsjR!}”j!KsjU!}”j!KsjX!}”j!Ksj[!}”j!Ksj‚"}”jX"Ksj…"}”jX"Ksj#}”jÜ"Ksj]#}”j3#Ksju$}”jK$Ksjx$}”jK$Ksj{$}”jK$Ksj~$}”jK$Ksj$}”jK$Ksj„$}”jK$Ksj‡$}”jK$KsjŠ$}”jK$Ksj$}”jK$Ksj$}”jK$Ksj“$}”jK$Ksj–$}”jK$Ksj™$}”jK$Ksj (}”jâ'Ksjî(}”jÄ(Ksj’*}”jh*KsjŽ+}”jd+Ksj‘+}”jd+Ksj”+}”jd+Ksj—+}”jd+Ksjl,}”jB,KsjŠ-}”j`-Ksj-}”j`-Ksj-}”j`-Ksj“-}”j`-Ksj[/}”j1/Ksj^/}”j1/Ksja/}”j1/Ksj¤1}”jl1Ksj§1}”jl1Ksjª1}”jl1Ksj­1}”jl1Ksj°1}”jl1Ksj³1}”jl1Ksj¶1}”jl1Ksj¹1}”jl1Ksj¼1}”jl1Ksj¿1}”jl1KsjÂ1}”jl1KsjÅ1}”jl1KsjÈ1}”jl1KsjÕ5}”j«5KsjØ5}”j«5KsjÛ5}”j«5Ksj!7}”j÷6KsjË7}”j¡7KsjÎ7}”j¡7KsjÑ7}”j¡7KsjÔ7}”j¡7Ksj’9}”jh9Ksj•9}”jh9Ksj:}”jì9Ksj:}”jì9Ksj ;}”jà:Ksj ;}”jà:Ksj;}”jà:Ksj;}”jà:Ksj;}”jà:Ksj;}”jà:Ksj;}”jà:Ksj;}”jà:Ksj";}”jà:Ksj%;}”jà:Ksj(;}”jà:Ksj+;}”jà:Ksj.;}”jà:Ksj1;}”jà:Ksj4;}”jà:Ksj7;}”jà:Ksj:;}”jà:Ksj=;}”jà:Ksj@;}”jà:KsjC;}”jà:KsjF;}”jà:KsjI;}”jà:KsjL;}”jà:KsjO;}”jà:Ksj¡A}”jwAKsj¤A}”jwAKsj§A}”jwAKsjªA}”jwAKsj­A}”jwAKsj°A}”jwAKsj³A}”jwAKsj¶A}”jwAKsjÃC}”j‹CKsjÆC}”j‹CKsjÉC}”j‹CKsjÌC}”j‹CKsj¯D}”jwDKsj²D}”jwDKsjµD}”jwDKsj¸D}”jwDKsj»D}”jwDKsj¾D}”jwDKsjöF}”jÌFKsjùF}”jÌFKsjCH}”j HKsjFH}”j HKsjIH}”j HKsjLH}”j HKsjOH}”j HKsjRH}”j HKsjäJ}”jºJKsj;K}”jKKsj>K}”jKKsjAK}”jKKsjDK}”jKKsjGK}”jKKsjJK}”jKKsjMK}”jKKsjPK}”jKKsjSK}”jKKsjVK}”jKKsjYK}”jKKsj\K}”jKKsj_K}”jKKsjbK}”jKKsjeK}”jKKsjhK}”jKKsjkK}”jKKsjnK}”jKKsjqK}”jKKsjtK}”jKKsjwK}”jKKsjzK}”jKKsj}K}”jKKsj€K}”jKKsjQ}”jÛPKsjQ}”jÛPKsj Q}”jÛPKsjQ}”jÛPKsjQ}”jÛPKsjQ}”jÛPKsjQ}”jÛPKsj¹R}”jRKsjS}”jæRKsj•S}”jdSKsj˜S}”jdSKsj'T}”jïSKsj*T}”jïSKsj-T}”jïSKsj0T}”jïSKsj3T}”jïSKsj6T}”jïSKsj9T}”jïSKsj•}”jü”KsjA•}”jü”KsjD•}”jü”KsjG•}”jü”KsjJ•}”jü”KsjM•}”jü”KsjP•}”jü”Ksu(jS•}”jü”KsjV•}”jü”KsjY•}”jü”Ksj\•}”jü”Ksj_•}”jü”Ksjb•}”jü”Ksje•}”jü”Ksj÷™}”jÆ™Ksjú™}”jÆ™Ksjý™}”jÆ™Ksjš}”jÆ™Ksjš}”jÆ™Ksjš}”jÆ™Ksj š}”jÆ™Ksj š}”jÆ™Ksjš}”jÆ™Ksjš}”jÆ™Ksjúœ}”jÉœKsjýœ}”jÉœKsj}”jÉœKsj}”jÉœKsj}”jÉœKsj }”jÉœKsj }”jÉœKsj}”jÉœKsj}”jÉœKsj}”jÉœKsj}”jÉœKsj}”jÉœKsj}”jÉœKsj¡}”jÖ Ksj¢}”jë¡Ksj¢}”jë¡Ksjvª}”j>ªKsjõª}”j˪Ksj€«}”jV«Ksjƒ«}”jV«Ksj†«}”jV«Ksj‰«}”jV«KsjŒ«}”jV«Ksj«}”jV«Ksj’«}”jV«Ksj•«}”jV«Ksj˜«}”jV«Ksj›«}”jV«Ksjä­}”jº­Ksjç­}”jº­Ksjh®}”j>®KsjE¯}”j¯Ksjð¯}”j¸¯Ksjó¯}”j¸¯Ksjɰ}”jŸ°Ksj̰}”jŸ°Ksuh‹}”(h}”h€Ksj}”jKsjI}”j:Ksjs}”jdKsj}”jŽKsjÇ}”j¸Ksj»}”j¬Ksjå}”(jÖKjñ(Kuj}”(jKjÞÜKj§2KjÅÚKuj9}”j*Ksjc}”(jTKjÝKuj}”(j~Kj±•Kj…Kujá}”(jÒKjÞKuj }”(jüKjµKj,ÞKuj]}”(jNKj~ÞKuj‡}”(jxKj¨ÞKuj±}”(j¢Kj¬KjÒÞKj¢þKjñ3KjüFKjÑ`Kuj}”jôKsj-}”(jKjKj$ßKjC4Kuj}”(jpKjYKjýãKuj©}”jšKsjq}”jbKsj›}”jŒKsjí}”(jÞKjâKj>=Kj3Kuj?}”j0Ksji}”jZKsj“}”(j„KjÇKjd°Kuj}”jøKsj1}”j"Ksjƒ}”jtKsj­}”(jžKj¨âKj?Kj³4Kujÿ}”jðKsjo }”(j` KjÁKj@KujÒ }”(jà Kj$ŽKj£Kuj5 }”(j& KjÉKj„‘Kj ×KjôïKj<Kj=Kj TKuj© }”(jš KjV‰Kj­Kj ’Kuj }”(jý Kj$SKj©@Kuj6 }”(j' Kj¹‰Kj6‘Kjâ=KjS”Kuj™ }”(jŠ KjÃ>Kuj– }”j‡ Ksjè }”jÙ Ksj:}”j+Ksjd}”(jUKjÒnKjdzKjÈKj'ZKjÓõKjÐ>Kj…|Kujé}”(jÚKjš+Kuj}”jKsj=}”j.Ksj½}”(j®Kj8ÙKujç}”(jØKj2Kujk}”j\Ksjõ}”jæKsj}”jKsjI}”j:Ksjs}”jdKsj}”jŽKsj.}”(jKj¯Kj­aKujX}”(jIKjRNKuj‚}”jsKsj¬}”jKsjÖ}”jÇKsj}”(jñKj+Kj)bKuj*}”(jKjKjSbKujT}”jEKsjè}”jÙKsjd}”jUKsj2}”j#Ksj }”(jþKjDþKjNGKj#aKujp}”(jaKj®ÝKujš}”(j‹KjØÝKuj}”j€Ksjº}”j«KsjY}”jJKsj}”jÿKsj8}”j)Ksj«}”jœKsjÕ}”jÆKsjÿ}”jðKsjQ}”(jBKj•BKj•Kj Kuj£}”(j”KjçBKjçKjòKujõ}”(jæKj9CKj9KjD Kuj}”(jKj>­Kujq}”jbKsjÈ}”j¹Ksjÿ}”jðKsj)}”jKsjŠ}”(j{KjÇKjišKujÜ}”(jÍKj‹›Kuj@ }”(j1 KjÂÀKjJÅKjn<Kj?iKjmuKjþvKjÜKj›2Kujj }”j[ Ksj!}”(jõ KjIPKjKj©ðKj_Kj¼¿Kj•*KjF:KjsKuj»#}”j¬#Ksjå#}”jÖ#Ksj$}”j$Ksj£%}”j”%KsjÍ%}”j¾%Ksjõ&}”jæ&Ksj'}”j'KsjI'}”(j:'KjþzKj6‚Kjk®Kuj’(}”jƒ(Ksj¼(}”j­(Ksj¤+}”j•+KsjÎ+}”j¿+Ksjø+}”jé+Ksj",}”j,KsjL,}”j=,Ksjv,}”jg,KsjŽ-}”j-Ksjp.}”(ja.Kj¨_Kj2ÃKjxKj¨Kj›ÚKjúîKjR;Kujš.}”(j‹.KjذKjçàKjNôKj~>Kujì.}”(jÝ.Kj¸qKjÊÉKjO—Kj ´KjãKj÷KjÈ?Kuj/}”(j/Kjë´KjUãKjøKjû@Kujî/}”jß/Ksj0}”(j 0Kj"4Kujj0}”j[0Ksj”0}”(j…0KjiKjsKujæ0}”j×0Ksj1}”j1Ksjp1}”ja1Ksjš1}”j‹1KsjÄ1}”(jµ1KjåiKjÞ5KjodKuj2}”(j2Kj˜5Kj06Kujz2}”jk2KsjÌ2}”j½2Ksj3}”j3Ksj³3}”j¤3KsjÝ3}”jÎ3Ksj4}”jø3Ksjƒ4}”jt4Ksj­4}”jž4Ksj×4}”(jÈ4Kj½ÊKj‘ˆKuj5}”jò4Ksj+5}”(j5KjÍOKj3jKj–ÆKj¿*KjÿKjϰKuj}5}”jn5Ksjl6}”(j]6Kj›?Kuj–6}”(j‡6KjÅ?Kujh7}”jY7Ksjº7}”j«7Ksjä7}”jÕ7Ksj8}”jÿ7Ksj“8}”(j„8Kjž²Kuj½8}”j®8Ksjç8}”jØ8Ksjë9}”(jÜ9Kjè’KjÚÚKj£—Kj$¤Kuj=:}”j.:Ksj:}”(j€:KjÂ9Kuj$;}”j;Ksjv;}”jg;Ksj ;}”j‘;KsjÊ;}”j»;Ksjô;}”jå;Ksj<}”j<KsjH<}”j9<Ksjr<}”jc<Ksjœ<}”j<KsjÆ<}”j·<Ksjð<}”já<Ksj=}”j =KsjD=}”j5=Ksjn=}”j_=Ksj˜=}”j‰=KsjÂ=}”j³=Ksjì=}”(jÝ=Kj¸Kj3KjUKujA}”(jAKj¼BKuj@A}”j1AKsjÍA}”j¾AKsjÍD}”j¾DKsjE}”jEKsjF}”(jFKj 0KujxF}”jiFKsj¢F}”j“FKsjG}”jñFKsj¼G}”(j­GKj0xKjÀKjÃKjmhKj>kKjKjôeKj§’Kjh•KjšKujæG}”(j×GKjDÀKj—hKjhkKj·KjfKjÑ’Kj’•Kj?šKujH}”jHKsjbH}”(jSHKjZxKjnÀKjÎÄKjëhKj’kKj KjœfKj%“Kj:–Kj»šKujŒH}”(j}HKj˜ÀKjiKj¼kKj5KjÆfKjO“Kjd–KjåšKuj¶H}”j§HKsjI}”(jùHKj>ÁKjiiKjækKj³KjDgKj0”KjÒ—Kj›KujZI}”jKIKsj„I}”(juIKjÁKuj®I}”(jŸIKjTyKjºÁKujØI}”jÉIKsjêJ}”jÛJKsj L}”(jLKjzMKjžKujJL}”(j;LKj¤MKj“žKujtL}”(jeLKjÎMKjaŸKujžL}”(jLKjøMKj‹ŸKujÈL}”(j¹LKj"NKjµŸKujòL}”jãLKsjŽN}”jNKsj¸N}”j©NKsjâN}”jÓNKsj9O}”(j*OKj #Kuj²O}”(j£OKj²]KjÞÂKuj.P}”(jPKj!±Kuj·Q}”j¨QKsjáQ}”(jÒQKjÒKuj S}”júRKsjËS}”(j¼SKjâˆKj#Kj¢Kjá¨Kj|;Kuj?T}”(j0TKjû2Kj¹AKj}tKuj‘T}”j‚TKsj»T}”j¬TKsjåT}”(jÖTKjëKj_ÌKujU}”(jUKjç¬Kj³ÌKjëÛKuj9U}”(j*UKjX1Kj°=KujcU}”jTUKsjµU}”(j¦UKjˆ´Kjò?KujV}”(j VKj»µKj¶ÔKjÓãKujZW}”jKWKsj¬W}”jWKsjÖW}”jÇWKsj4X}”j%XKsj÷X}”jèXKsj!Y}”jYKsj„Y}”(juYKj±KujçY}”jØYKsjZ}”(jZKjÀ²KujcZ}”(jTZKjd³KujùZ}”jêZKsjK[}”j<[Ksju[}”jf[Ksjë]}”jÜ]Ksj^}”j^Ksj?^}”j0^Ksji^}”jZ^Ksj“^}”j„^Ksj½^}”j®^Ksjç^}”jØ^Ksj_}”j_Ksj;_}”j,_Ksje_}”jV_Ksjá_}”jÒ_Ksj `}”(jü_Kj¿¬Kj¨!Kuj]`}”(jN`KjKjšKuj‡`}”(jx`KjÄKjÑ2KjOåKj$ïKjð;Kuj±`}”j¢`Ksja}”(jaKjÎKujfa}”(jWaKjU©KjÃÉKjNïKjD<Kuja}”(jaKj©KjíÉKjxïKujºa}”j«aKsjäa}”jÕaKsj6b}”(j'bKjŽ/Kuj`b}”jQbKsjŠb}”j{bKsj´b}”j¥bKsjÞb}”jÏbKsj0c}”j!cKsjZc}”(jKcKj|ÄKuj¬c}”jcKsjþc}”jïcKsj(d}”jdKsjRd}”jCdKsjµd}”j¦dKsje}”(jødKj…KujYe}”jJeKsjƒe}”(jteKjÅKujÕe}”(jÆeKji€Kuj'f}”jfKsjyf}”jjfKsj£f}”j”fKsjõf}”jæfKsjg}”(jgKj]"KujIg}”(j:gKj­Kj4¯Kj‡"Kuj¬g}”(jgKjê"Kujþg}”jïgKsj(h}”(jhKjì<Kujzh}”jkhKsj¤h}”j•hKsjÎh}”j¿hKsjøh}”jéhKsjJi}”(j;iKjDÆKj¬dKj¹­KjÍKujîi}”jßiKsjj}”j jKsj”j}”(j…jKj¯KjŸÏKuj¾j}”j¯jKsjèj}”(jÙjKjèÆKjAàKujk}”jkKsjuk}”jfkKsjØk}”jÉkKsjl}”jókKsjTl}”jElKsj·l}”(j¨lKj<#Kuj m}”júlKsj[m}”jLmKsj…m}”jvmKsj¯m}”j mKsjn}”(jòmKjÊôKujdn}”jUnKsj·n}”j¨nKsj3o}”(j$oKj%öKuj…o}”(jvoKjë+Kuj×o}”jÈoKsj)p}”(jpKjß´Kj-Kj¼Kjè%KjL?Kj}Kuj{p}”jlpKsj¥p}”j–pKsj÷p}”jèpKsj!q}”(jqKj¸³KjÓKujsq}”jdqKsjq}”jŽqKsjñq}”(jâqKjy—Kj4´Kj+ãKjI÷Kujr}”j rKsjmr}”j^rKsj—r}”jˆrKsjér}”jÚrKsj;s}”(j,sKjs÷Kuj¯s}”j sKsjÙs}”jÊsKsjt}”jôsKsj-t}”(jtKjôÉKj?óKjQSKjµKjÔKujt}”(jptKjt­KjŽ#KujÑt}”jÂtKsj#u}”juKsj†u}”jwuKsj°u}”j¡uKsjÚu}”jËuKsjv}”jõuKsj.v}”(jvKjËKuj€v}”(jqvKjhËKujªv}”j›vKsjüv}”jívKsjNw}”j?wKsj w}”j‘wKsjÊw}”j»wKsj“x}”(j„xKj¬zKja„KjȱKjtÅKj–-KjÅ2Kujåx}”(jÖxKj_KjðfKjŽ–Kujy}”(jyKj‰KjgKj¸–Kuj9y}”(j*yKjKj–gKj$˜Kujy}”(j~yKjäÁKjo>Kj»iKj8lKjYKjêgKj̘Kuj·y}”j¨yKsj z}”(júyKj({Kj³„Kj[µKjFÊKjŒ.Kja4Kuj[z}”(jLzKjÂKj‰jKjblKjÿKjhKj¬”Kjœ™KujÎ|}”(j¿|KjľKujø|}”jé|Ksj~}”jö}Ksj/~}”(j ~Kj­~Kj`‚KjSKuj;}”j,Ksj&€}”j€KsjÊ€}”(j»€Kj—+Kujs}”jdKsj}”jŽKsjÇ}”j¸Ksjñ}”jâKsj‚}”j ‚KsjÁ‚}”j²‚Ksjƒ}”jƒKsjôƒ}”(jåƒKj Kj.KjZdKj?eKujF„}”(j7„KjäÍKjp.Kj%bKjïcKuj!†}”(j†Kj!éKj.ëKj¼çKujs†}”(jd†Kj8èKuj†}”(jކKjiêKjzìKjŒèKujdž}”j¸†Ksjñ†}”jâ†KsjY‡}”jJ‡Ksj«‡}”jœ‡Ksjˆ}”jˆKsjLj}”(j¸ˆKj¸ÁKujaŠ}”jRŠKsj‹Š}”j|ŠKsjµŠ}”j¦ŠKsjߊ}”(jЊKjZ»Kujz‹}”(jk‹KjBšKuj¤‹}”(j•‹Kj=EKuj΋}”(j¿‹Kj–šKjgEKujø‹}”(jé‹Kj>›Kuj¶Œ}”(j§ŒKjÒŽKuj}”(jùŒKjNKuj¦}”(j—KjKuj–Ž}”(j‡ŽKj‘KujÀŽ}”(j±ŽKj0‘KujêŽ}”(jÛŽKjZ‘Kj@~Kuj}”(jKjø‘Kuj>}”(j/Kj"’Kujh}”(jYKjL’Kuj’}”(jƒKjv’Kj«ëKuj}”(jKj“KjÕëKujI}”(j:Kj-“KjäðKujs}”(jdKjW“KjñKuj}”(jŽKj“Kj8ñKujÇ}”(j¸Kj«“KjbñKujñ}”(jâKjÕ“KjŒñKuj‘}”(j ‘Kj)”KjõøKuj¨‘}”(j™‘Kj¶”KjSKujÒ‘}”(jÑKjà”Kj$ôKujü‘}”(jí‘Kj •Kuj£’}”(j”’Kj–KjõKujÍ’}”(j¾’Kjû–KjæwKujI“}”(j:“Kj­ Kjõ—Kujs“}”(jd“KjI˜Kjç÷Kuj“}”(jŽ“Kj‚1Kj£bKjs˜KjîKj3ÇKjÏìKujï“}”(jà“Kj·KjÔ1KjõbKjŘKj@žKj!íKujA”}”(j2”Kj™Kuj–}”jÿ•Ksj¨–}”j™–KsjÒ–}”jÖKsj$—}”j—KsjN—}”j?—Ksjx—}”ji—Ksj˜}”(j ˜Kjt Kj©Kjº_KujE˜}”(j6˜Kjê¢Kujo˜}”(j`˜Kj>£KjpIKujÒ˜}”(jØKj¡£Kj ôKujü˜}”(jí˜KjË£Kjb©Kjä_Kuj&™}”(j™Kjõ£KujP™}”(jA™Kj¤Kujz™}”(jk™KjC¥Kuj¤™}”j•™KsjΙ}”j¿™Ksjø™}”(jé™KjtžKujoš}”j`šKsjÉš}”jºšKsj=›}”j.›KsjÝ}”jÎKsjž}”jøKsjYž}”jJžKsj­ }”jž Ksj× }”jÈ Ksj¡}”jò Ksj+¡}”j¡KsjU¡}”jF¡Ksj¡}”jp¡Ksj©¡}”jš¡KsjÓ¡}”(jÄ¡KjálKujý¡}”jî¡Ksj'¢}”(j¢Kj¿§KujQ¢}”jB¢Ksj{¢}”jl¢Ksj¥¢}”j–¢KsjÏ¢}”jÀ¢Ksj#£}”j£KsjX¤}”jI¤Ksj‚¤}”js¤Ksj¬¤}”j¤KsjÖ¤}”jǤKsj¥}”jñ¤Ksj|¥}”jm¥Ksj¦¥}”j—¥KsjÐ¥}”jÁ¥KsjV¦}”(jG¦KjþCKjî¾Kj mKujæ}”(j´¦KjJ¨Kují¦}”jÞ¦Ksj§}”j§KsjA§}”j2§Ksjk§}”j\§KsjG©}”j8©Ksj›©}”jŒ©KsjÅ©}”j¶©Ksj ®}”jú­Ksj}®}”(jn®Kjú!Kujà®}”jÑ®Ksj¦¯}”j—¯KsjЯ}”(jÁ¯Kj ÇKujú¯}”(jë¯Kj…ÇKuj¤°}”j•°Ksjΰ}”j¿°Ksjø°}”(jé°KjšKuj…±}”jv±Ksj)²}”j²Ksj{²}”jl²Ksj¥²}”j–²Ksj!³}”(j³Kj­Kj"ŒKjö¯Kuj(´}”j´Ksjœ´}”j´Ksj@µ}”j1µKsj¼µ}”j­µKsjæµ}”j×µKsj¶}”j¶Ksj:¶}”j+¶Ksjd¶}”(jU¶KjH°Kuj޶}”j¶Ksj·}”(j·Kj·¨Kujœ¸}”(j¸Kj+Kujÿ¸}”(jð¸KjKujý¹}”jî¹Ksjãº}”jÔºKsj »}”jþºKsj7»}”j(»Ksj0¼}”j!¼KsjZ¼}”jK¼Ksj„¼}”ju¼Ksjç¼}”(jؼKj ŠKujJ½}”j;½Ksj¾}”jñ½Ksj*¾}”j¾Ksj|¾}”jm¾Ksj¦¾}”j—¾Ksjо}”jÁ¾Ksjú¾}”jë¾Ksj$¿}”j¿Ksj{¿}”jl¿KsjûÀ}”jìÀKsjkÃ}”j\ÃKsj½Ã}”j®ÃKsj9Ä}”(j*ÄKjŒpKujÅ}”jøÄKsjÕÅ}”jÆÅKsjÿÅ}”jðÅKsj)Æ}”jÆKsj•Ç}”(j†ÇKjßáKuj¿Ç}”j°ÇKsjéÇ}”jÚÇKsjeÈ}”jVÈKsj·È}”j¨ÈKsj É}”júÈKsj[É}”jLÉKsj…É}”jvÉKsj¯É}”j ÉKsj§Ê}”j˜ÊKsjÑÊ}”jÂÊKsjûÊ}”jìÊKsj¡Ë}”j’ËKsjËË}”j¼ËKsjÎ}”jÎKsjGÎ}”j8ÎKsjÏ}”jÏKsj;Ï}”j,ÏKsjeÏ}”(jVÏKj¥zKujÏ}”j€ÏKsj¹Ï}”jªÏKsjãÏ}”jÔÏKsj Ð}”(jþÏKjdÒKuj7Ð}”(j(ÐKjÎgKjäyKujaÐ}”jRÐKsj‹Ð}”j|ÐKsjµÐ}”j¦ÐKsjßÐ}”jÐÐKsj Ñ}”(júÐKj‡ KjøgKjzKuj¥Ñ}”j–ÑKsj÷Ñ}”jèÑKsjIÒ}”j:ÒKsjÒ}”jŽÒKsjïÒ}”jàÒKsjAÓ}”j2ÓKsj“Ó}”j„ÓKsj<Ö}”j-ÖKsjŽÖ}”(jÖKjP×KujàÖ}”jÑÖKsjwØ}”jhØKsjÉØ}”jºØKsjóØ}”jäØKsjÙ}”jÙKsjqÙ}”(jbÙKj8ºKuj›Ù}”jŒÙKsjÅÙ}”j¶ÙKsjïÙ}”jàÙKsjÚ}”j ÚKsjkÚ}”j\ÚKsj•Ú}”j†ÚKsj¿Ú}”j°ÚKsj;Û}”j,ÛKsj›Û}”jŒÛKsjÅÛ}”j¶ÛKsjÜ}”jÜKsjAÜ}”j2ÜKsjAÝ}”j2ÝKsjkÝ}”j\ÝKsjØß}”jÉßKsjcà}”jTàKsjÆà}”j·àKsj)á}”jáKsjŒá}”j}áKsj¶á}”(j§áKj•4Kujeâ}”(jVâKjŒiKujÐä}”(jÁäKj¼•Kujúä}”(jëäKjâ–Kuj$å}”(jåKj —Kuj‡å}”(jxåKjN˜Kuj±å}”(j¢åKjö˜Kuj4æ}”j%æKsj^æ}”jOæKsjˆæ}”jyæKsj&è}”jèKsjPè}”jAèKsjÞè}”(jÏèKjÜêKj;¨KjõÈKjIÚKuj‚é}”(jséKjÔëKujÔé}”(jÅéKj•àKuj&ê}”(jêKj9áKujë}”j€ëKsj¹ë}”jªëKsj5ì}”j&ìKsj_ì}”jPìKsj í}”(júìKjgÜKuj[í}”(jLíKj¹ÜKuj­í}”(jžíKj ÝKujÿí}”(jðíKj]ÝKujQî}”(jBîKj¯ÝKuj£î}”(j”îKjÞKujõî}”(jæîKjSÞKujGï}”(j8ïKj¥ÞKuj™ï}”(jŠïKj÷ÞKujëï}”(jÜïKjIßKujgò}”(jXòKjM%Kuj¹ò}”jªòKsj$ó}”jóKsj:ô}”(j+ôKjîKjÄ+Kuj€ö}”jqöKsjªö}”(j›öKjû©KjËKujÔö}”jÅöKsjþö}”(jïöKj—ùKuj(÷}”j÷KsjR÷}”jC÷Ksj|÷}”jm÷Ksj¦÷}”j—÷KsjÐ÷}”jÁ÷Ksjiø}”jZøKsj“ø}”j„øKsj½ø}”j®øKsjçø}”jØøKsjù}”jùKsj|ù}”(jmùKj,úKujÐù}”jÁùKsjeú}”(jVúKjŠMKujú}”j€úKsjôú}”jåúKsj‡ü}”(jxüKjõAKj“ØKujêü}”jÛüKsj<ý}”(j-ýKjXBKjÞMKj ÙKujðý}”(jáýKjn`Kuj¼ÿ}”(j­ÿKj&Kuj}”(jÿÿKj…Kuj8}”(j)Kj¯Kujb}”jSKsjÖ}”(jÇKjjKuj9}”(j*KjÙKuj‹}”(j|Kj+KujÝ}”(jÎKj}Kuj}”jøKsjž}”jKsjð}”jáKsjB}”j3Ksjã}”jÔKsj>}”j/KsjÓ}”jÄKsjý}”jîKsj( }”j Ksjz }”jk Ksj¤ }”(j• Kja›Kuj }”jó Ksjm }”j^ Ksj— }”jˆ KsjÁ }”j² Ksj }”(j KjŸKj`Kj $Kj“¬Kj—ÛKjyåKujØ }”jÉ Ksj*}”jKsjT}”jEKsj2}”j#Ksj\}”jMKsj†}”(jwKjÝŸKj%KjÀ<KujL}”(j=Kj/ Kujv}”(jgKjY KujÈ}”j¹Ksj}”(j Kj*£KujD}”(j5KjT£Kuj–}”(j‡Kj¦£KujÀ}”(j±KjУKujê}”jÛKsjŽ}”jKsj¸}”j©Ksjâ}”jÓKsj´}”j¥Ksj}”jKsji}”jZKsjæ}”j×Ksj}”jKsj}”jŽKsj}”(j KjñŠKujk}”j\Ksj•}”j†Ksj¿}”j°Ksjé}”jÚKsj}”(jKjC‹Kujv}”jgKsj }”(j‘Kj¦‹Kujò}”jãKsj}”j KsjF}”j7Ksjp}”jaKsjÂ}”j³Ksjì}”jÝKsj}”jKsj@}”j1Ksjj}”j[Ksj}”jÿKsjq}”(jbKjtŒKujÃ}”j´Ksjí}”(jÞKjÆŒKujA}”j2Ksj“}”j„Ksjö}”(jçKjðŒKujH}”j9Ksjr}”jcKsjœ}”jKsj}”j KsjÓ}”jÄKsjý}”jîKsjO }”j@ Ksj®%}”jŸ%KsjØ%}”jÉ%Ksj&}”jó%Ksj,&}”j&KsjV&}”jG&Ksj€&}”jq&KsjÒ&}”jÃ&Ksj$'}”j'KsjN'}”j?'Ksj '}”j‘'Ksjò'}”jã'Ksj(}”j (Ksj¯(}”j (KsjL)}”j=)Ksj +}”j+KsjÐ+}”jÁ+KsjL,}”j=,Ksj<-}”j--Ksjf-}”jW-Ksj-}”j-Ksj©.}”jš.KsjÓ.}”jÄ.Ksjý.}”jî.Ksj'/}”j/Ksjy/}”jj/Ksj£/}”j”/KsjÍ/}”j¾/Ksj[0}”jL0Ksj…0}”jv0KsjÙ0}”jÊ0Ksj1}”jô0Ksj\3}”(jM3Kjû4Kuj®3}”(jŸ3KjM5Kuj®5}”jŸ5KsjØ5}”jÉ5Ksj*6}”j6Ksj|6}”jm6Ksj7}”j 7Ksj8}”jô7Ksj-8}”(j8KjD‘Kuj8}”jp8Ksjj9}”j[9KsjA:}”j2:KsjÕ;}”jÆ;Ksjÿ;}”jð;Ksj)<}”j<KsjS<}”jD<Ksj§<}”j˜<KsjÑ<}”jÂ<KsjŸ=}”(j=Kj§ÎKj^òKjŸKujT>}”jE>Ksj¨>}”j™>Ksjv?}”jg?Ksj ?}”(j‘?KjeøKj1 Kuj-@}”j@KsjŽ@}”j@Ksj A}”j‘AKsjõB}”jæBKsj€C}”(jqCKj¨ÖKujãC}”jÔCKsj7D}”(j(DKj×KujaD}”jRDKsj‹D}”j|DKsjµD}”(j¦DKj©×KujßD}”jÐDKsj E}”(júDKjRKuj3E}”j$EKsj]E}”jNEKsj‡E}”jxEKsj±E}”j¢EKsjÛE}”jÌEKsjF}”(jöEKjLOKj£SKujhF}”jYFKsjÉF}”jºFKsjóF}”jäFKsj”G}”(j…GKj·lKuj¾G}”(j¯GKj†VKujH}”jHKsj:H}”j+HKsjdH}”jUHKsjŽH}”(jHKjWKuj+I}”jIKsjUI}”jFIKsjâI}”jÓIKsj J}”jýIKsj6J}”j'JKsj`J}”jQJKsj!K}”jKKsjKK}”jR}”j/RKsj6S}”(j'SKj¿Kj\ÃKujT}”jTKsj?T}”j0TKsjU}”jôTKsj-U}”jUKsjU}”jpUKsj©U}”jšUKsjÓU}”jÄUKsj1V}”j"VKsjçV}”jØVKsjoW}”j`WKsjX}”jõWKsj.X}”jXKsj0Y}”(j!YKjÓZKujZY}”(jKYKjýZKujºY}”j«YKsj Z}”(jýYKjzKujˆZ}”(jyZKj×Kuj\}”jó[Ksj,\}”j\KsjV\}”jG\Ksj€\}”jq\Ksjª\}”j›\KsjÔ\}”jÅ\Ksj‘]}”j‚]Ksjô]}”jå]KsjW^}”jH^Ksj©^}”jš^KsjÓ^}”jÄ^Ksjý^}”jî^Ksj›_}”(jŒ_KjQKujþ_}”jï_Ksja}”jraKsj^b}”(jObKj)KjmKj Kujˆb}”(jybKj¥Kj—KjÇ KujVc}”(jGcKjKjm Kuj e}”j‘eKsj3f}”j$fKsj]f}”jNfKsjÐh}”(jÁhKjdKjFeKjrfKujFj}”(j7jKjÁdKujËl}”j¼lKsj´m}”j¥mKsjÞm}”jÏmKsjn}”jùmKsj2n}”j#nKsj\n}”jMnKsj"o}”joKsjLo}”j=oKsjvo}”jgoKsj o}”(j‘oKjuKujíp}”jÞpKsjq}”jqKsjAq}”j2qKsjkq}”j\qKsj•q}”j†qKsj¿q}”j°qKsjéq}”jÚqKsjr}”jrKsj=r}”j.rKsjÉr}”jºrKsjór}”järKsjos}”j`sKsj™s}”(jŠsKjctKujës}”(jÜsKjµtKujHt}”j9tKsj¦u}”j—uKsjÐu}”jÁuKsjúu}”jëuKsj$v}”jvKsj‘v}”j‚vKsj»v}”j¬vKsj7w}”j(wKsjaw}”jRwKsj‹w}”j|wKsj1y}”j"yKsj[y}”jLyKsj…y}”jvyKsj×y}”jÈyKsjz}”jŽzKsjÇz}”j¸zKsjñz}”jâzKsj{}”j {KsjE{}”j6{KsjË{}”(j¼{Kjé§Kuj|}”(j|KjOªKujo|}”(j`|KjõªKujÁ|}”(j²|KjG«Kuj}}”(j}KjA¬Kuje}}”jV}Ksj·}}”j¨}Ksj ~}”jú}Ksj[~}”(jL~KjȲKujÏ~}”(jÀ~KjåµKuj!}”jKsj?‡}”j0‡Ksji‡}”jZ‡Ksj“‡}”j„‡Ksj½‡}”j®‡Ksjç‡}”j؇Ksjˆ}”jˆKsj;ˆ}”j,ˆKsjeˆ}”jVˆKsjˆ}”j€ˆKsj¹ˆ}”jªˆKsjãˆ}”jÔˆKsj ‰}”jþˆKsjž‰}”j‰Ksjȉ}”j¹‰Ksjò‰}”jã‰KsjŠ}”j ŠKsjFŠ}”j7ŠKsjŒ}”jø‹Ksj¬}”jKsj3}”j$Ksj”}”(jÿ“KjàñKjUHKuj<–}”j-–KsjŽ–}”(j–KjSìKjjwKujà–}”(jÑ–Kj¥ìKj”%KjqKj¼wKuj4—}”j%—Ksj.˜}”j˜Ksj{š}”(jlšKjÁDKujÏš}”(jÀšKj‘EKujùš}”(jêšKj»EKuj#›}”j›Ksj}”jpKsjÓ}”jÄKsj˜Ÿ}”j‰ŸKsjŸ}”j³ŸKsjº }”j« Ksj ¡}”jý Ksj6¡}”j'¡Ksj`¡}”jQ¡KsjŠ¡}”j{¡KsjÜ¡}”jÍ¡Ksj.¢}”(j¢KjQ¥KujX¢}”jI¢Ksj‚¢}”js¢Ksj¬¢}”(j¢Kjù¥Kuj£}”j£Ksj ¤}”jú£Ksj²¤}”(j£¤Kj'Kj:Kj wKujŠ¥}”j{¥Ksj´¥}”j¥¥KsjÞ¥}”jÏ¥Ksj¸©}”(j©©KjkÊKj¢ïKjn<Kuj4ª}”(j%ªKj·ËKuj°ª}”j¡ªKsjÚª}”j˪Ksj¨«}”(j™«Kj5ÌKujü«}”jí«Ksj&¬}”j¬Ksj̬}”(j½¬KjÁÛKuj ­}”j­KsjJ­}”j;­Ksjt­}”je­Ksjž­}”j­Ksj®}”(j ®KjÕÍKj›ßKujD®}”(j5®KjÿÍKujn®}”(j_®Kj òKuj˜®}”(j‰®KjSÎKj†=Kuj®}”(j³®Kj}ÎKujì®}”(jÝ®Kj4òKuj@¯}”(j1¯KjÉÏKjkàKujj¯}”(j[¯KjoÐKujͯ}”(j¾¯KjÒÐKuj°}”j°KsjI°}”j:°Ksj9±}”(j*±Kj$ÑKujc±}”(jT±KjKýKujµ±}”(j¦±KjNÑKuj²}”(jø±KjýKujY²}”(jJ²Kj ÑKujƒ²}”jt²KsjK³}”(j<³KjFÒKuj³}”j޳Ksjm´}”(j^´Kj’ÓKujvµ}”jgµKsj µ}”(j‘µKjŒÔKujF¶}”(j7¶KjàÔKuj¶}”j޶Ksj%¸}”j¸Ksjw¸}”jh¸Ksj¡¸}”j’¸Ksj˸}”(j¼¸Kjj~Kujqº}”jbºKsj›º}”jŒºKsjź}”j¶ºKsj»}”j»Ksj“»}”j„»Ksj½»}”j®»Ksjç»}”jØ»Ksjc¼}”jT¼Ksj¼}”j~¼Ksj½}”jø¼Ksj1½}”j"½Ksje¾}”jV¾Ksj˜À}”j‰ÀKsjêÀ}”jÛÀKsjÁ}”jÁKsj>Á}”j/ÁKsu(jñÁ}”jâÁKsj•Ã}”j†ÃKsj¿Ã}”j°ÃKsjéÃ}”jÚÃKsjÄ}”(jÄKj#IKuj=Ä}”(j.ÄKjMIKujÄ}”j€ÄKsj¹Ä}”(jªÄKjŸIKujãÄ}”jÔÄKsjZÅ}”jKÅKsj±Å}”j¢ÅKsjšÆ}”(j‹ÆKjeqKujÄÆ}”jµÆKsjîÆ}”j߯Ksj¾Ç}”j¯ÇKsjÚÈ}”jËÈKsjVÉ}”jGÉKsj€É}”jqÉKsj&Ê}”jÊKsjPÊ}”jAÊKsjöÊ}”jçÊKsj Ë}”jËKsjrË}”jcËKsjðË}”jáËKsjÌ}”j ÌKsj˜Ì}”j‰ÌKsjìÌ}”jÝÌKsjhÍ}”(jYÍKjð[KujºÍ}”j«ÍKsj8Î}”j)ÎKsjÏ}”jùÎKsjZÏ}”jKÏKsj„Ï}”juÏKsjÐ}”jóÏKsjTÐ}”jEÐKsjÙÑ}”jÊÑKsjÒ}”jôÑKsj§Ò}”j˜ÒKsjÑÒ}”jÂÒKsjûÒ}”jìÒKsjwÓ}”jhÓKsjËÓ}”j¼ÓKsjõÓ}”jæÓKsjqÔ}”jbÔKsjÕ}”(j ÕKj;øKujCÕ}”j4ÕKsj•Õ}”j†ÕKsjÙ}”jöØKsj.Ú}”(jÚKjÐîKjO Kjs KujþÚ}”jïÚKsj(Û}”jÛKsjRÛ}”jCÛKsj|Û}”jmÛKsj$Ü}”jÜKsjÔß}”jÅßKsjþß}”jïßKsjšá}”j‹áKsjÄá}”jµáKsjâ}”j âKsjBâ}”j3âKsj”â}”j…âKsjæâ}”j×âKsjŽã}”jãKsj¸ã}”j©ãKsj©ä}”jšäKsj¡æ}”(j’æKjBXKujè}”jèKsjqè}”jbèKsjÅè}”j¶èKsj-é}”jéKsjWé}”jHéKsjì}”jÿëKsj8ì}”j)ìKsj‚í}”jsíKsjwð}”jhðKsj¡ð}”(j’ðKj½žKujÅñ}”j¶ñKsj¿ò}”j°òKsjéò}”jÚòKsjó}”jóKsj=ó}”(j.óKjÚ=Kujó}”(j€óKj,>Kujáó}”(jÒóKj@úKuj<õ}”j-õKsj¸õ}”j©õKsj†ö}”jwöKsj°ö}”(j¡öKjKujÚö}”(jËöKj;Kuj÷}”jõöKsjoù}”j`ùKsj™ù}”jŠùKsjÃù}”j´ùKsj¡ú}”j’úKsjËú}”j¼úKsjÑû}”jÂûKsjûû}”jìûKsj0ý}”j!ýKsjþý}”jïýKsj(þ}”jþKsjzþ}”jkþKsjqÿ}”jbÿKsj›ÿ}”jŒÿKsjÅÿ}”j¶ÿKsjÞ}”jÏKsj0}”(j!Kjñ Kj¼~KjN‚Kuj‚}”(jsKjC KjKj ‚Kuj }”(jKju Kjá Kuj*}”jKsjÐ}”jÁKsjú}”jëKsj$}”jKsjN}”j?Ksjx}”jiKsj¢}”j“KsjÌ}”j½Ksjö}”jçKsjh}”jYKsj’}”jƒKsjä}”jÕKsjR}”jCKsj} }”jn Ksjˆ }”jy Ksj² }”j£ KsjÜ }”jÍ Ksj }”j÷ Ksj0 }”j! KsjZ }”jK Ksj}”jKsj?}”j0Ksji}”jZKsj“}”j„Ksj½}”j®KsjJ}”j;Ksjœ}”jKsjÆ}”(j·Kj¼RKujð}”jáKsj±}”j¢Ksjð}”(jáKjHfKj–Kuj>}”(j/KjÀgKjx˜Kuj’}”(jƒKjhKj ™Kujä}”(jÕKjfhKjr™Kuj/}”j Ksj}”jrKsj«}”jœKsj'}”jKsj }”jüKsj5}”j&Ksj_}”jPKsj³}”j¤KsjÝ}”jÎKsj}”jøKsj1}”j"Ksj”}”j…Ksj¢}”j“Ksjô}”jåKsjT }”jE Ksj~ }”jo Ksj¨ }”(j™ KjÞiKujÒ }”(jà KjjKujm!}”j^!Ksj¿!}”j°!Ksjé!}”jÚ!Ksj"}”j"Ksj="}”j."Ksj—"}”jˆ"KsjÁ"}”j²"Ksjo#}”j`#Ksj«$}”jœ$Ksjý$}”jî$Ksjy%}”jj%KsjÍ%}”j¾%KsjI&}”j:&Ksjs&}”jd&Ksj&}”jŽ&KsjÇ&}”j¸&Ksjñ&}”(jâ&Kj_rKujT'}”(jE'KjÂrKuj(}”j(Ksjý+}”jî+Ksj',}”j,Ksj~,}”jo,Ksj÷-}”jè-KsjI.}”j:.Ksjs/}”jd/KsjÇ/}”j¸/KsjÚ1}”jË1Ksj,2}”j2KsjV2}”jG2Ksj€2}”jq2Ksjx3}”ji3KsjÊ3}”j»3Ksjô3}”jå3KsjF4}”j74Ksji6}”jZ6Ksj37}”j$7Ksjæ7}”j×7Ksj8}”j8Ksj:8}”j+8Ksjd8}”jU8Ksj§9}”j˜9Ksj)<}”j<Ksj1?}”j"?Ksj­?}”jž?Ksjd@}”jU@KsjŽ@}”j@Ksj¸@}”j©@Ksj4A}”j%AKsjB}”j BKsjDB}”j5BKsjnB}”j_BKsj˜B}”j‰BKsjÂB}”j³BKsjìB}”jÝBKsjC}”jCKsjÞC}”jÏCKsjD}”jùCKsj2D}”j#DKsj\D}”jMDKsjúD}”jëDKsjŽH}”jHKsjàH}”jÑHKsjöJ}”jçJKsj’K}”jƒKKsjäK}”jÕKKsj6L}”j'LKsj`L}”jQLKsjŠL}”j{LKsj´L}”j¥LKsjÞL}”jÏLKsjM}”jùLKsj2M}”j#MKsj„M}”juMKsj®M}”jŸMKsjØM}”jÉMKsj*N}”jNKsjTN}”jENKsj~N}”joNKsj¨N}”j™NKsjúN}”jëNKsjLO}”j=OKsjžO}”jOKsjÈO}”j¹OKsjòO}”jãOKsjDP}”j5PKsjnP}”j_PKsjÀP}”j±PKsj)Q}”jQKsjSQ}”jDQKsj}Q}”jnQKsjÏQ}”jÀQKsjùQ}”jêQKsj#R}”jRKsjMR}”j>RKsjªS}”(j›SKjê­KujÔS}”(jÅSKj®Kuj]T}”jNTKsjuU}”jfUKsjÇU}”j¸UKsj;V}”j,VKsjV}”j~VKsj·V}”j¨VKsj W}”júVKsj[W}”jLWKsj­W}”jžWKsjÿW}”jðWKsj±Y}”j¢YKsjZ}”jôYKsjUZ}”jFZKsj§Z}”(j˜ZKj[Kuj«[}”jœ[KsjÕ[}”jÆ[KsjU]}”jF]Ksj]}”jp]Ksj©]}”jš]Ksj_}”(j_Kj ŽKujæa}”j×aKsjŒb}”j}bKsjÊc}”(j»cKjEdKjpeKujäj}”jÕjKsjk}”jÿjKsjm}”jpmKsj÷m}”jèmKsj!n}”jnKsjKn}”jKj´MKjó[Kj|cKj$fKjlšKjQ¡Kj³ÀKjÛÀKjÅßKjAàKj×âKjãKjsíKjÒKjÁKjëKjçKjYKj¢ KjÁDKj=EKuj&}”(jKj:KjdKjŽKj¸Kj¬Kj*KjôKjSKjÏKjq KjÚ Kjg Kj¼ KjKjØKj2Kj\KjæKjKj:KjdKjKjIKj¯Kj<KjìKjœKjÆKj%KjwKjÉKjæKjðKj°KjÍKj5$Kjó%Kj:'Kj¿+Kj=,Kj/Kjß/Kj>0Kj[0Kjº0Kjê1Kj2Kjò2Kj3Kjø3KjW4Kjt4KjÈ4KjQ5Kj˜5Kj]6Kj«7KjÕ7KjJ;Kjg;Kj‘;Kj›?KjAKjÊBKjCKj9CKjóDKjEEKjFKjñFKj6HKjãLKjPKjRKjTKjeTKj¬TKjÖTKjUKj‰UKj VKj%XKjèXKjRYKjµYKj”ZKj[Kj<[KjÜ]Kj^KjZ^Kj„^Kj®^KjØ^Kj_KjÒ_Kj1`KjWaKjaKj bKj{bKjcKjïcKjƒdKjÛdKjJeKjÉfKjzgKjÒgKjNhKjiKjÂiKj jKjhjKj¯jKj…lKjÝlKj2nKj‹nKjYoKj«oKjArKjwsKj¥tKj÷tKjTuKjwuKjqvKj"wKjÝyKjþzKjU~Kjâ~KjlKj6‚Kj•‚Kjç‚Kj9ƒKj7„KjG†Kjd†KjކKj¸†Kjœ‡Kj-‰Kj–‰Kjù‰KjRŠKjé‹KjnKjíKj:KjdKjŽKj¸KjâKjv‘Kj”’Kj:“Kjd“Kj™–Kj—Kj?—Kji—Kj ˜Kj ˜Kj™KjA™Kjk™Kj¿™Kjé™KjÎKjJžKjtžKjt Kjž KjÈ Kj¡KjF¡Kjp¡Kjš¡Kj¢KjB¢Kj~£Kjõ£Kj¤KjI¤Kj¤Kj&¥KjC¥Kj—¥Kjö¥Kj§Kj2§Kjœ§Kj¿§Kj©KjŒ©Kjô¬KjQ­Kj©­Kjú­Kj®®Kj¯Kjt¯KjS±Kj«±KjO²KjG³Kj¤³Kjd´Kj´Kj¶Kjð¸Kjµ¼Kj½KjP¾Kj—¾KjÁ¾Kjë¾Kj¿Kj!ÁKjËÆKj]ÇKjhËKjäÍKjVÏKjþÏKjÒKj:ÒKjdÒKjÃÒKjgÓKj¹ÓKj´ÖKj…×KjØKjäØKjÙKj¶ÙKjàÙKj?ÚKj\ÚKj†ÚKj°ÚKjŒÛKjëÛKjÜKj2ÜKjYßKj”àKj÷àKjZáKj}áKjvèKjéKjVéKj¨éKjúéKjLêKjiêKjëKjcëKj€ëKjªëKj ìKj&ìKjPìKjzìKjòKj+ôKjÅöKjïöKj÷Kjö÷KjZøKjØøKjùKj—ùKjVúKj€úKj!þKjâÿKjžKjKj_Kj±Kj-KjKj`KjKjªKj[KjîKjüKjN Kj­ Kj^ Kj² Kj#KjKj=Kj±KjKjåKj=KjŽKj?Kj\Kj†Kj°KjÆKj Kj7Kj–Kj³Kj1KjKjâKj?Kj—KjÞKjKjgKjÄKjKj9KjcKj KjÄKj# Kj@ KjÝ!Kj:"KjÇ"Kj#Kjq#KjÃ#Kj‚%Kj¦&Kjø&KjB(Kjô*Kj+Kj ,Kjp.KjM/Kjó/Kjv0Kj 0KjÊ0Kjô0Kj03Kjx4KjŸ5Kjþ5Kjg:Kjð;Kj<Kj!=KjÅ=Kj">KjE>KjÆ?Kj¼BKjæBKj(DKjRDKj|DKj¦DKjÐDKj6FKjäFKjäGKjHKj+HKjUHKj°IKj›Kj/ Kjà Kjý Kj'¡KjI¢KjУKj{¥Kjp¨Kj,©KjU©Kj©Kj™«KjëKjç¬Kj ®Kj1¯Kj›¯Kjó¯Kj°Kj:°Kj¯°KjJ²Kj³Kjë´Kj‘µKj»µKj7¶KjT¼KjV¾Kj†ÃKjcÄKj¢ÅKjËÈKj*ÉKjÃÉKjíÉKj½ÊKj5ÌKj_ÌKj‰ÌKj³ÌKjŽÍKj«ÍKjÕÍKjÜÎKjKÏKjuÏKjÉÏKj(ÐKj¯ÐKjÑKj ÑKjŒÔKj¶ÔKjàÔKjV×Kj×Kj©×Kj~ÚKjïÚKjëÛKj›ßKjkàKjÊàKjnáKjUãKjÓãKjñçKjèKj8èKjbèKjŒèKj¶èKjéKjHéKjˆìKj¥ìKjNïKjxïKj?ðKjhðKjÇðKjäðKjñKj8ñKjbñKjŒñKj“òKj°òKj õKjbõKjõKj©õKjZöKjwöKj¾÷Kjç÷KjøKjšøKjŠùKjéùKjïýKjkþKjEÿKjbÿKjŒÿKj¶ÿKjˆKjKjVKjsKjèKjˆKjPKj“Kj½KjxKjÊKjKj9KjÕKj' KjD Kj£ Kjì Kj& KjC Kj¸ KjXKj·KjUKjrKjÑKjîKjMKj&KjPKj¤KjÎKjøKjbKjºKj‡Kj`#Kj”%Kjd&Kj"'KjÄ+Kjî+Kj.Kjo.Kj2Kj4Kj74Kj6Kj06Kj$7Kj×7Kj8Kj+8KjŠ8KjÇ;KjD<Kj]=Kjž?KjÞ@Kjû@KjZAKjîAKj‘EKj´HKjIKj‚IKj¸KKj LKj'LKjQLKj{LKj¥LKjÏLKjXMKjuMKjþMKjNKjENKjoNKjÎNKj OKjPKj5PKj”PKjDQKj£QKjÀQKjêQKjRKj¼RKjëTKjÍZKjL[Kj%\Kjº_Kj®`Kj­aKj}bKj¤dKjödKjÕjKjÿjKjpmKjnKjKj!cKj©eKjûeKjMfKjìtKjIuKj¹xKj/zKjázKj]{KjúKjL€Kjž€KjŽKj–„Kjè„Kj|ŠKj¦ŠKjöKjYŽKjÓKj”Kjý±KjµKj"ÅKj©ÅKj{ÊKj,ÛKj.âKjÒâKj KjjKjíKjìKj--KjW-Kj·1Kj 2Kjw3KjÉ3Kj%5Kjw5Kjh=Kj??Kj}^Kjš^KjÄ^KjØbKj*cKj ŠKjuKjØKj¨˜Kjú˜Kj#žKjužKj¢Kj*£Kj‰£Kjh¸Kj’¸KjëºKj=»KjhÇKjšäKjíKjVíKjhKjo Kjà Kjî$Kjj%KjË-KjÁ.Kjú2KjA3Kjž3Kj–4KjÝ4KjIUKjjKjHqKj¹{Kj |Kjþ„Kuj}”(jKjÓKj  Kj KjŽKjdŽKj-ÅKj9âKjÝâKj‚3KjÔ3Kj05Kj‚5Kjs=KjJ?Kj€KjãKjpKjÄKjL3Kjè4KjùCKjÄ{Kj|Kuj’ }”(jŠ Kjí Kj>KjžeKjðeKjBfKj¿hKj^rKj®xKj$zKjÖzKjR{KjïKjA€Kj“€Kj‹„KjÝ„KjëKjNŽKj¸“Kj ”Kj•°Kj¿°Kjò±Kj…µKjžÅKjLÉKjpÊKj_Kj©KjâKj…KjáKj&KjG&Kj¬1Kjþ1Kjg?KjfKKjr^KjÍbKjcKjjKjÍKj%—Kj˜Kjï˜KjžKjjžKj÷¡Kj~£Kj˪Kje­KjàºKj2»Kj]ÇKj¯ÇKjÊKjáËKjùìKjKíKj¡öKjËöKjõöKj]KjÀ-Kj¶.Kjï2Kj“3Kj‹4Kj>UKj=qKjó„KjåˆKj#‹KjKj;Kj[Kjð«Kuuh™}”(h }”h€Ksj0}”(jKjdKujZ}”j:Ksj®}”jŽKsjØ}”j¸KsjÌ}”j¬Ksjö}”(jÖKjñ(Kuj }”(jKjÞÜKj§2KjÅÚKujJ}”j*Ksjt}”(jTKjÝKuj—}”(j~Kj±•Kj…Kujò}”(jÒKjÞKuj}”(jüKjµKj,ÞKujn}”(jNKj~ÞKuj˜}”(jxKj¨ÞKuj»}”(j¢Kj¬KjÒÞKj¢þKjñ3KjüFKjÑ`Kuj}”jôKsj7}”(jKjKj$ßKjC4Kuj‰}”(jpKjYKjýãKujº}”jšKsj‚}”jbKsj¥}”jŒKsj÷}”(jÞKjâKj>=Kj3KujP}”j0Ksjz}”jZKsj}”(j„KjÇKjd°Kuj}”jøKsj;}”j"Ksj”}”jtKsj·}”(jžKj¨âKj?Kj³4Kuj }”jðKsjy }”(j` KjÁKj@KujÜ }”(jà Kj$ŽKj£Kuj? }”(j& KjÉKj„‘Kj ×KjôïKj<Kj=Kj TKuj³ }”(jš KjV‰Kj­Kj ’Kuj }”(jý Kj$SKj©@Kuj@ }”(j' Kj¹‰Kj6‘Kjâ=KjS”Kuj£ }”(jŠ KjÃ>Kuj  }”j‡ Ksjò }”jÙ KsjK}”j+Ksjn}”(jUKjÒnKjdzKjÈKj'ZKjÓõKjÐ>Kj…|Kujú}”(jÚKjš+Kuj$}”jKsjN}”j.KsjÎ}”(j®Kj8ÙKujø}”(jØKj2Kuj|}”j\Ksj}”jæKsj0}”jKsjZ}”j:Ksj„}”jdKsj§}”jŽKsj?}”(jKj¯Kj­aKuji}”(jIKjRNKuj“}”jsKsj½}”jKsjç}”jÇKsj}”(jñKj+Kj)bKuj;}”(jKjKjSbKuje}”jEKsjò}”jÙKsju}”jUKsj<}”j#Ksj}”(jþKjDþKjNGKj#aKuj}”(jaKj®ÝKuj«}”(j‹KjØÝKuj }”j€KsjÄ}”j«Ksjj}”jJKsj}”jÿKsjI}”j)Ksj¼}”jœKsjæ}”jÆKsj }”jðKsj[}”(jBKj•BKj•Kj Kuj­}”(j”KjçBKjçKjòKuj}”(jæKj9CKj9KjD Kuj)}”(jKj>­Kuj‚}”jbKsjÙ}”j¹Ksj}”jðKsj:}”jKsj”}”(j{KjÇKjišKují}”(jÍKj‹›KujQ }”(j1 KjÂÀKjJÅKjn<Kj?iKjmuKjþvKjÜKj›2Kuj{ }”j[ Ksj!}”(jõ KjIPKjKj©ðKj_Kj¼¿Kj•*KjF:KjsKujÌ#}”j¬#Ksjö#}”jÖ#Ksj$}”j$Ksj´%}”j”%Ksj×%}”j¾%Ksj'}”jæ&Ksj0'}”j'KsjZ'}”(j:'KjþzKj6‚Kjk®Kuj£(}”jƒ(KsjÍ(}”j­(Ksjµ+}”j•+Ksjß+}”j¿+Ksj ,}”jé+Ksj3,}”j,Ksj],}”j=,Ksj‡,}”jg,Ksj˜-}”j-Ksj.}”(ja.Kj¨_Kj2ÃKjxKj¨Kj›ÚKjúîKjR;Kuj¤.}”(j‹.KjذKjçàKjNôKj~>Kujý.}”(jÝ.Kj¸qKjÊÉKjO—Kj ´KjãKj÷KjÈ?Kuj'/}”(j/Kjë´KjUãKjøKjû@Kujÿ/}”jß/Ksj"0}”(j 0Kj"4Kuj{0}”j[0Ksjž0}”(j…0KjiKjsKuj÷0}”j×0Ksj!1}”j1Ksj1}”ja1Ksj«1}”j‹1KsjÎ1}”(jµ1KjåiKjÞ5KjodKuj'2}”(j2Kj˜5Kj06Kuj„2}”jk2KsjÖ2}”j½2Ksj/3}”j3KsjÄ3}”j¤3Ksjî3}”jÎ3Ksj4}”jø3Ksj”4}”jt4Ksj¾4}”jž4Ksjè4}”(jÈ4Kj½ÊKj‘ˆKuj5}”jò4Ksj55}”(j5KjÍOKj3jKj–ÆKj¿*KjÿKjϰKujŽ5}”jn5Ksj}6}”(j]6Kj›?Kuj§6}”(j‡6KjÅ?Kujr7}”jY7KsjË7}”j«7Ksjõ7}”jÕ7Ksj8}”jÿ7Ksj¤8}”(j„8Kjž²KujÎ8}”j®8Ksjø8}”jØ8Ksjõ9}”(jÜ9Kjè’KjÚÚKj£—Kj$¤KujG:}”j.:Ksj :}”(j€:Kj2”Kj™KjÂ9Kuj.;}”j;Ksj‡;}”jg;Ksj±;}”j‘;KsjÛ;}”j»;Ksj<}”jå;Ksj/<}”j<KsjY<}”j9<Ksjƒ<}”jc<Ksj­<}”j<Ksj×<}”j·<Ksj=}”já<Ksj+=}”j =KsjU=}”j5=Ksj=}”j_=Ksj©=}”j‰=KsjÓ=}”j³=Ksjö=}”(jÝ=Kj¸Kj3KjUKuj'A}”(jAKj¼BKujJA}”j1AKsjÞA}”j¾AKsj×D}”(j¾DKjEKuj!F}”(jFKj 0Kuj‰F}”jiFKsj³F}”j“FKsjG}”jñFKsjÍG}”(j­GKj0xKjÀKjÃKjmhKj>kKjKjôeKj§’Kjh•KjšKuj÷G}”(j×GKjDÀKj—hKjhkKj·KjfKjÑ’Kj’•Kj?šKujH}”jHKsjsH}”(jSHKjZxKjnÀKjÎÄKjëhKj’kKj KjœfKj%“Kj:–Kj»šKujH}”(j}HKj˜ÀKjiKj¼kKj5KjÆfKjO“Kjd–KjåšKujÀH}”j§HKsjI}”(jùHKj>ÁKjiiKjækKj³KjDgKj0”KjÒ—Kj›KujkI}”jKIKsj•I}”(juIKjÁKuj¿I}”(jŸIKjTyKjºÁKujâI}”jÉIKsjûJ}”jÛJKsj1L}”(jLKjzMKjžKuj[L}”(j;LKj¤MKj“žKuj…L}”(jeLKjÎMKjaŸKuj¯L}”(jLKjøMKj‹ŸKujÙL}”(j¹LKj"NKjµŸKujM}”jãLKsjŸN}”jNKsjÉN}”j©NKsjóN}”jÓNKsjJO}”(j*OKj #KujÃO}”(j£OKj²]KjÞÂKuj?P}”(jPKj!±KujÈQ}”j¨QKsjëQ}”(jÒQKjÒKujS}”júRKsjÕS}”(j¼SKjâˆKj#Kj¢Kjá¨Kj|;KujIT}”(j0TKjû2Kj¹AKj}tKuj¢T}”j‚TKsjÌT}”j¬TKsjöT}”(jÖTKjëKj_ÌKuj U}”(jUKjç¬Kj³ÌKjëÛKujJU}”(j*UKjX1Kj°=KujmU}”jTUKsj¿U}”(j¦UKjˆ´Kjò?Kuj)V}”(j VKj»µKj¶ÔKjÓãKujdW}”jKWKsj½W}”jWKsjçW}”jÇWKsjEX}”j%XKsjY}”jèXKsj+Y}”jYKsjŽY}”(juYKj±KujøY}”jØYKsjZ}”(jZKjÀ²KujmZ}”(jTZKjd³Kuj[}”jêZKsj\[}”j<[Ksj†[}”jf[Ksjü]}”jÜ]Ksj&^}”j^KsjP^}”j0^Ksjz^}”jZ^Ksj¤^}”j„^KsjÎ^}”j®^Ksjø^}”jØ^Ksj"_}”j_KsjL_}”j,_Ksjo_}”jV_Ksjò_}”jÒ_Ksj`}”(jü_Kj¿¬Kj¨!Kujn`}”(jN`KjKjšKuj˜`}”(jx`KjÄKjÑ2KjOåKj$ïKjð;Kuj»`}”j¢`Ksja}”(jaKjÎKujwa}”(jWaKjU©KjÃÉKjNïKjD<Kuj¡a}”(jaKj©KjíÉKjxïKujËa}”j«aKsjîa}”jÕaKsjGb}”(j'bKjŽ/Kujqb}”jQbKsj›b}”j{bKsjÅb}”j¥bKsjèb}”jÏbKsjAc}”j!cKsjdc}”(jKcKj|ÄKuj¶c}”jcKsjd}”jïcKsj9d}”jdKsj\d}”jCdKsj¿d}”j¦dKsje}”(jødKj…Kujje}”jJeKsje}”(jteKjÅKujße}”(jÆeKji€Kuj1f}”jfKsjƒf}”jjfKsj­f}”j”fKsjg}”jæfKsj0g}”(jgKj]"KujSg}”(j:gKj­Kj4¯Kj‡"Kuj¶g}”(jgKjê"Kujh}”jïgKsj2h}”(jhKjì<Kuj‹h}”jkhKsjµh}”j•hKsjßh}”j¿hKsji}”jéhKsjTi}”(j;iKjDÆKj¬dKj¹­KjÍKujÿi}”jßiKsj)j}”j jKsj¥j}”(j…jKj¯KjŸÏKujÏj}”j¯jKsjùj}”(jÙjKjèÆKjAàKjYKujk}”jkKsjk}”jfkKsjék}”jÉkKsj l}”jókKsj^l}”jElKsjÁl}”(j¨lKj<#Kujm}”júlKsjlm}”jLmKsj–m}”jvmKsj¹m}”j mKsj n}”(jòmKjÊôKujnn}”jUnKsjÈn}”j¨nKsj=o}”(j$oKj%öKujo}”(jvoKjë+Kujáo}”jÈoKsj3p}”(jpKjß´Kj-Kj¼Kjè%KjL?Kj}KujŒp}”jlpKsj¯p}”j–pKsjq}”jèpKsj+q}”(jqKj¸³KjÓKuj„q}”jdqKsj®q}”jŽqKsjr}”(jâqKjy—Kj4´Kj+ãKjI÷Kuj%r}”j rKsj~r}”j^rKsj¡r}”jˆrKsjór}”jÚrKsjEs}”(j,sKjs÷KujÀs}”j sKsjês}”jÊsKsjt}”jôsKsj7t}”(jtKjôÉKj?óKjQSKjµKjÔKuj‰t}”(jptKjt­KjŽ#KujÛt}”jÂtKsj-u}”juKsj—u}”jwuKsjºu}”j¡uKsjëu}”jËuKsjv}”jõuKsj8v}”(jvKjËKuj‘v}”(jqvKjhËKuj´v}”j›vKsjw}”jívKsjXw}”j?wKsj±w}”j‘wKsjÛw}”j»wKsjx}”(j„xKj¬zKja„KjȱKjtÅKj–-KjÅ2Kujöx}”(jÖxKj_KjðfKjŽ–Kuj y}”(jyKj‰KjgKj¸–KujJy}”(j*yKjKj–gKj$˜Kujžy}”(j~yKjäÁKjo>Kj»iKj8lKjYKjêgKj̘KujÁy}”j¨yKsjz}”(júyKj({Kj³„Kj[µKjFÊKjŒ.Kja4Kujlz}”(jLzKjÂKj‰jKjblKjÿKjhKj¬”Kjœ™Kujß|}”(j¿|KjľKuj }}”jé|Ksj~}”jö}Ksj9~}”(j ~Kj­~Kj`‚KjSKujE}”j,Ksj0€}”j€KsjÛ€}”(j»€Kj—+Kuj„}”(jdKj ‚Kuj®}”jŽKsjØ}”j¸Ksj‚}”jâKsjË‚}”j²‚Ksjƒ}”jƒKsjþƒ}”(jåƒKj Kj.KjZdKj?eKujW„}”(j7„KjäÍKjp.Kj%bKjïcKuj+†}”(j†Kj!éKj.ëKj¼çKuj„†}”(jd†Kj8èKuj®†}”(jކKjiêKjzìKjŒèKuj؆}”j¸†Ksj‡}”jâ†Ksjc‡}”jJ‡Ksj¼‡}”jœ‡Ksj!ˆ}”jˆKsj؈}”(j¸ˆKj¸ÁKujrŠ}”jRŠKsjœŠ}”j|ŠKsjÆŠ}”j¦ŠKsjðŠ}”(jЊKjZ»Kuj‹‹}”(jk‹KjBšKujµ‹}”(j•‹Kj=EKujß‹}”(j¿‹Kj–šKjgEKuj Œ}”(jé‹Kj>›KujÀŒ}”(j§ŒKjÒŽKuj}”(jùŒKjNKuj·}”(j—KjKuj§Ž}”(j‡ŽKj‘KujÑŽ}”(j±ŽKj0‘KujûŽ}”(jÛŽKjZ‘Kj@~Kuj%}”(jKjø‘KujO}”(j/Kj"’Kujy}”(jYKjL’Kuj£}”(jƒKjv’Kj«ëKuj0}”(jKj“KjÕëKujZ}”(j:Kj-“KjäðKuj„}”(jdKjW“KjñKuj®}”(jŽKj“Kj8ñKujØ}”(j¸Kj«“KjbñKuj‘}”(jâKjÕ“KjŒñKuj,‘}”(j ‘Kj)”KjõøKuj¹‘}”(j™‘Kj¶”KjSKujã‘}”(jÑKjà”Kj$ôKuj’}”(jí‘Kj •Kuj´’}”(j”’Kj–KjõKujÞ’}”(j¾’Kjû–KjæwKujZ“}”(j:“Kj­ Kjõ—Kuj„“}”(jd“KjI˜Kjç÷Kuj§“}”(jŽ“Kj‚1Kj£bKjs˜KjîKj3ÇKjÏìKujù“}”(jà“Kj·KjÔ1KjõbKjŘKj@žKj!íKuj–}”jÿ•Ksj¹–}”j™–KsjÜ–}”jÖKsj5—}”j—Ksj_—}”j?—Ksj‰—}”ji—Ksj,˜}”(j ˜Kjt Kj©Kjº_KujV˜}”(j6˜Kjê¢Kujy˜}”(j`˜Kj>£KjpIKujã˜}”(jØKj¡£Kj ôKuj ™}”(jí˜Kj•™KjË£Kjb©Kjä_Kuj7™}”(j™Kjõ£Kuja™}”(jA™Kj¤Kuj‹™}”(jk™KjC¥Kujß™}”j¿™Ksj š}”(jé™KjtžKuj€š}”j`šKsjÓš}”jºšKsjN›}”j.›Ksjî}”jÎKsjž}”jøKsjjž}”jJžKsj¾ }”jž Ksjè }”jÈ Ksj¡}”jò Ksj<¡}”j¡Ksjf¡}”(jF¡Kjp¡Kujº¡}”jš¡Ksjä¡}”(jÄ¡KjálKuj¢}”jî¡Ksj8¢}”(j¢Kj¿§Kujb¢}”jB¢KsjŒ¢}”jl¢Ksj¶¢}”j–¢Ksjà¢}”jÀ¢Ksj-£}”j£Ksji¤}”jI¤Ksj“¤}”js¤Ksj½¤}”j¤Ksjà¤}”jǤKsj ¥}”jñ¤Ksj¥}”jm¥Ksj·¥}”j—¥KsjÚ¥}”jÁ¥Ksjg¦}”(jG¦KjþCKjî¾Kj mKujÔ¦}”(j´¦KjJ¨Kujþ¦}”jÞ¦Ksj(§}”j§KsjR§}”j2§Ksju§}”j\§KsjX©}”j8©Ksj¬©}”jŒ©KsjÖ©}”j¶©Ksj®}”jú­Ksj‡®}”(jn®Kjú!Kujê®}”jÑ®Ksj·¯}”j—¯Ksjá¯}”(jÁ¯Kj ÇKuj °}”(jë¯Kj…ÇKujµ°}”j•°Ksjß°}”j¿°Ksj ±}”(jé°KjšKuj±}”jv±Ksj3²}”j²KsjŒ²}”jl²Ksj¶²}”j–²Ksj+³}”(j³Kj­Kj"ŒKjö¯Kuj2´}”j´Ksj¦´}”j´KsjQµ}”j1µKsj͵}”j­µKsj÷µ}”j×µKsj!¶}”j¶KsjK¶}”j+¶Ksju¶}”(jU¶KjH°Kuj˜¶}”j¶Ksj!·}”(j·Kj·¨Kuj¦¸}”(j¸Kj+Kuj¹}”(jð¸KjKujº}”jî¹Ksjôº}”jÔºKsj»}”jþºKsjH»}”j(»KsjA¼}”j!¼Ksjk¼}”jK¼Ksj޼}”ju¼Ksjñ¼}”(jؼKj ŠKuj[½}”j;½Ksj¾}”(jñ½Kjm¾Kuj4¾}”j¾Ksj·¾}”j—¾Ksjá¾}”jÁ¾Ksj ¿}”jë¾Ksj5¿}”j¿Ksj…¿}”jl¿KsjÁ}”jìÀKsjuÃ}”j\ÃKsjÇÃ}”j®ÃKsjCÄ}”(j*ÄKjŒpKujÅ}”jøÄKsjæÅ}”jÆÅKsjÆ}”jðÅKsj:Æ}”jÆKsj¦Ç}”(j†ÇKjßáKujÐÇ}”j°ÇKsjúÇ}”jÚÇKsjoÈ}”jVÈKsjÁÈ}”j¨ÈKsjÉ}”júÈKsjlÉ}”jLÉKsj–É}”jvÉKsjÀÉ}”j ÉKsj¸Ê}”j˜ÊKsjâÊ}”jÂÊKsj Ë}”jìÊKsj²Ë}”j’ËKsjÜË}”j¼ËKsj.Î}”jÎKsjQÎ}”j8ÎKsj"Ï}”(jÏKj€ÏKujLÏ}”(j,ÏKjÔÏKujvÏ}”(jVÏKj¥zKujÊÏ}”jªÏKsjÐ}”(jþÏKjdÒKujHÐ}”(j(ÐKjÎgKjäyKujrÐ}”jRÐKsjœÐ}”j|ÐKsjÆÐ}”j¦ÐKsjðÐ}”jÐÐKsjÑ}”(júÐKj‡ KjøgKjzKuj¯Ñ}”j–ÑKsjÒ}”jèÑKsjZÒ}”j:ÒKsj§Ò}”jŽÒKsjùÒ}”jàÒKsjKÓ}”j2ÓKsjÓ}”j„ÓKsjFÖ}”j-ÖKsj˜Ö}”(jÖKjP×KujêÖ}”jÑÖKsjØ}”jhØKsjÚØ}”jºØKsjÙ}”jäØKsj.Ù}”jÙKsj‚Ù}”(jbÙKj8ºKuj¬Ù}”jŒÙKsjÖÙ}”j¶ÙKsjÚ}”jàÙKsj#Ú}”j ÚKsj|Ú}”j\ÚKsj¦Ú}”j†ÚKsjÐÚ}”j°ÚKsjLÛ}”j,ÛKsj¬Û}”jŒÛKsjÏÛ}”j¶ÛKsj(Ü}”jÜKsjRÜ}”j2ÜKsjRÝ}”j2ÝKsjuÝ}”j\ÝKsjâß}”jÉßKsjmà}”jTàKsjÐà}”(j·àKjáKujá}”j}áKsjÇá}”(j§áKj•4Kujoâ}”(jVâKjŒiKujáä}”(jÁäKj¼•Kuj å}”(jëäKjâ–Kuj.å}”(jåKj —Kuj˜å}”(jxåKjN˜KujÂå}”(j¢åKjö˜KujEæ}”j%æKsjoæ}”jOæKsj™æ}”jyæKsj7è}”jèKsjZè}”jAèKsjèè}”(jÏèKjÜêKj;¨KjõÈKjIÚKujŒé}”(jséKjÔëKujÞé}”(jÅéKj•àKuj0ê}”(jêKj9áKuj ë}”j€ëKsjÊë}”jªëKsjFì}”j&ìKsjpì}”jPìKsjí}”(júìKjgÜKujeí}”(jLíKj¹ÜKuj·í}”(jžíKj ÝKuj î}”(jðíKj]ÝKuj[î}”(jBîKj¯ÝKuj­î}”(j”îKjÞKujÿî}”(jæîKjSÞKujQï}”(j8ïKj¥ÞKuj£ï}”(jŠïKj÷ÞKujõï}”(jÜïKjIßKujqò}”(jXòKjM%KujÊò}”jªòKsj5ó}”jóKsjKô}”(j+ôKjîKjÄ+KujŠö}”jqöKsj»ö}”(j›öKjû©Kj%ªKjËKj·ËKujåö}”jÅöKsj÷}”(jïöKj—ùKuj9÷}”j÷Ksj\÷}”jC÷Ksj÷}”jm÷Ksj·÷}”j—÷KsjÚ÷}”jÁ÷Ksjzø}”jZøKsj¤ø}”j„øKsjÎø}”j®øKsjøø}”jØøKsj"ù}”jùKsjù}”(jmùKj,úKujáù}”jÁùKsjvú}”(jVúKjŠMKuj ú}”j€úKsjû}”jåúKsj‘ü}”(jxüKjõAKj“ØKujôü}”jÛüKsjMý}”(j-ýKjXBKjÞMKj ÙKujúý}”(jáýKjn`KujÆÿ}”(j­ÿKj&Kuj}”(jÿÿKj…KujI}”(j)Kj¯Kujl}”jSKsjà}”(jÇKjjKujC}”(j*KjÙKuj•}”(j|Kj+Kujî}”(jÎKj}Kuj}”jøKsj¨}”jKsjú}”jáKsjL}”j3Ksjí}”jÔKsjO}”j/Ksjä}”jÄKsj}”jîKsj2 }”j Ksj‹ }”jk Ksjµ }”(j• Kja›Kuj }”jó Ksj~ }”j^ Ksj¨ }”jˆ KsjÒ }”j² Ksj) }”(j KjŸKj`Kj $Kj“¬Kj—ÛKjyåKujâ }”jÉ Ksj;}”jKsje}”jEKsjC}”j#Ksjm}”jMKsj}”(jwKjÝŸKj%KjÀ<Kuj]}”(j=Kj/ Kuj€}”(jgKjY KujÒ}”j¹Ksj+}”(j Kj5Kj*£KjT£Kuj§}”(j‡Kj¦£KujÑ}”(j±KjУKujô}”jÛKsjŸ}”jKsjÉ}”j©Ksjì}”jÓKsj¾}”j¥Ksj!}”jKsjz}”jZKsj÷}”j×Ksj!}”jKsj®}”(jŽKj³Kuj#}”(j KjñŠKuj|}”j\Ksj¦}”j†KsjÐ}”j°Ksjú}”jÚKsj}”(jKjC‹Kuj‡}”jgKsjª}”(j‘Kj¦‹Kuj}”jãKsj-}”(j Kj7Kujz}”jaKsjý}”jÝKsj'}”jKsjQ}”j1Ksjt}”j[Ksj}”jÿKsj{}”(jbKjtŒKujÔ}”j´Ksjþ}”(jÞKjÆŒKujK}”j2Ksj}”j„Ksj}”(jçKjðŒKujY}”j9Ksjƒ}”jcKsj­}”jKsj)}”j Ksjä}”jÄKsj }”jîKsj` }”j@ Ksj¿%}”jŸ%Ksjé%}”jÉ%Ksj&}”jó%Ksj=&}”j&Ksjg&}”jG&KsjŠ&}”jq&KsjÜ&}”jÃ&Ksj5'}”j'KsjX'}”j?'Ksjª'}”j‘'Ksj(}”jã'Ksj&(}”j (KsjÀ(}”j (Ksj])}”j=)Ksj1+}”j+Ksjá+}”jÁ+Ksj],}”j=,KsjM-}”j--Ksjw-}”jW-Ksj¡-}”j-Ksjº.}”jš.Ksjä.}”jÄ.Ksj/}”jî.Ksj1/}”j/KsjŠ/}”jj/Ksj´/}”j”/Ksj×/}”j¾/Ksjl0}”jL0Ksj–0}”jv0Ksjê0}”jÊ0Ksj1}”jô0Ksjf3}”(jM3Kjû4Kuj¸3}”(jŸ3KjM5Kuj¿5}”jŸ5Ksjâ5}”jÉ5Ksj46}”j6Ksj†6}”jm6Ksj,7}”j 7Ksj8}”jô7Ksj78}”(j8KjD‘Kuj8}”jp8Ksj{9}”j[9KsjK:}”j2:Ksjæ;}”jÆ;Ksj<}”jð;Ksj:<}”j<Ksj]<}”jD<Ksj±<}”j˜<Ksjâ<}”jÂ<Ksj©=}”(j=Kj§ÎKj^òKjŸKuje>}”jE>Ksj¹>}”j™>Ksj‡?}”jg?Ksjª?}”(j‘?KjeøKj1 Kuj>@}”j@KsjŸ@}”j@Ksj±A}”j‘AKsjC}”jæBKsjŠC}”(jqCKj¨ÖKujôC}”jÔCKsjHD}”(j(DKj×KujrD}”jRDKsjœD}”j|DKsjÆD}”(j¦DKj©×KujðD}”jÐDKsjE}”(júDKjRKujDE}”j$EKsjnE}”jNEKsj˜E}”jxEKsjÂE}”j¢EKsjìE}”jÌEKsjF}”(jöEKjLOKj£SKujyF}”jYFKsjÚF}”jºFKsjG}”jäFKsj¥G}”(j…GKj·lKujÈG}”(j¯GKj†VKuj!H}”jHKsjKH}”j+HKsjuH}”jUHKsjŸH}”(jHKjWKujé}”jéKsjhé}”jHéKsjì}”jÿëKsjIì}”j)ìKsj“í}”jsíKsjˆð}”jhðKsj«ð}”(j’ðKj½žKujÖñ}”j¶ñKsjÐò}”j°òKsjúò}”jÚòKsj$ó}”jóKsjGó}”(j.óKjÚ=Kuj™ó}”(j€óKj,>Kujëó}”(jÒóKj@úKujFõ}”j-õKsjÉõ}”j©õKsj—ö}”jwöKsjÁö}”(j¡öKjKujëö}”(jËöKj;Kuj÷}”jõöKsj€ù}”j`ùKsjªù}”jŠùKsjÍù}”j´ùKsj²ú}”j’úKsjÜú}”j¼úKsjâû}”jÂûKsjAý}”j!ýKsjþ}”jïýKsj2þ}”jþKsj‹þ}”jkþKsj‚ÿ}”jbÿKsj¬ÿ}”jŒÿKsjÖÿ}”j¶ÿKsjè}”jÏKsj:}”(j!Kjñ Kj¼~KjN‚Kuj“}”(jsKjC KjKj ‚Kuj*}”(jKju Kjá Kuj4}”jKsjá}”jÁKsj }”jëKsj5}”jKsj_}”j?Ksj‰}”jiKsj³}”j“KsjÝ}”j½Ksj}”jçKsjœ}”jƒKsjõ}”jÕKsj\}”jCKsj‡ }”jn Ksj™ }”jy Ksjà }”j£ Ksjí }”jÍ Ksj }”j÷ KsjA }”j! Ksjk }”jK Ksj&}”jKsjP}”j0Ksjz}”jZKsj¤}”j„KsjÎ}”j®KsjT}”j;Ksj­}”jKsj×}”(j·Kj¼RKujú}”jáKsj»}”j¢Ksj}”(jáKjHfKj–KujO}”(j/KjÀgKjx˜Kujœ}”(jƒKjÕKjhKjfhKj ™Kjr™Kuj9}”j Ksj’}”jrKsjµ}”jœKsj1}”jKsj}”jüKsjF}”j&Ksjp}”(jPKjøKujÄ}”j¤Ksjî}”jÎKsj;}”j"Ksjž}”j…Ksj¬}”j“Ksj }”jåKsje }”jE Ksj }”jo Ksj¹ }”(j™ KjÞiKujã }”(jà KjjKujw!}”j^!KsjÐ!}”j°!Ksjú!}”jÚ!Ksj$"}”j"KsjN"}”j."Ksj¨"}”jˆ"KsjÒ"}”j²"Ksj€#}”j`#Ksjµ$}”jœ$Ksj%}”jî$KsjŠ%}”jj%KsjÞ%}”j¾%KsjZ&}”j:&Ksj„&}”jd&Ksj®&}”jŽ&KsjØ&}”j¸&Ksjû&}”(jâ&Kj_rKuj^'}”(jE'KjÂrKuj/(}”j(Ksj,}”jî+Ksj8,}”j,Ksj,}”jo,Ksj.}”jè-KsjS.}”j:.Ksj„/}”jd/KsjØ/}”j¸/Ksjä1}”jË1Ksj=2}”j2Ksjg2}”jG2Ksj‘2}”jq2Ksj‚3}”ji3KsjÛ3}”j»3Ksjþ3}”jå3KsjW4}”j74Ksjz6}”jZ6KsjD7}”j$7Ksj÷7}”j×7Ksj!8}”j8KsjK8}”j+8Ksjn8}”jU8Ksj¸9}”j˜9Ksj:<}”j<KsjB?}”(j"?Kj@Kuj¾?}”jž?Ksju@}”jU@KsjÂ@}”j©@Ksj>A}”j%AKsj+B}”j BKsjUB}”j5BKsjB}”j_BKsj©B}”j‰BKsjÓB}”j³BKsjýB}”jÝBKsj C}”jCKsjïC}”jÏCKsjD}”jùCKsjCD}”j#DKsjmD}”jMDKsjE}”jëDKsj˜H}”jHKsjêH}”jÑHKsjK}”jçJKsjœK}”jƒKKsjîK}”jÕKKsjGL}”j'LKsjqL}”(jQLKjÏLKuj›L}”j{LKsjÅL}”j¥LKsjM}”jùLKsjRKsj»S}”(j›SKjê­KujåS}”(jÅSKj®KujgT}”jNTKsjU}”jfUKsjÑU}”j¸UKsjEV}”j,VKsjžV}”j~VKsjÁV}”j¨VKsjW}”júVKsjeW}”jLWKsj·W}”jžWKsj X}”jðWKsj»Y}”j¢YKsj Z}”jôYKsj_Z}”jFZKsj±Z}”(j˜ZKj[Kuj¼[}”jœ[Ksjæ[}”jÆ[Ksjf]}”jF]Ksj]}”jp]Ksjº]}”jš]Ksj%_}”(j_Kj ŽKujða}”j×aKsjb}”j}bKsjÛc}”(j»cKjEdKjpeKujõj}”jÕjKsjk}”jÿjKsjm}”jpmKsjn}”jèmKsj2n}”jnKsj\n}”j}”(jKjKj$ßKjC4Kuj}”(jpKjYKjýãKujÁ}”jšKsj‰}”jbKsj¬}”jŒKsjþ}”(jÞKjâKj>=Kj3KujW}”j0Ksj}”jZKsj¤}”(j„KjÇKjd°Kuj}”jøKsjB}”j"Ksj›}”jtKsj¾}”(jžKj¨âKj?Kj³4Kuj }”jðKsj€ }”(j` KjÁKj@Kujã }”(jà Kj$ŽKj£KujF }”(j& KjÉKj„‘Kj ×KjôïKj<Kj=Kj TKujº }”(jš KjV‰Kj­Kj ’Kuj$ }”(jý Kj$SKj©@KujG }”(j' Kj¹‰Kj6‘Kjâ=KjS”Kujª }”(jŠ KjÃ>Kuj§ }”j‡ Ksjù }”jÙ KsjR}”j+Ksju}”(jUKjÒnKjdzKjÈKj'ZKjÓõKjÐ>Kj…|Kuj}”(jÚKjš+Kuj+}”jKsjU}”j.KsjÕ}”(j®Kj8ÙKujÿ}”(jØKj2Kujƒ}”j\Ksj }”jæKsj7}”jKsja}”j:Ksj‹}”jdKsj®}”jŽKsjF}”(jKj¯Kj­aKujp}”(jIKjRNKujš}”jsKsjÄ}”jKsjî}”jÇKsj}”(jñKj+Kj)bKujB}”(jKjKjSbKujl}”jEKsjù}”jÙKsj|}”jUKsjC}”j#Ksj%}”(jþKjDþKjNGKj#aKujˆ}”(jaKj®ÝKuj²}”(j‹KjØÝKuj¨}”j€KsjÌ}”j«Ksjr}”jJKsj&}”jÿKsjP}”j)KsjÃ}”jœKsjí}”jÆKsj}”jðKsjb}”(jBKj•BKj•Kj Kuj´}”(j”KjçBKjçKjòKuj }”(jæKj9CKj9KjD Kuj0}”(jKj>­Kuj‰}”jbKsjà}”j¹Ksj}”jðKsjA}”jKsj›}”(j{KjÇKjišKujô}”(jÍKj‹›KujX }”(j1 KjÂÀKjJÅKjn<Kj?iKjmuKjþvKjÜKj›2Kuj‚ }”j[ Ksj!}”(jõ KjIPKjKj©ðKj_Kj¼¿Kj•*KjF:KjsKujÓ#}”j¬#Ksjý#}”jÖ#Ksj $}”j$Ksj»%}”j”%KsjÞ%}”j¾%Ksj '}”jæ&Ksj7'}”j'Ksja'}”(j:'KjþzKj6‚Kjk®Kujª(}”jƒ(KsjÔ(}”j­(Ksj¼+}”j•+Ksjæ+}”j¿+Ksj,}”jé+Ksj:,}”j,Ksjd,}”j=,KsjŽ,}”jg,KsjŸ-}”j-Ksjˆ.}”(ja.Kj¨_Kj2ÃKjxKj¨Kj›ÚKjúîKjR;Kuj«.}”(j‹.KjذKjçàKjNôKj~>Kuj/}”(jÝ.Kj¸qKjÊÉKjO—Kj ´KjãKj÷KjÈ?Kuj./}”(j/Kjë´KjUãKjøKjû@Kuj0}”jß/Ksj)0}”(j 0Kj"4Kuj‚0}”j[0Ksj¥0}”(j…0KjiKjsKujþ0}”j×0Ksj(1}”j1Ksjˆ1}”ja1Ksj²1}”j‹1KsjÕ1}”(jµ1KjåiKjÞ5KjodKuj.2}”(j2Kj˜5Kj06Kuj‹2}”jk2KsjÝ2}”j½2Ksj63}”j3KsjË3}”j¤3Ksjõ3}”jÎ3Ksj4}”jø3Ksj›4}”jt4KsjÅ4}”jž4Ksjï4}”(jÈ4Kj½ÊKj‘ˆKuj5}”jò4Ksj<5}”(j5KjÍOKj3jKj–ÆKj¿*KjÿKjϰKuj•5}”jn5Ksj„6}”(j]6Kj›?Kuj®6}”(j‡6KjÅ?Kujy7}”jY7KsjÒ7}”j«7Ksjü7}”jÕ7Ksj8}”jÿ7Ksj«8}”(j„8Kjž²KujÕ8}”j®8Ksjÿ8}”jØ8Ksjü9}”(jÜ9Kjè’KjÚÚKj£—Kj$¤KujN:}”j.:Ksj§:}”(j€:KjÂ9Kuj5;}”j;KsjŽ;}”jg;Ksj¸;}”j‘;Ksjâ;}”j»;Ksj <}”jå;Ksj6<}”j<Ksj`<}”j9<KsjŠ<}”jc<Ksj´<}”j<KsjÞ<}”j·<Ksj=}”já<Ksj2=}”j =Ksj\=}”j5=Ksj†=}”j_=Ksj°=}”j‰=KsjÚ=}”j³=Ksjý=}”(jÝ=Kj¸Kj3KjUKuj.A}”(jAKj¼BKujQA}”j1AKsjåA}”j¾AKsjÞD}”j¾DKsj0E}”jEKsj(F}”(jFKj 0KujF}”jiFKsjºF}”j“FKsjG}”jñFKsjÔG}”(j­GKj0xKjÀKjÃKjmhKj>kKjKjôeKj§’Kjh•KjšKujþG}”(j×GKjDÀKj—hKjhkKj·KjfKjÑ’Kj’•Kj?šKuj!H}”jHKsjzH}”(jSHKjZxKjnÀKjÎÄKjëhKj’kKj KjœfKj%“Kj:–Kj»šKuj¤H}”(j}HKj˜ÀKjiKj¼kKj5KjÆfKjO“Kjd–KjåšKujÇH}”j§HKsjI}”(jùHKj>ÁKjiiKjækKj³KjDgKj0”KjÒ—Kj›KujrI}”jKIKsjœI}”(juIKjÁKujÆI}”(jŸIKjTyKjºÁKujéI}”jÉIKsjK}”jÛJKsj8L}”(jLKjzMKjžKujbL}”(j;LKj¤MKj“žKujŒL}”(jeLKjÎMKjaŸKuj¶L}”(jLKjøMKj‹ŸKujàL}”(j¹LKj"NKjµŸKuj M}”jãLKsj¦N}”jNKsjÐN}”j©NKsjúN}”jÓNKsjQO}”(j*OKj #KujÊO}”(j£OKj²]KjÞÂKujFP}”(jPKj!±KujÏQ}”j¨QKsjòQ}”(jÒQKjÒKuj!S}”júRKsjÜS}”(j¼SKjâˆKj#Kj¢Kjá¨Kj|;KujPT}”(j0TKjû2Kj¹AKj}tKuj©T}”j‚TKsjÓT}”j¬TKsjýT}”(jÖTKjëKj_ÌKuj'U}”(jUKjç¬Kj³ÌKjëÛKujQU}”(j*UKjX1Kj°=KujtU}”jTUKsjÆU}”(j¦UKjˆ´Kjò?Kuj0V}”(j VKj»µKj¶ÔKjÓãKujkW}”jKWKsjÄW}”jWKsjîW}”jÇWKsjLX}”j%XKsjY}”jèXKsj2Y}”jYKsj•Y}”(juYKj±KujÿY}”jØYKsj"Z}”(jZKjÀ²KujtZ}”(jTZKjd³Kuj [}”jêZKsjc[}”j<[Ksj[}”jf[Ksj^}”jÜ]Ksj-^}”j^KsjW^}”j0^Ksj^}”jZ^Ksj«^}”j„^KsjÕ^}”j®^Ksjÿ^}”jØ^Ksj)_}”j_KsjS_}”j,_Ksjv_}”jV_Ksjù_}”jÒ_Ksj`}”(jü_Kj¿¬Kj¨!Kuju`}”(jN`KjKjšKujŸ`}”(jx`KjÄKjÑ2KjOåKj$ïKjð;KujÂ`}”j¢`Ksj%a}”(jaKjÎKuj~a}”(jWaKjU©KjÃÉKjNïKjD<Kuj¨a}”(jaKj©KjíÉKjxïKujÒa}”j«aKsjõa}”jÕaKsjNb}”(j'bKjŽ/Kujxb}”jQbKsj¢b}”j{bKsjÌb}”j¥bKsjïb}”jÏbKsjHc}”j!cKsjkc}”(jKcKj|ÄKuj½c}”jcKsjd}”jïcKsj@d}”jdKsjcd}”jCdKsjÆd}”j¦dKsje}”(jødKj…Kujqe}”jJeKsj”e}”(jteKjÅKujæe}”(jÆeKji€Kuj8f}”jfKsjŠf}”jjfKsj´f}”j”fKsj g}”jæfKsj7g}”(jgKj]"KujZg}”(j:gKj­Kj4¯Kj‡"Kuj½g}”(jgKjê"Kujh}”jïgKsj9h}”(jhKjì<Kuj’h}”jkhKsj¼h}”j•hKsjæh}”j¿hKsj i}”jéhKsj[i}”(j;iKjDÆKj¬dKj¹­KjÍKujj}”jßiKsj0j}”j jKsj¬j}”(j…jKj¯KjŸÏKujÖj}”j¯jKsjk}”(jÙjKjèÆKjAàKuj#k}”jkKsj†k}”jfkKsjðk}”jÉkKsjl}”jókKsjel}”jElKsjÈl}”(j¨lKj<#Kujm}”júlKsjsm}”jLmKsjm}”jvmKsjÀm}”j mKsjn}”(jòmKjÊôKujvn}”jUnKsjÏn}”j¨nKsjDo}”(j$oKj%öKuj–o}”(jvoKjë+Kujèo}”jÈoKsj:p}”(jpKjß´Kj-Kj¼Kjè%KjL?Kj}Kuj“p}”jlpKsj¶p}”j–pKsjq}”jèpKsj2q}”(jqKj¸³KjÓKuj‹q}”jdqKsjµq}”jŽqKsj r}”(jâqKjy—Kj4´Kj+ãKjI÷Kuj,r}”j rKsj…r}”j^rKsj¨r}”jˆrKsjúr}”jÚrKsjLs}”(j,sKjs÷KujÇs}”j sKsjñs}”jÊsKsjt}”jôsKsj>t}”(jtKjôÉKj?óKjQSKjµKjÔKujt}”(jptKjt­KjŽ#Kujât}”jÂtKsj4u}”juKsjžu}”jwuKsjÁu}”j¡uKsjòu}”jËuKsjv}”jõuKsj?v}”(jvKjËKuj˜v}”(jqvKjhËKuj»v}”j›vKsj w}”jívKsj_w}”j?wKsj¸w}”j‘wKsjâw}”j»wKsj¤x}”(j„xKj¬zKja„KjȱKjtÅKj–-KjÅ2Kujýx}”(jÖxKj_KjðfKjŽ–Kuj'y}”(jyKj‰KjgKj¸–KujQy}”(j*yKjKj–gKj$˜Kuj¥y}”(j~yKjäÁKjo>Kj»iKj8lKjYKjêgKj̘KujÈy}”j¨yKsjz}”(júyKj({Kj³„Kj[µKjFÊKjŒ.Kja4Kujsz}”(jLzKjÂKj‰jKjblKjÿKjhKj¬”Kjœ™Kujæ|}”(j¿|KjľKuj}}”jé|Ksj~}”jö}Ksj@~}”(j ~Kj­~Kj`‚KjSKujL}”j,Ksj7€}”j€Ksjâ€}”(j»€Kj—+Kuj‹}”jdKsjµ}”jŽKsjß}”j¸Ksj ‚}”jâKsj3‚}”j ‚KsjÒ‚}”j²‚Ksj$ƒ}”jƒKsj„}”(jåƒKj Kj.KjZdKj?eKuj^„}”(j7„KjäÍKjp.Kj%bKjïcKuj2†}”(j†Kj!éKj.ëKj¼çKuj‹†}”(jd†Kj8èKujµ†}”(jކKjiêKjzìKjŒèKuj߆}”j¸†Ksj ‡}”jâ†Ksjj‡}”jJ‡KsjÇ}”jœ‡Ksj(ˆ}”jˆKsj߈}”(j¸ˆKj¸ÁKujyŠ}”jRŠKsj£Š}”j|ŠKsjÍŠ}”j¦ŠKsj÷Š}”(jЊKjZ»Kuj’‹}”(jk‹KjBšKuj¼‹}”(j•‹Kj=EKujæ‹}”(j¿‹Kj–šKjgEKujŒ}”(jé‹Kj>›KujÇŒ}”(j§ŒKjÒŽKuj }”(jùŒKjNKuj¾}”(j—KjKuj®Ž}”(j‡ŽKj‘KujØŽ}”(j±ŽKj0‘Kuj}”(jÛŽKjZ‘Kj@~Kuj,}”(jKjø‘KujV}”(j/Kj"’Kuj€}”(jYKjL’Kujª}”(jƒKjv’Kj«ëKuj7}”(jKj“KjÕëKuja}”(j:Kj-“KjäðKuj‹}”(jdKjW“KjñKujµ}”(jŽKj“Kj8ñKujß}”(j¸Kj«“KjbñKuj ‘}”(jâKjÕ“KjŒñKuj3‘}”(j ‘Kj)”KjõøKujÀ‘}”(j™‘Kj¶”KjSKujê‘}”(jÑKjà”Kj$ôKuj ’}”(jí‘Kj •Kuj»’}”(j”’Kj–KjõKujå’}”(j¾’Kjû–KjæwKuja“}”(j:“Kj­ Kjõ—Kuj‹“}”(jd“KjI˜Kjç÷Kuj®“}”(jŽ“Kj‚1Kj£bKjs˜KjîKj3ÇKjÏìKuj”}”(jà“Kj·KjÔ1KjõbKjŘKj@žKj!íKujY”}”(j2”Kj™Kuj&–}”jÿ•KsjÀ–}”j™–Ksjã–}”jÖKsj<—}”j—Ksjf—}”j?—Ksj—}”ji—Ksj3˜}”(j ˜Kjt Kj©Kjº_Kuj]˜}”(j6˜Kjê¢Kuj€˜}”(j`˜Kj>£KjpIKujê˜}”(jØKj¡£Kj ôKuj™}”(jí˜KjË£Kjb©Kjä_Kuj>™}”(j™Kjõ£Kujh™}”(jA™Kj¤Kuj’™}”(jk™KjC¥Kuj¼™}”j•™Ksjæ™}”j¿™Ksjš}”(jé™KjtžKuj‡š}”j`šKsjÚš}”jºšKsjU›}”j.›Ksjõ}”jÎKsjž}”jøKsjqž}”jJžKsjÅ }”jž Ksjï }”jÈ Ksj¡}”jò KsjC¡}”j¡Ksjm¡}”jF¡Ksj—¡}”jp¡KsjÁ¡}”jš¡Ksjë¡}”(jÄ¡KjálKuj¢}”jî¡Ksj?¢}”(j¢Kj¿§Kuji¢}”jB¢Ksj“¢}”jl¢Ksj½¢}”j–¢Ksjç¢}”jÀ¢Ksj4£}”j£Ksjp¤}”jI¤Ksjš¤}”js¤KsjĤ}”j¤Ksjç¤}”jǤKsj¥}”jñ¤Ksj”¥}”jm¥Ksj¾¥}”j—¥Ksjá¥}”jÁ¥Ksjn¦}”(jG¦KjþCKjî¾Kj mKujÛ¦}”(j´¦KjJ¨Kuj§}”jÞ¦Ksj/§}”j§KsjY§}”j2§Ksj|§}”j\§Ksj_©}”j8©Ksj³©}”jŒ©KsjÝ©}”j¶©Ksj!®}”jú­KsjŽ®}”(jn®Kjú!Kujñ®}”jÑ®Ksj¾¯}”j—¯Ksjè¯}”(jÁ¯Kj ÇKuj°}”(jë¯Kj…ÇKuj¼°}”j•°Ksjæ°}”j¿°Ksj±}”(jé°KjšKuj–±}”jv±Ksj:²}”j²Ksj“²}”jl²Ksj½²}”j–²Ksj2³}”(j³Kj­Kj"ŒKjö¯Kuj9´}”j´Ksj­´}”j´KsjXµ}”j1µKsjÔµ}”j­µKsjþµ}”j×µKsj(¶}”j¶KsjR¶}”j+¶Ksj|¶}”(jU¶KjH°KujŸ¶}”j¶Ksj(·}”(j·Kj·¨Kuj­¸}”(j¸Kj+Kuj¹}”(jð¸KjKujº}”jî¹Ksjûº}”jÔºKsj%»}”jþºKsjO»}”j(»KsjH¼}”j!¼Ksjr¼}”jK¼Ksj•¼}”ju¼Ksjø¼}”(jؼKj ŠKujb½}”j;½Ksj¾}”jñ½Ksj;¾}”j¾Ksj”¾}”jm¾Ksj¾¾}”j—¾Ksjè¾}”jÁ¾Ksj¿}”jë¾Ksj<¿}”j¿KsjŒ¿}”jl¿Ksj Á}”jìÀKsj|Ã}”j\ÃKsjÎÃ}”j®ÃKsjJÄ}”(j*ÄKjŒpKujÅ}”jøÄKsjíÅ}”jÆÅKsjÆ}”jðÅKsjAÆ}”jÆKsj­Ç}”(j†ÇKjßáKuj×Ç}”j°ÇKsjÈ}”jÚÇKsjvÈ}”jVÈKsjÈÈ}”j¨ÈKsjÉ}”júÈKsjsÉ}”jLÉKsjÉ}”jvÉKsjÇÉ}”j ÉKsj¿Ê}”j˜ÊKsjéÊ}”jÂÊKsjË}”jìÊKsj¹Ë}”j’ËKsjãË}”j¼ËKsj5Î}”jÎKsjXÎ}”j8ÎKsj)Ï}”jÏKsjSÏ}”j,ÏKsj}Ï}”(jVÏKj¥zKuj§Ï}”j€ÏKsjÑÏ}”jªÏKsjûÏ}”jÔÏKsj%Ð}”(jþÏKjdÒKujOÐ}”(j(ÐKjÎgKjäyKujyÐ}”jRÐKsj£Ð}”j|ÐKsjÍÐ}”j¦ÐKsj÷Ð}”jÐÐKsj!Ñ}”(júÐKj‡ KjøgKjzKuj¶Ñ}”j–ÑKsjÒ}”jèÑKsjaÒ}”j:ÒKsj®Ò}”jŽÒKsjÓ}”jàÒKsjRÓ}”j2ÓKsj¤Ó}”j„ÓKsjMÖ}”j-ÖKsjŸÖ}”(jÖKjP×KujñÖ}”jÑÖKsjˆØ}”jhØKsjáØ}”jºØKsj Ù}”jäØKsj5Ù}”jÙKsj‰Ù}”(jbÙKj8ºKuj³Ù}”jŒÙKsjÝÙ}”j¶ÙKsjÚ}”jàÙKsj*Ú}”j ÚKsjƒÚ}”j\ÚKsj­Ú}”j†ÚKsj×Ú}”j°ÚKsjSÛ}”j,ÛKsj³Û}”jŒÛKsjÖÛ}”j¶ÛKsj/Ü}”jÜKsjYÜ}”j2ÜKsjYÝ}”j2ÝKsj|Ý}”j\ÝKsjéß}”jÉßKsjtà}”jTàKsj×à}”j·àKsj:á}”jáKsj¤á}”j}áKsjÎá}”(j§áKj•4Kujvâ}”(jVâKjŒiKujèä}”(jÁäKj¼•Kujå}”(jëäKjâ–Kuj5å}”(jåKj —KujŸå}”(jxåKjN˜KujÉå}”(j¢åKjö˜KujLæ}”j%æKsjvæ}”jOæKsj æ}”jyæKsj>è}”jèKsjaè}”jAèKsjïè}”(jÏèKjÜêKj;¨KjõÈKjIÚKuj“é}”(jséKjÔëKujåé}”(jÅéKj•àKuj7ê}”(jêKj9áKuj§ë}”j€ëKsjÑë}”jªëKsjMì}”j&ìKsjwì}”jPìKsjí}”(júìKjgÜKujlí}”(jLíKj¹ÜKuj¾í}”(jžíKj ÝKujî}”(jðíKj]ÝKujbî}”(jBîKj¯ÝKuj´î}”(j”îKjÞKujï}”(jæîKjSÞKujXï}”(j8ïKj¥ÞKujªï}”(jŠïKj÷ÞKujüï}”(jÜïKjIßKujxò}”(jXòKjM%KujÑò}”jªòKsj<ó}”jóKsjRô}”(j+ôKjîKjÄ+Kuj‘ö}”jqöKsjÂö}”(j›öKjû©KjËKujìö}”jÅöKsj÷}”(jïöKj—ùKuj@÷}”j÷Ksjc÷}”jC÷Ksj”÷}”jm÷Ksj¾÷}”j—÷Ksjá÷}”jÁ÷Ksjø}”jZøKsj«ø}”j„øKsjÕø}”j®øKsjÿø}”jØøKsj)ù}”jùKsj”ù}”(jmùKj,úKujèù}”jÁùKsj}ú}”(jVúKjŠMKuj§ú}”j€úKsj û}”jåúKsj˜ü}”(jxüKjõAKj“ØKujûü}”jÛüKsjTý}”(j-ýKjXBKjÞMKj ÙKujþ}”(jáýKjn`KujÍÿ}”(j­ÿKj&Kuj&}”(jÿÿKj…KujP}”(j)Kj¯Kujs}”jSKsjç}”(jÇKjjKujJ}”(j*KjÙKujœ}”(j|Kj+Kujõ}”(jÎKj}Kuj}”jøKsj¯}”jKsj}”jáKsjS}”j3Ksjô}”jÔKsjV}”j/Ksjë}”jÄKsj}”jîKsj9 }”j Ksj’ }”jk Ksj¼ }”(j• Kja›Kuj }”jó Ksj… }”j^ Ksj¯ }”jˆ KsjÙ }”j² Ksj0 }”(j KjŸKj`Kj $Kj“¬Kj—ÛKjyåKujé }”jÉ KsjB}”jKsjl}”jEKsjJ}”j#Ksjt}”jMKsj—}”(jwKjÝŸKj%KjÀ<Kujd}”(j=Kj/ Kuj‡}”(jgKjY KujÙ}”j¹Ksj2}”(j Kj*£KujU}”(j5KjT£Kuj®}”(j‡Kj¦£KujØ}”(j±KjУKujû}”jÛKsj¦}”jKsjÐ}”j©Ksjó}”jÓKsjÅ}”j¥Ksj(}”jKsj}”jZKsjþ}”j×Ksj(}”jKsjµ}”jŽKsj*}”(j KjñŠKujƒ}”j\Ksj­}”j†Ksj×}”j°Ksj}”jÚKsj$}”(jKjC‹KujŽ}”jgKsj±}”(j‘Kj¦‹Kuj }”jãKsj4}”j Ksj^}”j7Ksj}”jaKsjÚ}”j³Ksj}”jÝKsj.}”jKsjX}”j1Ksj{}”j[Ksj}”jÿKsj‚}”(jbKjtŒKujÛ}”j´Ksj}”(jÞKjÆŒKujR}”j2Ksj¤}”j„Ksj}”(jçKjðŒKuj`}”j9KsjŠ}”jcKsj´}”jKsj0}”j Ksjë}”jÄKsj }”jîKsjg }”j@ KsjÆ%}”jŸ%Ksjð%}”jÉ%Ksj&}”jó%KsjD&}”j&Ksjn&}”jG&Ksj‘&}”jq&Ksjã&}”jÃ&Ksj<'}”j'Ksj_'}”j?'Ksj±'}”j‘'Ksj (}”jã'Ksj-(}”j (KsjÇ(}”j (Ksjd)}”j=)Ksj8+}”j+Ksjè+}”jÁ+Ksjd,}”j=,KsjT-}”j--Ksj~-}”jW-Ksj¨-}”j-KsjÁ.}”jš.Ksjë.}”jÄ.Ksj/}”jî.Ksj8/}”j/Ksj‘/}”jj/Ksj»/}”j”/KsjÞ/}”j¾/Ksjs0}”jL0Ksj0}”jv0Ksjñ0}”jÊ0Ksj1}”jô0Ksjm3}”(jM3Kjû4Kuj¿3}”(jŸ3KjM5KujÆ5}”jŸ5Ksjé5}”jÉ5Ksj;6}”j6Ksj6}”jm6Ksj37}”j 7Ksj8}”jô7Ksj>8}”(j8KjD‘Kuj—8}”jp8Ksj‚9}”j[9KsjR:}”j2:Ksjí;}”jÆ;Ksj<}”jð;KsjA<}”j<Ksjd<}”jD<Ksj¸<}”j˜<Ksjé<}”jÂ<Ksj°=}”(j=Kj§ÎKj^òKjŸKujl>}”jE>KsjÀ>}”j™>KsjŽ?}”jg?Ksj±?}”(j‘?KjeøKj1 KujE@}”j@Ksj¦@}”j@Ksj¸A}”j‘AKsj C}”jæBKsj‘C}”(jqCKj¨ÖKujûC}”jÔCKsjOD}”(j(DKj×KujyD}”jRDKsj£D}”j|DKsjÍD}”(j¦DKj©×Kuj÷D}”jÐDKsj!E}”(júDKjRKujKE}”j$EKsjuE}”jNEKsjŸE}”jxEKsjÉE}”j¢EKsjóE}”jÌEKsjF}”(jöEKjLOKj£SKuj€F}”jYFKsjáF}”jºFKsj G}”jäFKsj¬G}”(j…GKj·lKujÏG}”(j¯GKj†VKuj(H}”jHKsjRH}”j+HKsj|H}”jUHKsj¦H}”(jHKjWKujCI}”jIKsjmI}”jFIKsjúI}”jÓIKsj$J}”jýIKsjNJ}”j'JKsjxJ}”jQJKsj9K}”jKKsjcK}”jU}”jUKsj—U}”jpUKsjÁU}”jšUKsjëU}”jÄUKsjIV}”j"VKsjÿV}”jØVKsj‡W}”j`WKsjX}”jõWKsj?X}”jXKsjHY}”(j!YKjÓZKujrY}”(jKYKjýZKujËY}”j«YKsj$Z}”(jýYKjzKuj Z}”(jyZKj×Kuj\}”jó[KsjD\}”j\Ksjg\}”jG\Ksj˜\}”jq\KsjÂ\}”j›\Ksjì\}”jÅ\Ksj¢]}”j‚]Ksj^}”jå]Ksjh^}”jH^KsjÁ^}”jš^Ksjë^}”jÄ^Ksj_}”jî^Ksj¬_}”(jŒ_KjQKuj`}”jï_Ksj™a}”jraKsjvb}”(jObKj)KjmKj Kuj b}”(jybKj¥Kj—KjÇ Kujgc}”(jGcKjKjm Kuj±e}”j‘eKsjKf}”j$fKsjuf}”jNfKsjèh}”(jÁhKjdKjFeKjrfKujWj}”(j7jKjÁdKujãl}”j¼lKsjÌm}”j¥mKsjöm}”jÏmKsj n}”jùmKsjJn}”j#nKsjtn}”jMnKsj:o}”joKsjdo}”j=oKsjŽo}”jgoKsj±o}”(j‘oKjuKujq}”jÞpKsj/q}”jqKsjYq}”j2qKsjƒq}”j\qKsj­q}”j†qKsj×q}”j°qKsjr}”jÚqKsj+r}”jrKsjUr}”j.rKsjár}”jºrKsj s}”järKsj‡s}”j`sKsjªs}”(jŠsKjctKujt}”(jÜsKjµtKuj`t}”j9tKsj¾u}”j—uKsjèu}”jÁuKsjv}”jëuKsj¬}”j¬Ksjä¬}”(j½¬KjÁÛKuj8­}”j­Ksjb­}”j;­KsjŒ­}”je­Ksj¶­}”j­Ksj2®}”(j ®KjÕÍKj›ßKuj\®}”(j5®KjÿÍKuj†®}”(j_®Kj òKuj°®}”(j‰®KjSÎKj†=KujÚ®}”(j³®Kj}ÎKuj¯}”(jÝ®Kj4òKujX¯}”(j1¯KjÉÏKjkàKuj{¯}”(j[¯KjoÐKujÞ¯}”(j¾¯KjÒÐKuj7°}”j°Ksja°}”j:°KsjQ±}”(j*±Kj$ÑKujt±}”(jT±KjKýKujƱ}”(j¦±KjNÑKuj²}”(jø±KjýKujq²}”(jJ²Kj ÑKuj›²}”jt²Ksj\³}”(j<³KjFÒKujµ³}”j޳Ksj…´}”(j^´Kj’ÓKuj޵}”jgµKsj¸µ}”(j‘µKjŒÔKuj^¶}”(j7¶KjàÔKujµ¶}”j޶Ksj6¸}”j¸Ksj¸}”jh¸Ksj¹¸}”j’¸Ksjܸ}”(j¼¸Kjj~Kuj‰º}”jbºKsj³º}”jŒºKsjÖº}”j¶ºKsj(»}”j»Ksj«»}”j„»KsjÕ»}”j®»Ksjÿ»}”jØ»Ksj{¼}”jT¼Ksjž¼}”j~¼Ksj½}”jø¼KsjI½}”j"½Ksj}¾}”jV¾Ksj©À}”j‰ÀKsjÁ}”jÛÀKsj,Á}”jÁKsjOÁ}”j/ÁKsu(j Â}”jâÁKsj­Ã}”j†ÃKsj×Ã}”j°ÃKsjÄ}”jÚÃKsj+Ä}”(jÄKj#IKujNÄ}”(j.ÄKjMIKuj§Ä}”j€ÄKsjÑÄ}”(jªÄKjŸIKujûÄ}”jÔÄKsjrÅ}”jKÅKsjÉÅ}”j¢ÅKsj²Æ}”(j‹ÆKjeqKujÜÆ}”jµÆKsjÇ}”j߯KsjÖÇ}”j¯ÇKsjòÈ}”jËÈKsjnÉ}”jGÉKsj‘É}”jqÉKsj>Ê}”jÊKsjhÊ}”jAÊKsjË}”jçÊKsj1Ë}”jËKsjŠË}”jcËKsjÌ}”jáËKsj2Ì}”j ÌKsj°Ì}”j‰ÌKsjÍ}”jÝÌKsjyÍ}”(jYÍKjð[KujÒÍ}”j«ÍKsjPÎ}”j)ÎKsjÏ}”jùÎKsjrÏ}”jKÏKsjœÏ}”juÏKsjÐ}”jóÏKsjlÐ}”jEÐKsjñÑ}”jÊÑKsjÒ}”jôÑKsj¿Ò}”j˜ÒKsjéÒ}”jÂÒKsjÓ}”jìÒKsjÓ}”jhÓKsjãÓ}”j¼ÓKsj Ô}”jæÓKsj‰Ô}”jbÔKsj1Õ}”(j ÕKj;øKujTÕ}”j4ÕKsj­Õ}”j†ÕKsjÙ}”jöØKsjFÚ}”(jÚKjÐîKjO Kjs KujÛ}”jïÚKsj@Û}”jÛKsjjÛ}”jCÛKsj”Û}”jmÛKsj5Ü}”jÜKsjìß}”jÅßKsjà}”jïßKsj«á}”j‹áKsjÕá}”jµáKsj0â}”j âKsjSâ}”j3âKsj¥â}”j…âKsjþâ}”j×âKsj¦ã}”jãKsjÐã}”j©ãKsjÁä}”jšäKsj²æ}”(j’æKjBXKuj5è}”jèKsj‰è}”jbèKsjÝè}”j¶èKsjEé}”jéKsjoé}”jHéKsj&ì}”jÿëKsjPì}”j)ìKsjší}”jsíKsjð}”jhðKsj²ð}”(j’ðKj½žKujÝñ}”j¶ñKsj×ò}”j°òKsjó}”jÚòKsj+ó}”jóKsjNó}”(j.óKjÚ=Kuj ó}”(j€óKj,>Kujòó}”(jÒóKj@úKujMõ}”j-õKsjÐõ}”j©õKsjžö}”jwöKsjÈö}”(j¡öKjKujòö}”(jËöKj;Kuj÷}”jõöKsj‡ù}”j`ùKsj±ù}”jŠùKsjÔù}”j´ùKsj¹ú}”j’úKsjãú}”j¼úKsjéû}”jÂûKsj ü}”jìûKsjHý}”j!ýKsjþ}”jïýKsj9þ}”jþKsj’þ}”jkþKsj‰ÿ}”jbÿKsj³ÿ}”jŒÿKsjÝÿ}”j¶ÿKsjï}”jÏKsjA}”(j!Kjñ Kj¼~KjN‚Kujš}”(jsKjC KjKj ‚Kuj1}”(jKju Kjá Kuj;}”jKsjè}”jÁKsj}”jëKsj<}”jKsjf}”j?Ksj}”jiKsjº}”j“Ksjä}”j½Ksj}”jçKsj€}”jYKsj£}”jƒKsjü}”jÕKsjc}”jCKsjŽ }”jn Ksj  }”jy KsjÊ }”j£ Ksjô }”jÍ Ksj }”j÷ KsjH }”j! Ksjr }”jK Ksj-}”jKsjW}”j0Ksj}”jZKsj«}”j„KsjÕ}”j®Ksj[}”j;Ksj´}”jKsjÞ}”(j·Kj¼RKuj}”jáKsjÂ}”j¢Ksj}”(jáKjHfKj–KujV}”(j/KjÀgKjx˜Kuj£}”(jƒKjhKj ™Kujü}”(jÕKjfhKjr™Kuj@}”j Ksj™}”jrKsj¼}”jœKsj8}”jKsj#}”jüKsjM}”j&Ksjw}”jPKsjË}”j¤Ksjõ}”jÎKsj}”jøKsjB}”j"Ksj¥}”j…Ksj³}”j“Ksj }”jåKsjl }”jE Ksj– }”jo KsjÀ }”(j™ KjÞiKujê }”(jà KjjKuj~!}”j^!Ksj×!}”j°!Ksj"}”jÚ!Ksj+"}”j"KsjU"}”j."Ksj¯"}”jˆ"KsjÙ"}”j²"Ksj‡#}”j`#Ksj¼$}”jœ$Ksj%}”jî$Ksj‘%}”jj%Ksjå%}”j¾%Ksja&}”j:&Ksj‹&}”jd&Ksjµ&}”jŽ&Ksjß&}”j¸&Ksj'}”(jâ&Kj_rKuje'}”(jE'KjÂrKuj6(}”j(Ksj,}”jî+Ksj?,}”j,Ksj–,}”jo,Ksj.}”jè-KsjZ.}”j:.Ksj‹/}”jd/Ksjß/}”j¸/Ksjë1}”jË1KsjD2}”j2Ksjn2}”jG2Ksj˜2}”jq2Ksj‰3}”ji3Ksjâ3}”j»3Ksj4}”jå3Ksj^4}”j74Ksj6}”jZ6KsjK7}”j$7Ksjþ7}”j×7Ksj(8}”j8KsjR8}”j+8Ksju8}”jU8Ksj¿9}”j˜9KsjA<}”j<KsjI?}”j"?KsjÅ?}”jž?Ksj|@}”jU@Ksj¦@}”j@KsjÉ@}”j©@KsjEA}”j%AKsj2B}”j BKsj\B}”j5BKsj†B}”j_BKsj°B}”j‰BKsjÚB}”j³BKsjC}”jÝBKsj'C}”jCKsjöC}”jÏCKsj D}”jùCKsjJD}”j#DKsjtD}”jMDKsj E}”jëDKsjŸH}”jHKsjñH}”jÑHKsjK}”jçJKsj£K}”jƒKKsjõK}”jÕKKsjNL}”j'LKsjxL}”jQLKsj¢L}”j{LKsjÌL}”j¥LKsjöL}”jÏLKsjM}”jùLKsjCM}”j#MKsjœM}”juMKsj¿M}”jŸMKsjéM}”jÉMKsjBN}”jNKsjlN}”jENKsj–N}”joNKsj¹N}”j™NKsj O}”jëNKsj]O}”j=OKsj¶O}”jOKsjàO}”j¹OKsjP}”jãOKsj\P}”j5PKsjP}”j_PKsjØP}”j±PKsj:Q}”jQKsjkQ}”jDQKsjŽQ}”jnQKsjçQ}”jÀQKsjR}”jêQKsj;R}”jRKsjeR}”j>RKsjÂS}”(j›SKjê­KujìS}”(jÅSKj®KujnT}”jNTKsj†U}”jfUKsjØU}”j¸UKsjLV}”j,VKsj¥V}”j~VKsjÈV}”j¨VKsjW}”júVKsjlW}”jLWKsj¾W}”jžWKsjX}”jðWKsjÂY}”j¢YKsjZ}”jôYKsjfZ}”jFZKsj¸Z}”(j˜ZKj[KujÃ[}”jœ[Ksjí[}”jÆ[Ksjm]}”jF]Ksj—]}”jp]KsjÁ]}”jš]Ksj,_}”(j_Kj ŽKuj÷a}”j×aKsj¤b}”j}bKsjâc}”(j»cKjEdKjpeKujüj}”jÕjKsj&k}”jÿjKsj—m}”jpmKsjn}”jèmKsj9n}”jnKsjcn}”jKj@KjýIKj{SKj·]Kj^KjX_KjÁ_Kj/`KjÖdKj»iKj8lKj¶pKjÖvKjRwKjW–KjÍ—Kj Kjƒ Kj¥¡KjN¤KjÞ©Kj¡ªKjã­Kj~±KjбKj"²Kj޳Kj?µKjgµKj@¸Kj8ºKj,¼Kjü¿Kj‹ÆKjGÉKj¦ÉKj ÊKj1ÍKjxÑKj:ÔKj†ÕKj×ïKj ôKj!ýKjuýKjÇýKj­KjÌKjYKjøKj†Kj½KjÆ$KjB%Kj&Kjo'KjÕ*Kj†:Kj£<Kjê<Kjv?KjêgKjeqKjìrKjÐsKj+}KjE…Kj̘Kj¬KujÉ}”(jÁKjWKj[ Kj@!Kj,Kj´-Kj:Kjc:Kj­GKj×GKjSHKj}HKj.IKjLKj;LKjeLKjLKj¹LKjzMKj¤MKjÎMKjøMKj"NKj”PKjf[Kj,_Kj:aKj«aKj€cKjÒcKj-eKjæfKjpiKjÕmKjýoKjOpKjËpKjsKjStKjTvKj0xKjZxKj“Kjø–Kj›KjhKjµKj·Kj#ºKjÀKjDÀKjnÀKj˜ÀKjsÁKjÃKj‘ÃKjãÃKj_ÄKj±ÄKjÎÄKjyÆKj‹ÈKjÝÈKj/ÉKj)ÊKjKËKjRÐKjÛKjþßKjôðKjtóKj¬KjœKjbKjt'KjÆ'Kj=)Kj 7Kj†SKjÂ]Kj%^Kjc_KjÌ_Kj:`KjádKjmhKj—hKjëhKjiKjžiKj>kKjhkKj’kKj¼kKjlKjÆoKjÁpKj\qKj`sKjPuKjávKjb–KjØ—Kj KjŽ Kj°¡KjY¤Kj·¨Kjí«Kj¬Kj­Kj;­Kjî­Kj‰±Kj-²KjJµKjK¸Kj7¼KjÀKjçÊKj;ËKjcËKjÝÌKj<ÍKjEÐKj˜ÒKjÂÒKjhÓKj¼ÓKjæÓKjEÔKjbÔKj€ýKjÒýKj¸Kj×KjKj·Kj Kj5KjèKjKj‘KjÈKjÑ$KjM%Kj&Kjz'Kjà*Kj˜9Kj‘:Kjõ<Kj?KjÌYKjZKjpZKjœ[KjÆ[KjôeKjfKjœfKjÆfKjygKj÷rKjÛsKj6}KjP…Kj§’KjÑ’Kj%“KjO“Kje”Kjh•Kj’•Kj:–Kjd–Kj˜KjšKj?šKj»šKjåšKjD›KjžKj“žKjaŸKj‹ŸKjµŸKj¡KjͬKjH¯KujF}”(j0KjZKjøKjtKj[ KjÚKjèDKj:EKj£OKj²]KjvmKj¨nKjaKj»€KjÞÂKjÁäKjëäKj¢åKjóKjþKjÚKj—+Kjè/Kj¹‘Kj…¯Kj™ÐKj@×Kj)ðKjEKjqKjˆ"Kj²"Kj:&Kjš+KjG=Kj"?Kj@KjÕTKj$ƒKjNƒKj£“Kj¼•Kjâ–Kj™—Kjö˜Kuj¶}”(j®KjÏ Kj\ KjÖKj¤3KjüSKjæUKj€WKj¥bKjLmKjÊsKjôsKj"‰Kj‹‰Kjî‰KjcKj‡ŽKjâKjk‘Kj<ÇKjÏKj€ÏKj(ÐKjúÐKj?åKj/íKjíKjÓíKj%îKjwîKjÉîKjïKjmïKj¿ïKjðKj‡ KjKj>Kj™>KjÎgKjøgKjâKj‘KjÕ’Kjˆ”Kj!©Kj­Kj³®KjްKjÈ´KjAÊKj ÌKj}ÎKj.ÏKjiÕKjÛKjCÛKjmÛKjœÜKjîÜKj@ÝKj’ÝKjäÝKj6ÞKjˆÞKjÚÞKj,ßKj~ßKjE Kj™ Kj¼;Kj2@Kj_BKjÞiKjäyKjzKjh|Kj6—KujÁ}”(j¹KjáKjGÇKjJåKjùèKjëKj³ŸKje¨Kj™°KjbºKj®»KjÉKjsÚKj³BKjA—KujÌ}”(jÄKjRÇKj¤°Kuj }”jðKsjX }”(jP KjóKj®‘Kj5×KjðKjfKj<=KjÊTKujÌ }”(jÄ KjQ KjñSKjÛUKj‰Kj€‰Kjã‰KjXKj×Kj`‘Kj >Kj×KjÊ’Kj}”Kj©Kj½´KjJÜKj±;Kj'@Kuj }”(jý KjŠKj$SKjoKjü³Kj9ÈKj©@Kj\ZKj$Kj‰ŸKj*±Kj$ÑKjöKj?Kjº|Kuj¼ }”(j´ Kjí>Kuj‡}”(jKjünKjñ³Kj.ÈKjQZKj^´Kj’ÓKjýõKjú>Kj¯|KujÄ}”(j®Kj8ÙKuj‰}”(jsKjEKjKjUKjÿKj)KjH8Kj›CKjùmKj"yKj yKjÒÖKjbKjn‘Kj–‘Kuj³}”(jKjµ.Kj†ÝKj• Kj±KjáKj]âKj¯âKjxôKj¨>KjgOKjoKja›KjD¬KujÝ}”(jÇKjKjS8Kj¦CKjÝÖKj bKjy‘Kuj}”(jñKj+Kj¿|Kj'SKjšUKjľKj¿Kj\ÃKj)bKuj1}”(jKjKj¸üKj5BKjúDKj$EKjxEKjRKjØVKjÓØKjSbKujU}”(jMKj©NKj*OKj'bKj #KjŽ/Kuj`}”(jXKj›UKjVKjaVKjÝVKj/WKjWKjÓWKj%XKuj–}”j€Ksj`}”jJKsj"}”(jKjiFKj“FKj€_KjÿaKj•hKjßiKj-kKjkKjlKj$mKjhKjfhKj–KjJ™Kjr™KujµI}”(jŸIKjTyKjºÁKuj¾Q}”(j¨QKjÎKujR}”(jüQKjüKujS}”júRKsj˜T}”j‚TKsj@U}”(j*UKjX1Kj âKj©ãKj°=KjÏCKuj†U}”(j~UKj8kKj›kKjnKjC’Kj`•KjÒ¢Kj.¦Kjq³Kjæ¸Kj„»Kj{ÒKjÚòKjóKjXóKjªóKjôôKj`ùKj>KjV>Kj”~Kuj}W}”juWKsj³W}”jWKsjÝW}”jÇWKsjDY}”(jKja>Kj5BKjŸ~Kuja’}”(jY’Kjv•Kj×|KjS}Kuj–}”(jÿ•Kj­üKj*BKjYFKj/RKj"VKjÈØKuj’˜}”(jŠ˜Kjh£KjšIKuj˜}”(j•˜Kjs£Kj¥IKjHUKuj™}”(jí˜KjË£Kjb©Kjä_Kuj«™}”j•™Ksjvš}”j`šKsjD›}”j.›Ksj¡}”jò KsjÚ¡}”(jÄ¡KjálKuj¢}”jî¡Ksj‚¢}”jl¢Ksj¬¢}”(j–¢Kjm¥KjG¦KjþCKjôTKjî¾Kj mKuj‰¤}”js¤Ksj#¥}”j¥Ksjô¦}”jÞ¦Ksjÿ°}”(jé°KjšKjõ1KujGµ}”(j1µKjU¶Kj9Kjx‹KjH°Kujêº}”(jÔºKjþºKuj>»}”j(»Ksj¾}”(jñ½Kjm¾Kjó KjOKj>RKujž¿}”(j–¿Kjš]Kuj©¿}”(j¡¿KjFKjª KjKuj´¿}”(j¬¿Kj¹‰KujÜÅ}”jÆÅKsjÆ}”jðÅKsj0Æ}”(jÆKj FKjvOKjÍSKujBÏ}”(j,ÏKjÔÏKujÀÏ}”jªÏKsj’Ð}”j|ÐKsj¼Ð}”j¦ÐKsjæÐ}”(jÐÐKj×YKj)ZKj{ZKujšØ}”j’ØKsjÐØ}”(jºØKjŒÙKujHÝ}”j2ÝKsjéà}”(jáàKjDáKuj;æ}”j%æKsjæ}”jyæKsj-è}”(jèKj?ÜKuj,í}”(j$íKjvíKjÈíKjîKjlîKj¾îKjïKjbïKj´ïKjðKj‘ÜKjãÜKj5ÝKj‡ÝKjÙÝKj+ÞKj}ÞKjÏÞKj!ßKjsßKujƒ÷}”jm÷Ksj­÷}”j—÷Ksjûú}”jåúKsjªü}”(j¢üKjBKj½ØKuj ý}”jýKsjCý}”(j-ýKjXBKj'JKjÞMKj ÙKujþ}”(j þKj˜`Kuj}”jˆKsj›}”j“Ksj\}”(jTKjKuj®}”(j¦KjUKuj }”jó Ksjž }”jˆ Ksj}”jþ Ksj1}”(jKjÁoKuj }”jKsj•}”(jKjØ»Kuj×}”(jÏKjÁ+Kj=,Kuj:}”j2KsjÃ}”(j»KjЋKujÊ}”(j´Kj)ÎKuj }”(j Kj‘AKj…GKjHKjKKjúNKj`PKjèPKj0TKjWKj·lKujµ%}”(jŸ%KjÉ%Kjó%Kjã'Kuj+'}”j'Ksj¶(}”j (KsjÚ.}”jÄ.Ksj 8}”(jô7Kjp8KjÏmKj‘Kujq9}”j[9Ksjd:}”j\:KsjÜ;}”jÆ;Ksj4@}”j@Ksj¹C}”(j±CKj«yKjèÖKujêC}”jÔCKsjdE}”(jNEKjŠPKujâE}”jÌEKsj3F}”(j+FKjOKjØSKujáG}”(jÙGKj°VKuj2I}”jIKsj\I}”jFIKsjéI}”jÓIKsjgJ}”jQJKsj(K}”jKKsjM}”jMKsj8O}”j"OKsjR}”jRKsj†U}”jpUKsjÚU}”jÄUKsjvW}”j`WKsjQX}”jIXKsj\X}”jTXKsjaY}”(jKYKjàYKjýZKujZ}”(jýYKjzKujZ}”(jyZKj×Kuj‡\}”jq\Ksj±\}”j›\KsjÛ\}”jÅ\KsjÃe}”j»eKsj»m}”(j¥mKjLyKujcn}”jMnKsj)o}”joKsjSo}”j=oKsj}o}”jgoKsjq}”(jqKj°qKjvKujÐr}”(jºrKjärKj—uKj|wKuj×u}”jÁuKsj>w}”j(wKsjÞy}”jÈyKsjä|}”(jÜ|Kjq«Kuj~~}”(jv~Kjò²Kujù‰}”jã‰KsjMŠ}”j7ŠKsj5˜}”j˜Ksj5¢}”(j¢KjQ¥Kuj‰¢}”(js¢Kj¥¥KujÏ¢}”(jÇ¢Kj#¦Kuj£}”j£KsjÛ©}”(jÓ©Kj•ÊKjÌïKj˜<Kuju®}”(j_®Kj òKujŸ®}”(j‰®KjSÎKj†=Kujó®}”(jÝ®Kj4òKujã±}”(jÛ±KjƒÑKj¾%Kujв}”jt²Ksjn³}”(jf³KjpÒKuj¢º}”jŒºKsj`Ä}”(jXÄKjƒÍKjwIKj\KujaÅ}”jKÅKsj£É}”j›ÉKsj Ù}”jöØKsj!à}”jàKsjpâ}”(jhâKjºâKujÄæ}”(j¼æKj±PKjlXKujÌñ}”j¶ñKsjô}”(jüóKjjúKujô}”(jôKjWõKjuúKj’úKj¼úKujY}”(jQKjµ Kj!Kujm}”(jeKj Kujû}”jåKsj¤&}”jŽ&KsjÎ&}”j¸&Ksj%(}”j(KsjÎ/}”j¸/Ksjp6}”jZ6Ksj0<}”j<KsjÛ@}”jÓ@KsjE}”jEKsj±H}”j©HKsjI}”jûHKsj Q}”j˜QKsj±S}”(j›SKjê­KujÛS}”(jÅSKj®Kuj€T}”jxTKsj‹T}”jƒTKsjõU}”jíUKsj”V}”j~VKsjÑc}”(j»cKjEdKjpeKujKr}”j5rKsj{u}”jeuKsjøx}”(jâxKj6yKuj¾}”j¨KsjA‰}”j9‰Ksj÷}”jáKsjÉŽ}”j³ŽKsj }”jKsjò“}”jÜ“Ksj˜”}”(j‚”Kj¢˜Kujb¢}”jL¢KsjЫ}”jÈ«Ksj0¬}”j¬Ksj¦­}”j­KsujÁ}”(jª}”j§Ksjµ}”jÉKsj&}”j#Ksj1}”jEKsjÌ}”jÉKsj×}”jëKsjH}”jEKsjS}”jgKsj¶}”j³KsjÁ}”jÕKsj}”jKsj}”j'Ksj®}”j«Ksj¹}”jãKsjÄ}”jéKsjÏ}”jïKsjL}”jIKsjW}”jkKsjÈ}”jÅKsjÓ}”jçKsjŠ }”j‡ Ksj• }”j´ Ksj  }”jº Ksjí }”jê Ksjø }”j Ksj }”j KsjP }”jM Ksj[ }”j… Ksjf }”j‹ Ksjq }”j‘ KsjÄ }”jÁ KsjÏ }”jî KsjÚ }”jô KsjQ }”jN Ksj\ }”j{ Ksjg }”j Ksj´ }”j± Ksj¿ }”jÓ Ksj± }”j® Ksj¼ }”jÐ Ksj}”jKsj}”j"Ksj}”j|KsjŠ}”jžKsj}”jKsj}”j"KsjM}”jJKsjX}”jlKsjÖ}”jÓKsjá}”jõKsjß}”jÜKsjê}”jþKsj1}”j.Ksj<}”jPKsjÖ}”jÓKsjá}”jKsjì}”jKsj}”jKsj%}”j9Ksjl}”jiKsjw}”j‹Ksj¾}”j»KsjÉ}”jÝKsj:}”j7KsjE}”jYKsj¥}”j¢Ksj°}”jÄKsj!}”j!Ksj*!}”jT!Ksj5!}”jZ!Ksj@!}”j`!Ksj*$}”j'$Ksj5$}”jI$Ksjè%}”jå%Ksjó%}”j&Ksj©-}”j¦-Ksj´-}”jÈ-Ksjµ.}”j².KsjÀ.}”jÔ.Ksj30}”j00Ksj>0}”jR0Ksj¯0}”j¬0Ksjº0}”jÎ0Ksjß1}”jÜ1Ksjê1}”jþ1Ksj•2}”j’2Ksj 2}”j´2Ksjç2}”jä2Ksjò2}”j3KsjL4}”jI4KsjW4}”jk4KsjF5}”jC5KsjQ5}”je5Ksjƒ7}”j€7KsjŽ7}”j¢7Ksj)8}”j&8Ksj48}”jH8Ksj:}”j:Ksj:}”j%:KsjX:}”jU:Ksjc:}”jw:Ksj?;}”j<;KsjJ;}”j^;Ksj>}”j>Ksj>}”j&>Ksj[A}”jXAKsjfA}”jzAKsj¿B}”j¼BKsjÊB}”jÞBKsjC}”jCKsjC}”j0CKsjèD}”jåDKsjóD}”jEKsj:E}”j7EKsjEE}”jYEKsj+H}”j(HKsj6H}”jJHKsjÑH}”jÎHKsjÜH}”jðHKsj#I}”j IKsj.I}”jBIKsjóI}”jðIKsjþI}”jJKsj÷O}”jôOKsjP}”jPKsjsP}”jpPKsj~P}”j¨PKsj‰P}”j®PKsj”P}”j´PKsjüQ}”jùQKsjR}”jRKsjæS}”jãSKsjñS}”jTKsjüS}”j!TKsjT}”j'TKsjZT}”jWTKsjeT}”jyTKsj~U}”j{UKsj‰U}”jUKsjÐU}”jÍUKsjÛU}”júUKsjæU}”jVKsjuW}”jrWKsj€W}”j”WKsju}”j;uKsjIu}”jhuKsjTu}”jnuKsjIv}”jFvKsjTv}”jhvKsjÅv}”jÂvKsjÐv}”jävKsjw}”jwKsj"w}”j6wKsjiw}”jfwKsjtw}”jˆwKsj®x}”j«xKsj¹x}”jÍxKsjÒy}”jÏyKsjÝy}”jñyKsj$z}”j!zKsj/z}”jCzKsjÖz}”jÓzKsjáz}”jõzKsjR{}”jO{Ksj]{}”jq{KsjJ~}”jG~KsjU~}”ji~Ksj×~}”jÔ~Ksjâ~}”jö~KsjV}”jSKsja}”j€Ksjl}”j†Ksjï}”jìKsjú}”j€KsjA€}”j>€KsjL€}”j`€Ksj“€}”j€Ksjž€}”j²€KsjŠ‚}”j‡‚Ksj•‚}”j©‚KsjÜ‚}”jÙ‚Ksjç‚}”jû‚Ksj.ƒ}”j+ƒKsj9ƒ}”jMƒKsj„}”j „Ksj„}”j.„Ksj‹„}”jˆ„Ksj–„}”jª„KsjÝ„}”jÚ„Ksjè„}”jü„Ksj<†}”j9†KsjG†}”j[†Ksjt‡}”jq‡Ksj‡}”j“‡Ksj ‰}”j ‰Ksj‰}”jA‰Ksj"‰}”jG‰Ksj-‰}”jM‰Ksj€‰}”j}‰Ksj‹‰}”jª‰Ksj–‰}”j°‰Ksjã‰}”jà‰Ksjî‰}”j ŠKsjù‰}”jŠKsjÑŒ}”jÎŒKsjÜŒ}”jðŒKsjM}”jJKsjX}”j‚Ksjc}”jˆKsjn}”jŽKsjë}”jèKsjö}”jŽKsjŽ}”jŽKsjNŽ}”jKŽKsjYŽ}”jxŽKsjdŽ}”j~ŽKsj×}”jÔKsjâ}”jKsjí}”jKsj`‘}”j]‘Ksjk‘}”jŠ‘Ksjv‘}”j‘Ksj’}”j’Ksj"’}”jm’Ksj-’}”js’Ksj8’}”jy’KsjC’}”j’KsjN’}”j…’KsjY’}”j‹’Ksj“}”j“Ksj“}”j1“Ksj¸“}”jµ“KsjÓ}”jדKsj ”}”j”Ksj”}”j)”Ksjí–}”jê–Ksjø–}”j —KsjŠ˜}”j‡˜Ksj•˜}”j´˜Ksj ˜}”jº˜Ksjäš}”jášKsjïš}”j›Ksjúš}”j›Ksj›}”j%›KsjG}”jDKsjR}”j|Ksj]}”j‚Ksjh}”jˆKsj"ž}”jžKsj-ž}”jAžKsjh£}”je£Ksjs£}”j’£Ksj~£}”j˜£Ksj¥}”j¥Ksj&¥}”j:¥Ksjë¥}”jè¥Ksjö¥}”j ¦Ksj†§}”jƒ§Ksj‘§}”j°§Ksjœ§}”j¶§Ksjé¬}”jæ¬Ksjô¬}”j­Ksj;­}”j8­KsjF­}”je­KsjQ­}”jk­Ksjž­}”j›­Ksj©­}”j½­Ksj˜®}”j•®Ksj£®}”j®Ksj®®}”jÈ®Ksjû®}”jø®Ksj¯}”j%¯Ksj¯}”j+¯Ksj^¯}”j[¯Ksji¯}”jˆ¯Ksjt¯}”jޝKsj=±}”j:±KsjH±}”jg±KsjS±}”jm±Ksj ±}”j±Ksj«±}”j¿±Ksjò±}”jï±Ksjý±}”j²KsjD²}”jA²KsjO²}”jc²Ksjê²}”jç²Ksjõ²}”j ³Ksj<³}”j9³KsjG³}”j[³Ksj޳}”j‹³Ksj™³}”j¸³Ksj¤³}”j¾³Ksjñ³}”jî³Ksjü³}”j´KsjC´}”j@´KsjN´}”jx´KsjY´}”j~´Ksjd´}”j„´Ksj·´}”j´´Ksj´}”jÖ´Ksj µ}”jµKsjµ}”j(µKsj…µ}”j‚µKsjµ}”j¤µKsj©¶}”j¦¶Ksj´¶}”jȶKsj·¸}”j´¸Ksj¸}”já¸Ksj͸}”jç¸Ksjº}”jºKsj#º}”j7ºKsjŸ¼}”jœ¼Ksjª¼}”jɼKsjµ¼}”jϼKsj½}”jÿ¼Ksj ½}”j,½Ksj½}”j2½KsjE¾}”jB¾KsjP¾}”jd¾Ksj–¿}”j“¿Ksj¡¿}”jÀ¿Ksj¬¿}”jÆ¿KsjÁ}”jÁKsj!Á}”j5ÁKsjhÁ}”jeÁKsjsÁ}”j‡ÁKsj†Ã}”jƒÃKsj‘Ã}”j¥ÃKsjØÃ}”jÕÃKsjãÃ}”j÷ÃKsjTÄ}”jQÄKsj_Ä}”jsÄKsj¦Ä}”j£ÄKsj±Ä}”jÅÄKsj"Å}”jÅKsj-Å}”jAÅKsjžÅ}”j›ÅKsj©Å}”j½ÅKsjnÆ}”jkÆKsjyÆ}”jÆKsjÀÆ}”j½ÆKsjËÆ}”j߯Ksj<Ç}”j9ÇKsjGÇ}”jqÇKsjRÇ}”jwÇKsj]Ç}”j}ÇKsj.È}”j+ÈKsj9È}”jMÈKsj€È}”j}ÈKsj‹È}”jŸÈKsjÒÈ}”jÏÈKsjÝÈ}”jñÈKsj$É}”j!ÉKsj/É}”jCÉKsjÊ}”jÊKsj)Ê}”j=ÊKsjpÊ}”jmÊKsj{Ê}”jÊKsj@Ë}”j=ËKsjKË}”j_ËKsjbÎ}”j_ÎKsjmÎ}”jÎKsjÀÑ}”j½ÑKsjËÑ}”jßÑKsjÒ}”jÒKsjÒ}”j1ÒKsj¸Ò}”jµÒKsjÃÒ}”j×ÒKsj Ó}”jÓKsjÓ}”j)ÓKsj\Ó}”jYÓKsjgÓ}”j{ÓKsj®Ó}”j«ÓKsj¹Ó}”jÍÓKsjWÖ}”jTÖKsjbÖ}”jvÖKsj©Ö}”j¦ÖKsj´Ö}”jÈÖKsjûÖ}”jøÖKsj×}”j×Ksjz×}”jw×Ksj…×}”j™×Ksj’Ø}”jØKsjØ}”j±ØKsj4Ú}”j1ÚKsj?Ú}”jSÚKsjÛ}”jÛKsjÛ}”j#ÛKsjàÛ}”jÝÛKsjëÛ}”jÿÛKsj†Ý}”jƒÝKsj‘Ý}”j¥ÝKsjVÞ}”jSÞKsjaÞ}”juÞKsjüÞ}”jùÞKsjß}”jßKsjNß}”jKßKsjYß}”jmßKsjóß}”jðßKsjþß}”jàKsj~à}”j{àKsj‰à}”j¨àKsj”à}”j®àKsjáà}”jÞàKsjìà}”j áKsj÷à}”jáKsjDá}”jAáKsjOá}”jnáKsjZá}”jtáKsj.â}”j+âKsj9â}”jMâKsj€â}”j}âKsj‹â}”jŸâKsjÒâ}”jÏâKsjÝâ}”jñâKsj?å}”j<åKsjJå}”jiåKsjUå}”joåKsjkè}”jhèKsjvè}”jŠèKsjùè}”jöèKsjé}”jéKsjKé}”jHéKsjVé}”jjéKsjé}”jšéKsj¨é}”j¼éKsjïé}”jìéKsjúé}”jêKsjAê}”j>êKsjLê}”j`êKsjë}”jëKsjë}”j%ëKsjXë}”jUëKsjcë}”jwëKsjþë}”jûëKsj ì}”jìKsj$í}”j!íKsj/í}”jCíKsjví}”jsíKsjí}”j•íKsjÈí}”jÅíKsjÓí}”jçíKsjî}”jîKsj%î}”j9îKsjlî}”jiîKsjwî}”j‹îKsj¾î}”j»îKsjÉî}”jÝîKsjï}”j ïKsjï}”j/ïKsjbï}”j_ïKsjmï}”jïKsj´ï}”j±ïKsj¿ï}”jÓïKsjð}”jðKsjð}”j%ðKsjÓð}”jÐðKsjÞð}”jñKsjéð}”jñKsjôð}”jñKsj‚ò}”jòKsjò}”j¡òKsjió}”jfóKsjtó}”jˆóKsjë÷}”jè÷Ksjö÷}”j øKsj¢ü}”jŸüKsj­ü}”jÌüKsj¸ü}”jÒüKsjý}”jýKsjý}”j$ýKsj þ}”jþKsjþ}”j5þKsj!þ}”j;þKsjÌþ}”jÉþKsj×þ}”jëþKsj×ÿ}”jÔÿKsjâÿ}”jöÿKsj}}”jzKsjˆ}”j²Ksj“}”j¸Ksjž}”j¾Ksjñ}”jîKsjü}”jKsj}”j!KsjT}”jQKsj_}”jsKsj¦}”j£Ksj±}”jÅKsj"}”jKsj-}”jAKsj¹}”j¶KsjÄ}”jØKsj }”jKsj}”j*Ksj]}”jZKsjh}”j|Ksj}”jKsj}”j"KsjU}”jRKsj`}”jtKsjþ}”jûKsj }”j(Ksj}”j.Ksj”}”j‘KsjŸ}”j¾Ksjª}”jÄKsjP}”jMKsj[}”joKsjñ}”jîKsjü}”j KsjC }”j@ KsjN }”jb Ksjó }”jð Ksjþ }”jKsjJ}”jGKsjU}”jiKsj¡}”jžKsj¬}”jÀKsjó}”jðKsjþ}”j(Ksj }”j.Ksj}”j4Ksj‘}”jŽKsjœ}”j°Ksjã}”jàKsjî}”jKsj_}”j\Ksjj}”j~Ksj}”jKsj}”j$KsjW}”jTKsjb}”jvKsjý}”júKsj}”jKsjÏ}”jÌKsjÚ}”jùKsjå}”jÿKsj2}”j/Ksj=}”jQKsjU}”jRKsj`}”jKsjk}”j…Ksjâ}”jßKsjí}”jKsj4}”j1Ksj?}”jSKsj.}”j+Ksj9}”jXKsjD}”j^Ksj»}”j¸KsjÆ}”jÚKsj‹}”jˆKsj–}”jªKsj…}”j‚Ksj}”j¤Ksj×}”jÔKsjâ}”jöKsj)}”j&Ksj4}”jSKsj?}”jYKsjŒ}”j‰Ksj—}”j«Ksj\}”jYKsjg}”j{Ksj®}”j«Ksj¹}”jØKsjÄ}”jÞKsj}”jKsj}”j0Ksjá}”jÞKsjì}”jKsj }”j Ksj# }”j7 KsjÒ!}”jÏ!KsjÝ!}”jñ!Ksj$"}”j!"Ksj/"}”jN"Ksj:"}”jT"Ksj±"}”j®"Ksj¼"}”jÛ"KsjÇ"}”já"Ksj#}”j#Ksj#}”j3#Ksjf#}”jc#Ksjq#}”j…#Ksj¸#}”jµ#KsjÃ#}”j×#Ksjw%}”jt%Ksj‚%}”j–%Ksj›&}”j˜&Ksj¦&}”jº&Ksjí&}”jê&Ksjø&}”j 'Ksji'}”jf'Ksjt'}”jˆ'Ksj»'}”j¸'KsjÆ'}”jÚ'Ksj7(}”j4(KsjB(}”jV(Ksjé*}”jæ*Ksjô*}”j+Ksj,}”j,Ksj ,}”j4,KsjH.}”jE.KsjS.}”jg.KsjB/}”j?/KsjM/}”ja/Ksjè/}”jå/Ksjó/}”j0Ksj¬1}”j©1Ksj·1}”jË1Ksjþ1}”jû1Ksj 2}”j2Ksj%3}”j"3Ksj03}”jD3Ksjw3}”jt3Ksj‚3}”j–3KsjÉ3}”jÆ3KsjÔ3}”jè3Ksj4}”j4Ksj&4}”j:4Ksjm4}”jj4Ksjx4}”jŒ4Ksj%5}”j"5Ksj05}”jD5Ksjw5}”jt5Ksj‚5}”j–5Ksjó5}”jð5Ksjþ5}”j6KsjE6}”jB6KsjP6}”jd6Ksj—6}”j”6Ksj¢6}”j¶6KsjH8}”jE8KsjS8}”jg8Ksj\:}”jY:Ksjg:}”j{:Ksj=}”j=Ksj!=}”j5=Ksjh=}”je=Ksjs=}”j‡=Ksjº=}”j·=KsjÅ=}”jÙ=Ksj >}”j >Ksj>}”j6>Ksj">}”j<>Ksjí>}”jê>Ksjø>}”j ?Ksj??}”jcKsjqc}”jncKsj|c}”j¦cKsj‡c}”j¬cKsj’c}”j²cKsj„d}”jdKsjd}”j£dKsjÖd}”jÓdKsjád}”jõdKsjie}”jfeKsjte}”jˆeKsj»e}”j¸eKsjÆe}”jÚeKsj“i}”jiKsjži}”j²iKsjj}”j jKsjj}”j.jKsjaj}”j^jKsjlj}”j€jKsjl}”j lKsjl}”j/lKsj»o}”j¸oKsjÆo}”jÚoKsj¶p}”j³pKsjÁp}”jÕpKsj8s}”j5sKsjCs}”jWsKsj´s}”j±sKsj¿s}”jÓsKsjt}”jŠtKsj˜t}”j¬tKsjEu}”jBuKsjPu}”jduKsjÖv}”jÓvKsjáv}”jõvKsj y}”jyKsj«y}”j¿yKsjæ{}”jã{Ksjñ{}”j|Ksj8|}”j5|KsjC|}”jW|KsjŠ|}”j‡|Ksj•|}”j©|KsjÜ|}”jÙ|Ksjç|}”jû|Ksj.}}”j+}Ksj9}}”jM}Ksj€}}”j}}Ksj‹}}”jŸ}KsjÒ}}”jÏ}KsjÝ}}”jñ}Ksj$~}”j!~Ksj/~}”jC~Ksjv~}”js~Ksj~}”j«~KsjŒ~}”j±~Ksj—~}”j·~Ksjê~}”jç~Ksjõ~}”j Ksj<}”j9KsjG}”j[Ksj‹}”j‹Ksj&‹}”j:‹Ksjm‹}”jj‹Ksjx‹}”j—‹Ksjƒ‹}”j‹KsjЋ}”jÍ‹KsjÛ‹}”jï‹KsjLŒ}”jIŒKsjWŒ}”jkŒKsjžŒ}”j›ŒKsj©Œ}”j½ŒKsj}”jKsj%}”j9KsjüŽ}”jùŽKsj}”jKsjÌ}”jÉKsj×}”jKsjâ}”jKsjí}”j Ksjj}”jgKsju}”j”Ksj€}”jšKsjÍ}”jÊKsjØ}”j÷Ksjã}”jýKsj®‘}”j«‘Ksj¹‘}”jã‘KsjÄ‘}”jé‘KsjÏ‘}”jï‘KsjÊ’}”jÇ’KsjÕ’}”jô’Ksjà’}”jú’Ksj}”}”jz”Ksjˆ”}”j§”Ksj“”}”j­”Ksj4•}”j1•Ksj?•}”jŠ•KsjJ•}”j•KsjU•}”j–•Ksj`•}”jœ•Ksjk•}”j¢•Ksjv•}”j¨•KsjÛ•}”jØ•Ksjæ•}”jú•KsjW–}”jT–Ksjb–}”jv–Ksj©–}”j¦–Ksj´–}”jÈ–KsjÍ—}”jÊ—KsjØ—}”jì—Ksj˜}”jš˜Ksj¨˜}”j¼˜Ksjï˜}”jì˜Ksjú˜}”j™Ksjž}”jžKsj#ž}”j7žKsjjž}”jgžKsjuž}”j‰žKsj }”j Ksj }”j& Ksjƒ }”j€ KsjŽ }”j¢ KsjÕ }”jÒ Ksjà }”jô Ksj¥¡}”j¢¡Ksj°¡}”jÄ¡Ksj÷¡}”jô¡Ksj¢}”j¢KsjÇ¢}”jÄ¢KsjÒ¢}”jñ¢KsjÝ¢}”j÷¢Ksj~£}”j{£Ksj‰£}”j£KsjN¤}”jK¤KsjY¤}”jm¤Ksj#¦}”j ¦Ksj.¦}”jM¦Ksj9¦}”jS¦Ksj¨}”j¨Ksj¨}”j2¨Ksje¨}”jb¨Ksjp¨}”j„¨Ksj ©}”j©Ksj©}”j@©Ksj!©}”jF©Ksj,©}”jL©KsjÓ©}”jЩKsjÞ©}”jò©Ksjyª}”jvªKsj„ª}”j˜ªKsj«}”j«Ksj*«}”j>«Ksjq«}”jn«Ksj|«}”j«Ksjk¬}”jh¬Ksjv¬}”jЬKsjã­}”jà­Ksjî­}”j®Ksj…¯}”j‚¯Ksj¯}”j¯¯Ksj›¯}”jµ¯Ksjè¯}”jå¯Ksjó¯}”j°Ksjް}”j‹°Ksj™°}”jðKsj¤°}”jɰKsj¯°}”jϰKsj±}”jÿ°Ksj ±}”j!±Ksj~±}”j{±Ksj‰±}”j±Ksjб}”jͱKsjÛ±}”jï±Ksj"²}”j²Ksj-²}”jA²Ksjò²}”jï²Ksjý²}”j'³Ksj³}”j-³Ksu(j³}”j3³Ksjf³}”jc³Ksjq³}”j…³Ksjâ³}”jß³Ksjí³}”j´Ksj²´}”j¯´Ksj½´}”jÜ´KsjÈ´}”jâ´Ksj?µ}”j<µKsjJµ}”j^µKsj¶}”j ¶Ksj¶}”j.¶Ksj@¸}”j=¸KsjK¸}”j_¸Ksjæ¸}”jã¸Ksjñ¸}”j¹Ksjàº}”jݺKsjëº}”jÿºKsj2»}”j/»Ksj=»}”jQ»Ksj,¼}”j)¼Ksj7¼}”jK¼Ksjæ¿}”jã¿Ksjñ¿}”jÀKsjü¿}”j!ÀKsjÀ}”j'ÀKsj³À}”j°ÀKsj¾À}”jÒÀKsjYÁ}”jVÁKsjdÁ}”jxÁKsjXÄ}”jUÄKsjcÄ}”jwÄKsj]Ç}”jZÇKsjhÇ}”j|ÇKsjÉ}”jÉKsj*É}”j>ÉKsj›É}”j˜ÉKsj¦É}”jºÉKsj•Ê}”j’ÊKsj Ê}”j´ÊKsj;Ë}”j8ËKsjFË}”jZËKsj1Í}”j.ÍKsj<Í}”jPÍKsjƒÍ}”j€ÍKsjŽÍ}”j¢ÍKsjÑÎ}”jÎÎKsjÜÎ}”jðÎKsj#Ï}”j ÏKsj.Ï}”jBÏKsjÐ}”jÐKsj(Ð}”j<ÐKsj™Ð}”j–ÐKsj¤Ð}”jÃÐKsj¯Ð}”jÉÐKsjüÐ}”jùÐKsjÑ}”jÑKsjxÑ}”juÑKsjƒÑ}”j—ÑKsjÒ}”jÒKsj)Ò}”j=ÒKsjpÒ}”jmÒKsj{Ò}”jÒKsj@Ó}”j=ÓKsjKÓ}”j_ÓKsj:Ô}”j7ÔKsjEÔ}”jYÔKsj^Õ}”j[ÕKsjiÕ}”j}ÕKsjÒÖ}”jÏÖKsjÝÖ}”jüÖKsjèÖ}”j×Ksj5×}”j2×Ksj@×}”jj×KsjK×}”jp×KsjV×}”jv×Ksj½Ø}”jºØKsjÈØ}”jçØKsjÓØ}”jíØKsjsÚ}”jpÚKsj~Ú}”j’ÚKsj?Ü}”j<ÜKsjJÜ}”j^ÜKsj‘Ü}”jŽÜKsjœÜ}”j°ÜKsjãÜ}”jàÜKsjîÜ}”jÝKsj5Ý}”j2ÝKsj@Ý}”jTÝKsj‡Ý}”j„ÝKsj’Ý}”j¦ÝKsjÙÝ}”jÖÝKsjäÝ}”jøÝKsj+Þ}”j(ÞKsj6Þ}”jJÞKsj}Þ}”jzÞKsjˆÞ}”jœÞKsjÏÞ}”jÌÞKsjÚÞ}”jîÞKsj!ß}”jßKsj,ß}”j@ßKsjsß}”jpßKsj~ß}”j’ßKsjà}”jàKsj$à}”j8àKsj¿à}”j¼àKsjÊà}”jÞàKsjá}”jáKsjá}”j0áKsjcá}”j`áKsjná}”j‚áKsj]â}”jZâKsjhâ}”j|âKsj¯â}”j¬âKsjºâ}”jÎâKsj¼æ}”j¹æKsjÇæ}”jÛæKsjæç}”jãçKsjñç}”jèKsj}ì}”jzìKsjˆì}”jœìKsjùì}”jöìKsjí}”jíKsjKí}”jHíKsjVí}”jjíKsjÌï}”jÉïKsj×ï}”jëïKsjð}”jðKsj)ð}”jSðKsj4ð}”jYðKsj?ð}”j_ðKsj¼ð}”j¹ðKsjÇð}”jÛðKsjˆò}”j…òKsj“ò}”j§òKsjXó}”jUóKsjcó}”jwóKsjªó}”j§óKsjµó}”jÉóKsjüó}”jùóKsjô}”jôKsjxô}”juôKsjƒô}”j—ôKsjôô}”jñôKsjÿô}”jõKsj õ}”j$õKsjWõ}”jTõKsjbõ}”jvõKsjýõ}”júõKsjö}”jöKsjOö}”jLöKsjZö}”jnöKsj÷}”jš÷Ksj¨÷}”jÒ÷Ksj³÷}”jØ÷Ksj¾÷}”jÞ÷Ksjø}”jŒøKsjšø}”j®øKsjÞù}”jÛùKsjéù}”jýùKsjjú}”jgúKsjuú}”j‰úKsjuý}”jrýKsj€ý}”j”ýKsjÇý}”jÄýKsjÒý}”jæýKsjCþ}”j@þKsjNþ}”jbþKsj:ÿ}”j7ÿKsjEÿ}”jYÿKsj}}”jzKsjˆ}”jœKsjù}”jöKsj}”jKsjK}”jHKsjV}”jjKsjÇ}”jÄKsjÒ}”jüKsjÝ}”jKsjè}”jKsj;}”j8KsjF}”jœKsjQ}”j¢Ksj\}”j¨Ksjg}”j®Ksjr}”j´Ksj}}”jºKsjˆ}”jÀKsjE}”jBKsjP}”jdKsj­}”jªKsj¸}”jÌKsjm}”jjKsjx}”jŒKsj¿}”j¼KsjÊ}”jÞKsj}”jKsj}”j0KsjÊ}”jÇKsjÕ}”jéKsj }”j Ksj' }”j; Ksj˜ }”j• Ksj£ }”j· KsjŸ }”jœ Ksjª }”j Ksjµ }”j KsjÀ }”j KsjË }”j KsjÖ }”j Ksjá }”j Ksjì }”j$ Ksj }”j Ksj& }”j: Ksj— }”j” Ksj¢ }”jÌ Ksj­ }”jÒ Ksj¸ }”jØ Ksj }”jKsj}”jlKsj!}”jrKsj,}”jxKsj7}”j~KsjB}”j„KsjM}”jŠKsjX}”jKsje}”jbKsjp}”j„Ksj }”jKsj}”j*KsjÌ}”jÉKsj×}”jëKsjÝ}”jÚKsjè}”jüKsj­}”jªKsj¸}”jÌKsjø}”jõKsj}”jKsjJ}”jGKsjU}”jiKsjÆ}”jÃKsjÑ}”jåKsjB}”j?KsjM}”jaKsj]}”jZKsjh}”j|Ksj¯}”j¬Ksjº}”jÎKsj{}”jxKsj†}”j¥Ksj‘}”j«KsjL}”jIKsjW}”jvKsjb}”j|Ksj¯}”j¬Ksjº}”jÎKsjf}”jcKsjq}”j›Ksj|}”j¡Ksj‡}”j§Ksj½}”jºKsjÈ}”jÜKsjˆ!}”j…!Ksj“!}”j§!KsjÆ$}”jÃ$KsjÑ$}”jå$KsjB%}”j?%KsjM%}”ja%Ksj&}”j&Ksj&}”j1&Ksj '}”j 'Ksj'}”j6'Ksj"'}”j<'Ksjo'}”jl'Ksjz'}”jŽ'Ksj¿*}”j¼*KsjÊ*}”jô*KsjÕ*}”jú*Ksjà*}”j+KsjÀ-}”j½-KsjË-}”jß-Ksj.}”j.Ksj.}”j1.Ksjd.}”ja.Ksjo.}”jƒ.Ksj¶.}”j³.KsjÁ.}”jÕ.Ksjõ1}”jò1Ksj2}”j2Ksjï2}”jì2Ksjú2}”j3KsjA3}”j>3KsjL3}”j`3Ksj“3}”j3Ksjž3}”j²3Ksj4}”j 4Ksj4}”j.4Ksj‹4}”jˆ4Ksj–4}”jª4KsjÝ4}”jÚ4Ksjè4}”jü4Ksj6}”j6Ksj6}”j'6Ksj8}”j|8KsjŠ8}”jž8Ksjp:}”jm:Ksj{:}”j¥:Ksj†:}”j«:Ksj‘:}”j±:Ksj¦;}”j£;Ksj±;}”jÛ;Ksj¼;}”já;KsjÇ;}”jç;Ksj˜<}”j•<Ksj£<}”j·<Ksjê<}”jç<Ksjõ<}”j =Ksj<=}”j9=KsjG=}”jq=KsjR=}”jw=Ksj]=}”j}=Ksj>}”j>Ksj>}”j#>KsjV>}”jS>Ksja>}”ju>Ksj¨>}”j¥>Ksj³>}”jÇ>Ksjú>}”j÷>Ksj?}”j?Ksjv?}”js?Ksj?}”j•?Ksj@}”j@Ksj'@}”jF@Ksj2@}”jL@KsjÓ@}”jÐ@KsjÞ@}”jò@KsjOA}”jLAKsjZA}”jnAKsjãA}”jàAKsjîA}”jBKsjE}”jEKsj E}”j4EKsj&G}”j#GKsj1G}”jEGKsj©H}”j¦HKsj´H}”jÈHKsjûH}”jøHKsjI}”jIKsjwI}”jtIKsj‚I}”j–IKsj­K}”jªKKsj¸K}”jÌKKsjÿK}”jüKKsj L}”jLKsjMM}”jJMKsjXM}”jlMKsjóM}”jðMKsjþM}”jNKsjÃN}”jÀNKsjÎN}”jâNKsjO}”jOKsj O}”j4OKsjgO}”jdOKsjrO}”j†OKsj P}”j PKsjP}”j,PKsj‰P}”j†PKsj”P}”j¨PKsj˜Q}”j•QKsj£Q}”j·QKsjxT}”juTKsjƒT}”j—TKsjÊT}”jÇTKsjÕT}”jÿTKsjàT}”jUKsjëT}”j UKsj>U}”j;UKsjIU}”j]UKsjU}”jUKsj›U}”j¯UKsjâU}”jßUKsjíU}”jVKsjøU}”jVKsjV}”j#VKsjVV}”jSVKsjaV}”juVKsjÒV}”jÏVKsjÝV}”jñVKsj$W}”j!WKsj/W}”jCWKsjvW}”jsWKsjW}”j•WKsjÈW}”jÅWKsjÓW}”jçWKsjX}”jXKsj%X}”j9XKsjlX}”jiXKsjwX}”j‹XKsjÌY}”jÉYKsj×Y}”jëYKsjZ}”jZKsj)Z}”j=ZKsjpZ}”jmZKsj{Z}”jZKsjÂZ}”j¿ZKsjÍZ}”jáZKsjA[}”j>[KsjL[}”j`[Ksj\}”j\Ksj%\}”j9\Ksj˜`}”j•`Ksj£`}”jÂ`Ksj®`}”jÈ`Ksjû`}”jø`Ksja}”jaKsjb}”jþaKsj b}”j bKsj™d}”j–dKsj¤d}”j¸dKsjëd}”jèdKsjöd}”j eKsjng}”jkgKsjyg}”jgKsj>h}”j;hKsjIh}”j]hKsj¶i}”j³iKsjÁi}”jÕiKsjºn}”j·nKsjÅn}”jänKsjÐn}”jênKsjo}”joKsj(o}”jŠ}”j]ŠKsjIŠ}”jcŠKsjÀŠ}”j½ŠKsjËŠ}”jêŠKsjÖŠ}”jðŠKsjw‹}”jt‹Ksj‚‹}”j–‹KsjÉ‹}”jÆ‹KsjÔ‹}”jè‹KsjŒ}”jŒKsj&Œ}”j:ŒKsjmŒ}”jjŒKsjxŒ}”jŒŒKsj¿Œ}”j¼ŒKsjÊŒ}”jÞŒKsj}”jŒKsjš}”j®Ksj¯}”j¬Ksjº}”jÎKsj}”jþKsj }”j KsjS}”jPKsj^}”j}Ksji}”jƒKsjn‘}”jk‘Ksjy‘}”j‘Ksj£“}”j “Ksj®“}”jÍ“Ksj¹“}”jÓ“KsjZ”}”jW”Ksje”}”jy”Ksj6—}”j3—KsjA—}”j`—KsjL—}”jf—Ksj™—}”j–—Ksj¤—}”j×Ksj¯—}”jÉ—Ksjü—}”jù—Ksj˜}”j˜KsjJ™}”jG™KsjU™}”ji™Ksj“š}”jšKsjžš}”j²šKsj9›}”j6›KsjD›}”jX›KsjK}”jHKsjV}”jjKsj}”jšKsj¨}”j¼Ksjï}”jìKsjú}”jžKsjkž}”jhžKsjvž}”jŠžKsjçž}”jäžKsjòž}”jŸKsj9Ÿ}”j6ŸKsjDŸ}”jXŸKsj  }”j Ksj }”j( Ksj[ }”jX Ksjf }”jz Ksj£ª}”j ªKsj®ª}”jªKsjÈ«}”jÅ«KsjÓ«}”jç«Ksj¬}”j¿¬Ksjͬ}”já¬Ksjh­}”je­Ksjs­}”j‡­Ksj °}”j°Ksj+°}”j?°Ksjù°}”jö°Ksj±}”j±KsujÅ}”(jÉ}”j§KsjÏ}”(jÉKjEKjëKjgKjÕKj'KjïKjkKjçKjº Kj Kj‘ Kjô Kj KjÓ KjÐ Kj"KjžKj"KjlKjõKjþKjPKjKj9Kj‹KjÝKjYKjÄKj`!KjI$Kj&KjÈ-KjÔ.KjR0KjÎ0Kjþ1Kj´2Kj3Kjk4Kje5Kj¢7KjH8Kj%:Kjw:Kj^;Kj&>KjzAKjÞBKj0CKjEKjYEKjJHKjðHKjBIKjJKjPKj´PKjRKj'TKjyTKjUKjVKj”WKjlYKjÏYKjKZKj®ZKj3[KjŸ_KjE`Kjü`KjNaKjbKjcKj”cKjæcKjdKjïdKjAeKj½eKjfKjafKjÝfKj”gKjægKjbhKj2iKj„iKjÖiKj|jKj]kKjÀkKjKj ?Kj^?KjÚ?KjOBKjËCKjPFKjøGKjÊIKjOKj¦OKjšSKjýSKjgUKjÏVKjhXKjôYKjpZKjÜ]Kj?^Kj‘^Kjƒ_Kjæ_KjZ`KjìbKj>cKj²cKj£dKjõdKjˆeKjÚeKj²iKj.jKj€jKj/lKjÚoKjÕpKjWsKjÓsKj¬tKjduKjõvKj¿yKj|KjW|Kj©|Kjû|KjM}KjŸ}Kjñ}KjC~Kj·~Kj Kj[Kj:‹Kj‹Kjï‹KjkŒKj½ŒKj9KjKj KjšKjýKjï‘Kjú’Kj­”Kj¨•Kjú•Kjv–KjÈ–Kjì—Kj¼˜Kj™Kj7žKj‰žKj& Kj¢ Kjô KjÄ¡Kj¢Kj÷¢Kj£Kjm¤KjS¦Kj2¨Kj„¨KjL©Kjò©Kj˜ªKj>«Kj«KjЬKj®Kjµ¯Kj°KjϰKj!±Kj±Kjï±KjA²Kj3³Kj…³Kj´Kjâ´Kj^µKj.¶Kj_¸Kj¹KjÿºKjQ»KjK¼Kj'ÀKjÒÀKjxÁKjwÄKj|ÇKj>ÉKjºÉKj´ÊKjZËKjPÍKj¢ÍKjðÎKjBÏKj<ÐKjÉÐKjÑKj—ÑKj=ÒKjÒKj_ÓKjYÔKj}ÕKj×Kjv×KjíØKj’ÚKj^ÜKj°ÜKjÝKjTÝKj¦ÝKjøÝKjJÞKjœÞKjîÞKj@ßKj’ßKj8àKjÞàKj0áKj‚áKj|âKjÎâKjÛæKjèKjœìKjíKjjíKjëïKj_ðKjÛðKj§òKjwóKjÉóKjôKj—ôKj$õKjvõKjöKjnöKjÞ÷Kj®øKjýùKj‰úKj”ýKjæýKjbþKjYÿKjœKjKjjKjKjÀKjdKjÌKjŒKjÞKj0KjéKj; Kj· Kj$ Kj: KjØ KjKj„Kj*KjëKjüKjÌKjKjiKjåKjaKj|KjÎKj«Kj|KjÎKj§KjÜKj§!Kjå$Kja%Kj1&Kj<'KjŽ'Kj+Kjß-Kj1.Kjƒ.KjÕ.Kj2Kj3Kj`3Kj²3Kj.4Kjª4Kjü4Kj'6Kjž8Kj±:Kjç;Kj·<Kj =Kj}=Kj#>Kju>KjÇ>Kj?Kj•?KjL@Kjò@KjnAKjBKj4EKjEGKjÈHKjIKj–IKjÌKKjLKjlMKjNKjâNKj4OKj†OKj,PKj¨PKj·QKj—TKj UKj]UKj¯UKj#VKjuVKjñVKjCWKj•WKjçWKj9XKj‹XKjëYKj=ZKjZKjáZKj`[Kj9\KjÈ`KjaKj bKj¸dKj eKjgKj]hKjÕiKjênKj}”j>KsjzA}”jXAKsjÞB}”j¼BKsj0C}”jCKsjE}”jåDKsjYE}”j7EKsjJH}”j(HKsjðH}”jÎHKsjBI}”j IKsjJ}”jðIKsjP}”jôOKsj¨P}”jpPKsj®P}”j¨PKsj´P}”j®PKsjR}”jùQKsjT}”jãSKsj!T}”jTKsj'T}”j!TKsjyT}”jWTKsjU}”j{UKsjúU}”jÍUKsjV}”júUKsj”W}”jrWKsjfY}”j9YKsjlY}”jfYKsjÉY}”jœYKsjÏY}”jÉYKsjKZ}”j)ZKsj¨Z}”j{ZKsj®Z}”j¨ZKsj3[}”j[KsjŸ_}”j}_KsjE`}”j#`Ksjö`}”jÉ`Ksjü`}”jö`KsjNa}”j,aKsjb}”jüaKsjc}”jöbKsj”c}”jrcKsjæc}”jÄcKsj—d}”jjdKsjd}”j—dKsjïd}”jÍdKsjAe}”jeKsj½e}”j›eKsjf}”jíeKsjaf}”j?fKsjÝf}”j»fKsjŽg}”jagKsj”g}”jŽgKsjæg}”jÄgKsjbh}”j@hKsj2i}”jiKsj„i}”jbiKsjÖi}”j´iKsj|j}”jZjKsjWk}”j*kKsj]k}”jWkKsjºk}”jkKsjÀk}”jºkKsj€Ksj²€}”j€Ksj©‚}”j‡‚Ksjû‚}”jÙ‚KsjMƒ}”j+ƒKsj.„}”j „Ksjª„}”jˆ„Ksjü„}”jÚ„Ksj[†}”j9†Ksj“‡}”jq‡KsjA‰}”j ‰KsjG‰}”jA‰KsjM‰}”jG‰Ksjª‰}”j}‰Ksj°‰}”jª‰Ksj Š}”jà‰KsjŠ}”j ŠKsjðŒ}”jÎŒKsj‚}”jJKsjˆ}”j‚KsjŽ}”jˆKsjŽ}”jèKsjŽ}”jŽKsjxŽ}”jKŽKsj~Ž}”jxŽKsj}”jÔKsj}”jKsjŠ‘}”j]‘Ksj‘}”jŠ‘Ksjm’}”j’Ksjs’}”jm’Ksjy’}”js’Ksj’}”jy’Ksj…’}”j’Ksj‹’}”j…’Ksj1“}”j“Ksjד}”jµ“Ksj)”}”j”Ksj —}”jê–Ksj´˜}”j‡˜Ksjº˜}”j´˜Ksj›}”jášKsj›}”j›Ksj%›}”j›Ksj|}”jDKsj‚}”j|Ksjˆ}”j‚KsjAž}”jžKsj’£}”je£Ksj˜£}”j’£Ksj:¥}”j¥Ksj ¦}”jè¥Ksj°§}”jƒ§Ksj¶§}”j°§Ksj­}”jæ¬Ksje­}”j8­Ksjk­}”je­Ksj½­}”j›­Ksj®}”j•®KsjÈ®}”j®Ksj%¯}”jø®Ksj+¯}”j%¯Ksjˆ¯}”j[¯Ksjޝ}”jˆ¯Ksjg±}”j:±Ksjm±}”jg±Ksj¿±}”j±Ksj²}”jï±Ksjc²}”jA²Ksj ³}”jç²Ksj[³}”j9³Ksj¸³}”j‹³Ksj¾³}”j¸³Ksj´}”jî³Ksjx´}”j@´Ksj~´}”jx´Ksj„´}”j~´KsjÖ´}”j´´Ksj(µ}”jµKsj¤µ}”j‚µKsjȶ}”j¦¶Ksjá¸}”j´¸Ksjç¸}”já¸Ksj7º}”jºKsjɼ}”jœ¼Ksjϼ}”jɼKsj,½}”jÿ¼Ksj2½}”j,½Ksjd¾}”jB¾KsjÀ¿}”j“¿KsjÆ¿}”jÀ¿Ksj5Á}”jÁKsj‡Á}”jeÁKsj¥Ã}”jƒÃKsj÷Ã}”jÕÃKsjsÄ}”jQÄKsjÅÄ}”j£ÄKsjAÅ}”jÅKsj½Å}”j›ÅKsjÆ}”jkÆKsj߯}”j½ÆKsjqÇ}”j9ÇKsjwÇ}”jqÇKsj}Ç}”jwÇKsjMÈ}”j+ÈKsjŸÈ}”j}ÈKsjñÈ}”jÏÈKsjCÉ}”j!ÉKsj=Ê}”jÊKsjÊ}”jmÊKsj_Ë}”j=ËKsjÎ}”j_ÎKsjßÑ}”j½ÑKsj1Ò}”jÒKsj×Ò}”jµÒKsj)Ó}”jÓKsj{Ó}”jYÓKsjÍÓ}”j«ÓKsjvÖ}”jTÖKsjÈÖ}”j¦ÖKsj×}”jøÖKsj™×}”jw×Ksj±Ø}”jØKsjSÚ}”j1ÚKsj#Û}”jÛKsjÿÛ}”jÝÛKsj¥Ý}”jƒÝKsjuÞ}”jSÞKsjß}”jùÞKsjmß}”jKßKsjà}”jðßKsj¨à}”j{àKsj®à}”j¨àKsj á}”jÞàKsjá}”j áKsjná}”jAáKsjtá}”jnáKsjMâ}”j+âKsjŸâ}”j}âKsjñâ}”jÏâKsjiå}”j<åKsjoå}”jiåKsjŠè}”jhèKsjé}”jöèKsjjé}”jHéKsj¼é}”jšéKsjê}”jìéKsj`ê}”j>êKsj%ë}”jëKsjwë}”jUëKsjì}”jûëKsjCí}”j!íKsj•í}”jsíKsjçí}”jÅíKsj9î}”jîKsj‹î}”jiîKsjÝî}”j»îKsj/ï}”j ïKsjï}”j_ïKsjÓï}”j±ïKsj%ð}”jðKsjñ}”jÐðKsjñ}”jñKsjñ}”jñKsj¡ò}”jòKsjˆó}”jfóKsj ø}”jè÷KsjÌü}”jŸüKsjÒü}”jÌüKsj$ý}”jýKsj5þ}”jþKsj;þ}”j5þKsjëþ}”jÉþKsjöÿ}”jÔÿKsj²}”jzKsj¸}”j²Ksj¾}”j¸Ksj}”jîKsj!}”jKsjs}”jQKsjÅ}”j£KsjA}”jKsjØ}”j¶Ksj*}”jKsj|}”jZKsj"}”jKsjt}”jRKsj(}”jûKsj.}”j(Ksj¾}”j‘KsjÄ}”j¾Ksjo}”jMKsj }”jîKsjb }”j@ Ksj}”jð Ksji}”jGKsjÀ}”jžKsj(}”jðKsj.}”j(Ksj4}”j.Ksj°}”jŽKsj}”jàKsj~}”j\Ksj$}”jKsjv}”jTKsj}”júKsjù}”jÌKsjÿ}”jùKsjQ}”j/Ksj}”jRKsj…}”jKsj}”jßKsjS}”j1KsjX}”j+Ksj^}”jXKsjÚ}”j¸Ksjª}”jˆKsj¤}”j‚Ksjö}”jÔKsjS}”j&KsjY}”jSKsj«}”j‰Ksj{}”jYKsjØ}”j«KsjÞ}”jØKsj0}”jKsj}”jÞKsj7 }”j Ksjñ!}”jÏ!KsjN"}”j!"KsjT"}”jN"KsjÛ"}”j®"Ksjá"}”jÛ"Ksj3#}”j#Ksj…#}”jc#Ksj×#}”jµ#Ksj–%}”jt%Ksjº&}”j˜&Ksj '}”jê&Ksjˆ'}”jf'KsjÚ'}”j¸'KsjV(}”j4(Ksj+}”jæ*Ksj4,}”j,Ksjg.}”jE.Ksja/}”j?/Ksj0}”jå/KsjË1}”j©1Ksj2}”jû1KsjD3}”j"3Ksj–3}”jt3Ksjè3}”jÆ3Ksj:4}”j4KsjŒ4}”jj4KsjD5}”j"5Ksj–5}”jt5Ksj6}”jð5Ksjd6}”jB6Ksj¶6}”j”6Ksjg8}”jE8Ksj{:}”jY:Ksj5=}”j=Ksj‡=}”je=KsjÙ=}”j·=Ksj6>}”j >Ksj<>}”j6>Ksj ?}”jê>Ksj^?}”jc}”jcKsj¦c}”jncKsj¬c}”j¦cKsj²c}”j¬cKsj£d}”jdKsjõd}”jÓdKsjˆe}”jfeKsjÚe}”j¸eKsj²i}”jiKsj.j}”j jKsj€j}”j^jKsj/l}”j lKsjÚo}”j¸oKsjÕp}”j³pKsjWs}”j5sKsjÓs}”j±sKsj¬t}”jŠtKsjdu}”jBuKsjõv}”jÓvKsj¿y}”jyKsj|}”jã{KsjW|}”j5|Ksj©|}”j‡|Ksjû|}”jÙ|KsjM}}”j+}KsjŸ}}”j}}Ksjñ}}”jÏ}KsjC~}”j!~Ksj«~}”js~Ksj±~}”j«~Ksj·~}”j±~Ksj }”jç~Ksj[}”j9Ksj:‹}”j‹Ksj—‹}”jj‹Ksj‹}”j—‹Ksjï‹}”jÍ‹KsjkŒ}”jIŒKsj½Œ}”j›ŒKsj9}”jKsj}”jùŽKsj}”jÉKsj}”jKsj }”jKsj”}”jgKsjš}”j”Ksj÷}”jÊKsjý}”j÷Ksjã‘}”j«‘Ksjé‘}”jã‘Ksjï‘}”jé‘Ksjô’}”jÇ’Ksjú’}”jô’Ksj§”}”jz”Ksj­”}”j§”KsjŠ•}”j1•Ksj•}”jŠ•Ksj–•}”j•Ksjœ•}”j–•Ksj¢•}”jœ•Ksj¨•}”j¢•Ksjú•}”jØ•Ksjv–}”jT–KsjÈ–}”j¦–Ksjì—}”jÊ—Ksj¼˜}”jš˜Ksj™}”jì˜Ksj7ž}”jžKsj‰ž}”jgžKsj& }”j Ksj¢ }”j€ Ksjô }”jÒ KsjÄ¡}”j¢¡Ksj¢}”jô¡Ksjñ¢}”jÄ¢Ksj÷¢}”jñ¢Ksj£}”j{£Ksjm¤}”jK¤KsjM¦}”j ¦KsjS¦}”jM¦Ksj2¨}”j¨Ksj„¨}”jb¨Ksj@©}”j©KsjF©}”j@©KsjL©}”jF©Ksjò©}”jЩKsj˜ª}”jvªKsj>«}”j«Ksj«}”jn«KsjЬ}”jh¬Ksj®}”jà­Ksj¯¯}”j‚¯Ksjµ¯}”j¯¯Ksj°}”jå¯Ksjð}”j‹°Ksjɰ}”jðKsjϰ}”jɰKsj!±}”jÿ°Ksj±}”j{±Ksjï±}”jͱKsjA²}”j²Ksj'³}”jï²Ksj-³}”j'³Ksj3³}”j-³Ksj…³}”jc³Ksj´}”jß³KsjÜ´}”j¯´Ksjâ´}”jÜ´Ksj^µ}”j<µKsj.¶}”j ¶Ksj_¸}”j=¸Ksj¹}”jã¸Ksjÿº}”jݺKsjQ»}”j/»KsjK¼}”j)¼KsjÀ}”jã¿Ksj!À}”jÀKsj'À}”j!ÀKsjÒÀ}”j°ÀKsjxÁ}”jVÁKsjwÄ}”jUÄKsj|Ç}”jZÇKsj>É}”jÉKsjºÉ}”j˜ÉKsj´Ê}”j’ÊKsjZË}”j8ËKsjPÍ}”j.ÍKsj¢Í}”j€ÍKsjðÎ}”jÎÎKsjBÏ}”j ÏKsj<Ð}”jÐKsjÃÐ}”j–ÐKsjÉÐ}”jÃÐKsjÑ}”jùÐKsj—Ñ}”juÑKsj=Ò}”jÒKsjÒ}”jmÒKsj_Ó}”j=ÓKsjYÔ}”j7ÔKsj}Õ}”j[ÕKsjüÖ}”jÏÖKsj×}”jüÖKsjj×}”j2×Ksjp×}”jj×Ksjv×}”jp×KsjçØ}”jºØKsjíØ}”jçØKsj’Ú}”jpÚKsj^Ü}”j<ÜKsj°Ü}”jŽÜKsjÝ}”jàÜKsjTÝ}”j2ÝKsj¦Ý}”j„ÝKsjøÝ}”jÖÝKsjJÞ}”j(ÞKsjœÞ}”jzÞKsjîÞ}”jÌÞKsj@ß}”jßKsj’ß}”jpßKsj8à}”jàKsjÞà}”j¼àKsj0á}”jáKsj‚á}”j`áKsj|â}”jZâKsjÎâ}”j¬âKsjÛæ}”j¹æKsjè}”jãçKsjœì}”jzìKsjí}”jöìKsjjí}”jHíKsjëï}”jÉïKsjSð}”jðKsjYð}”jSðKsj_ð}”jYðKsjÛð}”j¹ðKsj§ò}”j…òKsjwó}”jUóKsjÉó}”j§óKsjô}”jùóKsj—ô}”juôKsjõ}”jñôKsj$õ}”jõKsjvõ}”jTõKsjö}”júõKsjnö}”jLöKsjÒ÷}”jš÷KsjØ÷}”jÒ÷KsjÞ÷}”jØ÷Ksj®ø}”jŒøKsjýù}”jÛùKsj‰ú}”jgúKsj”ý}”jrýKsjæý}”jÄýKsjbþ}”j@þKsjYÿ}”j7ÿKsjœ}”jzKsj}”jöKsjj}”jHKsjü}”jÄKsj}”jüKsj}”jKsjœ}”j8Ksj¢}”jœKsj¨}”j¢Ksj®}”j¨Ksj´}”j®Ksjº}”j´KsjÀ}”jºKsjd}”jBKsjÌ}”jªKsjŒ}”jjKsjÞ}”j¼Ksj0}”jKsjé}”jÇKsj; }”j Ksj· }”j• Ksj }”jœ Ksj }”j Ksj }”j Ksj }”j Ksj }”j Ksj }”j Ksj$ }”j Ksj: }”j KsjÌ }”j” KsjÒ }”jÌ KsjØ }”jÒ Ksjl}”jKsjr}”jlKsjx}”jrKsj~}”jxKsj„}”j~KsjŠ}”j„Ksj}”jŠKsj„}”jbKsj*}”jKsjë}”jÉKsjü}”jÚKsjÌ}”jªKsj}”jõKsji}”jGKsjå}”jÃKsja}”j?Ksj|}”jZKsjÎ}”j¬Ksj¥}”jxKsj«}”j¥Ksjv}”jIKsj|}”jvKsjÎ}”j¬Ksj›}”jcKsj¡}”j›Ksj§}”j¡KsjÜ}”jºKsj§!}”j…!Ksjå$}”jÃ$Ksja%}”j?%Ksj1&}”j&Ksj6'}”j 'Ksj<'}”j6'KsjŽ'}”jl'Ksjô*}”j¼*Ksjú*}”jô*Ksj+}”jú*Ksjß-}”j½-Ksj1.}”j.Ksjƒ.}”ja.KsjÕ.}”j³.Ksj2}”jò1Ksj3}”jì2Ksj`3}”j>3Ksj²3}”j3Ksj.4}”j 4Ksjª4}”jˆ4Ksjü4}”jÚ4Ksj'6}”j6Ksjž8}”j|8Ksj¥:}”jm:Ksj«:}”j¥:Ksj±:}”j«:KsjÛ;}”j£;Ksjá;}”jÛ;Ksjç;}”já;Ksj·<}”j•<Ksj =}”jç<Ksjq=}”j9=Ksjw=}”jq=Ksj}=}”jw=Ksj#>}”j>Ksju>}”jS>KsjÇ>}”j¥>Ksj?}”j÷>Ksj•?}”js?KsjF@}”j@KsjL@}”jF@Ksjò@}”jÐ@KsjnA}”jLAKsjB}”jàAKsj4E}”jEKsjEG}”j#GKsjÈH}”j¦HKsjI}”jøHKsj–I}”jtIKsjÌK}”jªKKsjL}”jüKKsjlM}”jJMKsjN}”jðMKsjâN}”jÀNKsj4O}”jOKsj†O}”jdOKsj,P}”j PKsj¨P}”j†PKsj·Q}”j•QKsj—T}”juTKsjÿT}”jÇTKsjU}”jÿTKsj U}”jUKsj]U}”j;UKsj¯U}”jUKsjV}”jßUKsjV}”jVKsj#V}”jVKsjuV}”jSVKsjñV}”jÏVKsjCW}”j!WKsj•W}”jsWKsjçW}”jÅWKsj9X}”jXKsj‹X}”jiXKsjëY}”jÉYKsj=Z}”jZKsjZ}”jmZKsjáZ}”j¿ZKsj`[}”j>[Ksj9\}”j\KsjÂ`}”j•`KsjÈ`}”jÂ`Ksja}”jø`Ksj b}”jþaKsj¸d}”j–dKsj e}”jèdKsjg}”jkgKsj]h}”j;hKsjÕi}”j³iKsjän}”j·nKsjên}”jänKsj}”jÝ=KsjXA}”j1AKsj¼B}”j•BKsjC}”jçBKsjåD}”j¾DKsj7E}”jEKsj(H}”jHKsjÎH}”j§HKsj I}”jùHKsjðI}”jÉIKsjôO}”jÍOKsjpP}”jIPKsjùQ}”jÒQKsjãS}”j¼SKsjWT}”j0TKsj{U}”jTUKsjÍU}”j¦UKsjrW}”jKWKsj9Y}”jYKsjœY}”juYKsj)Z}”jZKsj{Z}”jTZKsj[}”jêZKsj}_}”jV_Ksj#`}”jü_KsjÉ`}”j¢`Ksj,a}”jaKsjüa}”jÕaKsjöb}”jÏbKsjrc}”jKcKsjÄc}”jcKsjjd}”jCdKsjÍd}”j¦dKsje}”jødKsj›e}”jteKsjíe}”jÆeKsj?f}”jfKsj»f}”j”fKsjag}”j:gKsjÄg}”jgKsj@h}”jhKsji}”jéhKsjbi}”j;iKsj´i}”jiKsjZj}”j3jKsj*k}”jkKsjk}”jfkKsjl}”jókKsjll}”jElKsjÏl}”j¨lKsj!m}”júlKsjÇm}”j mKsjn}”jòmKsj}n}”jUnKsjùn}”jÒnKsjKo}”j$oKsjo}”jvoKsjïo}”jÈoKsjAp}”jpKsj½p}”j–pKsj9q}”jqKsj3r}”j rKsj¯r}”jˆrKsjs}”jÚrKsjSs}”j,sKsjEt}”jtKsj—t}”jptKsjét}”jÂtKsj;u}”juKsjFv}”jvKsjÂv}”j›vKsjw}”jívKsjfw}”j?wKsj«x}”j„xKsjÏy}”j¨yKsj!z}”júyKsjÓz}”j¬zKsjO{}”j({KsjG~}”j ~KsjÔ~}”j­~KsjS}”j,Ksjì}”jÅKsj>€}”j€Ksj€}”ji€Ksj‡‚}”j`‚KsjÙ‚}”j²‚Ksj+ƒ}”jƒKsj „}”jåƒKsjˆ„}”ja„KsjÚ„}”j³„Ksj9†}”j†Ksjq‡}”jJ‡Ksj ‰}”jâˆKsj}‰}”jV‰Ksjà‰}”j¹‰KsjÎŒ}”j§ŒKsjJ}”j#Ksjè}”jÁKsjKŽ}”j$ŽKsjÔ}”j­Ksj]‘}”j6‘Ksj’}”jí‘Ksj“}”jè’Ksjµ“}”jŽ“Ksj”}”jà“Ksjê–}”jÖKsj‡˜}”j`˜Ksjáš}”jºšKsjD}”jKsjž}”jøKsje£}”j>£Ksj¥}”jñ¤Ksjè¥}”jÁ¥Ksjƒ§}”j\§Ksjæ¬}”j¿¬Ksj8­}”j­Ksj›­}”jt­Ksj•®}”jn®Ksjø®}”jÑ®Ksj[¯}”j4¯Ksj:±}”j±Ksj±}”jv±Ksjï±}”jȱKsjA²}”j²Ksjç²}”jÀ²Ksj9³}”j³Ksj‹³}”jd³Ksjî³}”jdzKsj@´}”j´Ksj´´}”j´Ksjµ}”jß´Ksj‚µ}”j[µKsj¦¶}”j¶Ksj´¸}”j¸Ksjº}”jî¹Ksjœ¼}”ju¼Ksjÿ¼}”jؼKsjB¾}”j¾Ksj“¿}”jl¿KsjÁ}”jìÀKsjeÁ}”j>ÁKsjƒÃ}”j\ÃKsjÕÃ}”j®ÃKsjQÄ}”j*ÄKsj£Ä}”j|ÄKsjÅ}”jøÄKsj›Å}”jtÅKsjkÆ}”jDÆKsj½Æ}”j–ÆKsj9Ç}”jÇKsj+È}”jÈKsj}È}”jVÈKsjÏÈ}”j¨ÈKsj!É}”júÈKsjÊ}”jôÉKsjmÊ}”jFÊKsj=Ë}”jËKsj_Î}”j8ÎKsj½Ñ}”j–ÑKsjÒ}”jèÑKsjµÒ}”jŽÒKsjÓ}”jàÒKsjYÓ}”j2ÓKsj«Ó}”j„ÓKsjTÖ}”j-ÖKsj¦Ö}”jÖKsjøÖ}”jÑÖKsjw×}”jP×KsjØ}”jhØKsj1Ú}”j ÚKsjÛ}”jÚÚKsjÝÛ}”j¶ÛKsjƒÝ}”j\ÝKsjSÞ}”j,ÞKsjùÞ}”jÒÞKsjKß}”j$ßKsjðß}”jÉßKsj{à}”jTàKsjÞà}”j·àKsjAá}”jáKsj+â}”jâKsj}â}”jVâKsjÏâ}”j¨âKsj<å}”jåKsjhè}”jAèKsjöè}”jÏèKsjHé}”j!éKsjšé}”jséKsjìé}”jÅéKsj>ê}”jêKsjë}”jÜêKsjUë}”j.ëKsjûë}”jÔëKsj!í}”júìKsjsí}”jLíKsjÅí}”jžíKsjî}”jðíKsjiî}”jBîKsj»î}”j”îKsj ï}”jæîKsj_ï}”j8ïKsj±ï}”jŠïKsjð}”jÜïKsjÐð}”j©ðKsjò}”jXòKsjfó}”j?óKsjè÷}”jÁ÷KsjŸü}”jxüKsjý}”jÛüKsjþ}”jáýKsjÉþ}”j¢þKsjÔÿ}”j­ÿKsjz}”jSKsjî}”jÇKsjQ}”j*Ksj£}”j|Ksj}”jøKsj¶}”jKsj}”jáKsjZ}”j3Ksj}”jÙKsjR}”j+Ksjû}”jÔKsj‘}”jjKsjM}”j&Ksjî}”jÇKsj@ }”j Ksjð }”jÉ KsjG}”j Ksjž}”jwKsjð}”jÉKsjŽ}”jgKsjà}”j¹Ksj\}”j5Ksj}”jÛKsjT}”j-Ksjú}”jÓKsjÌ}”j¥Ksj/}”jKsjR}”j+Ksjß}”j¸Ksj1}”j Ksj+}”jKsj¸}”j‘Ksjˆ}”jaKsj‚}”j[KsjÔ}”j­Ksj&}”jÿKsj‰}”jbKsjY}”j2Ksj«}”j„Ksj}”jçKsjÞ}”j·Ksj }”jîKsjÏ!}”j¨!Ksj!"}”jú!Ksj®"}”j‡"Ksj#}”jê"Ksjc#}”j<#Ksjµ#}”jŽ#Ksjt%}”jM%Ksj˜&}”jq&Ksjê&}”jÃ&Ksjf'}”j?'Ksj¸'}”j‘'Ksj4(}”j (Ksjæ*}”j¿*Ksj,}”jë+KsjE.}”j.Ksj?/}”j/Ksjå/}”j¾/Ksj©1}”j‚1Ksjû1}”jÔ1Ksj"3}”jû2Ksjt3}”jM3KsjÆ3}”jŸ3Ksj4}”jñ3Ksjj4}”jC4Ksj"5}”jû4Ksjt5}”jM5Ksjð5}”jÉ5KsjB6}”j6Ksj”6}”jm6KsjE8}”j8KsjY:}”j2:Ksj=}”jì<Ksje=}”j>=Ksj·=}”j=Ksj >}”jâ=Ksjê>}”jÃ>Ksj3}”j3Ksj3}”ji3Ksj 4}”jå3Ksjˆ4}”ja4KsjÚ4}”j³4Ksj6}”jÞ5Ksj|8}”jU8Ksjm:}”jF:Ksj£;}”j|;Ksj•<}”jn<Ksjç<}”jÀ<Ksj9=}”j=Ksj>}”jÚ=KsjS>}”j,>Ksj¥>}”j~>Ksj÷>}”jÐ>Ksjs?}”jL?Ksj@}”jò?KsjÐ@}”j©@KsjLA}”j%AKsjàA}”j¹AKsjE}”jëDKsj#G}”jüFKsj¦H}”jHKsjøH}”jÑHKsjtI}”jMIKsjªK}”jƒKKsjüK}”jÕKKsjJM}”j#MKsjðM}”jÉMKsjÀN}”j™NKsjO}”jëNKsjdO}”j=OKsj P}”jãOKsj†P}”j_PKsj•Q}”jnQKsjuT}”jNTKsjÇT}”j TKsj;U}”jUKsjU}”jfUKsjßU}”j¸UKsjSV}”j,VKsjÏV}”j¨VKsj!W}”júVKsjsW}”jLWKsjÅW}”jžWKsjX}”jðWKsjiX}”jBXKsjÉY}”j¢YKsjZ}”jôYKsjmZ}”jFZKsj¿Z}”j˜ZKsj>[}”j[Ksj\}”jð[Ksj•`}”jn`Ksjø`}”jÑ`Ksjþa}”j×aKsj–d}”jodKsjèd}”jÁdKsjkg}”jDgKsj;h}”jhKsj³i}”jŒiKsj·n}”jnKsjo}”jónKsjlo}”jEoKsj­Ksj°}”jö¯Ksjö°}”jϰKsuj“}”j—}”(jpKjf KjŽKjYKjEKj*$KjÀ.Kj¯0KjfAKjªYKj‰ZKj[Kj‹_KjxdKjjfKj¾fKjogKjChKjiKj·iKjCkKj¦kKj(lKjzlKj/mKj'nKjGqKj6rKj½rKj>uKj¡uKjÐvKjJ~Kj×~KjŠ‚Kj‡Kj£KjǤKjë¥KjF­Kj£®Kj¯Kji¯KjH±Kj ±Kj™³Kjª¼Kj ½KjE¾Kj©ÖKjz×Kj‘ÝKj~àKjìàKjOáKjUåKjqöKjC÷Kjë÷KjÄKjKjhKj Kj4Kj\Kj¹Kj/"Kj¼"Kj›&KjB/KjD<Kj˜<Kj=KjG\KjajKj8sKjñ{KjC|Kj•|Kjç|Kj9}Kj‹}KjÝ}Kj/~KjŒ~Kjõ~KjGKjÄ‘Kj›Kjú£Kj¨Kj„ªKj*«Kj|«Kjv¬Kj¯Kj ±Kj³Kjí³Kj¶Kj~¼KjFËKj¤ÐKjKÓKjK×Kj$àKjáKj‹áKjµáKjýãKjÇæKj4ðKjƒôKjÿôKjìûKj}KjùKjKKj Kj¸Kj|Kj.Kjd.KjR=Kj³>KjOAKjCKj­KKjÿKKjùLKjMMKjŸMKjóMKjÃNKjOKjrOKj PKj‰PKjQKjàTKjUKjøUKjVVKjÒVKj$WKjvWKjÈWKjXKjwXKjÂZKjA[KjëdKjIhKjèmKjÅnKj(oKjzoKjëoKjgpKj rKjæ~Kjx‚Kj—…KjcˆKj>ŠKjËŠKj^Kj®“KjL—Kj¤—KjU™KjKjïKjkžKj  Kj®ªKjn¬Kjê¬Kj­Kjs­Kusjî}”(jò}”jÁKsjé}}”j¸}Ksj£~}”jr~Ksj<}”j Ksj?}”j KsjB}”j Ksj }”jߟKsjbÂ}”j8ÂKsj´}”jŠKsjlG}”j;GKsj9N}”jNKsj´¾}”j€¾KsjIÆ}”jÆKsj È}”jÙÇKsj0}”jÿKsj­_}”j|_Ksjøb}”jÇbKsj§l}”jvlKsujhJ}”(jlJ}”jZJKsjºƒ}”j¨ƒKsjZ•}”jD•Ksjû}”jæúKsj>û}”j!ûKsjlû}”jOûKsjû}”j}ûKsj3ü}”jüKsjaü}”jDüKsj†7}”jt7Ksj>i}”j,iKsj„}”(jþƒKj+„KjX„KjÁ…Kjî…Kj†KjH†Kju†Kj¢†Kj‡Kuujxã}”(j|ã}”jmãKsjÑa}”jÂaKsj[1}”jL1Ksj\a}”jMaKsjÀp}”j±pKsjÅ}}”j¶}Ksj¤®}”j•®KsuuŒ _Memory__osp”}”(h}”h}”hKssh*}”h}”h!Kssh1}”h}”h-Kssh8}”h}”h4KsshB}”h}”h;KsshM}”(hE}”hIKshª}”h®Ksh×}”hÛKsj}”jKsj(}”j,KsjN}”jRKsjÄ}”jÈKsjê}”jîKsj}”jKsj }”j KsjÜ }”jà Ksj }”j Ksjˆ }”jŒ Ksj® }”j² KsjÔ }”jØ Ksjú }”jþ KsjQ }”jU Ksj§}”j«KsjX}”j\Ksj~}”j‚Ksj}”jKsj¦}”jªKsjÿ}”jKsj%}”j)KsjY}”j]KsjŸ}”j£KsjÖ}”jÚKsjo}”jsKsjÉ}”jÍKsjï}”jóKsju}”jyKsj(}”j,Ksj£}”j§KsjÉ}”jÍKsjï}”jóKsj}”j KsjB}”jFKsj}”jKsju}”jyKsj›}”jŸKsjÁ}”jÅKsjS}”jWKsjŒ}”jKsjã}”jçKsj}”jKsj@}”jDKsjf}”jjKsjš}”jžKsjÀ}”jÄKsjD}”jHKsj÷}”jûKsjÈ }”jÌ Ksji!}”jm!Ksj!}”j“!Ksjµ!}”j¹!KsjÞ!}”jâ!Ksj"}”j"Ksj*"}”j."KsjP"}”jT"Ksjv"}”jz"KsjÕ"}”jÙ"Ksj,#}”j0#Ksjr#}”jv#KsjR$}”jV$Ksjx$}”j|$Ksjž$}”j¢$Ksjë$}”jï$Ksj%}”j%Ksj7%}”j;%Ksj]%}”ja%Ksj&}”j&Ksj@&}”jD&Ksj&}”j‘&Ksj³&}”j·&Ksjd'}”jh'KsjŠ'}”jŽ'Ksj·'}”j»'KsjÝ'}”já'Ksj(}”j(KsjE(}”jI(Ksj]*}”ja*Ksj+}”j +Ksj,+}”j0+KsjY+}”j]+Ksj‘,}”j•,Ksj·,}”j»,KsjÝ,}”já,Ksj-}”j-Ksj)-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR-}”jV-KsjÑ-}”jÕ-Ksj÷-}”jû-Ksj$.}”j(.Ksj1/}”j5/KsjW/}”j[/Ksj}/}”j/Ksj£/}”j§/Ksj+1}”j/1Ksj12}”j52KsjY3}”j]3KsjÂ5}”jÆ5Ksjù5}”jý5Ksj6}”j#6Ksj±6}”jµ6Ksj×6}”jÛ6Ksjý6}”j7Ksj#7}”j'7KsjQ8}”jU8Ksj9}”j9Ksj/9}”j39KsjU9}”jY9Ksj©9}”j­9Ksjª:}”j®:Ksjo>}”js>Ksj•>}”j™>Ksj»>}”j¿>Ksjë>}”jï>Ksj?}”j?Ksj>?}”jB?Ksjd?}”jh?Ksjï?}”jó?Ksjƒ@}”j‡@KsjÉ@}”jÍ@KsjƒA}”j‡AKsjèA}”jìAKsj5B}”j9BKsj[B}”j_BKsjŠC}”jŽCKsj°C}”j´CKsjÖC}”jÚCKsjüC}”jDKsj"D}”j&DKsjHD}”jLDKsjŽD}”j’DKsjbE}”jfEKsjˆE}”jŒEKsj®E}”j²EKsjÔE}”jØEKsj+F}”j/FKsj½F}”jÁFKsjbG}”jfGKsjJ}”jJKsjZJ}”j^JKsj§J}”j«JKsjK}”j KKsj,K}”j0KKsjRK}”jVKKsjxK}”j|KKsjžK}”j¢KKsjÎK}”jÒKKsj M}”jMKsj:M}”j>MKsjLN}”jPNKsjýN}”jOKsjmO}”jqOKsjQ}”jQKsjqQ}”juQKsj$R}”j(RKsjJR}”jNRKsjpR}”jtRKsj–R}”jšRKsjÊR}”jÎRKsjNS}”jRSKsjtS}”jxSKsj3V}”j7VKsj€V}”j„VKsj¦V}”jªVKsjÌV}”jÐVKsjòV}”jöVKsjW}”jWKsjñW}”jõWKsjOX}”jSXKsjƒX}”j‡XKsj©X}”j­XKsj·Z}”j»ZKsj[}”j”[Ksj¶[}”jº[Ksjã[}”jç[Ksj\}”j\Ksj=\}”jA\Ksjåw}”jéwKsjvz}”jzzKsjz{}”j~{Ksj­{}”j±{KsjÓ{}”j×{Ksj'|}”j+|Ksj[|}”j_|Ksjˆ|}”jŒ|Ksjl}}”jp}Ksj’}}”j–}Ksj¸}}”j¼}Ksjr~}”jv~Ksjÿ~}”jKsj}”j“Ksjå€}”(jé€KjKuj }”jKsjVƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨ƒ}”j¬ƒKsj…}”j …Ksj2…}”j6…KsjX…}”j\…Ksj¥…}”j©…KsjË…}”jÏ…Ksj ‡}”j‡KsjƇ}”jʇKsjUˆ}”jYˆKsj{ˆ}”jˆKsjŠ}”j ŠKsjúŠ}”jþŠKsj'‹}”j+‹KsjŒ}”jŒKsj|”}”j€”KsjÈ”}”jÌ”Ksjî”}”jò”Ksj•}”j•KsjË•}”jÏ•Ksj)–}”j-–KsjV–}”jZ–Ksjº—}”j¾—Ksj3š}”j7šKsjŠš}”jŽšKsjX›}”j\›KsjÅ›}”jÉ›Ksjœ}”jœKsj*œ}”j.œKsjPœ}”jTœKsjvœ}”jzœKsjÜ}”jÇœKsjðœ}”jôœKsj‘}”j•Ksj¾ž}”jžKsj Ÿ}”jŸKsj1Ÿ}”j5ŸKsjeŸ}”jiŸKsj‹Ÿ}”jŸKsjߟ}”jãŸKsj¦}”j¦Ksjq¦}”ju¦Ksjé§}”jí§Ksj¨}”j¨Ksjt¨}”jx¨Ksj¡¨}”j¥¨KsjΨ}”jÒ¨Ksjà©}”jä©Ksjª}”j ªKsjë«}”jï«Ksj?¬}”jC¬KsjŒ¬}”j¬KsjÆ­}”jÊ­Ksj$®}”j(®Ksj°}”j°KsjѶ}”jÕ¶KsjR·}”jV·Ksjx·}”j|·Ksjž·}”j¢·KsjÄ·}”jÈ·Ksjê·}”jî·Ksj7¸}”j;¸Ksj]¸}”ja¸Ksj¹}”j¹KsjG¹}”jK¹Ksj{¹}”j¹KsjÁ¹}”jŹKsj@º}”jDºKsjmº}”jqºKsj“º}”j—ºKsjR»}”jV»Ksj­»}”j±»Ksjá»}”jå»Ksj…½}”j‰½Ksj«½}”j¯½Ksj?¿}”jC¿Ksj–¿}”jš¿KsjÏ¿}”jÓ¿Ksj8Â}”•j<ÂKsjæË}”jêËKsj~Ì}”j‚ÌKsj½Ì}”jÁÌKsjôÌ}”jøÌKsjÍ}”jÍKsj Í}”j¤ÍKsj±Î}”jµÎKsj$Ñ}”j(ÑKsjJÑ}”jNÑKsjÖÓ}”jÚÓKsjÔ}”j ÔKsj Õ}”j ÕKsjhÕ}”jlÕKsj§Õ}”j«ÕKsjÍÕ}”jÑÕKsjóÕ}”j÷ÕKsj#×}”j'×Ksj¢×}”j¦×KsjÈ×}”jÌ×KsjØ}”jØKsjVÛ}”jZÛKsj\Ü}”j`ÜKsj‚Ü}”j†ÜKsjvß}”jzßKsjœß}”j ßKsjà}”jàKsjÑá}”jÕáKsjúâ}”jþâKsj ã}”j$ãKsjÔã}”jØãKsj ä}”jäKsjbä}”jfäKsjˆä}”jŒäKsjÌå}”jÐåKsjòå}”jöåKsj£æ}”j§æKsjÉæ}”jÍæKsjïæ}”jóæKsj5ç}”j9çKsj[ç}”j_çKsjç}”j…çKsjçç}”jëçKsj“è}”j—èKsj“ê}”j—êKsj¤ì}”j¨ìKsj|ð}”j€ðKsj6ñ}”j:ñKsj\ñ}”j`ñKsjñ}”j”ñKsj¶ñ}”jºñKsjÜñ}”jàñKsjò}”jòKsj(ò}”j,òKsjÔò}”jØòKsj±ó}”jµóKsjðó}”jôóKsj|ô}”j€ôKsj¢ô}”j¦ôKsjÖô}”jÚôKsj.õ}”j2õKsjtõ}”jxõKsjšõ}”jžõKsjõõ}”jùõKsjö}”j"öKsjø}”jøKsj,ù}”j0ùKsjëù}”jïùKsjªú}”j®úKsjHû}”jLûKsj‡û}”j‹ûKsj­û}”j±ûKsjÓû}”j×ûKsjùû}”jýûKsj?ü}”jCüKsjWý}”j[ýKsj}ý}”jýKsjªý}”j®ýKsjnþ}”jrþKsjôþ}”jøþKsjhÿ}”jlÿKsjJ}”jNKsj§}”j«Ksj7}”j;KsjÍ}”jÑKsjù}”jýKsjx}”j|Ksj¡}”j¥KsjÇ}”jËKsjY}”j]Ksj}”jKsj>}”jBKsjd}”jhKsjŠ}”jŽKsj¿ }”jà Ksjy }”j} Ksj÷ }”jû Ksj$ }”j( KsjÜ }”jà KsjZ }”j^ Ksj± }”jµ Ksjþ }”j Ksj$ }”j( KsjJ }”jN Ksjp }”jt Ksj– }”jš Ksj}”j“Ksjµ}”j¹Ksjì}”jðKsjr}”jvKsjÉ}”jÍKsjL}”jPKsjr}”jvKsj¶}”jºKsjõ}”jùKsj}”jKsjA}”jEKsj3}”j7KsjŠ}”jŽKsj£ }”j§ KsjÉ }”jÍ Ksjï }”jó Ksj!}”j!Ksj[!}”j_!Ksjà#}”jä#KsjW$}”j[$KsjŽ$}”j’$Ksj´$}”j¸$Ksjë$}”jï$Ksj_(}”jc(KsjÊ(}”jÎ(Ksj)}”j)Ksjg)}”jk)Ksj)}”j‘)KsjÁ)}”jÅ)Ksjî)}”jò)Ksj*}”j*Ksj*}”j…*Ksj;+}”j?+Ksja+}”je+KsjŽ,}”j’,Ksj´,}”j¸,Ksjú,}”jþ,KsjÒ-}”jÖ-Ksj0}”j0Ksj1}”j"1Ksj?2}”jC2Ksje2}”ji2Ksj¿4}”jÃ4Ksjß6}”jã6Ksjº7}”j¾7Ksjú8}”jþ8Ksj.9}”j29Ksj…9}”j‰9Ksj«9}”j¯9KsjÑ9}”jÕ9Ksj÷9}”jû9Ksj„:}”jˆ:KsjØ:}”jÜ:Ksj ;}”j;Ksj2;}”j6;Ksjf;}”jj;Ksjã?}”jç?KsjH@}”jL@KsjÓ@}”j×@KsjA}”jAKsj0A}”j4AKsj]A}”jaAKsj»A}”j¿AKsj‚B}”j†BKsjC}”jCKsjƒF}”j‡FKsjG}”jGKsj;G}”j?GKsj©H}”j­HKsjÖH}”jÚHKsj{J}”jJKsj¨J}”j¬JKsjÕJ}”jÙJKsjºK}”j¾KKsjçK}”jëKKsjEL}”jILKsjrL}”jvLKsjŸL}”j£LKsjÌL}”jÐLKsj*M}”j.MKsjWM}”j[MKsjN}”j NKsj¯O}”j³OKsjüO}”jPKsj)P}”j-PKsj´P}”j¸PKsjQ}”jQKsjpQ}”jtQKsjÎQ}”jÒQKsjYR}”j]RKsj·R}”j»RKsjçR}”jëRKsjZT}”j^TKsj‡T}”j‹TKsj´T}”j¸TKsjîU}”jòUKsjLV}”jPVKsj,W}”j0WKsjŠW}”jŽWKsj¾W}”jÂWKsjqX}”juXKsjžX}”j¢XKsjËX}”jÏXKsjñX}”jõXKsjuY}”jyYKsj£Z}”j§ZKsj'[}”j+[Ksj©[}”j­[Ksj=]}”jA]Ksjc`}”jg`KsjEa}”jIaKsjœa}”j aKsjâa}”jæaKsj»c}”j¿cKsjd}”jdKsjþd}”jeKsjãe}”jçeKsjxf}”j|fKsjžf}”j¢fKsjÄf}”jÈfKsjøf}”jüfKsjg}”j"gKsjDg}”jHgKsjxg}”j|gKsjžg}”j¢gKsj"h}”j&hKsj³j}”j·jKsjÙj}”jÝjKsjÿj}”jkKsjŒl}”jlKsjæl}”jêlKsjem}”jimKsj·n}”j»nKsjÝn}”jánKsjão}”jçoKsjp}”jpKsj=p}”jApKsjXr}”j\rKsj~r}”j‚rKsjt}”j tKsjßt}”jãtKsj?v}”jCvKsj¦w}”jªwKsjÓw}”j×wKsjùw}”jýwKsjx}”j#xKsjEx}”jIxKsjkx}”joxKsjŸx}”j£xKsjåx}”jéxKsjKz}”jOzKsj`{}”jd{Ksjd}”jhKsj˜}”jœKsj¨…}”j¬…KsjF†}”jJ†Ksjl†}”jp†Ksj’†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjâ†}”jæ†KsjH‰}”jL‰Ksj¨Š}”j¬ŠKsjb}”jfKsjÇ}”jËKsjô}”jøKsjŽ}”jŽKsjA™}”jE™Ksjg™}”jk™Ksj›™}”jŸ™KsjÏ™}”jÓ™Ksjõ™}”jù™Ksjh›}”jl›Ksjœ}”jœKsj0}”j4Ksj’ž}”j–žKsjÉž}”jÍžKsjŸ}”j!ŸKsjv¤}”jz¤Ksj¥}”j¥KsjÙ¦}”jݦKsjÿ¦}”j§Ksja¶}”je¶Ksj¸¶}”j¼¶KsjŒ·}”j·KsjÙ·}”jÝ·KsjU¹}”jY¹Ksj{¹}”j¹Ksj¡¹}”j¥¹Ksjê¹}”jî¹Ksjȼ}”j̼Ksjs½}”jw½Ksj™½}”j½Ksj"¾}”j&¾Ksj€¾}”j„¾Ksji¿}”jm¿Ksj¿}”j“¿KsjIÀ}”jMÀKsjÁ}”j…ÁKsjWÂ}”j[ÂKsjÂ}”j¡ÂKsjÊÂ}”jÎÂKsjÃ}”jÃKsjÅ}”j"ÅKsjuÅ}”jyÅKsjÌÅ}”jÐÅKsjòÅ}”jöÅKsjÆ}”jÆKsjLÆ}”jPÆKsjÙÇ}”jÝÇKsj°Õ}”j´ÕKsjÖÕ}”jÚÕKsjÖ}”j#ÖKsjEÖ}”jIÖKsjkÖ}”joÖKsjÓ×}”j××KsjØ}”jØKsj0Ø}”j4ØKsj]Ø}”jaØKsjqÙ}”juÙKsj'ä}”j+äKsjmä}”jqäKsjëä}”jïäKsjå}”j#åKsj£å}”j§åKsjÉå}”jÍåKsjïå}”jóåKsj#æ}”j'æKsjWæ}”j[æKsj ç}”jçKsj4ç}”j8çKsjZç}”j^çKsj€ç}”j„çKsjàè}”jäèKsjré}”jvéKsjØé}”jÜéKsjEê}”jIêKsjkê}”joêKsj±ê}”jµêKsjþê}”jëKsj+ë}”j/ëKsj_ë}”jcëKsjí}”j¡íKsjî}”jîKsj·ø}”j»øKsjù}”j#ùKsjú}”j úKsjæú}”jêúKsj}û}”jûKsjrü}”jvüKsj˜ü}”jœüKsjåü}”jéüKsj•þ}”j™þKsjÌþ}”jÐþKsjàÿ}”jäÿKsjÉ}”jÍKsjX}”j\KsjÌ}”jÐKsjò}”jöKsj&}”j*Ksjÿ}”jKsjc}”jgKsjà }”jä Ksj }”j Ksj- }”j1 Ksj™}”jKsjØ}”jÜKsjþ}”jKsj3}”j7Ksjg}”jkKsjô}”jøKsj}”jKsj@}”jDKsjm}”jqKsj¡}”j¥KsjÇ}”jËKsjí}”jñKsj}”jKsj9}”j=Ksj)}”j-Ksj’}”j–Ksjj}”jnKsj}”j”KsjÏ}”jÓKsjõ}”jùKsj÷}”jûKsj´}”j¸Ksj}”jKsj°}”j´Ksjý}”jKsj#}”j'Ksjp}”jtKsjÖ}”jÚKsjc}”jgKsj }”j Ksj!}”j!KsjX"}”j\"KsjÜ"}”jà"Ksj3#}”j7#KsjŠ#}”jŽ#KsjÁ#}”jÅ#Ksjî#}”jò#Ksj%$}”j)$KsjK$}”jO$Ksjâ'}”jæ'KsjR(}”jV(Ksjx(}”j|(Ksjž(}”j¢(KsjÄ(}”jÈ(Ksj)}”j)Ksjo)}”js)Ksj¼)}”jÀ)Ksj"*}”j&*Ksjh*}”jl*Ksj +}”j +Ksjd+}”jh+KsjB,}”jF,Ksj™,}”j,Ksj:-}”j>-Ksj`-}”jd-KsjÞ.}”jâ.Ksj/}”j/Ksj1/}”j5/Ksj0}”j0Ksj¡0}”j¥0Ksj1}”j1Ksjl1}”jp1Ksj5}”j 5Ksj+5}”j/5KsjQ5}”jU5Ksjw5}”j{5Ksj«5}”j¯5Ksj«6}”j¯6KsjÑ6}”jÕ6Ksj÷6}”jû6KsjN7}”jR7Ksjt7}”jx7Ksj¡7}”j¥7Ksjç8}”jë8KsjB9}”jF9Ksjh9}”jl9Ksjì9}”jð9Ksjº:}”j¾:Ksjà:}”jä:KsjwA}”j{AKsj1C}”j5CKsjWC}”j[CKsj‹C}”jCKsjwD}”j{DKsjåE}”jéEKsj F}”jFKsj1F}”j5FKsjÌF}”jÐFKsj±G}”jµGKsj×G}”jÛGKsj H}”jHKsjÉI}”jÍIKsjKJ}”jOJKsj”J}”j˜JKsjºJ}”j¾JKsjK}”jKKsjÛP}”jßPKsjR}”j…RKsjæR}”jêRKsjdS}”jhSKsjïS}”jóSKsj”X}”j˜XKsjúX}”jþXKsj Y}”j$YKsjFY}”jJYKsjlY}”jpYKsjêZ}”jîZKsji[}”jm[KsjB\}”jF\Ksjh\}”jl\Ksjß\}”jã\Ksj]}”j ]Ksjš]}”j¬]KsjÄ]}”jÈ]Ksjñ]}”jõ]Ksj^}”j"^Ksj‹^}”j^KsjÑ^}”jÕ^Ksj/_}”j3_Ksj|_}”j€_Ksj`}”j`Ksj4`}”j8`Ksjma}”jqaKsjÇb}”jËbKsjûb}”jÿbKsjhc}”jlcKsjŽc}”j’cKsjåc}”jécKsje}”jeKsjše}”jžeKsjºh}”j¾hKsjàh}”jähKsji}”j iKsj,i}”j0iKsjYi}”j]iKsj2j}”j6jKsjXj}”j\jKsj¥j}”j©jKsj)k}”j-kKsjOk}”jSkKsjuk}”jykKsj»k}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjäk}”jèkKsj l}”jlKsj0l}”j4lKsjvl}”jzlKsj5m}”j9mKsjšm}”jžmKsjÑp}”jÕpKsjs}”jsKsj:s}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjcs}”jgsKsjt}”jtKsjCt}”jGtKsj!u}”j%uKsjáu}”jåuKsjv}”j vKsjºv}”j¾vKsjàv}”jävKsj7w}”j;wKsj0x}”j4xKsjVx}”jZxKsj|x}”j€xKsj´y}”j¸yKsjxz}”j|zKsjÏz}”jÓzKsjõz}”jùzKsjI{}”jM{KsjÖ}}”jÚ}Ksj_}”jcKsjº}”j¾Ksjà}”jäKsj4€}”j8€Ksj¨€}”j¬€Ksjô‚}”jø‚Ksj¿ƒ}”jÃKsjþƒ}”j„Ksj+„}”j/„KsjX„}”j\„KsjÁ…}”jÅ…Ksjî…}”jò…Ksj†}”j†KsjH†}”jL†Ksju†}”jy†Ksj¢†}”j¦†Ksjφ}”jÓ†Ksj‡}”j‡Ksjb‡}”jf‡Ksjà}”jäKsjÙ‘}”jÝ‘Ksj’}”j ’Ksj3’}”j7’KsjY’}”j]’KsjÖ”}”jÚ”Ksjü”}”j•KsjÆ™}”jÊ™Ksj œ}”j œKsjOœ}”jSœKsj£œ}”j§œKsjÉœ}”jÍœKsjƒ }”j‡ Ksj° }”j´ KsjÖ }”jÚ Ksj-¡}”j1¡KsjS¡}”jW¡Ksjy¡}”j}¡KsjŸ¡}”j£¡KsjÅ¡}”jÉ¡Ksjë¡}”jï¡Ksjv¢}”jz¢Ksj£¢}”j§¢KsjÉ¢}”jÍ¢Ksjï¢}”jó¢Ksj›¤}”jŸ¤Ksjk¥}”jo¥KsjÒ¨}”jÖ¨Ksj>ª}”jBªKsj˪}”jϪKsj"«}”j&«KsjV«}”jZ«Ksjº­}”j¾­Ksj>®}”jB®Ksjõ®}”jù®Ksj¯}”j¯Ksjr¯}”jv¯Ksj¸¯}”j¼¯Ksjr°}”jv°KsjŸ°}”j£°Ksjd±}”jh±Ksjѱ}”jÕ±KsuhP}”(hE}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Kshª}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksh×}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjN}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÄ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjê}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÜ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjˆ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj® }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÔ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjú }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjQ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj§}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj~}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¦}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj%}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjY}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŸ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjo}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjï}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksju}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjï}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjB}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksju}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj›}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÁ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjS}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjã}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj@}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjf}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjš}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÀ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjD}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj÷}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÈ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksji!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjµ!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÞ!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj*"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjP"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjv"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÕ"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj,#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjr#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjx$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjž$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjë$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj%}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj7%}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj]%}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj&}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj@&}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj&}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj³&}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd'}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠ'}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj·'}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÝ'}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjE(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj]*}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj+}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj,+}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjY+}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‘,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj·,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÝ,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÑ-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj÷-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj$.}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1/}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjW/}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}/}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£/}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj+1}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj12}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjY3}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÂ5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjù5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj±6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj×6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjý6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj#7}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjQ8}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj/9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjU9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj©9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjª:}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjo>}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj•>}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj»>}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjë>}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj?}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj>?}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd?}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjï?}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjƒ@}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ@}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjƒA}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjèA}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj5B}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj[B}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠC}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj°C}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖC}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjüC}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj"D}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjHD}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŽD}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjbE}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjˆE}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj®E}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÔE}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj+F}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj½F}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjbG}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjJ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjZJ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj§J}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj,K}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjRK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjxK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjžK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÎK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj M}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj:M}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjLN}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjýN}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjmO}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjQ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjqQ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj$R}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjJR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjpR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj–R}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÊR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjNS}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjtS}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj3V}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj€V}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¦V}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌV}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjòV}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjW}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjñW}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjOX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjƒX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj©X}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj·Z}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj[}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¶[}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjã[}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj\}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj=\}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjåw}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjvz}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjz{}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj­{}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÓ{}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj'|}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj[|}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjˆ|}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjl}}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj’}}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¸}}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjr~}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjÿ~}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjå€}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjVƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨ƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj2…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjX…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¥…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjË…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj ‡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjƇ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjUˆ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj{ˆ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjúŠ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj'‹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj|”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÈ”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjî”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj•}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjË•}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)–}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjV–}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjº—}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj3š}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠš}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjX›}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÅ›}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj*œ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjPœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjvœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÜ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjðœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‘}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¾ž}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj Ÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1Ÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjeŸ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‹Ÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjߟ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¦}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjq¦}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjé§}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjt¨}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¡¨}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjΨ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà©}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjª}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjë«}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj?¬}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŒ¬}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÆ­}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj$®}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj°}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjѶ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjx·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjž·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÄ·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjê·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj7¸}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj]¸}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjG¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj{¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÁ¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj@º}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjmº}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj“º}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR»}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj­»}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjá»}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj…½}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj«½}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj?¿}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÏ¿}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj8Â}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjæË}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj~Ì}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj½Ì}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjôÌ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÍ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj Í}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj±Î}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj$Ñ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjJÑ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖÓ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÔ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj Õ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjhÕ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj§Õ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÍÕ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjóÕ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj#×}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¢×}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÈ×}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjØ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjVÛ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj\Ü}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‚Ü}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjvß}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjœß}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÑá}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjúâ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj ã}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÔã}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj ä}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjbä}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjˆä}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌå}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjòå}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£æ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉæ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjïæ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj5ç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj[ç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjçç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj“è}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj“ê}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¤ì}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj|ð}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj6ñ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj\ñ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjñ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¶ñ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÜñ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjò}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj(ò}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÔò}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj±ó}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjðó}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj|ô}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¢ô}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖô}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj.õ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjtõ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjšõ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjõõ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjö}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjø}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj,ù}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjëù}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjªú}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjHû}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‡û}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj­û}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÓû}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjùû}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj?ü}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjWý}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}ý}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjªý}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjnþ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjôþ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjhÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjJ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj§}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj7}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÍ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjù}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÇ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjY}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj>}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¿ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjy }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj÷ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj$ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÜ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjZ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj± }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjþ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj$ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjJ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjp }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj– }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjµ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjì}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjr}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjL}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjr}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¶}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjõ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjA}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj3}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjï }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj[!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjW$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŽ$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj´$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjë$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj_(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÊ(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjg)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÁ)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjî)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj*}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj*}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj;+}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksja+}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŽ,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj´,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjú,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÒ-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj?2}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksje2}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¿4}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjß6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjº7}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjú8}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj.9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj…9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj«9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÑ9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj÷9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj„:}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjØ:}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj ;}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj2;}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjf;}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjã?}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjH@}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÓ@}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjA}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0A}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj]A}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj»A}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‚B}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjC}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjƒF}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjG}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj;G}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj©H}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖH}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj{J}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨J}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÕJ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjºK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjçK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjEL}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjrL}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŸL}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌL}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj*M}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjWM}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjN}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¯O}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjüO}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)P}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj´P}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjQ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjpQ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÎQ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjYR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj·R}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjçR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjZT}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‡T}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj´T}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjîU}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjLV}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj,W}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠW}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¾W}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjqX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjžX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjËX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjñX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjuY}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£Z}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj'[}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj©[}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj=]}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjc`}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjEa}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjœa}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjâa}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj»c}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjþd}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjãe}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjxf}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjžf}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÄf}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjøf}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjg}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjDg}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjxg}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjžg}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj"h}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj³j}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÙj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjÿj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŒl}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjæl}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjem}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj·n}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÝn}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjão}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjp}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj=p}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjXr}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj~r}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjt}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjßt}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj?v}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¦w}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÓw}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjùw}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjEx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjkx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŸx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjåx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjKz}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj`{}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj˜}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjF†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjl†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj’†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjâ†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjH‰}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨Š}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjb}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÇ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjô}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŽ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjA™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjg™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj›™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÏ™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjõ™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjh›}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj’ž}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉž}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŸ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjv¤}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¥}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÙ¦}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjÿ¦}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksja¶}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¸¶}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŒ·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÙ·}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjU¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj{¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¡¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjê¹}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjȼ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjs½}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj™½}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj"¾}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj€¾}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksji¿}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¿}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjIÀ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÁ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjWÂ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÂ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÊÂ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÃ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÅ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjuÅ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌÅ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjòÅ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÆ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjLÆ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÙÇ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj°Õ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖÕ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjEÖ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjkÖ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÓ×}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjØ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0Ø}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj]Ø}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjqÙ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj'ä}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjmä}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjëä}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjå}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£å}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉå}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjïå}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj#æ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjWæ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj ç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj4ç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjZç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj€ç}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjàè}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjré}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjØé}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjEê}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjkê}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj±ê}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjþê}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj+ë}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj_ë}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjí}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjî}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj·ø}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjù}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjú}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjæú}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}û}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjrü}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj˜ü}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjåü}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj•þ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌþ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjàÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjò}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj&}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjÿ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjc}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj- }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjØ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjþ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj3}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjg}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjô}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj@}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjm}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÇ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjí}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj’}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÏ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjõ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj÷}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj´}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj°}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjý}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjp}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjc}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj!}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjX"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÜ"}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj3#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŠ#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÁ#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjî#}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj%$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjK$}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjâ'}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjx(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjž(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÄ(}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjo)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¼)}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj"*}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjh*}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj +}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd+}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjB,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj™,}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj:-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj`-}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÞ.}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj/}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1/}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¡0}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjl1}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj+5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjQ5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjw5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj«5}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj«6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÑ6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj÷6}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjN7}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjt7}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¡7}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjç8}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjB9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjh9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjì9}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjº:}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà:}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjwA}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1C}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjWC}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‹C}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjwD}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjåE}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj F}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj1F}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÌF}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj±G}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj×G}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj H}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉI}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjKJ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj”J}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjºJ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjK}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÛP}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjæR}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjdS}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjïS}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj”X}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjúX}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj Y}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjFY}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjlY}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjêZ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksji[}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjB\}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjh\}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjß\}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj]}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÄ]}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjñ]}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj^}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‹^}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÑ^}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj/_}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj|_}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj`}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj4`}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjma}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÇb}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjûb}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjhc}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŽc}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjåc}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksje}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjše}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjºh}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjàh}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksji}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj,i}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjYi}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj2j}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjXj}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¥j}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj)k}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjOk}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjuk}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj»k}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjäk}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj l}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0l}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjvl}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj5m}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjšm}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÑp}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjs}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj:s}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjcs}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjt}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjCt}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj!u}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjáu}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjv}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjºv}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjàv}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj7w}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj0x}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjVx}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj|x}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj´y}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjxz}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÏz}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjõz}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjI{}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖ}}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj_}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjº}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj4€}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¨€}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjô‚}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¿ƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjþƒ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj+„}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjX„}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÁ…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjî…}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjH†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksju†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¢†}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjφ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj‡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjb‡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjà}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÙ‘}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj’}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj3’}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjY’}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖ”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjü”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÆ™}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj œ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjOœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£œ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉœ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjƒ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj° }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÖ }”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj-¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjS¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjy¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŸ¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÅ¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjë¡}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjv¢}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj£¢}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÉ¢}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjï¢}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”•Ksj›¤}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjk¥}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjÒ¨}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj>ª}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj˪}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj"«}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjV«}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjº­}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj>®}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjõ®}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¯}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjr¯}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksj¸¯}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjr°}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjŸ°}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjd±}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”Ksjѱ}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsuhW}”(hE}”hSKsj( }”j3 Ksjú }”j KsjØ}”jãKsj%}”j3KsjŸ}”j­KsjB}”jPKsj}”jKsjã}”jñKsjž }”j© KsjÕ"}”jã"KsjÄ$}”jÏ$Ksjf&}”jq&KsjÝ'}”jë'Ksj(}”j(KsjE(}”jS(Ksj×(}”jâ(Ksjþ(}”j )Ksj%)}”j0)KsjL)}”jW)Ksjs)}”j~)Ksjš)}”j¥)KsjÁ)}”jÌ)Ksjè)}”jó)Ksj*}”j*Ksj6*}”jA*Ksj]*}”jk*Ksj‘*}”jœ*Ksj¸*}”jÃ*Ksjß*}”jê*KsjÂ5}”jÐ5Ksj‚9}”j9Ksjª:}”j¸:KsjÉ@}”j×@KsjƒA}”j‘AKsjB}”jBKsjcC}”jnCKsj+F}”j9FKsjG}”j&GKsjQ}”jQKsj–R}”j¤RKsjYV}”jdVKsjOX}”j]XKsjã[}”jñ[KsjÓ{}”já{Ksj'|}”j5|Ksj~…}”j‰…KsjË…}”jÙ…Ksj ‡}”j‡KsjƇ}”jÔ‡Ksj+ˆ}”j6ˆKsj'‹}”j5‹Ksjž›}”j©›Ksjœœ}”j§œKsjäž}”jïžKsj1Ÿ}”j?ŸKsjeª}”jpªKsjŒª}”j—ªKsj³ª}”j¾ªKsjÚª}”jåªKsj«}”j «Ksj(«}”j3«KsjO«}”jZ«Ksjv«}”j«Ksj«}”j¨«KsjÄ«}”jÏ«Ksjë«}”jù«Ksje¬}”jp¬Ksj$®}”j2®Ksj°}”j#°Ksj+·}”j6·KsjG¹}”jU¹Ksj“º}”j¡ºKsjR»}”j`»Ksj†»}”j‘»Ksj­»}”j»»KsjæË}”jôËKsj½Ì}”jËÌKsj Í}”j®ÍKsjŠÎ}”j•ÎKsj‚Ü}”jÜKsj­ã}”j¸ãKsjÔã}”jâãKsj ä}”jäKsj¤ì}”j²ìKsjUð}”j`ðKsj\ñ}”jjñKsjÔò}”jâòKsjðó}”jþóKsj¢ô}”j°ôKsjšõ}”j¨õKsjÎõ}”jÙõKsjö}”j,öKsjø}”j!øKsj,ù}”j:ùKsjëù}”jùùKsjªú}”j¸úKsjÿ}”j%ÿKsjAÿ}”jLÿKsjÇ}”jÕKsjY}”jgKsj }”j( Ksj3 }”j> Ksj× }”jâ Ksjµ}”jÃKsj%}”j0Ksj[!}”ji!KsjW$}”je$Ksj´$}”jÂ$Ksjë$}”jù$Ksj_(}”jm(Ksj)}”j›)KsjZ*}”je*Ksj*}”j*Ksjg,}”jr,Ksj«-}”j¶-Ksjº8}”jÅ8Ksjú8}”j9Ksj÷9}”j:Ksj±:}”j¼:KsjØ:}”jæ:Ksj2;}”j@;Ksjã?}”jñ?Ksj'[}”j5[Ksj[[}”jf[Ksj‚[}”j[Ksj©[}”j·[Ksjï\}”jú\Ksj]}”j!]Ksj°`}”j»`Ksj×`}”jâ`Ksjþ`}”j aKsjd}”j'dKsjþd}”j eKsjãe}”jñeKsjkx}”jyxKsj`{}”jn{KsjÞ}”jéKsj€}”j€Ksj,€}”j7€KsjS€}”j^€Ksjz€}”j…€Ksj¡€}”j¬€KsjÈ€}”jÓ€Ksjï€}”jú€Ksj}”j!Ksj=}”jHKsjd}”joKsj‹}”j–Ksj²}”j½KsjÙ}”jäKsj‚}”j ‚Ksj'‚}”j2‚KsjN‚}”jY‚Ksju‚}”j€‚Ksjœ‚}”j§‚KsjÂ}”j΂Ksjê‚}”jõ‚Ksjƒ}”jƒKsj8ƒ}”jCƒKsj_ƒ}”jjƒKsj†ƒ}”j‘ƒKsj­ƒ}”j¸ƒKsjÔƒ}”j߃Ksjûƒ}”j„Ksj"„}”j-„KsjI„}”jT„Ksjp„}”j{„Ksj—„}”j¢„Ksj¾„}”jÉ„Ksjå„}”jð„Ksj …}”j…Ksj3…}”j>…KsjZ…}”je…Ksj…}”jŒ…Ksj¨…}”j¶…Ksjü…}”j†KsjH‰}”jV‰Ksjb}”jpKsjg™}”ju™Ksj›™}”j©™Ksjõ™}”jšKsjŽ›}”j™›Ksj¸›}”jÛKsjwœ}”j‚œKsj·œ}”jœKsj’ž}”j žKsjÞ¶}”jé¶Ksj·}”j·Ksj²·}”j½·Ksj.¹}”j9¹KsjL½}”jW½Ksjؽ}”jã½KsjB¿}”jM¿Ksjëä}”jùäKsjïå}”jýåKsj#æ}”j1æKsjWæ}”jeæKsjàè}”jîèKsjré}”j€éKsjê}”j)êKsj×ê}”jâêKsj+ë}”j9ëKsjí}”j«íKsj·ø}”jÅøKsjù}”j-ùKsj¾ü}”jÉüKsj•þ}”j£þKsjÌþ}”jÚþKsjò}”jKsj3}”jAKsjg}”juKsjm}”j{Ksjõ}”jKsj}”jKsj#}”j1Ksjü}”jKsj!}”j"!KsjŠ#}”j˜#Ksjî#}”jü#Ksj•)}”j )Ksj +}”j+Ksj=+}”jH+Ksj™,}”j§,Ksj-}”j-KsjS0}”j^0Ksjz0}”j…0KsjÇ0}”jÒ0Ksjî0}”jù0Ksj1}”j#1Ksjl1}”jz1Ksjw5}”j…5Ksj„6}”j6KsjÀ8}”jË8Ksjç8}”jõ8Ksj9}”j&9KsjWC}”jeCKsj‹C}”j™CKsjwD}”j…DKsj1F}”j?FKsjeF}”jpFKsj×G}”jåGKsj H}”jHKsjÉI}”j×IKsjýI}”jJKsj$J}”j/JKsjR}”jRKsjïS}”jýSKsj‘\}”jœ\Ksj¸\}”jÃ\Ksj]}”j]KsjD^}”jO^KsjU_}”j`_KsjAc}”jLcKsj!u}”j/uKsjv}”jvKsj8z}”jCzKsj"{}”j-{Ksj8}”jCKsj_}”jmKsj“}”jžKsjà}”jîKsjZ€}”je€Ksj€}”jŒ€KsjÊ‚}”jÕ‚Ksj˜ƒ}”j£ƒKsjφ}”j݆KsjOœ}”j]œKsj£}”j £Ksj<£}”jG£Ksjc£}”jn£KsjŠ£}”j•£Ksj±£}”j¼£KsjØ£}”jã£Ksjÿ£}”j ¤Ksj&¤}”j1¤KsjM¤}”jX¤Ksjt¤}”j¤Ksj›¤}”j©¤KsjϤ}”jÚ¤Ksjö¤}”j¥Ksj¥}”j(¥KsjD¥}”jO¥Ksjk¥}”jy¥KsjŸ¥}”jª¥KsjÆ¥}”jÑ¥Ksjí¥}”jø¥Ksj¦}”j¦Ksj;¦}”jF¦Ksjb¦}”jm¦Ksj‰¦}”j”¦Ksj°¦}”j»¦Ksjצ}”jâ¦Ksjþ¦}”j §Ksj%§}”j0§KsjL§}”jW§Ksjs§}”j~§Ksjš§}”j¥§KsjÁ§}”j̧Ksjè§}”jó§Ksj¨}”j¨Ksj6¨}”jA¨Ksj]¨}”jh¨Ksj„¨}”j¨Ksj«¨}”j¶¨KsjÒ¨}”jà¨Ksj©}”j©Ksj-©}”j8©KsjT©}”j_©Ksj{©}”j†©Ksj¢©}”j­©KsjÉ©}”jÔ©Ksjð©}”jû©Ksjª}”j"ªKsj>ª}”jLªKsj"«}”j0«Ksj¸¯}”jƯKsjd±}”jr±Ksuh^}”hE}”hZKsshh}”hE}”haKssho}”hE}”hkKsshv}”(hE}”hrKsjD}”jjKsj¥}”j©KsjN`}”j``Ksjïg}”jhKsjkh}”j}hKsjr~}”j˜~Ksj¹}”j½Ksj }”jKsj]}”jaKsj}”jKsjš}”j¬KsjŠ}”j©Ksjñ}”jõKsj_(}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjx}”j>xKsjÆ™}”jì™Ksj“š}”j—šKsuh}}”hE}”hyKsshˆ}”(h€}”h„Ksj}”jKsj:}”j>Ksjd}”jhKsjŽ}”j’Ksj¸}”j¼Ksj¬}”j°KsjÖ}”jÚKsj}”jKsj*}”j.KsjT}”jXKsj~}”j‚KsjÒ}”jÖKsjü}”jKsjN}”jRKsjx}”j|Ksj¢}”j¦Ksjô}”jøKsj}”j"Ksjp}”jtKsjš}”jžKsjb}”jfKsjŒ}”jKsjÞ}”jâKsj0}”j4KsjZ}”j^Ksj„}”jˆKsjø}”jüKsj"}”j&Ksjt}”jxKsjž}”j¢Ksjð}”jôKsj` }”jd Ksjà }”jÇ Ksj& }”j* Ksjš }”jž Ksjý }”j Ksj' }”j+ KsjŠ }”jŽ Ksj‡ }”j‹ KsjÙ }”jÝ Ksj+}”j/KsjU}”jYKsjÚ}”jÞKsj}”jKsj.}”j2Ksj®}”j²KsjØ}”jÜKsj2}”j6Ksj\}”j`Ksjæ}”jêKsj}”jKsj:}”j>Ksjd}”jhKsjŽ}”j’Ksj}”j#KsjI}”jMKsjs}”jwKsj}”j¡KsjÇ}”jËKsjñ}”jõKsj}”jKsjE}”jIKsj¯}”j³KsjÙ}”jÝKsj+}”j/KsjU}”jYKsj}”jƒKsj#}”j'Ksj¬}”j°Ksjþ}”jKsja}”jeKsj‹}”jKsjµ}”j¹Ksj}”j KsjY}”j]Ksj€}”j„Ksj«}”j¯KsjJ}”jNKsjÿ}”jKsj)}”j-Ksjœ}”j KsjÆ}”jÊKsjð}”jôKsjB}”jFKsj”}”j˜Ksjæ}”jêKsj}”jKsjb}”jfKsj¹}”j½Ksjð}”jôKsj}”jKsj{}”jKsjÍ}”jÑKsj1 }”j5 Ksj[ }”j_ Ksjõ }”jù Ksj¬#}”j°#KsjÖ#}”jÚ#Ksj$}”j$Ksj”%}”j˜%Ksj¾%}”jÂ%Ksjæ&}”jê&Ksj'}”j'Ksj:'}”j>'Ksjƒ(}”j‡(Ksj­(}”j±(Ksj•+}”j™+Ksj¿+}”jÃ+Ksjé+}”jí+Ksj,}”j,Ksj=,}”jA,Ksjg,}”jk,Ksj-}”jƒ-Ksja.}”je.Ksj‹.}”j.KsjÝ.}”já.Ksj/}”j /Ksjß/}”jã/Ksj 0}”j 0Ksj[0}”j_0Ksj…0}”j‰0Ksj×0}”jÛ0Ksj1}”j1Ksja1}”je1Ksj‹1}”j1Ksjµ1}”j¹1Ksj2}”j 2Ksjk2}”jo2Ksj½2}”jÁ2Ksj3}”j3Ksj¤3}”j¨3KsjÎ3}”jÒ3Ksjø3}”jü3Ksj"4}”j&4Ksjt4}”jx4Ksjž4}”j¢4KsjÈ4}”jÌ4Ksjò4}”jö4Ksj5}”j 5Ksjn5}”jr5Ksj˜5}”jœ5Ksj]6}”ja6Ksj‡6}”j‹6KsjY7}”j]7Ksj«7}”j¯7KsjÕ7}”jÙ7Ksjÿ7}”j8Ksj„8}”jˆ8Ksj®8}”j²8KsjØ8}”jÜ8KsjÜ9}”jà9Ksj.:}”j2:Ksj€:}”j„:Ksj;}”j;Ksjg;}”jk;Ksj‘;}”j•;Ksj»;}”j¿;Ksjå;}”jé;Ksj<}”j<Ksj9<}”j=<Ksjc<}”jg<Ksj<}”j‘<Ksj·<}”j»<Ksjá<}”jå<Ksj =}”j=Ksj5=}”j9=Ksj_=}”jc=Ksj‰=}”j=Ksj³=}”j·=KsjÝ=}”já=Ksj›?}”jŸ?KsjÅ?}”jÉ?KsjA}”j AKsj1A}”j5AKsj¾A}”jÂAKsj•B}”j™BKsjçB}”jëBKsj9C}”j=CKsj¾D}”jÂDKsjE}”jEKsjF}”jFKsjiF}”jmFKsj“F}”j—FKsjñF}”jõFKsj­G}”j±GKsj×G}”jÛGKsjH}”jHKsjSH}”jWHKsj}H}”jHKsj§H}”j«HKsjùH}”jýHKsjKI}”jOIKsjuI}”jyIKsjŸI}”j£IKsjÉI}”jÍIKsjÛJ}”jßJKsjL}”jLKsj;L}”j?LKsjeL}”jiLKsjL}”j“LKsj¹L}”j½LKsjãL}”jçLKsjzM}”j~MKsj¤M}”j¨MKsjÎM}”jÒMKsjøM}”jüMKsj"N}”j&NKsjN}”jƒNKsj©N}”j­NKsjÓN}”j×NKsj*O}”j.OKsj£O}”j§OKsjÍO}”jÑOKsjP}”j#PKsjIP}”jMPKsj¨Q}”j¬QKsjÒQ}”jÖQKsjúR}”jþRKsj$S}”j(SKsj¼S}”jÀSKsj0T}”j4TKsj‚T}”j†TKsj¬T}”j°TKsjÖT}”jÚTKsjU}”jUKsj*U}”j.UKsjTU}”jXUKsj¦U}”jªUKsj V}”j VKsjKW}”jOWKsjW}”j¡WKsjÇW}”jËWKsj%X}”j)XKsjèX}”jìXKsjY}”jYKsjuY}”jyYKsjØY}”jÜYKsjZ}”jZKsjTZ}”jXZKsjêZ}”jîZKsj<[}”j@[Ksjf[}”jj[Ksj²]}”j¶]KsjÜ]}”jà]Ksj^}”j ^Ksj0^}”j4^KsjZ^}”j^^Ksj„^}”jˆ^Ksj®^}”j²^KsjØ^}”jÜ^Ksj_}”j_Ksj,_}”j0_KsjV_}”jZ_Ksj¨_}”j¬_KsjÒ_}”jÖ_Ksjü_}”j`KsjN`}”jR`Ksjx`}”j|`Ksj¢`}”j¦`Ksja}”j aKsjWa}”j[aKsja}”j…aKsj«a}”j¯aKsjÕa}”jÙaKsj'b}”j+bKsjQb}”jUbKsj{b}”jbKsj¥b}”j©bKsjÏb}”jÓbKsj!c}”j%cKsjKc}”jOcKsjc}”j¡cKsjïc}”jócKsjd}”jdKsjCd}”jGdKsj¦d}”jªdKsjød}”jüdKsjJe}”jNeKsjte}”jxeKsjÆe}”jÊeKsjf}”jfKsjjf}”jnfKsj”f}”j˜fKsjæf}”jêfKsjg}”jgKsj:g}”j>gKsjg}”j¡gKsjïg}”jógKsjh}”jhKsjkh}”johKsj•h}”j™hKsj¿h}”jÃhKsjéh}”jíhKsj;i}”j?iKsji}”j‘iKsjßi}”jãiKsj j}”j jKsj3j}”j7jKsj…j}”j‰jKsj¯j}”j³jKsjÙj}”jÝjKsjk}”jkKsjfk}”jjkKsjÉk}”jÍkKsjók}”j÷kKsjEl}”jIlKsj¨l}”j¬lKsjúl}”jþlKsjLm}”jPmKsjvm}”jzmKsj m}”j¤mKsjòm}”jömKsjUn}”jYnKsj¨n}”j¬nKsjÒn}”jÖnKsj$o}”j(oKsjvo}”jzoKsjÈo}”jÌoKsjp}”jpKsjlp}”jppKsj–p}”jšpKsjèp}”jìpKsjq}”jqKsjdq}”jhqKsjŽq}”j’qKsj¸q}”j¼qKsjâq}”jæqKsj r}”jrKsj^r}”jbrKsjˆr}”jŒrKsjÚr}”jÞrKsj,s}”j0sKsj s}”j¤sKsjÊs}”jÎsKsjôs}”jøsKsjt}”j"tKsjpt}”jttKsjÂt}”jÆtKsju}”juKsjwu}”j{uKsj¡u}”j¥uKsjËu}”jÏuKsjõu}”jùuKsjv}”j#vKsjqv}”juvKsj›v}”jŸvKsjív}”jñvKsj?w}”jCwKsj‘w}”j•wKsj»w}”j¿wKsj0x}”j4xKsjZx}”j^xKsj„x}”jˆxKsjÖx}”jÚxKsjy}”jyKsj*y}”j.yKsjTy}”jXyKsj~y}”j‚yKsj¨y}”j¬yKsjúy}”jþyKsjLz}”jPzKsj¬z}”j°zKsjþz}”j{Ksj({}”j,{Ksj¿|}”jÃ|Ksjé|}”jí|Ksjö}}”jú}Ksj ~}”j$~Ksj­~}”j±~Ksj,}”j0KsjÅ}”jÉKsj€}”j€Ksji€}”jm€Ksj»€}”j¿€Ksjd}”jhKsjŽ}”j’Ksj¸}”j¼Ksjâ}”jæKsj ‚}”j‚Ksj6‚}”j:‚Ksj`‚}”jd‚Ksj²‚}”j¶‚Ksjƒ}”jƒKsjåƒ}”jéƒKsj7„}”j;„Ksja„}”je„Ksj³„}”j·„Ksj†}”j†Ksjd†}”jh†Ksjކ}”j’†Ksj¸†}”j¼†Ksjâ†}”jæ†KsjJ‡}”jN‡Ksjœ‡}”j ‡Ksjˆ}”jˆKsj¸ˆ}”j¼ˆKsjâˆ}”jæˆKsjV‰}”jZ‰Ksj¹‰}”j½‰KsjRŠ}”jVŠKsj|Š}”j€ŠKsj¦Š}”jªŠKsjЊ}”jÔŠKsjk‹}”jo‹Ksj•‹}”j™‹Ksj¿‹}”jËKsjé‹}”jí‹Ksj§Œ}”j«ŒKsjùŒ}”jýŒKsj#}”j'Ksj—}”j›KsjÁ}”jÅKsj$Ž}”j(ŽKsj‡Ž}”j‹ŽKsj±Ž}”jµŽKsjÛŽ}”jߎKsj}”j Ksj/}”j3KsjY}”j]Ksjƒ}”j‡Ksj­}”j±Ksj}”jKsj:}”j>Ksjd}”jhKsjŽ}”j’Ksj¸}”j¼Ksjâ}”jæKsj ‘}”j‘Ksj6‘}”j:‘Ksj™‘}”j‘KsjÑ}”jÇ‘Ksjí‘}”jñ‘Ksj”’}”j˜’Ksj¾’}”jÂ’Ksjè’}”jì’Ksj:“}”j>“Ksjd“}”jh“KsjŽ“}”j’“Ksjà“}”jä“Ksj2”}”j6”Ksjÿ•}”j–Ksj™–}”j–KsjÖ}”jÇ–Ksj—}”j—Ksj?—}”jC—Ksji—}”jm—Ksj ˜}”j˜Ksj6˜}”j:˜Ksj`˜}”jd˜KsjØ}”jǘKsjí˜}”jñ˜Ksj™}”j™KsjA™}”jE™Ksjk™}”jo™Ksj•™}”j™™Ksj¿™}”jÙKsjé™}”jí™Ksj`š}”jdšKsjºš}”j¾šKsj.›}”j2›Ksj}”j!KsjÎ}”jÒKsjø}”jüKsjJž}”jNžKsjtž}”jxžKsjt }”jx Ksjž }”j¢ KsjÈ }”jÌ Ksjò }”jö Ksj¡}”j ¡KsjF¡}”jJ¡Ksjp¡}”jt¡Ksjš¡}”jž¡KsjÄ¡}”jÈ¡Ksjî¡}”jò¡Ksj¢}”j¢KsjB¢}”jF¢Ksjl¢}”jp¢Ksj–¢}”jš¢KsjÀ¢}”jÄ¢Ksjê¢}”jî¢Ksj£}”j£Ksj>£}”jB£Ksj¡£}”j¥£KsjË£}”jÏ£Ksjõ£}”jù£Ksj¤}”j#¤KsjI¤}”jM¤Ksjs¤}”jw¤Ksj¤}”j¡¤KsjǤ}”jˤKsjñ¤}”jõ¤KsjC¥}”jG¥Ksjm¥}”jq¥Ksj—¥}”j›¥KsjÁ¥}”jÅ¥KsjG¦}”jK¦Ksj´¦}”j¸¦KsjÞ¦}”jâ¦Ksj§}”j §Ksj2§}”j6§Ksj\§}”j`§Ksj¿§}”jçKsjJ¨}”jN¨Ksj©}”j©Ksj8©}”j<©Ksjb©}”jf©KsjŒ©}”j©Ksj¶©}”jº©Ksj¿¬}”jìKsj­}”j­Ksjt­}”jx­Ksjú­}”jþ­Ksjn®}”jr®KsjÑ®}”jÕ®Ksj4¯}”j8¯Ksj—¯}”j›¯KsjÁ¯}”jůKsjë¯}”jï¯Ksj•°}”j™°Ksj¿°}”jðKsjé°}”jí°Ksj±}”j±Ksjv±}”jz±Ksjȱ}”j̱Ksj²}”j²Ksjl²}”jp²Ksj–²}”jš²KsjÀ²}”jIJKsj³}”j³Ksjd³}”jh³Ksjdz}”j˳Ksj´}”j´Ksj´}”j‘´Ksjß´}”jã´Ksj1µ}”j5µKsj[µ}”j_µKsj­µ}”j±µKsj×µ}”jÛµKsj¶}”j¶Ksj+¶}”j/¶KsjU¶}”jY¶Ksj¶}”jƒ¶Ksj·}”j·Ksj¸}”j‘¸Ksjð¸}”jô¸Ksjî¹}”jò¹KsjÔº}”jغKsjþº}”j»Ksj(»}”j,»Ksj!¼}”j%¼KsjK¼}”jO¼Ksju¼}”jy¼Ksjؼ}”jܼKsj;½}”j?½Ksjñ½}”jõ½Ksj¾}”j¾Ksjm¾}”jq¾Ksj—¾}”j›¾KsjÁ¾}”jžKsjë¾}”jï¾Ksj¿}”j¿Ksjl¿}”jp¿KsjÀ}”jÀKsjDÀ}”jHÀKsjnÀ}”jrÀKsj˜À}”jœÀKsjÂÀ}”jÆÀKsjìÀ}”jðÀKsj>Á}”jBÁKsjÁ}”j”ÁKsjºÁ}”j¾ÁKsjäÁ}”jèÁKsjÂ}”jÂKsjÞÂ}”jâÂKsjÃ}”j ÃKsj2Ã}”j6ÃKsj\Ã}”j`ÃKsj®Ã}”j²ÃKsjÄ}”jÄKsj*Ä}”j.ÄKsj|Ä}”j€ÄKsjÎÄ}”jÒÄKsjøÄ}”jüÄKsjJÅ}”jNÅKsjtÅ}”jxÅKsjÆÅ}”jÊÅKsjðÅ}”jôÅKsjÆ}”jÆKsjDÆ}”jHÆKsj–Æ}”jšÆKsjèÆ}”jìÆKsjÇ}”jÇKsj†Ç}”jŠÇKsj°Ç}”j´ÇKsjÚÇ}”jÞÇKsjÈ}”jÈKsjVÈ}”jZÈKsj¨È}”j¬ÈKsjúÈ}”jþÈKsjLÉ}”jPÉKsjvÉ}”jzÉKsj É}”j¤ÉKsjÊÉ}”jÎÉKsjôÉ}”jøÉKsjFÊ}”jJÊKsj˜Ê}”jœÊKsjÂÊ}”jÆÊKsjìÊ}”jðÊKsjË}”jËKsjhË}”jlËKsj’Ë}”j–ËKsj¼Ë}”jÀËKsjäÍ}”jèÍKsjÎ}”jÎKsj8Î}”j<ÎKsjÏ}”jÏKsj,Ï}”j0ÏKsjVÏ}”jZÏKsj€Ï}”j„ÏKsjªÏ}”j®ÏKsjÔÏ}”jØÏKsjþÏ}”jÐKsj(Ð}”j,ÐKsjRÐ}”jVÐKsj|Ð}”j€ÐKsj¦Ð}”jªÐKsjÐÐ}”jÔÐKsjúÐ}”jþÐKsj–Ñ}”jšÑKsjèÑ}”jìÑKsj:Ò}”j>ÒKsjdÒ}”jhÒKsjŽÒ}”j’ÒKsjàÒ}”jäÒKsj2Ó}”j6ÓKsj„Ó}”jˆÓKsj-Ö}”j1ÖKsjÖ}”jƒÖKsjÑÖ}”jÕÖKsjP×}”jT×KsjhØ}”jlØKsjºØ}”j¾ØKsjäØ}”jèØKsjÙ}”jÙKsj8Ù}”j<ÙKsjbÙ}”jfÙKsjŒÙ}”jÙKsj¶Ù}”jºÙKsjàÙ}”jäÙKsj Ú}”jÚKsj\Ú}”j`ÚKsj†Ú}”jŠÚKsj°Ú}”j´ÚKsjÚÚ}”jÞÚKsj,Û}”j0ÛKsjŒÛ}”jÛKsj¶Û}”jºÛKsjÜ}”j ÜKsj2Ü}”j6ÜKsjÞÜ}”jâÜKsjÝ}”j ÝKsj2Ý}”j6ÝKsj\Ý}”j`ÝKsj®Ý}”j²ÝKsjØÝ}”jÜÝKsjÞ}”jÞKsj,Þ}”j0ÞKsj~Þ}”j‚ÞKsj¨Þ}”j¬ÞKsjÒÞ}”jÖÞKsj$ß}”j(ßKsjÉß}”jÍßKsjTà}”jXàKsj·à}”j»àKsjá}”jáKsj}á}”jáKsj§á}”j«áKsjâ}”jâKsjVâ}”jZâKsj¨â}”j¬âKsjÁä}”jÅäKsjëä}”jïäKsjå}”jåKsjxå}”j|åKsj¢å}”j¦åKsj%æ}”j)æKsjOæ}”jSæKsjyæ}”j}æKsjè}”jèKsjAè}”jEèKsjÏè}”jÓèKsj!é}”j%éKsjsé}”jwéKsjÅé}”jÉéKsjê}”jêKsjiê}”jmêKsjÜê}”jàêKsj.ë}”j2ëKsj€ë}”j„ëKsjªë}”j®ëKsjÔë}”jØëKsj&ì}”j*ìKsjPì}”jTìKsjzì}”j~ìKsjúì}”jþìKsjLí}”jPíKsjží}”j¢íKsjðí}”jôíKsjBî}”jFîKsj”î}”j˜îKsjæî}”jêîKsj8ï}”j<ïKsjŠï}”jŽïKsjÜï}”jàïKsj©ð}”j­ðKsjXò}”j\òKsjªò}”j®òKsjó}”jóKsj?ó}”jCóKsj+ô}”j/ôKsjqö}”juöKsj›ö}”jŸöKsjÅö}”jÉöKsjïö}”jóöKsj÷}”j÷KsjC÷}”jG÷Ksjm÷}”jq÷Ksj—÷}”j›÷KsjÁ÷}”jÅ÷KsjZø}”j^øKsj„ø}”jˆøKsj®ø}”j²øKsjØø}”jÜøKsjù}”jùKsjmù}”jqùKsj—ù}”j›ùKsjÁù}”jÅùKsj,ú}”j0úKsjVú}”jZúKsj€ú}”j„úKsjåú}”jéúKsjxü}”j|üKsjÛü}”jßüKsj-ý}”j1ýKsjáý}”jåýKsjDþ}”jHþKsj¢þ}”j¦þKsj­ÿ}”j±ÿKsjÿÿ}”jKsj)}”j-KsjS}”jWKsjÇ}”jËKsj*}”j.Ksj|}”j€KsjÎ}”jÒKsjø}”jüKsj}”j“Ksjá}”jåKsj3}”j7Ksj…}”j‰Ksj¯}”j³KsjÙ}”jÝKsj+}”j/Ksj}}”jKsjÔ}”jØKsjj}”jnKsj&}”j*Ksj}”j Ksj/}”j3Ksjš}”jžKsjÄ}”jÈKsjî}”jòKsjÇ}”jËKsj }”j Ksjk }”jo Ksj• }”j™ Ksjó }”j÷ Ksj­ }”j± Ksj^ }”jb Ksjˆ }”jŒ Ksj² }”j¶ Ksj }”j Ksj‡ }”j‹ KsjÉ }”jÍ Ksj}”jKsjE}”jIKsj }”j$KsjŸ}”j£Ksj#}”j'KsjM}”jQKsjw}”j{KsjÉ}”jÍKsj=}”jAKsjg}”jkKsj¹}”j½Ksj }”jKsj5}”j9Ksj‡}”j‹Ksj±}”jµKsjÛ}”jßKsj-}”j1Ksj}”jƒKsj©}”j­KsjÓ}”j×Ksj¥}”j©Ksj}”j KsjZ}”j^Ksj×}”jÛKsj}”jKsj+}”j/KsjŽ}”j’Ksj¸}”j¼Ksj }”jKsj\}”j`Ksj†}”jŠKsj°}”j´KsjÚ}”jÞKsj}”jKsjg}”jkKsj‘}”j•Ksjã}”jçKsj }”jKsj7}”j;Ksja}”jeKsj³}”j·KsjÝ}”jáKsj}”j Ksj1}”j5Ksj[}”j_Ksj­}”j±Ksjÿ}”jKsjb}”jfKsj´}”j¸KsjÞ}”jâKsj}”j Ksj2}”j6Ksj„}”jˆKsjç}”jëKsj9}”j=Ksjc}”jgKsj}”j‘Ksj·}”j»Ksj }”j Ksj`}”jdKsjÄ}”jÈKsjî}”jòKsj@ }”jD Ksj¨!}”j¬!Ksjú!}”jþ!Ksj]"}”ja"Ksj‡"}”j‹"Ksjê"}”jî"Ksj<#}”j@#KsjŽ#}”j’#Ksj $}”j$KsjM%}”jQ%KsjŸ%}”j£%KsjÉ%}”jÍ%Ksjó%}”j÷%Ksj&}”j!&KsjG&}”jK&Ksjq&}”ju&KsjÃ&}”jÇ&Ksj'}”j'Ksj?'}”jC'Ksj‘'}”j•'Ksjã'}”jç'Ksj (}”j(Ksj (}”j¤(Ksj=)}”jA)Ksj¿*}”jÃ*Ksj+}”j+Ksj—+}”j›+KsjÁ+}”jÅ+Ksjë+}”jï+Ksj=,}”jA,Ksj--}”j1-KsjW-}”j[-Ksj-}”j…-Ksj.}”j".Ksjp.}”jt.Ksjš.}”jž.KsjÄ.}”jÈ.Ksjî.}”jò.Ksj/}”j/Ksjj/}”jn/Ksj”/}”j˜/Ksj¾/}”jÂ/KsjL0}”jP0Ksjv0}”jz0Ksj 0}”j¤0KsjÊ0}”jÎ0Ksjô0}”jø0KsjX1}”j\1Ksj‚1}”j†1KsjÔ1}”jØ1Ksj§2}”j«2KsjÑ2}”jÕ2Ksjû2}”jÿ2KsjM3}”jQ3KsjŸ3}”j£3Ksjñ3}”jõ3KsjC4}”jG4Ksj•4}”j™4Ksjû4}”jÿ4KsjM5}”jQ5KsjŸ5}”j£5KsjÉ5}”jÍ5Ksj6}”j6Ksjm6}”jq6Ksj 7}”j7Ksjô7}”jø7Ksj8}”j"8Ksjp8}”jt8Ksj[9}”j_9Ksj2:}”j6:KsjÆ;}”jÊ;Ksjð;}”jô;Ksj<}”j<KsjD<}”jH<Ksjn<}”jr<Ksj˜<}”jœ<KsjÂ<}”jÆ<Ksjì<}”jð<Ksj>=}”jB=Ksj=}”j”=Ksjâ=}”jæ=KsjE>}”jI>Ksjo>}”js>Ksj™>}”j>KsjÃ>}”jÇ>Ksj?}”j?Ksjg?}”jk?Ksj‘?}”j•?Ksj@}”j"@Ksj@}”jƒ@Ksj©@}”j­@Ksj‘A}”j•AKsjõA}”jùAKsjXB}”j\BKsj¼B}”jÀBKsjæB}”jêBKsjqC}”juCKsjÔC}”jØCKsjþC}”jDKsj(D}”j,DKsjRD}”jVDKsj|D}”j€DKsj¦D}”jªDKsjÐD}”jÔDKsjúD}”jþDKsj$E}”j(EKsjNE}”jREKsjxE}”j|EKsj¢E}”j¦EKsjÌE}”jÐEKsjöE}”júEKsjYF}”j]FKsjºF}”j¾FKsjäF}”jèFKsj…G}”j‰GKsj¯G}”j³GKsjH}”jHKsj+H}”j/HKsjUH}”jYHKsjH}”jƒHKsjI}”j IKsjFI}”jJIKsjpI}”jtIKsjÓI}”j×IKsjýI}”jJKsj'J}”j+JKsjQJ}”jUJKsjK}”jKKsjk}”jBkKsjhk}”jlkKsj’k}”j–kKsj¼k}”jÀkKsjæk}”jêkKsj8l}”j›}”jB›Ksjp}”jtKsjš}”jžKsjÄ}”jÈKsjî}”jòKsj@ž}”jDžKsj‰Ÿ}”jŸKsj³Ÿ}”j·ŸKsjÝŸ}”jáŸKsj/ }”j3 KsjY }”j] Ksj« }”j¯ Ksjý }”j¡Ksj'¡}”j+¡KsjQ¡}”jU¡Ksj{¡}”j¡KsjÍ¡}”jÑ¡Ksj¢}”j#¢KsjI¢}”jM¢Ksjs¢}”jw¢Ksj¢}”j¡¢Ksj£}”j£Ksj*£}”j.£KsjT£}”jX£Ksj¦£}”jª£KsjУ}”jÔ£Ksjú£}”jþ£Ksj$¤}”j(¤Ksj£¤}”j§¤KsjQ¥}”jU¥Ksj{¥}”j¥Ksj¥¥}”j©¥KsjÏ¥}”jÓ¥Ksjù¥}”jý¥Ksjé§}”jí§Ksj;¨}”j?¨Ksj¨}”j‘¨Ksj·¨}”j»¨Ksjá¨}”jå¨KsjU©}”jY©Ksj©}”jƒ©Ksj©©}”j­©Ksjû©}”jÿ©Ksj%ª}”j)ªKsjOª}”jSªKsj¡ª}”j¥ªKsj˪}”jϪKsjõª}”jùªKsjG«}”jK«Ksj™«}”j«Ksjë}”jÇ«Ksjí«}”jñ«Ksj¬}”j¬KsjA¬}”jE¬Ksj“¬}”j—¬Ksj½¬}”jÁ¬Ksjç¬}”jë¬Ksj­}”j­Ksj;­}”j?­Ksje­}”ji­Ksj­}”j“­Ksj¹­}”j½­Ksj ®}”j®Ksj5®}”j9®Ksj_®}”jc®Ksj‰®}”j®Ksj³®}”j·®KsjÝ®}”já®Ksj¯}”j ¯Ksj1¯}”j5¯Ksj[¯}”j_¯Ksj¾¯}”j¯Ksj°}”j°Ksj:°}”j>°Ksjd°}”jh°Ksjذ}”jܰKsj*±}”j.±KsjT±}”jX±Ksj¦±}”jª±Ksjø±}”jü±KsjJ²}”jN²Ksjt²}”jx²Ksjž²}”j¢²KsjȲ}”j̲Ksj<³}”j@³Ksj޳}”j’³Ksj¸³}”j¼³Ksj ´}”j´Ksj4´}”j8´Ksj^´}”jb´Ksjˆ´}”jŒ´Ksjë´}”jï´Ksjµ}”jµKsjgµ}”jkµKsj‘µ}”j•µKsj»µ}”j¿µKsjåµ}”jéµKsj7¶}”j;¶Ksj޶}”j’¶Ksj¸}”j¸Ksjh¸}”jl¸Ksj’¸}”j–¸Ksj¼¸}”jÀ¸Ksj8º}”j<ºKsjbº}”jfºKsjŒº}”jºKsj¶º}”jººKsj»}”j »KsjZ»}”j^»Ksj„»}”jˆ»Ksj®»}”j²»KsjØ»}”jÜ»Ksj¼}”j¼KsjT¼}”jX¼Ksj~¼}”j‚¼Ksjø¼}”jü¼Ksj"½}”j&½KsjV¾}”jZ¾Ksjľ}”jȾKsjî¾}”jò¾Ksj¿}”j¿Ksj¼¿}”jÀ¿Ksj‰À}”jÀKsjÛÀ}”jßÀKsjÁ}”j ÁKsj/Á}”j3ÁKsj¸Á}”j¼ÁKsjâÁ}”jæÁKsj\Ã}”j`ÃKsj†Ã}”jŠÃKsj°Ã}”j´ÃKsjÚÃ}”jÞÃKsjÄ}”jÄKsj.Ä}”j2ÄKsj€Ä}”j„ÄKsjªÄ}”j®ÄKsjÔÄ}”jØÄKsjKÅ}”jOÅKsj¢Å}”j¦ÅKsj‹Æ}”jÆKsjµÆ}”j¹ÆKsj߯}”jãÆKsj Ç}”j ÇKsj3Ç}”j7ÇKsj…Ç}”j‰ÇKsj¯Ç}”j³ÇKsjËÈ}”jÏÈKsjõÈ}”jùÈKsjGÉ}”jKÉKsjqÉ}”juÉKsjÃÉ}”jÇÉKsjíÉ}”jñÉKsjÊ}”jÊKsjAÊ}”jEÊKsjkÊ}”joÊKsj½Ê}”jÁÊKsjçÊ}”jëÊKsjË}”jËKsjcË}”jgËKsjË}”j‘ËKsj·Ë}”j»ËKsjáË}”jåËKsj Ì}”jÌKsj5Ì}”j9ÌKsj_Ì}”jcÌKsj‰Ì}”jÌKsj³Ì}”j·ÌKsjÝÌ}”jáÌKsjÍ}”j ÍKsjYÍ}”j]ÍKsj«Í}”j¯ÍKsjÕÍ}”jÙÍKsjÿÍ}”jÎKsj)Î}”j-ÎKsjSÎ}”jWÎKsj}Î}”jÎKsj§Î}”j«ÎKsjùÎ}”jýÎKsjKÏ}”jOÏKsjuÏ}”jyÏKsjŸÏ}”j£ÏKsjÉÏ}”jÍÏKsjóÏ}”j÷ÏKsjEÐ}”jIÐKsjoÐ}”jsÐKsjÒÐ}”jÖÐKsj$Ñ}”j(ÑKsjNÑ}”jRÑKsj Ñ}”j¤ÑKsjÊÑ}”jÎÑKsjôÑ}”jøÑKsjFÒ}”jJÒKsj˜Ò}”jœÒKsjÂÒ}”jÆÒKsjìÒ}”jðÒKsjÓ}”jÓKsjhÓ}”jlÓKsj’Ó}”j–ÓKsj¼Ó}”jÀÓKsjæÓ}”jêÓKsjÔ}”jÔKsjbÔ}”jfÔKsjŒÔ}”jÔKsj¶Ô}”jºÔKsjàÔ}”jäÔKsj Õ}”jÕKsj4Õ}”j8ÕKsj†Õ}”jŠÕKsj¨Ö}”j¬ÖKsj ×}”j×Ksj×}”jƒ×Ksj©×}”j­×Ksj“Ø}”j—ØKsjöØ}”júØKsj Ù}”j$ÙKsjÚ}”j#ÚKsjIÚ}”jMÚKsj›Ú}”jŸÚKsjÅÚ}”jÉÚKsjïÚ}”jóÚKsjÛ}”jÛKsjCÛ}”jGÛKsjmÛ}”jqÛKsj—Û}”j›ÛKsjÁÛ}”jÅÛKsjëÛ}”jïÛKsjÜ}”jÜKsjgÜ}”jkÜKsj¹Ü}”j½ÜKsj Ý}”jÝKsj]Ý}”jaÝKsj¯Ý}”j³ÝKsjÞ}”jÞKsjSÞ}”jWÞKsj¥Þ}”j©ÞKsj÷Þ}”jûÞKsjIß}”jMßKsj›ß}”jŸßKsjÅß}”jÉßKsjïß}”jóßKsjAà}”jEàKsjkà}”joàKsj•à}”j™àKsjçà}”jëàKsj9á}”j=áKsj‹á}”jáKsjµá}”j¹áKsjßá}”jãáKsj â}”j âKsj3â}”j7âKsj…â}”j‰âKsj×â}”jÛâKsjã}”jãKsj+ã}”j/ãKsjUã}”jYãKsjã}”jƒãKsj©ã}”j­ãKsjÓã}”j×ãKsjýã}”jäKsjšä}”jžäKsjOå}”jSåKsjyå}”j}åKsj’æ}”j–æKsj¼ç}”jÀçKsjè}”jèKsj8è}”j<èKsjbè}”jfèKsjŒè}”jèKsj¶è}”jºèKsjé}”j"éKsjHé}”jLéKsj«ë}”j¯ëKsjÕë}”jÙëKsjÿë}”jìKsj)ì}”j-ìKsjSì}”jWìKsj¥ì}”j©ìKsjÏì}”jÓìKsj!í}”j%íKsjsí}”jwíKsjÐî}”jÔîKsjúî}”jþîKsj$ï}”j(ïKsjNï}”jRïKsjxï}”j|ïKsj¢ï}”j¦ïKsjôï}”jøïKsjhð}”jlðKsj’ð}”j–ðKsjäð}”jèðKsjñ}”jñKsj8ñ}”j<ñKsjbñ}”jfñKsjŒñ}”jñKsj¶ñ}”jºñKsjàñ}”jäñKsj ò}”jòKsj4ò}”j8òKsj^ò}”jbòKsj°ò}”j´òKsjÚò}”jÞòKsjó}”jóKsj.ó}”j2óKsj€ó}”j„óKsjÒó}”jÖóKsj$ô}”j(ôKsjNô}”jRôKsj ô}”j¤ôKsjÊô}”jÎôKsj-õ}”j1õKsjõ}”jƒõKsj©õ}”j­õKsjÓõ}”j×õKsj%ö}”j)öKsjwö}”j{öKsj¡ö}”j¥öKsjËö}”jÏöKsjõö}”jùöKsj÷}”j#÷KsjI÷}”jM÷Ksjs÷}”jw÷Ksjç÷}”jë÷Ksjø}”jøKsj;ø}”j?øKsjeø}”jiøKsjõø}”jùøKsj`ù}”jdùKsjŠù}”jŽùKsj´ù}”j¸ùKsj@ú}”jDúKsj’ú}”j–úKsj¼ú}”jÀúKsjÂû}”jÆûKsjìû}”jðûKsj!ý}”j%ýKsjKý}”jOýKsjý}”j¡ýKsjïý}”jóýKsjþ}”jþKsjkþ}”joþKsjÿ}”jÿKsjbÿ}”jfÿKsjŒÿ}”jÿKsj¶ÿ}”jºÿKsj)}”j-KsjS}”jWKsj¥}”j©KsjÏ}”jÓKsj!}”j%Ksjs}”jwKsj}”j¡Ksj}”jKsj}”jKsjm}”jqKsj—}”j›KsjÁ}”jÅKsjë}”jïKsj}”jKsj?}”jCKsji}”jmKsj“}”j—Ksj½}”jÁKsjç}”jëKsjY}”j]Ksjƒ}”j‡KsjÕ}”jÙKsjC}”jGKsj•}”j™Ksjç}”jëKsj9}”j=Ksj }”j¤Ksjò}”jöKsjD }”jH Ksjn }”jr KsjO }”jS Ksjy }”j} Ksj£ }”j§ KsjÍ }”jÑ Ksj÷ }”jû Ksj! }”j% KsjK }”jO Ksju }”jy Ksjs }”jw Ksj }”j¡ KsjÇ }”jË Ksjñ }”jõ KsjC }”jG Ksjm }”jq Ksjá }”jå KsjÜ}”jàKsj}”j Ksj0}”j4KsjZ}”j^Ksj„}”jˆKsj®}”j²Ksj;}”j?Ksj}”j‘Ksj·}”j»Ksjá}”jåKsj¢}”j¦Ksj}”j‘Ksj·}”j»Ksjá}”jåKsj }”jKsj5}”j9Ksj_}”jcKsj‰}”jKsj³}”j·Ksj}”j Ksj/}”j3KsjY}”j]Ksjƒ}”j‡KsjÕ}”jÙKsjÿ}”jKsjÎ}”jÒKsj }”j$Ksjr}”jvKsjœ}”j Ksjî}”jòKsj}”jKsj3}”j7Ksj…}”j‰Ksj'}”j+KsjQ}”jUKsjü}”jKsj&}”j*KsjP}”jTKsjz}”j~Ksj¤}”j¨KsjÎ}”jÒKsjø}”jüKsj"}”j&Ksj…}”j‰Ksj×}”jÛKsj<}”j@Ksj“}”j—Ksjå}”jéKsjE }”jI Ksjo }”js Ksj™ }”j Ksjà }”jÇ Ksj^!}”jb!Ksj°!}”j´!KsjÚ!}”jÞ!Ksj"}”j"Ksj."}”j2"Ksjˆ"}”jŒ"Ksj²"}”j¶"Ksj #}”j #Ksj`#}”jd#Ksjœ$}”j $Ksjî$}”jò$Ksj%}”j%Ksjj%}”jn%Ksj”%}”j˜%Ksj¾%}”jÂ%Ksjè%}”jì%Ksj:&}”j>&Ksjd&}”jh&KsjŽ&}”j’&Ksj¸&}”j¼&Ksjâ&}”jæ&KsjE'}”jI'Ksj(}”j(Ksjñ(}”jõ(Ksj•*}”j™*Ksjš+}”jž+KsjÄ+}”jÈ+Ksjî+}”jò+Ksj,}”j,Ksjo,}”js,Ksj–-}”jš-Ksjè-}”jì-Ksj:.}”j>.KsjŒ.}”j.Ksjd/}”jh/KsjŽ/}”j’/Ksj¸/}”j¼/KsjË1}”jÏ1Ksj2}”j!2KsjG2}”jK2Ksjq2}”ju2Ksj›2}”jŸ2KsjÅ2}”jÉ2Ksj3}”j3Ksji3}”jm3Ksj»3}”j¿3Ksjå3}”jé3Ksj74}”j;4Ksja4}”je4Ksj³4}”j·4KsjÞ5}”jâ5Ksj06}”j46KsjZ6}”j^6Ksj$7}”j(7Ksj×7}”jÛ7Ksj8}”j8Ksj+8}”j/8KsjU8}”jY8Ksj˜9}”jœ9KsjÂ9}”jÆ9Ksj:}”j :KsjF:}”jJ:KsjR;}”jV;Ksj|;}”j€;Ksjð;}”jô;Ksj<}”j<KsjD<}”jH<Ksjn<}”jr<KsjÀ<}”jÄ<Ksj=}”j=Ksj†=}”jŠ=Ksj°=}”j´=KsjÚ=}”jÞ=Ksj,>}”j0>Ksj~>}”j‚>KsjÐ>}”jÔ>Ksj"?}”j&?KsjL?}”jP?Ksjž?}”j¢?KsjÈ?}”jÌ?Ksjò?}”jö?KsjU@}”jY@Ksj@}”jƒ@Ksj©@}”j­@Ksjû@}”jÿ@Ksj%A}”j)AKsj¹A}”j½AKsj B}”jBKsj5B}”j9BKsj_B}”jcBKsj‰B}”jBKsj³B}”j·BKsjÝB}”jáBKsjC}”j CKsjÏC}”jÓCKsjùC}”jýCKsj#D}”j'DKsjMD}”jQDKsjÁD}”jÅDKsjëD}”jïDKsj=E}”jAEKsjgE}”jkEKsj‘E}”j•EKsj»E}”j¿EKsjüF}”jGKsjNG}”jRGKsjUH}”jYHKsjH}”jƒHKsjÑH}”jÕHKsj#I}”j'IKsjMI}”jQIKsjŸI}”j£IKsjçJ}”jëJKsjƒK}”j‡KKsjÕK}”jÙKKsj'L}”j+LKsjQL}”jULKsj{L}”jLKsj¥L}”j©LKsjÏL}”jÓLKsjùL}”jýLKsj#M}”j'MKsjuM}”jyMKsjŸM}”j£MKsjÉM}”jÍMKsjN}”jNKsjEN}”jINKsjoN}”jsNKsj™N}”jNKsjëN}”jïNKsj=O}”jAOKsjO}”j“OKsj¹O}”j½OKsjãO}”jçOKsj5P}”j9PKsj_P}”jcPKsj±P}”jµPKsjQ}”jQKsjDQ}”jHQKsjnQ}”jrQKsjÀQ}”jÄQKsjêQ}”jîQKsjR}”jRKsj>R}”jBRKsj¼R}”jÀRKsjS}”jSKsj›S}”jŸSKsjÅS}”jÉSKsjNT}”jRTKsj T}”j¤TKsjU}”jUKsjfU}”jjUKsj¸U}”j¼UKsj,V}”j0VKsj~V}”j‚VKsj¨V}”j¬VKsjúV}”jþVKsjLW}”jPWKsjžW}”j¢WKsjðW}”jôWKsjBX}”jFXKsj¢Y}”j¦YKsjôY}”jøYKsjFZ}”jJZKsj˜Z}”jœZKsj[}”j[Ksjœ[}”j [KsjÆ[}”jÊ[Ksjð[}”jô[KsjF]}”jJ]Ksjp]}”jt]Ksjš]}”jž]Ksj_}”j _Ksjº_}”j¾_Ksjä_}”jè_Ksjn`}”jr`KsjÑ`}”jÕ`Ksj#a}”j'aKsj­a}”j±aKsj×a}”jÛaKsj)b}”j-bKsjSb}”jWbKsj}b}”jbKsj»c}”j¿cKsjd}”jdKsjEd}”jIdKsjod}”jsdKsjÁd}”jÅdKsjFe}”jJeKsjpe}”jteKsjôe}”jøeKsjf}”j"fKsjHf}”jLfKsjrf}”jvfKsjœf}”j fKsjÆf}”jÊfKsjðf}”jôfKsjg}”jgKsjDg}”jHgKsj–g}”jšgKsjÀg}”jÄgKsjêg}”jîgKsjh}”jhKsjfh}”jjhKsjh}”j”hKsjŒi}”jiKsjÞi}”jâiKsjj}”j jKsjÕj}”jÙjKsjÿj}”jkKsj·l}”j»lKsjál}”jålKsj m}”jmKsjpm}”jtmKsjèm}”jìmKsjn}”jnKsj–Ksjd–}”jh–KsjŽ–}”j’–Ksj¸–}”j¼–Ksjâ–}”jæ–Ksj —}”j—Ksjo—}”js—KsjÒ—}”jÖ—Ksj$˜}”j(˜KsjN˜}”jR˜Ksu(jx˜}”j|˜Ksj¢˜}”j¦˜Ksj̘}”jИKsjö˜}”jú˜Ksj ™}”j$™Ksjr™}”jv™Ksjœ™}”j ™Ksjš}”jšKsj?š}”jCšKsjiš}”jmšKsj»š}”j¿šKsjåš}”jéšKsj›}”j›Ksja›}”je›Ksj‹›}”j›Ksjµ›}”j¹›Ksjß›}”jã›Ksj!}”j%Ksjs}”jwKsjÅ}”jÉKsjž}”jžKsjAž}”jEžKsj“ž}”j—žKsj½ž}”jÁžKsjŸ}”jŸKsjaŸ}”jeŸKsj‹Ÿ}”jŸKsjµŸ}”j¹ŸKsjߟ}”jãŸKsj1 }”j5 Ksj¡}”j¡Ksj"¢}”j&¢KsjL¢}”jP¢Ksjyª}”j}ªKsjøª}”jüªKsjž«}”j¢«Ksjð«}”jô«Ksj¬}”j¬KsjD¬}”jH¬Ksjn¬}”jr¬Ksj˜¬}”jœ¬Ksjê¬}”jî¬Ksj­}”j­Ksj>­}”jB­Ksj­}”j”­Ksjê­}”jî­Ksj®}”j®Ksjk®}”jo®KsjH¯}”jL¯Ksjö¯}”jú¯KsjH°}”jL°Ksjϰ}”jÓ°Ksj!±}”j%±Ksuh}”h€}”h‹Kssh–}”(h€}”h’KsjH}”jLKsj¿ }”jà Ksj1}”j5Ksj•+}”j§+Ksj‹1}”j1KsjÙj}”jëjKsjÉk}”jÛkKsj•‹}”j§‹Ksj6˜}”jH˜KsjÀ¢}”jÒ¢Ksjê¢}”jü¢KsjèÆ}”júÆKsjOÕ}”jSÕKsjNß}”jRßKsj‰à}”jàKsjmù}”jùKsjÁù}”jÓùKsj,ú}”j>úKsjk }”j} Ksjg}”jyKsjÝ}”jïKsjj/}”j|/Ksj”/}”j¦/Ksjm4}”jq4Ksjø>}”jü>Ksj´M}”jÆMKsjó[}”j\Ksj|c}”j€cKsj$f}”j6fKsjlš}”j~šKsjQ¡}”jc¡Ksj³À}”j·ÀKsjÛÀ}”jíÀKsjÅß}”j×ßKsjAà}”jSàKsj×â}”jéâKsjã}”j‘ãKsjsí}”j…íKsjÒ}”jÖKsjÁ}”jÓKsjë}”jýKsjç}”jùKsjY}”jkKsj¢ }”j¦ KsjÁD}”jÓDKsj=E}”jOEKsj}}”j¡}Ksuh }”h€}”h™Kssh§}”h€}”h£Kssh¼}”(hª}”h¸Ksj12}”j?2Ksj Õ}”jÕKsuhÆ}”hª}”h¿KsshÍ}”hª}”hÉKsshÔ}”(hª}”hÐKsj Õ}”j/ÕKsuhì}”h×}”håKsshó}”h×}”hïKsshú}”h×}”höKssj}”h×}”hýKssj}”h×}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”h×}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”h×}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”h×}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”j}”jKssj&}”(j}”j"Ksj:}”jLKsjd}”jvKsjŽ}”j Ksj¸}”jÊKsj¬}”j¾Ksj*}”j<Ksjô}”jKsjS}”jWKsjÏ}”jÓKsjq }”ju KsjÚ }”jÞ Ksjg }”jk Ksj¼ }”jÀ Ksj}”jKsjØ}”jêKsj2}”jDKsj\}”jnKsjæ}”jøKsj}”j"Ksj:}”jLKsjd}”jvKsj}”j1KsjI}”j[Ksj¯}”jÁKsj<}”j@Ksjì}”jðKsjœ}”j®KsjÆ}”jØKsj%}”j)Ksjw}”j{KsjÉ}”jÍKsjæ}”jøKsjð}”jKsj°}”j´KsjÍ}”jßKsj5$}”j9$Ksjó%}”j÷%Ksj:'}”jL'Ksj¿+}”jÑ+Ksj=,}”jO,Ksj/}”j/Ksjß/}”jñ/Ksj>0}”jB0Ksj[0}”jm0Ksjº0}”j¾0Ksjê1}”jî1Ksj2}”j2Ksjò2}”jö2Ksj3}”j!3Ksjø3}”j 4KsjW4}”j[4Ksjt4}”j†4KsjÈ4}”jÚ4KsjQ5}”jU5Ksj˜5}”jª5Ksj]6}”jo6Ksj«7}”j½7KsjÕ7}”jç7KsjJ;}”jN;Ksjg;}”jy;Ksj‘;}”j£;Ksj›?}”j­?KsjA}”jAKsjÊB}”jÎBKsjC}”j CKsj9C}”jKCKsjóD}”j÷DKsjEE}”jIEKsjF}”jFKsjñF}”jGKsj6H}”j:HKsjãL}”jõLKsjP}”jPKsjR}”j RKsjT}”j TKsjeT}”jiTKsj¬T}”j¾TKsjÖT}”jèTKsjU}”jUKsj‰U}”jUKsj V}”jVKsj%X}”j7XKsjèX}”júXKsjRY}”jVYKsjµY}”j¹YKsj”Z}”j˜ZKsj[}”j#[Ksj<[}”jN[KsjÜ]}”jî]Ksj^}”j^KsjZ^}”jl^Ksj„^}”j–^Ksj®^}”jÀ^KsjØ^}”jê^Ksj_}”j_KsjÒ_}”jä_Ksj1`}”j5`KsjWa}”jiaKsja}”j“aKsj b}”jbKsj{b}”jbKsjc}”jcKsjïc}”jdKsjƒd}”j‡dKsjÛd}”jßdKsjJe}”j\eKsjÉf}”jÍfKsjzg}”j~gKsjÒg}”jÖgKsjNh}”jRhKsji}”j"iKsjÂi}”jÆiKsj j}”jjKsjhj}”jljKsj¯j}”jÁjKsj…l}”j‰lKsjÝl}”jálKsj2n}”j6nKsj‹n}”jnKsjYo}”j]oKsj«o}”j¯oKsjAr}”jErKsjws}”j{sKsj¥t}”j©tKsj÷t}”jûtKsjTu}”jXuKsjwu}”j‰uKsjqv}”jƒvKsj"w}”j&wKsjÝy}”jáyKsjþz}”j{Ksj'|}”jT|KsjU~}”jY~Ksjâ~}”jæ~Ksjl}”jpKsj6‚}”jH‚Ksj•‚}”j™‚Ksjç‚}”jë‚Ksj9ƒ}”j=ƒKsj7„}”jI„KsjG†}”jK†Ksjd†}”jv†Ksjކ}”j †Ksj¸†}”jʆKsjœ‡}”j®‡Ksj-‰}”j1‰Ksj–‰}”jš‰Ksjù‰}”jý‰KsjRŠ}”jdŠKsjé‹}”jû‹Ksjn}”jrKsjí}”jñKsj:}”jLKsjd}”jvKsjŽ}”j Ksj¸}”jÊKsjâ}”jôKsjv‘}”jz‘Ksj”’}”j¦’Ksj:“}”jL“Ksjd“}”jv“Ksj™–}”j«–Ksj—}”j'—Ksj?—}”jQ—Ksji—}”j{—Ksj ˜}”j˜Ksj ˜}”j¤˜Ksj™}”j)™KsjA™}”jS™Ksjk™}”j}™Ksj¿™}”jÑ™Ksjé™}”jû™KsjÎ}”jàKsjJž}”j\žKsjtž}”j†žKsjt }”j† Ksjž }”j° KsjÈ }”jÚ Ksj¡}”j.¡KsjF¡}”jX¡Ksjp¡}”j‚¡Ksjš¡}”j¬¡Ksj¢}”j*¢KsjB¢}”jT¢Ksj~£}”j‚£Ksjõ£}”j¤Ksj¤}”j1¤KsjI¤}”j[¤Ksj¤}”j¯¤Ksj&¥}”j*¥KsjC¥}”jU¥Ksj—¥}”j©¥Ksjö¥}”jú¥Ksj§}”j§Ksj2§}”jD§Ksjœ§}”j §Ksj¿§}”jѧKsj©}”j ©KsjŒ©}”jž©Ksjô¬}”jø¬KsjQ­}”jU­Ksj©­}”j­­Ksjú­}”j ®Ksj®®}”j²®Ksj¯}”j¯Ksjt¯}”jx¯KsjS±}”jW±Ksj«±}”j¯±KsjO²}”jS²KsjG³}”jK³Ksj¤³}”j¨³Ksjd´}”jh´Ksj´}”jÆ´Ksj¶}”j¶Ksjð¸}”j¹Ksjµ¼}”j¹¼Ksj½}”j½KsjP¾}”jT¾Ksj—¾}”j©¾KsjÁ¾}”jÓ¾Ksjë¾}”jý¾Ksj¿}”j'¿Ksj!Á}”j%ÁKsjËÆ}”jÏÆKsj]Ç}”jaÇKsjhË}”jzËKsjäÍ}”jöÍKsjVÏ}”jhÏKsjþÏ}”jÐKsjÒ}”j!ÒKsj:Ò}”jLÒKsjdÒ}”jvÒKsjÃÒ}”jÇÒKsjgÓ}”jkÓKsj¹Ó}”j½ÓKsj´Ö}”j¸ÖKsj…×}”j‰×KsjØ}”j¡ØKsjäØ}”jöØKsjÙ}”j ÙKsj¶Ù}”jÈÙKsjàÙ}”jòÙKsj?Ú}”jCÚKsj\Ú}”jnÚKsj†Ú}”j˜ÚKsj°Ú}”jÂÚKsjŒÛ}”jžÛKsjëÛ}”jïÛKsjÜ}”jÜKsj2Ü}”jDÜKsjYß}”j]ßKsj”à}”j˜àKsj÷à}”jûàKsjZá}”j^áKsj}á}”jáKsjvè}”jzèKsjé}”jéKsjVé}”jZéKsj¨é}”j¬éKsjúé}”jþéKsjLê}”jPêKsjiê}”j{êKsjë}”jëKsjcë}”jgëKsj€ë}”j’ëKsjªë}”j¼ëKsj ì}”j ìKsj&ì}”j8ìKsjPì}”jbìKsjzì}”jŒìKsjò}”j‘òKsj+ô}”j=ôKsjÅö}”j×öKsjïö}”j÷Ksj÷}”j+÷Ksjö÷}”jú÷KsjZø}”jløKsjØø}”jêøKsjù}”jùKsj—ù}”j©ùKsjVú}”jhúKsj€ú}”j’úKsj!þ}”j%þKsjâÿ}”jæÿKsjž}”j¢Ksj}”j Ksj_}”jcKsj±}”jµKsj-}”j1Ksj}”jKsj`}”jdKsj}”jKsjª}”j®Ksj[}”j_Ksjî}”jKsjü}”j KsjN }”jR Ksj­ }”j¿ Ksj^ }”jp Ksj² }”jÄ Ksj#}”j5Ksj}”jKsj=}”jOKsj±}”jÃKsj}”jKsjå}”jéKsj=}”jAKsjŽ}”j Ksj?}”jCKsj\}”jnKsj†}”j˜Ksj°}”jÂKsjÆ}”jÊKsj }”jKsj7}”jIKsj–}”jšKsj³}”jÅKsj1}”jCKsj}”j”Ksjâ}”jæKsj?}”jCKsj—}”j›KsjÞ}”jðKsj}”jKsjg}”jkKsjÄ}”jÈKsj}”j Ksj9}”jKKsjc}”juKsj }”jKsjÄ}”jÖKsj# }”j' Ksj@ }”jR KsjÝ!}”já!Ksj:"}”j>"KsjÇ"}”jË"Ksj#}”j##Ksjq#}”ju#KsjÃ#}”jÇ#Ksj‚%}”j†%Ksj¦&}”jª&Ksjø&}”jü&KsjB(}”jF(Ksjô*}”jø*Ksj+}”j#+Ksj ,}”j$,Ksjp.}”j‚.KsjM/}”jQ/Ksjó/}”j÷/Ksjv0}”jˆ0Ksj 0}”j²0KsjÊ0}”jÜ0Ksjô0}”j1Ksj03}”j43Ksjx4}”j|4KsjŸ5}”j±5Ksjþ5}”j6Ksjg:}”jk:Ksjð;}”j<Ksj<}”j,<Ksj!=}”j%=KsjÅ=}”jÉ=Ksj">}”j&>KsjE>}”jW>KsjÆ?}”jÊ?Ksj¼B}”jÎBKsjæB}”jøBKsj(D}”j:DKsjRD}”jdDKsj|D}”jŽDKsj¦D}”j¸DKsjÐD}”jâDKsj6F}”j:FKsjäF}”jöFKsjäG}”jèGKsjH}”jHKsj+H}”j=HKsjUH}”jgHKsj°I}”j´IKsjˆKsjVˆ}”jhˆKsj€ˆ}”j’ˆKsjªˆ}”j¼ˆKsjÔˆ}”jæˆKsjþˆ}”j‰Ksj&‹}”j*‹KsjÛ‹}”jß‹KsjWŒ}”j[ŒKsj©Œ}”j­ŒKsjÆŒ}”jØŒKsj%}”j)Ksjí}”jñKsjÏ‘}”jÓ‘Ksjà’}”jä’Ksj-“}”j?“KsjW“}”ji“Ksj“}”j““Ksj«“}”j½“KsjÕ“}”jç“Ksj“”}”j—”Ksj–}”j–Ksj´–}”j¸–KsjÑ–}”jã–Ksjõ—}”j˜KsjI˜}”j[˜KsjÀš}”jÒšKsj>›}”jP›Ksj/ }”jA Ksjà }”jä Ksjý }”j¡Ksj'¡}”j9¡KsjI¢}”j[¢KsjУ}”jâ£Ksj{¥}”j¥Ksjp¨}”jt¨Ksj,©}”j0©KsjU©}”jg©Ksj©}”j‘©Ksj™«}”j««Ksjë}”jÕ«Ksjç¬}”jù¬Ksj ®}”j®Ksj1¯}”jC¯Ksj›¯}”jŸ¯Ksjó¯}”j÷¯Ksj°}”j"°Ksj:°}”jL°Ksj¯°}”j³°KsjJ²}”j\²Ksj³}”j³Ksjë´}”jý´Ksj‘µ}”j£µKsj»µ}”j͵Ksj7¶}”jI¶KsjT¼}”jf¼KsjV¾}”jh¾Ksj†Ã}”j˜ÃKsjcÄ}”jgÄKsj¢Å}”j´ÅKsjËÈ}”jÝÈKsj*É}”j.ÉKsjÃÉ}”jÕÉKsjíÉ}”jÿÉKsj½Ê}”jÏÊKsj5Ì}”jGÌKsj_Ì}”jqÌKsj‰Ì}”j›ÌKsj³Ì}”jÅÌKsjŽÍ}”j’ÍKsj«Í}”j½ÍKsjÕÍ}”jçÍKsjÜÎ}”jàÎKsjKÏ}”j]ÏKsjuÏ}”j‡ÏKsjÉÏ}”jÛÏKsj(Ð}”j,ÐKsj¯Ð}”j³ÐKsjÑ}”j ÑKsj Ñ}”j²ÑKsjŒÔ}”jžÔKsj¶Ô}”jÈÔKsjàÔ}”jòÔKsjV×}”jZ×Ksj×}”j‘×Ksj©×}”j»×Ksj~Ú}”j‚ÚKsjïÚ}”jÛKsjëÛ}”jýÛKsj›ß}”j­ßKsjkà}”j}àKsjÊà}”jÎàKsjná}”jráKsjUã}”jgãKsjÓã}”jåãKsjñç}”jõçKsjè}”j èKsj8è}”jJèKsjbè}”jtèKsjŒè}”jžèKsj¶è}”jÈèKsjé}”j0éKsjHé}”jZéKsjˆì}”jŒìKsj¥ì}”j·ìKsjNï}”j`ïKsjxï}”jŠïKsj?ð}”jCðKsjhð}”jzðKsjÇð}”jËðKsjäð}”jöðKsjñ}”j ñKsj8ñ}”jJñKsjbñ}”jtñKsjŒñ}”jžñKsj“ò}”j—òKsj°ò}”jÂòKsj õ}”jõKsjbõ}”jfõKsjõ}”j‘õKsj©õ}”j»õKsjZö}”j^öKsjwö}”j‰öKsj¾÷}”jÂ÷Ksjç÷}”jù÷Ksjø}”j#øKsjšø}”jžøKsjŠù}”jœùKsjéù}”jíùKsjïý}”jþKsjkþ}”j}þKsjÌþ}”jùþKsjEÿ}”jIÿKsjbÿ}”jtÿKsjŒÿ}”jžÿKsj¶ÿ}”jÈÿKsjˆ}”jŒKsj}”jKsjV}”jZKsjs}”j…Ksjè}”jìKsjˆ}”jŒKsjP}”jTKsj“}”j¥Ksj½}”jÏKsjx}”j|KsjÊ}”jÎKsj}”j Ksj9}”jKKsjÕ}”jÙKsj' }”j+ KsjD }”jV Ksj£ }”j§ Ksjì }”jð Ksj& }”j* KsjC }”jU Ksj¸ }”j¼ KsjX}”j\Ksj·}”jÉKsjU}”jYKsjr}”j„KsjÑ}”jÕKsjî}”jKsjM}”jQKsj&}”j8KsjP}”jbKsj¤}”j¶KsjÎ}”jàKsjø}”j Ksjb}”jfKsjº}”j¾Ksj‡}”j‹Ksj`#}”jr#Ksj”%}”j¦%Ksjd&}”jv&Ksj"'}”j&'KsjÄ+}”jÖ+Ksjî+}”j,Ksj.}”j!.Ksjo.}”js.Ksj2}”j2Ksj4}”j4Ksj74}”jI4Ksj6}”j6Ksj06}”jB6Ksj$7}”j67Ksj×7}”jé7Ksj8}”j8Ksj+8}”j=8KsjŠ8}”jŽ8KsjÇ;}”jË;KsjD<}”jV<Ksj]=}”ja=Ksjž?}”j°?KsjÞ@}”jâ@Ksjû@}”j AKsjZA}”j^AKsjîA}”jòAKsj‘E}”j£EKsj´H}”j¸HKsjI}”j IKsj‚I}”j†IKsj¸K}”j¼KKsj L}”jLKsj'L}”j9LKsjQL}”jcLKsj{L}”jLKsj¥L}”j·LKsjÏL}”jáLKsjXM}”j\MKsjuM}”j‡MKsjþM}”jNKsjN}”j-NKsjEN}”jWNKsjoN}”jNKsjÎN}”jÒNKsj O}”j$OKsjP}”jPKsj5P}”jGPKsj”P}”j˜PKsjDQ}”jVQKsj£Q}”j§QKsjÀQ}”jÒQKsjêQ}”jüQKsjR}”j&RKsj¼R}”jÎRKsjëT}”jïTKsjÍZ}”jÑZKsjL[}”jP[Ksj%\}”j)\Ksjº_}”jÌ_Ksj®`}”j²`Ksj­a}”j¿aKsj}b}”jbKsj¤d}”j¨dKsjöd}”júdKsjÕj}”jçjKsjÿj}”jkKsjpm}”j‚mKsjn}”j$nKsj}”jZ>Ksj#@}”j.@KsjC@}”jN@Ksjc@}”jn@KsjnD}”jyDKsjBG}”jMGKsj‡J}”j’JKsj½P}”jÈPKsj8Q}”jCQKsj|}”j|Ksjˆ|}”j–|Ksj¨”}”j³”KsjD•}”jO•Ksjk•}”jv•Ksj«•}”j¶•KsjË•}”jÙ•Ksj)–}”j7–KsjV–}”jd–Ksj“—}”jž—Ksjº—}”jÈ—Ksj‘}”jŸKsjžž}”j©žKsjߟ}”jíŸKsj¦}”j!¦Ksjq¦}”j¦Ksjé§}”j÷§Ksj¨}”j$¨Ksjt¨}”j‚¨Ksj¡¨}”j¯¨KsjΨ}”jܨKsj¬}”j*¬Ksj¸}”j¸Ksj¡¹}”j¬¹Ksje½}”jp½Ksj@Í}”jKÍKsj`Í}”jkÍKsj€Í}”j‹ÍKsjJÑ}”jXÑKsjüÓ}”jÔKsjIÔ}”jTÔKsjiÔ}”jtÔKsj‰Ô}”j”ÔKsj©Ô}”j´ÔKsjÉÔ}”jÔÔKsjéÔ}”jôÔKsjñ×}”jü×KsjBä}”jMäKsjç}”j çKsj§ç}”j²çKsjÇç}”jÒçKsj.ð}”j9ðKsjUô}”j`ôKsjTõ}”j_õKsj(û}”j3ûKsjü}”j*üKsj¿ }”jÍ Ksj× }”jâ Ksj÷ }”j Ksj$ }”j2 Ksjo}”jzKsjŠ}”j˜Ksjƒ }”jŽ Ksjð(}”jû(KsjÁ)}”jÏ)Ksjî)}”jü)Ksj¿6}”jÊ6Ksjš7}”j¥7Ksjº7}”jÈ7Ksjš8}”j¥8Ksj„:}”j’:KsjÓ@}”já@KsjA}”jAKsj0A}”j>AKsj]A}”jkAKsj»A}”jÉAKsj‚B}”jBKsjC}”jCKsjƒF}”j‘FKsjG}”jGKsj;G}”jIGKsj©H}”j·HKsjÖH}”jäHKsj{J}”j‰JKsj¨J}”j¶JKsjÕJ}”jãJKsjºK}”jÈKKsjçK}”jõKKsjEL}”jSLKsjrL}”j€LKsjŸL}”j­LKsjÌL}”jÚLKsj*M}”j8MKsjN}”jNKsj¯O}”j½OKsjÜO}”jçOKsjüO}”j PKsj)P}”j7PKsj´P}”jÂPKsjQ}”j QKsjpQ}”j~QKsjÎQ}”jÜQKsjYR}”jgRKsj·R}”jÅRKsjçR}”jõRKsjZT}”jhTKsj‡T}”j•TKsj´T}”jÂTKsjîU}”jüUKsjLV}”jZVKsj,W}”j:WKsjŠW}”j˜WKsj¾W}”jÌWKsjqX}”jXKsj‰`}”j”`Ksj m}”jmKsjEm}”jPmKsjem}”jsmKsjwn}”j‚nKsj—n}”j¢nKsjÅx}”jÐxKsjåx}”jóxKsjòy}”jýyKsjz}”jzKsj¾}”jÉKsjÜ…}”jç…Ksj&†}”j1†Ksj»†}”jƆKsj(‰}”j3‰KsjaŠ}”jlŠKsjŠ}”jŒŠKsjB}”jMKsjÇ}”jÕKsjPœ}”j[œKsj}”jKsjÉž}”jמKsjöž}”jŸKsj,·}”j7·KsjL·}”jW·Ksj¹}”j¹Ksj¡¹}”j¯¹Ksj¾}”j ¾Ksj"¾}”j0¾Ksj€¾}”j޾KsjðÂ}”jûÂKsjþÄ}”j ÅKsjÿÕ}”j ÖKsjkÖ}”jyÖKsjÓ×}”já×KsjØ}”jØKsj0Ø}”j>ØKsjJÙ}”jUÙKsjMä}”jXäKsjÄä}”jÏäKsjäæ}”jïæKsj‘ê}”jœêKsjþê}”j ëKsjÑí}”jÜíKsjøí}”jîKsj}”jKsj1}”j<KsjX}”jfKsj…}”jKsjÀ }”jË Ksj@}”jNKsjO}”j]Ksjr}”j}Ksj°}”j¾KsjÝ}”jèKsj–}”j¡Ksj¶}”jÁKsjC}”jNKsjÁ#}”jÏ#KsjH)}”jS)Ksjâ)}”jí)Ksj*}”j *KsjH*}”jS*KsjÓ,}”jÞ,KsjŒF}”j—FKsj¬F}”j·FKsjtJ}”jJKsjºX}”jÅXKsjk^}”jv^Ksj|_}”jŠ_Ksjma}”j{aKsj§b}”j²bKsjÇb}”jÕbKsj!c}”j,cKsj›k}”j¦kKsjVl}”jalKsjvl}”j„lKsj‘p}”jœpKsjšv}”j¥vKsjx}”jxKsjõz}”j{Ksj}}}”jˆ}Ksj€}”j€Ksjxƒ}”jƒƒKsjà}”jîKsjÙ‘}”jç‘Ksj’}”j’Ksjƒœ}”jŽœKsjƒ }”j‘ Ksjµ®}”jÀ®KsjÕ®}”jà®Ksj˜¯}”j£¯Ksj˜±}”j£±Ksujø}”jâ}”jôKssjÿ}”jâ}”jûKssj}”j}”jKssj}”j}”jKssj%}”(j}”j!KsjüC}”jDKsjK}”j%KKsjNS}”jmSKsjÔ}”jBÔKsjõ}”jKsj¾W}”jäWKsj˜ü}”j·üKsjà }”jÿ Ksjõ}”j"KsjN7}”jm7Ksuj=}”j(}”j6KssjD}”j(}”j@KssjK}”(j(}”jGKsj@}”j_KsjÈ }”jç KsjÖ}”jõKsuj`}”(jN}”j\Ksju}”jƒKsj]%}”jk%Ksj&}”hŒhttp://schema.org/source”…”R”Ksj»>}”jÉ>Ksjë>}”jù>Ksj ã}”j.ãKsj}ý}”j‹ýKsjªý}”j¸ýKsjnþ}”j|þKsj1}”j,1KsjžX}”j¬XKsj)}”j))Ksj/}”j/Ksj4`}”jB`Ksujj}”jN}”jcKssjq}”jN}”jmKssjx}”(jN}”jtKsj®}”j²KsjÏ }”jÓ Ksj\ }”j` Ksj® }”jÍ KsjÖ}”jÚKsj¤3}”j¶3KsjÔE}”jóEKsjüS}”jTKsjæU}”jêUKsj€W}”j„WKsj¥b}”j·bKsjLm}”j^mKsjÊs}”jÜsKsjôs}”jtKsj"‰}”j&‰Ksj‹‰}”j‰Ksjî‰}”jò‰Ksjc}”jgKsj‡Ž}”j™ŽKsjâ}”jæKsjk‘}”jo‘Ksj<Ç}”j@ÇKsjÏ}”jÏKsj€Ï}”j’ÏKsj(Ð}”j:ÐKsjúÐ}”j ÑKsj?å}”jCåKsj/í}”j3íKsjí}”j…íKsjÓí}”j×íKsj%î}”j)îKsjwî}”j{îKsjÉî}”jÍîKsjï}”jïKsjmï}”jqïKsj¿ï}”jÃïKsjð}”jðKsj‡ }”j™ Ksj}”jKsjÉ }”jè Ksjï }”j!Ksj0}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj>}”j>Ksj™>}”j«>KsjÎg}”jàgKsjøg}”j hKsjâ}”jæKsj‘}”j‘KsjÕ’}”jÙ’Ksjˆ”}”jŒ”Ksj!©}”j%©Ksj­}”j¡­Ksj³®}”jÅ®Ksjް}”j’°KsjÈ´}”jÌ´KsjAÊ}”jSÊKsj Ì}”jÌKsj}Î}”jÎKsj.Ï}”j2ÏKsjiÕ}”jmÕKsjÛ}”j+ÛKsjCÛ}”jUÛKsjmÛ}”jÛKsjœÜ}”j ÜKsjîÜ}”jòÜKsj@Ý}”jDÝKsj’Ý}”j–ÝKsjäÝ}”jèÝKsj6Þ}”j:ÞKsjˆÞ}”jŒÞKsjÚÞ}”jÞÞKsj,ß}”j0ßKsj~ß}”j‚ßKsjE }”jW Ksj™ }”j« KsjÄ(}”jã(Ksj¼;}”jÀ;Ksj2@}”j6@Ksj_B}”jqBKsjÞi}”jðiKsjCt}”jltKsj!u}”jTuKsjäy}”jöyKsjz}”j zKsjh|}”jl|Ksj6—}”j:—Ksuj}”jN}”j{Kssj‚}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj…}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjˆ}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‹}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽ}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‘}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj”}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj—}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj£}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¦}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©}”jN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj»}”j¬}”j·KssjÌ}”j¬}”jÅKssjÓ}”j¬}”jÏKssjå}”(jÖ}”jáKsjñ(}”jü(Ksujì}”(jÖ}”jèKsjñ(}”j)Ksujö}”(jÖ}”jïKsjñ(}”j )Ksujý}”(jÖ}”jùKsjñ(}”j)Ksuj}”(j}”j KsjÞÜ}”jéÜKsj§2}”j²2KsjÅÚ}”jÐÚKsuj}”(j}”jKsjÞÜ}”jðÜKsj§2}”j¹2KsjÅÚ}”j×ÚKsuj }”(j}”jKsjÞÜ}”j÷ÜKsj§2}”jÀ2KsjÅÚ}”jÞÚKsuj'}”(j}”j#KsjÞÜ}”jÝKsj§2}”jÊ2KsjÅÚ}”jèÚKsuj9}”j*}”j5KssjJ}”j*}”jCKssjQ}”j*}”jMKssjc}”(jT}”j_KsjÝ}”jÝKsujj}”(jT}”jfKsjª}”j®Ksj&}”j*KsjÌ}”jÐKsjÖ}”jÚKsjþ}”jKsja}”jsKsj‹}”jKsjß}”jãKsj•2}”j™2Ksj‡6}”j™6Ksj„8}”j–8Ksj®8}”jÀ8KsjØ8}”jê8KsjÅ?}”j×?Ksj€n}”j„nKsjas}”jesKsjùŒ}”j Ksj}”jKsjY}”jkKsjƒ}”j•Ksj™‘}”j«‘Ksj!¼}”j3¼KsjK¼}”j]¼Ksj;½}”jM½KsjÀÑ}”jÄÑKsjÒ}”jÒKsj¸Ò}”j¼ÒKsj Ó}”jÓKsj\Ó}”j`ÓKsj®Ó}”j²ÓKsjWÖ}”j[ÖKsjûÖ}”jÿÖKsjÝ}”jÝKsj®Ý}”jÀÝKsjØÝ}”jêÝKsjVÞ}”jZÞKsjüÞ}”jßKsj€â}”j„âKsjxå}”jŠåKsjDþ}”jVþKsjÌþ}”jÐþKsj"}”j&Ksjþ}”jKsjî.}”j/Ksj4}”j4KsjE6}”jI6Ksj—6}”j›6Ksjº=}”j¾=Ksj»?}”j¿?Ksj‰}”j¡‰KsjN}”j`Ksjø‘}”j ’KsjL’}”j^’Ksjv’}”jˆ’Ksjÿ“}”j”Ksj¶”}”jÈ”KsjÛ•}”jß•Ksjž²}”j°²KsjÄ}”jÄKsjªÄ}”j¼ÄKsjÑÎ}”jÕÎKsj Õ}”jÕKsj«ë}”j½ëKsj¼ð}”jÀðKsjàñ}”jòñKsjˆò}”jŒòKsj¨÷}”j¬÷Ksj;ø}”jMøKsjø}”j“øKsjCþ}”jGþKsjr}”jvKsjÖ }”jÚ KsjB}”jFKsj¯}”j³Ksj¯}”j³Ksj#D}”j5DKsjMD}”j_DKsj&G}”j*GKsjNG}”j`GKsjUH}”jgHKsj#I}”j5IKsjŸI}”j±IKsjS}”j,SKsj_}”j_Ksjû`}”jÿ`Ksj#a}”j5aKsj¶i}”jºiKsj}”jKsj$‚}”j6‚Ksjˆ}”jˆKsj»ˆ}”j͈Ksj‹‰}”j‰Ksjµ‰}”jljKsj߉}”jñ‰KsjùŠ}”j ‹KsjÉ‹}”jÍ‹KsjŒ}”jŒKsjmŒ}”jqŒKsj¿Œ}”jÃŒKsjçŒ}”jùŒKsj}”j“Ksj·}”jÉKsj Ž}”jŽKsj5Ž}”jGŽKsj_Ž}”jqŽKsj¯}”j³KsjŒ}”jžKsj¶}”jÈKsjN˜}”j`˜Ksjçž}”jëžKsj9Ÿ}”j=ŸKsj[ }”j_ Ksj"¢}”j4¢Ksujt}”(jT}”jmKsjÝ}”j!ÝKsuj{}”(jT}”jwKsjÝ}”j+ÝKsuj}”(j~}”j‰Ksj±•}”j¼•Ksj…}”jKsuj—}”(j~}”jKsj±•}”jÕKsj…}”j—Ksujž}”(j~}”jšKsj±•}”jÍ•Ksj…}”j¡Ksuj½}”(jµ}”j¹Ksj1 }”jC KsjËu}”jÝuKsjÁ¯}”jÓ¯Ksj­µ}”j¿µKsj+¶}”j=¶KsjÂÀ}”jÔÀKsjJÅ}”j\ÅKsjËÑ}”jÏÑKsj4Ú}”j8ÚKsjÿÿ}”jKsj)}”j;KsjÎ}”jàKsj…}”j—Ksj¯}”jÁKsj}}”jKsjM}”j_Ksjš.}”j¬.Ksjn<}”j€<Ksj?i}”jQiKsjmu}”juKsjþv}”jwKsjæ•}”jê•Ksj Ç}”jÇKsjÜ}”jîKsjº}”j¾Ksjü}”jKsj›2}”j­2Ksj4}”j4Ksj B}”jBKsj&}”j*Ksujª}”j§}”jÁKssjÉ}”j§}”jÅKssjµ}”jÉ}”jÁKssjÏ}”(jÉ}”jÅKsjE}”jAKsjë}”jçKsjg}”jcKsjÕ}”jÑKsj'}”j#Ksjï}”jßKsjk}”jgKsjç}”jãKsjº }”j° Ksj }”j Ksj‘ }”j Ksjô }”jê Ksj }”jw KsjÓ }”jÏ KsjÐ }”jÌ Ksj"}”jKsjž}”jšKsj"}”jKsjl}”jhKsjõ}”jñKsjþ}”júKsjP}”jLKsj}”jüKsj9}”j5Ksj‹}”j‡KsjÝ}”jÙKsjY}”jUKsjÄ}”jÀKsj`!}”jP!KsjI$}”jE$Ksj&}”j&KsjÈ-}”jÄ-KsjÔ.}”jÐ.KsjR0}”jN0KsjÎ0}”jÊ0Ksjþ1}”jú1Ksj´2}”j°2Ksj3}”j3Ksjk4}”jg4Ksje5}”ja5Ksj¢7}”jž7KsjH8}”jD8Ksj%:}”j!:Ksjw:}”js:Ksj^;}”jZ;Ksj&>}”j">KsjzA}”jvAKsjÞB}”jÚBKsj0C}”j,CKsjE}”jEKsjYE}”jUEKsjJH}”jFHKsjðH}”jìHKsjBI}”j>IKsjJ}”jJKsjP}”jPKsj´P}”j¤PKsjR}”jRKsj'T}”jTKsjyT}”juTKsjU}”j™UKsjV}”jöUKsj”W}”jWKsjlY}”jbYKsjÏY}”jÅYKsjKZ}”jGZKsj®Z}”j¤ZKsj3[}”j/[KsjŸ_}”j›_KsjE`}”jA`Ksjü`}”jò`KsjNa}”jJaKsjb}”jbKsjc}”jcKsj”c}”jcKsjæc}”jâcKsjd}”j“dKsjïd}”jëdKsjAe}”j=eKsj½e}”j¹eKsjf}”j fKsjaf}”j]fKsjÝf}”jÙfKsj”g}”jŠgKsjæg}”jâgKsjbh}”j^hKsj2i}”j.iKsj„i}”j€iKsjÖi}”jÒiKsj|j}”jxjKsj]k}”jSkKsjÀk}”j¶kKsj}”j2>Ksj ?}”j?Ksj^?}”jZ?KsjÚ?}”jÖ?KsjOB}”jEBKsjËC}”jÁCKsjPF}”jFFKsjøG}”jôGKsjÊI}”jÀIKsjO}”jOKsj¦O}”jœOKsjšS}”j–SKsjýS}”jóSKsjgU}”jcUKsjÏV}”jËVKsjhX}”jdXKsjôY}”jðYKsjpZ}”jlZKsjÜ]}”jÒ]Ksj?^}”j5^Ksj‘^}”j^Ksjƒ_}”js_Ksjæ_}”jÜ_KsjZ`}”jJ`Ksjìb}”jèbKsj>c}”j:cKsj²c}”j¢cKsj£d}”jŸdKsjõd}”jñdKsjˆe}”j„eKsjÚe}”jÖeKsj²i}”j®iKsj.j}”j*jKsj€j}”j|jKsj/l}”j+lKsjÚo}”jÖoKsjÕp}”jÑpKsjWs}”jSsKsjÓs}”jÏsKsj¬t}”j¨tKsjdu}”j`uKsjõv}”jñvKsj¿y}”j»yKsj|}”j|KsjW|}”jS|Ksj©|}”j¥|Ksjû|}”j÷|KsjM}}”jI}KsjŸ}}”j›}Ksjñ}}”jí}KsjC~}”j?~Ksj·~}”j§~Ksj }”jKsj[}”jWKsj:‹}”j6‹Ksj‹}”j“‹Ksjï‹}”jë‹KsjkŒ}”jgŒKsj½Œ}”j¹ŒKsj9}”j5Ksj}”jKsj }”jýKsjš}”jKsjý}”jóKsjï‘}”jß‘Ksjú’}”jð’Ksj­”}”j£”Ksj¨•}”j†•Ksjú•}”jö•Ksjv–}”jr–KsjÈ–}”jÄ–Ksjì—}”jè—Ksj¼˜}”j¸˜Ksj™}”j ™Ksj7ž}”j3žKsj‰ž}”j…žKsj& }”j" Ksj¢ }”jž Ksjô }”jð KsjÄ¡}”jÀ¡Ksj¢}”j¢Ksj÷¢}”jí¢Ksj£}”j™£Ksjm¤}”ji¤KsjS¦}”jI¦Ksj2¨}”j.¨Ksj„¨}”j€¨KsjL©}”j<©Ksjò©}”jî©Ksj˜ª}”j”ªKsj>«}”j:«Ksj«}”jŒ«KsjЬ}”j†¬Ksj®}”jþ­Ksjµ¯}”j«¯Ksj°}”j°Ksjϰ}”j¿°Ksj!±}”j±Ksj±}”j™±Ksjï±}”jë±KsjA²}”j=²Ksj3³}”j#³•&Ksj…³}”j³Ksj´}”jý³Ksjâ´}”jØ´Ksj^µ}”jZµKsj.¶}”j*¶Ksj_¸}”j[¸Ksj¹}”j¹Ksjÿº}”jûºKsjQ»}”jM»KsjK¼}”jG¼Ksj'À}”jÀKsjÒÀ}”jÎÀKsjxÁ}”jtÁKsjwÄ}”jsÄKsj|Ç}”jxÇKsj>É}”j:ÉKsjºÉ}”j¶ÉKsj´Ê}”j°ÊKsjZË}”jVËKsjPÍ}”jLÍKsj¢Í}”jžÍKsjðÎ}”jìÎKsjBÏ}”j>ÏKsj<Ð}”j8ÐKsjÉÐ}”j¿ÐKsjÑ}”jÑKsj—Ñ}”j“ÑKsj=Ò}”j9ÒKsjÒ}”j‹ÒKsj_Ó}”j[ÓKsjYÔ}”jUÔKsj}Õ}”jyÕKsj×}”jøÖKsjv×}”jf×KsjíØ}”jãØKsj’Ú}”jŽÚKsj^Ü}”jZÜKsj°Ü}”j¬ÜKsjÝ}”jþÜKsjTÝ}”jPÝKsj¦Ý}”j¢ÝKsjøÝ}”jôÝKsjJÞ}”jFÞKsjœÞ}”j˜ÞKsjîÞ}”jêÞKsj@ß}”j<ßKsj’ß}”jŽßKsj8à}”j4àKsjÞà}”jÚàKsj0á}”j,áKsj‚á}”j~áKsj|â}”jxâKsjÎâ}”jÊâKsjÛæ}”j׿Ksjè}”jèKsjœì}”j˜ìKsjí}”jíKsjjí}”jfíKsjëï}”jçïKsj_ð}”jOðKsjÛð}”j×ðKsj§ò}”j£òKsjwó}”jsóKsjÉó}”jÅóKsjô}”jôKsj—ô}”j“ôKsj$õ}”jõKsjvõ}”jrõKsjö}”jöKsjnö}”jjöKsjÞ÷}”jÎ÷Ksj®ø}”jªøKsjýù}”jùùKsj‰ú}”j…úKsj”ý}”jýKsjæý}”jâýKsjbþ}”j^þKsjYÿ}”jUÿKsjœ}”j˜Ksj}”jKsjj}”jfKsj}”jøKsjÀ}”j˜Ksjd}”j`KsjÌ}”jÈKsjŒ}”jˆKsjÞ}”jÚKsj0}”j,Ksjé}”jåKsj; }”j7 Ksj· }”j³ Ksj$ }”jü Ksj: }”j6 KsjØ }”jÈ Ksj}”jhKsj„}”j€Ksj*}”j&Ksjë}”jçKsjü}”jøKsjÌ}”jÈKsj}”jKsji}”jeKsjå}”jáKsja}”j]Ksj|}”jxKsjÎ}”jÊKsj«}”j¡Ksj|}”jrKsjÎ}”jÊKsj§}”j—KsjÜ}”jØKsj§!}”j£!Ksjå$}”já$Ksja%}”j]%Ksj1&}”j-&Ksj<'}”j2'KsjŽ'}”jŠ'Ksj+}”jð*Ksjß-}”jÛ-Ksj1.}”j-.Ksjƒ.}”j.KsjÕ.}”jÑ.Ksj2}”j2Ksj3}”j 3Ksj`3}”j\3Ksj²3}”j®3Ksj.4}”j*4Ksjª4}”j¦4Ksjü4}”jø4Ksj'6}”j#6Ksjž8}”jš8Ksj±:}”j¡:Ksjç;}”j×;Ksj·<}”j³<Ksj =}”j=Ksj}=}”jm=Ksj#>}”j>Ksju>}”jq>KsjÇ>}”jÃ>Ksj?}”j?Ksj•?}”j‘?KsjL@}”jB@Ksjò@}”jî@KsjnA}”jjAKsjB}”jþAKsj4E}”j0EKsjEG}”jAGKsjÈH}”jÄHKsjI}”jIKsj–I}”j’IKsjÌK}”jÈKKsjL}”jLKsjlM}”jhMKsjN}”jNKsjâN}”jÞNKsj4O}”j0OKsj†O}”j‚OKsj,P}”j(PKsj¨P}”j¤PKsj·Q}”j³QKsj—T}”j“TKsj U}”jûTKsj]U}”jYUKsj¯U}”j«UKsj#V}”jVKsjuV}”jqVKsjñV}”jíVKsjCW}”j?WKsj•W}”j‘WKsjçW}”jãWKsj9X}”j5XKsj‹X}”j‡XKsjëY}”jçYKsj=Z}”j9ZKsjZ}”j‹ZKsjáZ}”jÝZKsj`[}”j\[Ksj9\}”j5\KsjÈ`}”j¾`Ksja}”jaKsj b}”jbKsj¸d}”j´dKsj e}”jeKsjg}”j‰gKsj]h}”jYhKsjÕi}”jÑiKsjên}”jànKsjÞKsuj}”(jü}”jKsjµ}”jÑKsj,Þ}”jHÞKsuj9}”(j1}”j5KsjN}”j`Ksjx}”jŠKsj×}”jÛKsjš}”j¬Ksj± }”jµ Ksj}”jKsjá}”jåKsjê}”jîKsj”%}”j¦%Ksj 2}”j¤2Ksj»;}”jÍ;Ksjå;}”j÷;Ksj<}”j!<Ksj9<}”jK<Ksjc<}”ju<Ksj<}”jŸ<Ksj·<}”jÉ<Ksjá<}”jó<Ksj =}”j=Ksj5=}”jG=Ksj_=}”jq=Ksj‰=}”j›=Ksj³=}”jÅ=KsjÜH}”jàHKsjþI}”jJKsjd}”j+dKsjw}”jwKsj„}”j„Ksj-ž}”j1žKsj‘§}”j•§Ksj¶©}”jÈ©Ksj×µ}”jéµKsj͸}”jѸKsjmÎ}”jqÎKsjÓ}”jÓKsjbÖ}”jfÖKsj×}”j ×Ksj\Ü}”j{ÜKsjaÞ}”jeÞKsj~Þ}”jÞKsj¨Þ}”jºÞKsjß}”j ßKsjkè}”joèKsjé}”j¡éKsjïé}”jóéKsjAê}”jEêKsjþë}”jìKsj„ø}”j–øKsj×þ}”jÛþKsj }”j KsjJ }”ji KsjU}”jYKsjk}”joKsjD}”jHKsjS.}”jW.Ksj&4}”j*4KsjºF}”jÌFKsjOb}”jabKsjyb}”j‹bKsj‡c}”j‹cKsjd}”j“dKsjte}”jxeKsj¼l}”jÎlKsjƒ‹}”j‡‹Ksj}”j¯Ksj©–}”j­–KsjÕ }”jÙ KsjÏ¥}”já¥Ksj޶}”j ¶Ksjø¼}”j ½Ksj"½}”j4½Ksj¾À}”jÂÀKsjdÁ}”jhÁKsj€Ä}”j’ÄKsjÔÄ}”jæÄKsj¿à}”jÃàKsjcá}”jgáKsjÿë}”jìKsj)ì}”j;ìKsj}ì}”jìKsjNþ}”jRþKsj)}”j;Ksj¥}”j·KsjÝ}”jáKsjm}”jKsj—}”j©Ksj}”j'Ksj?}”jQKsji}”j{Ksj }”j¯ KsjÇ }”jÙ Ksj­ }”j± Ksj}”jKsj0}”jBKsjZ}”jlKsj„}”j–Ksj®}”jÀKsjJ}”jNKsjÆ}”jÊKsjB}”jFKsj“!}”j—!Ksj"}”j"Ksj."}”j@"Ksj'}”j'Ksjd/}”jv/Ksj1G}”j5GKsja}”j aKsj”r}”j˜rKsj”w}”j˜wKsj~}”j(~Ksj1}”j5KsjT}”jfKsj~}”jKsja‰}”js‰Ksjw‹}”j{‹KsjÔ‹}”jØ‹Ksj&Œ}”j*ŒKsjxŒ}”j|ŒKsjÊŒ}”jÎŒKsjš}”jžKsjº}”j¾Ksuj&}”j#}”j=KssjE}”j#}”jAKssj1}”jE}”j=Kssj#}”jü}”jKssj]}”(jN}”jYKsj~Þ}”j‰ÞKsujn}”(jN}”jgKsj~Þ}”j—ÞKsuju}”(jN}”jqKsj~Þ}”j¡ÞKsuj‡}”(jx}”jƒKsj¨Þ}”j³ÞKsuj˜}”(jx}”j‘Ksj¨Þ}”jÁÞKsujŸ}”(jx}”j›Ksj¨Þ}”jËÞKsuj±}”(j¢}”j­Ksj¬}”j·KsjÒÞ}”jÝÞKsj¢þ}”j­þKsjñ3}”jü3KsjüF}”jGKsjÑ`}”jÜ`Ksuj»}”(j¢}”j´Ksj¬}”j¾KsjÒÞ}”jäÞKsj¢þ}”j´þKsjñ3}”j4KsjüF}”jGKsjÑ`}”jã`KsujÂ}”(j¢}”j¾Ksj¬}”jÈKsjÒÞ}”jîÞKsj¢þ}”j¾þKsjñ3}”j 4KsjüF}”jGKsjÑ`}”jí`KsujÌ}”jÉ}”jãKssjë}”jÉ}”jçKssj×}”jë}”jãKssjÉ}”j¢}”jÅKssj}”jô}”jÿKssj}”jô}”j Kssj}”jô}”jKssj-}”(j}”j)Ksj}”jKsj$ß}”j/ßKsjC4}”jN4Ksuj7}”(j}”j0Ksj}”jKsj$ß}”j6ßKsjC4}”jU4Ksuj>}”(j}”j:Ksj}”j#Ksj$ß}”j@ßKsjC4}”j_4KsujH}”jE}”j_Kssjg}”jE}”jcKssjS}”jg}”j_KssjE}”j}”jAKssj}”(jp}”j{KsjY}”jdKsjýã}”jäKsuj‰}”(jp}”j‚KsjY}”jkKsjýã}”jäKsuj}”(jp}”jŒKsjY}”juKsjýã}”jäKsuj—}”(jp}”j“Ksjf }”jj KsjŽ}”j±KsjY}”j|KsjE}”jIKsj*$}”j.$KsjÀ.}”jÄ.Ksj¯0}”j³0KsjfA}”jjAKsjªY}”j®YKsj‰Z}”jZKsj[}”j[Ksj‹_}”j_Ksjxd}”j|dKsjjf}”jfKsj¾f}”jÂfKsjog}”jsgKsjCh}”jGhKsji}”jiKsj·i}”j»iKsjCk}”jGkKsj¦k}”jªkKsj(l}”j,lKsjzl}”j~lKsj/m}”j3mKsj'n}”j+nKsjGq}”jKqKsj6r}”j:rKsj½r}”jÁrKsj>u}”jBuKsj¡u}”jÄuKsjÐv}”jÔvKsjJ~}”jN~Ksj×~}”jÛ~KsjŠ‚}”jŽ‚Ksj‡}”jƒ‡Ksj£}”j7£KsjǤ}”jê¤Ksjë¥}”jï¥KsjF­}”jJ­Ksj£®}”j§®Ksj¯}”j ¯Ksji¯}”jm¯KsjH±}”jL±Ksj ±}”j¤±Ksj™³}”j³Ksjª¼}”j®¼Ksj ½}”j½KsjE¾}”jI¾Ksj©Ö}”j­ÖKsjz×}”j~×Ksj‘Ý}”j•ÝKsj~à}”j‚àKsjìà}”jðàKsjOá}”jSáKsjUå}”jYåKsjqö}”j”öKsjC÷}”jf÷Ksjë÷}”jï÷KsjÄ}”jÈKsj}”jKsjh}”jlKsj }”j Ksj4}”j8Ksj\}”j`Ksj¹}”j½Ksj/"}”j3"Ksj¼"}”jÀ"Ksj›&}”jŸ&KsjB/}”jF/KsjD<}”jg<Ksj˜<}”j»<Ksj=}”j=KsjG\}”jj\Ksjaj}”jejKsj8s}”j}”j·>KsjOA}”jSAKsjC}”j*CKsj­K}”j±KKsjÿK}”jLKsjùL}”jMKsjMM}”jQMKsjŸM}”jÂMKsjóM}”j÷MKsjÃN}”jÇNKsjO}”jOKsjrO}”jvOKsj P}”jPKsj‰P}”jPKsjQ}”j=QKsjàT}”jäTKsjU}”j”UKsjøU}”jüUKsjVV}”jZVKsjÒV}”jÖVKsj$W}”j(WKsjvW}”jzWKsjÈW}”jÌWKsjX}”jXKsjwX}”j{XKsjÂZ}”jÆZKsjA[}”jE[Ksjëd}”jïdKsjIh}”jMhKsjèm}”j nKsjÅn}”jÉnKsj(o}”j,oKsjzo}”j~oKsjëo}”jpKsjgp}”jŠpKsj r}”jrKsjæ~}”jê~Ksjx‚}”j|‚Ksj—…}”jº…Ksjcˆ}”jgˆKsj>Š}”jBŠKsjËŠ}”jÏŠKsj^}”jbKsj®“}”j²“KsjL—}”jP—Ksj¤—}”j¨—KsjU™}”jY™Ksj}”j¡Ksjï}”jóKsjkž}”jožKsj  }”j  Ksj®ª}”j²ªKsjn¬}”j‘¬Ksjê¬}”j ­Ksj­}”j7­Ksjs­}”jw­Ksuj©}”jš}”j¥Kssjº}”jš}”j³KssjÁ}”jš}”j½KssjÙ}”jÄ}”jÒKssjà}”jÄ}”jÜKssjç}”(jÄ}”jãKsjP"}”jo"KsjR$}”jq$Ksjþ }”j Ksujÿ}”jê}”jøKssj}”jê}”jKssj }”(jê}”j Ksj}”j9KsjÊR}”jéRKsj¦V}”jÅVKsj\}”j6\Ksj¢×}”jÁ×Ksjp }”j Ksj}”j-Ksjžg}”j½gKsj¸¶}”j×¶Ksjå}”j>åKsj÷6}”j7Ksjç8}”j9KsjR}”j®RKsjÁo}”jÓoKsj7w}”jVwKsj´y}”jÓyKsjô‚}”jƒKsuj"}”(j}”jKsj«½}”j¹½KsjÉ}”j×Ksuj,}”j}”j%Kssj3}”j}”j/Kssj:}”(j}”j6Ksj0}”jBKsjZ}”jlKsjø}”j Ksjt}”j†Ksj[ }”j_ KsjÚ}”jìKsjèD}”jìDKsj:E}”j>EKsj£O}”jµOKsj=\}”jc\Ksj²]}”jÄ]Ksjvm}”jˆmKsj¨n}”jºnKsja}”jeKsj»€}”jÍ€Ksj8Â}”jWÂKsjÞÂ}”jðÂKsjÁä}”jÓäKsjëä}”jýäKsj¢å}”j´åKsjó}”j'óKsj$ }”jC Ksjþ}”jKsjÚ}”jÞKsj—+}”j©+Ksjè/}”jì/KsjÖH}”jüHKsj¹‘}”j½‘Ksjÿ¦}”j§Ksj…¯}”j‰¯KsjÙÇ}”jÿÇKsj™Ð}”jÐKsj@×}”jD×KsjqÙ}”jÙKsjî}”j>îKsj)ð}”j-ðKsjE}”jIKsjq}”juKsjˆ"}”jš"Ksj²"}”jÄ"Ksj:&}”jL&Ksjš+}”j¬+KsjG=}”jK=Ksj"?}”j4?Ksj@}”j‘@KsjÕT}”jÙTKsjÑ^}”j÷^Ksj$ƒ}”j6ƒKsjNƒ}”j`ƒKsj£“}”j§“Ksj¼•}”jΕKsjâ–}”jô–Ksj™—}”j—Ksjö˜}”j™KsujA}”j}”j=KssjD}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjM}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjP}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjY}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjq}”jb}”jmKssjx}”(jb}”jtKsjO }”jS KsjXQ}”j\QKsj6Õ}”j:ÕKsj¦é}”jªéKsuj‚}”jb}”j{Kssj‰}”jb}”j…Kssj›}”jŒ}”j—Kssj¥}”jŒ}”jžKssj¬}”jŒ}”j¨Kssj¾}”(j¶}”jºKsjL}”jPKsj~}”jKsj5!}”j9!Ksj©-}”j­-KsjÎ3}”jà3Ksjž4}”j°4Ksj:}”j :KsjX:}”j\:Ksj‰P}”jPKsj–R}”jÃRKsjñW}”jXKsj/a}”j3aKsjuc}”jycKsjÇc}”jËcKsj"e}”j&eKsjei}”jiiKsjÊm}”jÎmKsjòo}”jöoKsjDp}”jHpKsjÀp}”jÄpKsjèp}”júpKsjs}”jsKsj s}”j²sKsjHt}”jLtKsjIv}”jMvKsj~y}”jyKsj“}”j“Ksjí–}”jñ–KsjØ}”jÕ˜Ksjúš}”jþšKsj]}”jaKsj¡£}”j³£Ksj—¯}”j©¯Ksj µ}”j µKsjѶ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjº}”jºKsjäÁ}”jöÁKsj†Ã}”jŠÃKsjØÃ}”jÜÃKsjTÄ}”jXÄKsj¦Ä}”jªÄKsjnÆ}”jrÆKsj€È}”j„ÈKsjÒÈ}”jÖÈKsj$É}”j(ÉKsjÊ}”j"ÊKsj@Ë}”jDËKsjbÙ}”jtÙKsjÛ}”jÛKsjóß}”j÷ßKsj ä}”j;äKsjéð}”jíðKsjÜñ}”jûñKsjªò}”j¼òKsjió}”jmóKsj¡}”j¥Ksj‘}”j•KsjW}”j[KsjÚ}”jìKsjã}”jõKsji'}”jm'Ksj»'}”j¿'Ksj)}”jº)Ksj0}”j/0KsjL0}”j^0Ksjo>}”j>Ksj@}”j‘@KsjýI}”jJKsjWM}”jvMKsj{S}”jSKsj·]}”j»]Ksj^}”j^KsjX_}”j\_KsjÁ_}”jÅ_Ksj/`}”j3`KsjÖd}”jÚdKsj»i}”jÍiKsj8l}”jJlKsj¶p}”jºpKsjÖv}”jÚvKsjRw}”jdwKsjEx}”jdxKsj`{}”j{KsjW–}”j[–KsjÍ—}”jÑ—Ksj }”j  Ksjƒ }”j‡ Ksj¥¡}”j©¡KsjN¤}”jR¤KsjÞ©}”jâ©Ksj¡ª}”j³ªKsjã­}”jç­Ksj~±}”j‚±Ksjб}”jÔ±Ksj"²}”j&²Ksj޳}”j ³Ksj?µ}”jCµKsjgµ}”jyµKsj@¸}”jD¸Ksj8º}”jJºKsj,¼}”j0¼Ksjü¿}”jÀKsjòÅ}”jÆKsj‹Æ}”jÆKsjGÉ}”jYÉKsj¦É}”jªÉKsj Ê}”j¤ÊKsj1Í}”j5ÍKsjxÑ}”j|ÑKsj:Ô}”j>ÔKsj†Õ}”j˜ÕKsj×ï}”jÛïKsj ô}”j²ôKsj!ý}”j3ýKsjuý}”jyýKsjÇý}”jËýKsj•þ}”jÅþKsj­}”j±KsjÌ}”jÐKsjY}”jkKsjø}”jüKsj†}”jŠKsj½}”jÁKsjÆ$}”jÊ$KsjB%}”jF%Ksj&}”j&Ksjo'}”js'KsjÕ*}”jÙ*Ksj†:}”jŠ:Ksj£<}”j§<Ksjê<}”jî<Ksjv?}”jz?KsjêZ}”j [Ksjêg}”jügKsjeq}”jwqKsjìr}”jðrKsjÐs}”jÔsKsj+}}”j/}KsjE…}”jI…Ksj̘}”jÞ˜Ksj¬}”jƬKsjr°}”j˜°KsujÉ}”(jÁ}”jÅKsjW}”j[Ksj[ }”jm Ksj@!}”jD!Ksj,}”j%,Ksj´-}”j¸-Ksj:}”j:Ksjc:}”jg:Ksj­G}”j¿GKsj×G}”jéGKsjSH}”jeHKsj}H}”jHKsj.I}”j2IKsjL}”j#LKsj;L}”jMLKsjeL}”jwLKsjL}”j¡LKsj¹L}”jËLKsjzM}”jŒMKsj¤M}”j¶MKsjÎM}”jàMKsjøM}”j NKsj"N}”j4NKsj”P}”j˜PKsjf[}”jx[Ksj,_}”j>_Ksj:a}”j>aKsj«a}”j½aKsj€c}”j„cKsjÒc}”jÖcKsj-e}”j1eKsjæf}”jøfKsjpi}”jtiKsjÕm}”jÙmKsjýo}”jpKsjOp}”jSpKsjËp}”jÏpKsjs}”jsKsjSt}”jWtKsjTv}”jXvKsj0x}”jBxKsjZx}”jlxKsj“}”j!“Ksjø–}”jü–Ksj›}”j ›Ksjh}”jlKsjµ}”jµKsj·}”j·Ksj#º}”j'ºKsjÀ}”j,ÀKsjDÀ}”jVÀKsjnÀ}”j€ÀKsj˜À}”jªÀKsjsÁ}”jwÁKsjÃ}”jÃKsj‘Ã}”j•ÃKsjãÃ}”jçÃKsj_Ä}”jcÄKsj±Ä}”jµÄKsjÎÄ}”jàÄKsjyÆ}”j}ÆKsj‹È}”jÈKsjÝÈ}”jáÈKsj/É}”j3ÉKsj)Ê}”j-ÊKsjKË}”jOËKsjRÐ}”jdÐKsjÛ}”jÛKsjþß}”jàKsjôð}”jøðKsjtó}”jxóKsj¬}”j°Ksjœ}”j Ksjb}”jfKsjt'}”jx'KsjÆ'}”jÊ'Ksj=)}”jO)Ksj 7}”j7Ksj†S}”jŠSKsjÂ]}”jÆ]Ksj%^}”j)^Ksjc_}”jg_KsjÌ_}”jÐ_Ksj:`}”j>`Ksjád}”jådKsjmh}”jhKsj—h}”j©hKsjëh}”jýhKsji}”j'iKsjži}”j¢iKsj>k}”jPkKsjhk}”jzkKsj’k}”j¤kKsj¼k}”jÎkKsjl}”jlKsjÆo}”jÊoKsjÁp}”jÅpKsj\q}”jnqKsj`s}”jrsKsjPu}”jTuKsjáv}”jåvKsjb–}”jf–KsjØ—}”jÜ—Ksj }”j KsjŽ }”j’ Ksj°¡}”j´¡KsjY¤}”j]¤Ksj·¨}”jɨKsjí«}”jÿ«Ksj¬}”j)¬Ksj­}”j#­Ksj;­}”jM­Ksjî­}”jò­Ksj‰±}”j±Ksj-²}”j1²KsjJµ}”jNµKsjK¸}”jO¸Ksj7¼}”j;¼Ksj€¾}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÀ}”j ÀKsjçÊ}”jùÊKsj;Ë}”j?ËKsjcË}”juËKsjÝÌ}”jïÌKsj<Í}”j@ÍKsjEÐ}”jWÐKsj˜Ò}”jªÒKsjÂÒ}”jÔÒKsjhÓ}”jzÓKsj¼Ó}”jÎÓKsjæÓ}”jøÓKsjEÔ}”jIÔKsjbÔ}”jtÔKsj€ý}”j„ýKsjÒý}”jÖýKsj¸}”j¼Ksj×}”jÛKsj}”jŸKsj·}”jÉKsj }”jKsj5}”jGKsjè}”jìKsj}”jKsj‘}”j•KsjÈ}”jÌKsjÑ$}”jÕ$KsjM%}”jQ%Ksj&}”j!&Ksjz'}”j~'Ksjà*}”jä*Ksj˜9}”jª9Ksj‘:}”j•:Ksjõ<}”jù<Ksj?}”j…?KsjÌY}”jÐYKsjZ}”j"ZKsjpZ}”jtZKsjœ[}”j®[KsjÆ[}”jØ[Ksjôe}”jfKsjf}”j0fKsjœf}”j®fKsjÆf}”jØfKsjyg}”j}gKsj÷r}”jûrKsjÛs}”jßsKsj6}}”j:}KsjP…}”jT…Ksj§’}”j¹’KsjÑ’}”jã’Ksj%“}”j7“KsjO“}”ja“Ksje”}”ji”Ksjh•}”jz•Ksj’•}”j¤•Ksj:–}”jL–Ksjd–}”jv–Ksj˜}”j ˜Ksjš}”j'šKsj?š}”jQšKsj»š}”jÍšKsjåš}”j÷šKsjD›}”jH›Ksjž}”j)žKsj“ž}”j¥žKsjaŸ}”jsŸKsj‹Ÿ}”jŸKsjµŸ}”jÇŸKsj¡}”j¡Ksjͬ}”jѬKsjH¯}”jZ¯Ksuj¶}”j³}”jÍKssjÕ}”j³}”jÑKssjÁ}”jÕ}”jÍKssj³}”jŒ}”j¯Kssjí}”(jÞ}”jéKsjâ}”jâKsj>=}”jI=Ksj3}”j"3Ksuj÷}”(jÞ}”jðKsjâ}”jâKsj>=}”jP=Ksj3}”j)3Ksujþ}”(jÞ}”júKsjâ}”j âKsj>=}”jZ=Ksj3}”j33Ksuj}”(j}”j KsjÈ}”jÌKsj• }”j™ Ksjø }”jü Ksj?;}”jC;Ksj>}”j>Ksj!c}”j3cKsj©e}”j­eKsjûe}”jÿeKsjMf}”jQfKsjìt}”jðtKsjIu}”jMuKsj¹x}”j½xKsj/z}”j3zKsjáz}”jåzKsj]{}”ja{Ksjú}”jþKsjL€}”jP€Ksjž€}”j¢€KsjŽ}”j Ksj–„}”jš„Ksjè„}”jì„Ksj|Š}”jŽŠKsj¦Š}”j¸ŠKsjö}”júKsjYŽ}”j]ŽKsjÓ}”jÇ“Ksj”}”j”Ksjý±}”j²Ksjµ}”j”µKsj"Å}”j&ÅKsj©Å}”j­ÅKsj{Ê}”jÊKsj,Û}”j>ÛKsj.â}”j2âKsjÒâ}”jÖâKsj }”jKsjj}”jnKsjí}”jñKsjì}”jðKsj--}”j?-KsjW-}”ji-Ksj·1}”j»1Ksj 2}”j 2Ksjw3}”j{3KsjÉ3}”jÍ3Ksj%5}”j)5Ksjw5}”j{5Ksjh=}”jl=Ksj??}”jC?Ksj}^}”j^Ksjš^}”j¬^KsjÄ^}”jÖ^KsjØb}”jÜbKsj*c}”j.cKsj Š}”jŠKsju}”jyKsjØ}”jÜKsj¨˜}”j¬˜Ksjú˜}”jþ˜Ksj#ž}”j'žKsjuž}”jyžKsj¢}”j¢Ksj*£}”j<£Ksj‰£}”j£Ksjh¸}”jz¸Ksj’¸}”j¤¸Ksjëº}”jïºKsj=»}”jA»KsjhÇ}”jlÇKsjšä}”j¬äKsjí}”jíKsjVí}”jZíKsjh}”jlKsjo }”j Ksjà }”jÕ Ksjî$}”j%Ksjj%}”j|%KsjË-}”jÏ-KsjÁ.}”jÅ.Ksjú2}”jþ2KsjA3}”jE3Ksjž3}”j¢3Ksj–4}”jš4KsjÝ4}”já4KsjIU}”jMUKsjj}”jjKsjHq}”jLqKsj¹{}”j½{Ksj |}”j|Ksjþ„}”j…Ksuj}”(j}”jKsjÓ}”j×Ksj  }”j¤ Ksj }”j KsjŽ}”jŽKsjdŽ}”jhŽKsj-Å}”j1ÅKsj9â}”j=âKsjÝâ}”jáâKsj‚3}”j†3KsjÔ3}”jØ3Ksj05}”j45Ksj‚5}”j†5Ksjs=}”jw=KsjJ?}”jN?Ksj€}”j„Ksjã}”jçKsjp}”j‚KsjÄ}”jÖKsjL3}”jP3Ksjè4}”jì4KsjùC}”j DKsjÄ{}”jÈ{Ksj|}”j|Ksuj}”j}”jKssj'}”j}”j#Kssj}”j'}”jKssj}”jÞ}”jKssj?}”j0}”j;KssjP}”j0}”jIKssjW}”j0}”jSKssji}”jZ}”jeKssjz}”jZ}”jsKssj}”jZ}”j}Kssj“}”(j„}”jKsjÇ}”jÇKsjd°}”jo°Ksuj}”(j„}”j–KsjÇ}”j$ÇKsjd°}”jv°Ksuj¤}”(j„}”j KsjÇ}”j.ÇKsjd°}”j€°KsujÁ}”(j¹}”j½Ksjá}”jåKsjGÇ}”jKÇKsjJå}”jNåKsjùè}”jýèKsjë}”j ëKsj³Ÿ}”jÅŸKsje¨}”ji¨Ksj™°}”j°Ksjbº}”jtºKsj®»}”jÀ»KsjÉ}”j#ÉKsjsÚ}”jwÚKsj³B}”jÅBKsjA—}”jE—KsujÌ}”(jÄ}”jÈKsjRÇ}”jVÇKsj¤°}”j¨°Ksuj®}”j«}”jÛKssjã}”j«}”jßKssj¹}”jã}”jÛKssjé}”jã}”jßKssjÄ}”jé}”jÛKssjï}”jé}”jßKssjÏ}”jï}”jÛKssj«}”j„}”j§Kssj}”jø}”jKssj}”jø}”jKssj}”jø}”jKssj1}”j"}”j-Kssj;}”j"}”j4KssjB}”j"}”j>KssjL}”jI}”jcKssjk}”jI}”jgKssjW}”jk}”jcKssjI}”j"}”jEKssjƒ}”jt}”jKssj”}”jt}”jKssj›}”jt}”j—Kssj­}”(jž}”j©Ksj¨â}”j³âKsj?}”j ?Ksj³4}”j¾4Ksuj·}”(jž}”j°Ksj¨â}”jºâKsj?}”j'?Ksj³4}”jÅ4Ksuj¾}”(jž}”jºKsj¨â}”jÄâKsj?}”j1?Ksj³4}”jÏ4KsujÈ}”jÅ}”jßKssjç}”jÅ}”jãKssjÓ}”jç}”jßKssjÅ}”jž}”jÁKssjÿ}”jð}”jûKssj }”jð}”j Kssj }”jð}”j Kssj }”jð}”j Kssj, }”(j }”j( KsjH@}”jV@Ksuj6 }”j }”j/ Kssj= }”j }”j9 KssjD }”(j }”j@ Ksj¦}”jÌKsjÀ}”jßKsj]%}”jƒ%Ksj$.}”jJ.Ksj£/}”jÂ/Ksj12}”jW2Ksj$R}”jCRKsj}”j®Ksj ‡}”j9‡KsjŒ}”j9ŒKsjŠš}”j©šKsj°}”jB°Ksj“º}”jÀºKsj«½}”jѽKsj?¿}”j^¿Ksj‚Ü}”j¯ÜKsjòå}”jæKsj¤ì}”jÑìKsjÔò}”jóKsjö}”jKöKsjø}”j@øKsj,ù}”jYùKsjëù}”júKsjÉ}”jèKsjr}”j‘KsjA}”j`Ksj!}”j4!Ksja+}”j€+KsjH@}”jn@KsjuY}”j”YKsj©[}”jÖ[KsjH‰}”ju‰Ksj¨Š}”jΊKsjb}”jKsjŽ}”j@ŽKsjŸ}”j<ŸKsj¥}”j7¥Ksjê¹}”j ºKsjLÆ}”jkÆKsj}û}”j±ûKsjåü}”jýKsjÉ}”jïKsjØ}”j÷Ksj’}”j±KsjK$}”jj$Ksj`-}”j-Ksjl1}”j™1Ksj¡7}”jÀ7Ksjº:}”jÙ:Ksjà:}”jÿ:KsjwA}”j–AKsjdS}”jŠSKsj]}”j2]Ksj‹^}”jª^KsjÑp}”jðpKsjI{}”jo{KsjOœ}”j|œKsujK }”j }”jG KssjN }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQ }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjT }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjW }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjZ }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj] }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjo }”(j` }”jk KsjÁ}”jÌKsj@}”jKKsujy }”(j` }”jr KsjÁ}”jÓKsj@}”jRKsuj€ }”(j` }”j| KsjÁ}”jÝKsj@}”j\Ksuj’ }”(jŠ }”jŽ Ksjí }”jñ Ksj>}”j >Ksjže}”j¢eKsjðe}”jôeKsjBf}”jFfKsj¿h}”jÑhKsj^r}”jprKsj®x}”j²xKsj$z}”j(zKsjÖz}”jÚzKsjR{}”jV{Ksjï}”jóKsjA€}”jE€Ksj“€}”j—€Ksj‹„}”j„KsjÝ„}”já„Ksjë}”jïKsjNŽ}”jRŽKsj¸“}”j¼“Ksj ”}”j”Ksj•°}”j§°Ksj¿°}”jѰKsjò±}”jö±Ksj…µ}”j‰µKsjžÅ}”j¢ÅKsjLÉ}”j^ÉKsjpÊ}”jtÊKsj_}”jcKsj©}”j»Ksjâ}”jæKsj…}”j‰Ksjá}”jåKsj&}”j/&KsjG&}”jY&Ksj¬1}”j°1Ksjþ1}”j2Ksjg?}”jy?KsjfK}”jxKKsjr^}”jv^KsjÍb}”jÑbKsjc}”j#cKsjj}”jnKsjÍ}”jÑKsj%—}”j7—Ksj˜}”j¡˜Ksjï˜}”jó˜Ksjž}”jžKsjjž}”jnžKsj÷¡}”jû¡Ksj~£}”j‚£Ksj˪}”jݪKsje­}”jw­Ksjàº}”jäºKsj2»}”j6»Ksj]Ç}”jaÇKsj¯Ç}”jÁÇKsjÊ}”j)ÊKsjáË}”jóËKsjùì}”jýìKsjKí}”jOíKsj¡ö}”j³öKsjËö}”jÝöKsjõö}”j÷Ksj]}”jaKsjÀ-}”jÄ-Ksj¶.}”jº.Ksjï2}”jó2Ksj“3}”j—3Ksj‹4}”j4Ksj>U}”jBUKsj=q}”jAqKsjó„}”j÷„Ksjåˆ}”j÷ˆKsj#‹}”j5‹Ksj}”j#Ksj;}”jMKsj[}”jmKsjð«}”j¬KsujŠ }”j‡ }”j¬ Kssj´ }”j‡ }”j° Kssj• }”j´ }”j¬ Kssjº }”j´ }”j° Kssj  }”jº }”j¬ Kssj‡ }”j` }”jƒ KssjÒ }”(jà }”jÎ Ksj$Ž}”j/ŽKsj£}”j®KsujÜ }”(jà }”jÕ Ksj$Ž}”j6ŽKsj£}”jµKsujã }”(jà }”jß Ksj$Ž}”j@ŽKsj£}”j¿Ksují }”jê }”j Kssj }”jê }”j Kssjø }”j }”j Kssj }”j }”j Kssj }”j }”j Kssjê }”jà }”jæ Kssj5 }”(j& }”j1 KsjÉ}”jÔKsj„‘}”j‘Ksj ×}”j×Ksjôï}”jÿïKsj<}”jGKsj=}”j=Ksj T}”j«TKsuj? }”(j& }”j8 KsjÉ}”jÛKsj„‘}”j–‘Ksj ×}”j×Ksjôï}”jðKsj<}”jNKsj=}”j$=Ksj T}”j²TKsujF }”(j& }”jB KsjÉ}”jåKsj„‘}”j ‘Ksj ×}”j'×Ksjôï}”jðKsj<}”jXKsj=}”j.=Ksj T}”j¼TKsujX }”(jP }”jT Ksj1 }”j5 Ksj}”jƒKsjR#}”jV#Ksjñ×}”jõ×Ksjó}”j÷Ksjð(}”jô(KsjB}”jFKsj®‘}”j²‘Ksj5×}”j9×Ksjð}”j"ðKsjf}”jjKsj<=}”j@=KsjÊT}”jÎTKsjk^}”jo^KsujP }”jM }”j} Kssj… }”jM }”j Kssj[ }”j… }”j} Kssj‹ }”j… }”j Kssjf }”j‹ }”j} Kssj‘ }”j‹ }”j Kssjq }”j‘ }”j} KssjM }”j& }”jI Kssj© }”(jš }”j¥ KsjV‰}”ja‰Ksj­}”j¸Ksj ’}”j«’Ksuj³ }”(jš }”j¬ KsjV‰}”jh‰Ksj­}”j¿Ksj ’}”j²’Ksujº }”(jš }”j¶ KsjV‰}”jr‰Ksj­}”jÉKsj ’}”j¼’KsujÌ }”(jÄ }”jÈ KsjQ }”jU KsjñS}”jõSKsjÛU}”jßUKsj‰}”j‰Ksj€‰}”j„‰Ksjã‰}”jç‰KsjX}”j\Ksj×}”jÛKsj`‘}”jd‘Ksjçç}”jèKsj >}”j>Ksj×}”jÛKsjÊ’}”jÎ’Ksj}”}”j”Ksj©}”j©Ksj½´}”jÁ´KsjJÜ}”jNÜKsj±;}”jµ;Ksj'@}”j+@KsujÄ }”jÁ }”jæ Kssjî }”jÁ }”jê KssjÏ }”jî }”jæ Kssjô }”jî }”jê KssjÚ }”jô }”jæ KssjÁ }”jš }”j½ Kssj }”(jý }”j Ksj$S}”j/SKsj©@}”j´@Ksuj }”(jý }”j KsjQ }”jp KsjŠ}”jŽKsj$S}”j6SKsjo}”j oKsjü³}”j´Ksj9È}”j=ÈKsj©@}”j»@Ksj\Z}”j`ZKsj$}”j6Ksjg™}”j”™Ksj›™}”jÈ™Ksj‰Ÿ}”j›ŸKsj*±}”j<±Ksj$Ñ}”j6ÑKsjö}”j öKsj?}”j ?Ksjº|}”j¾|Ksuj }”(jý }”j Ksj$S}”j=SKsj©@}”jÂ@Ksuj$ }”(jý }”j Ksj$S}”jGSKsj©@}”jÌ@Ksuj6 }”(j' }”j2 Ksj¹‰}”jĉKsj6‘}”jA‘Ksjâ=}”jí=KsjS”}”j^”Ksuj@ }”(j' }”j9 Ksj¹‰}”jˉKsj6‘}”jH‘Ksjâ=}”jô=KsjS”}”je”KsujG }”(j' }”jC Ksj¹‰}”jÕ‰Ksj6‘}”jR‘Ksjâ=}”jþ=KsjS”}”jo”KsujQ }”jN }”js Kssj{ }”jN }”jw Kssj\ }”j{ }”js Kssj }”j{ }”jw Kssjg }”j }”js KssjN }”j' }”jJ Kssj™ }”(jŠ }”j• KsjÃ>}”jÎ>Ksuj£ }”(jŠ }”jœ KsjÃ>}”jÕ>Ksujª }”(jŠ }”j¦ KsjÃ>}”jß>Ksuj¼ }”(j´ }”j¸ Ksjí>}”jñ>Ksuj´ }”j± }”jË KssjÓ }”j± }”jÏ Kssj¿ }”jÓ }”jË Kssj± }”jŠ }”j­ Kssjñ }”jÜ }”jê Kssjø }”jÜ }”jô Kssjÿ }”(jÜ }”jû KsjôÌ}”jÍKsj£æ}”jÂæKsjW$}”j‡$KsjÙ¦}”jø¦KsjÊÂ}”jéÂKsjR(}”jq(Ksuj }”j }”j Kssj }”j }”j Kssj% }”(j }”j! KsjX…}”jw…Ksj"*}”jA*Ksjûb}”jcKsuj0 }”(j( }”j, KsjG}”jGKsjœœ}”j œKsjäž}”jèžKsj× }”jÛ KsjU_}”jY_Ksj¨}”jºKsuj> }”(j( }”j: KsjG}”j-GKsjœœ}”j®œKsjäž}”jöžKsj× }”jé Ksj+ë}”j@ëKsjU_}”jg_KsujE }”j( }”jA KssjL }”j( }”jH Kssj^ }”jO }”jZ Kssje }”jO }”ja Kssjp }”(jh }”jl Ksj8Q}”j}”jÛ>Ksj…|}”j|Ksujn}”(jU}”jgKsjÒn}”jänKsjdz}”jÙ³KsjÈ}”jÈKsj'Z}”j9ZKsjÓõ}”jåõKsjÐ>}”jâ>Ksj…|}”j—|Ksuju}”(jU}”jqKsjÒn}”jînKsjdz}”jã³KsjÈ}”j ÈKsj'Z}”jCZKsjÓõ}”jïõKsjÐ>}”jì>Ksj…|}”j¡|Ksuj‡}”(j}”jƒKsjün}”joKsjñ³}”jõ³Ksj.È}”j2ÈKsjQZ}”jUZKsj^´}”jp´Ksj’Ó}”j¤ÓKsjýõ}”jöKsjú>}”jþ>Ksj¯|}”j³|Ksuj}”j|}”j–Kssjž}”j|}”jšKssjŠ}”jž}”j–Kssj|}”jU}”jxKssj¼}”j§}”jµKssjÃ}”j§}”j¿KssjÊ}”(j§}”jÆKsjùb}”jýbKsj@º}”jfºKsj§á}”j¹áKsj•4}”j§4Ksj,}”j*,KsujÑ}”j§}”jÍKssjÔ}”j§}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj×}”j§}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjé}”(jÚ}”jåKsjš+}”j¥+Ksujú}”(jÚ}”jóKsjš+}”j³+Ksuj}”(jÚ}”jýKsjš+}”j½+Ksuj}”j}”jKssj$}”j}”jKssj+}”j}”j'Kssj=}”j.}”j9KssjN}”j.}”jGKssjU}”j.}”jQKssjm}”jX}”jfKssjt}”jX}”jpKssj{}”(jX}”jwKsjÅ›}”jä›KsjPœ}”joœKsjÁ¹}”jà¹Ksj*}”j:*KsjÅ¡}”jä¡Ksuj“}”j~}”jŒKssjš}”j~}”j–Kssj¨}”j~}”j¤Kssj«}”j~}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj½}”(j®}”j¹Ksj8Ù}”jCÙKsujÄ}”(j®}”jÀKsj8Ù}”jJÙKsj×ó}”jÛóKsj¸±}”j¼±KsujÎ}”(j®}”jÇKsj8Ù}”jQÙKsujÕ}”(j®}”jÑKsj8Ù}”j[ÙKsujç}”(jØ}”jãKsj2}”j=Ksujø}”(jØ}”jñKsj2}”jKKsujÿ}”(jØ}”jûKsj2}”jUKsuj}”j}”jKssj}”j}”jKssj%}”(j}”j!Ksj}”j;Ksjë$}”j %Ksj(}”j>(Ksj}/}”jœ/Ksj×6}”jö6Ksjý6}”j7Ksj»>}”já>Ksj5B}”jTBKsj­{}”jÌ{KsjѶ}”jð¶KsjÍ}”j9ÍKsjÈ×}”jç×Ksjñ}”j¯ñKsj?ü}”j^üKsjŒl}”j«lKsj·n}”jÖnKsjùw}”jxKsjs½}”j’½Ksj™½}”j¸½KsjÌÅ}”jëÅKsj'ä}”jFäKsj£å}”jÂåKsj ç}”j*çKsjò}”jKsj}”j9KsjxT}”j|TKsjh\}”j‡\Ksj`}”j-`KsjXj}”jwjKsjVx}”juxKsjѱ}”jð±Ksuj,}”j}”j(Kssj/}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk}”j\}”jgKssj|}”j\}”juKssjƒ}”j\}”jKssjŽ}”(j†}”jŠKsj93}”j=3KsjEª}”jIªKsjgo}”jyoKsj‘G}”j•GKsuj•}”(j†}”j‘Ksj93}”jD3Ksj/>}”j:>Ksj©@}”j´@KsjäP}”jïPKsj}}”j}Ksj3}}”j>}Ksj\”}”jg”Ksjš}”jšKsj~›}”j‰›KsjEª}”jPªKsj;!}”jF!KsjÚ,}”jå,Ksj%a}”j0aKsjão}”jñoKsjp}”jpKsj=p}”jKpKsj?v}”jMvKsj¦w}”j´wKsj#}”j.Ksj‘G}”jœGKsjDS}”jOSKsjÚX}”jåXKsj±^}”j¼^Ksj/œ}”j:œKsujœ}”j†}”j˜Kssj£}”j†}”jŸKssj¸}”(j¦}”j´KsjÆ­}”jÔ­KsujÂ}”j¦}”j»KssjÉ}”j¦}”jÅKssj×}”j¦}”jÓKssjÚ}”j¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÝ}”j¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjà}”j¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjã}”j¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjõ}”jæ}”jñKssj}”jæ}”jÿKssj }”jæ}”j Kssj}”j}”jKssj0}”j}”j)Kssj7}”j}”j3KssjI}”j:}”jEKssjZ}”j:}”jSKssja}”j:}”j]Kssjs}”jd}”joKssj„}”jd}”j}Kssj‹}”jd}”j‡Kssj}”jŽ}”j™Kssj§}”jŽ}”j Kssj®}”jŽ}”jªKssjÀ}”(j¸}”j¼KsjMã}”jQãKsjã}”j‘ãKsj×}”jÛKsj9‰}”j=‰KsujÇ}”(j¸}”jÃKsj6}”j46Ksjd?}”jr?Ksjï?}”j@Ksj‹Ÿ}”j™ŸKsj¸Ÿ}”jÊŸKsjá»}”jï»KsjMã}”jXãKsjã}”j˜ãKsj7$}”jB$KsjÄf}”jÙfKsjDg}”jYgKsj×}”jâKsjí }”jÿ Ksjó,}”jþ,Ksjñ]}”jÿ]Ksj~j}”jjKsujÎ}”j¸}”jÊKssjÕ}”j¸}”jÑKssjà}”(jØ}”jÜKsjf&}”jj&KsjB}”jBKsjYV}”j]VKsj+·}”j/·KsjUð}”jYðKsjåú}”j÷úKsjÿ}”jÿKsjAÿ}”jEÿKsj3 }”j7 Ksj«-}”j¯-Ksj±:}”jµ:Ksj×`}”jÛ`Ksj²·}”j¶·KsjB¿}”jF¿Ksjê}”j"êKsj×ê}”jÛêKsj¾ü}”jÂüKsjü}”jKsj-}”j-Ksjz0}”j~0Ksj„6}”jˆ6KsjÀ8}”jÄ8Ksj9}”j9KsjeF}”jiFKsj¸\}”j¼\KsjAc}”jEcKsj"{}”j&{Ksj8}”j<Ksj˜ƒ}”jœƒKsujî}”(jØ}”jêKsj+·}”j=·KsjUð}”jgðKsjÿ}”j,ÿKsj3 }”jE Ksjê}”j0êKsjz0}”jŒ0Ksujõ}”jØ}”jñKssjü}”jØ}”jøKssj}”jÿ}”j Kssj}”jÿ}”jKssj"}”(jÿ}”jKsjÉ}”jèKsj-}”j"-Ksjmä}”jŒäKsuj>}”j%}”j:KssjH}”j%}”jAKssjO}”j%}”jKKssjV}”(j%}”jRKsjB}”joKsjS}”jyKsj}”jKsjf}”j“Ksj³&}”jÒ&KsjY+}”jx+Ksj[B}”jBKsj+F}”jXFKsjiF}”j{FKsj“F}”j¥FKsjbG}”jGKsjZJ}”j€JKsj§J}”jÍJKsj:M}”j`MKsjLN}”jkNKsjòV}”jWKsj©X}”jÈXKsj€_}”j„_Ksjÿa}”jbKsj•h}”j§hKsjßi}”jñiKsj-k}”j1kKsjk}”j”kKsjl}”j!lKsj$m}”j(mKsjÖKsjëä}”jåKsjré}”jŸéKsjÿ}”j%Ksjc}”j‰Ksjg}”j”KsjL}”jPKsjd+}”jƒ+Ksj«6}”jÊ6Ksjt7}”jš7KsjWC}”j„CKsj1F}”j^FKsjçJ}”jùJKsjK}”j0KKsj¹O}”jËOKsjÛP}”júPKsjïS}”jTKsje}”j2eKsjše}”j¹eKsj5m}”jbmKsjoo}”jsoKsj?p}”jCpKsjm…}”j…Ksjû’}”j “Ksj”}”j”Ksjæ•}”jø•KsjÉœ}”jïœKsj£ª}”j§ªKsj"«}”jO«KsjV«}”ju«Ksjº­}”jÙ­Ksj>®}”j]®Ksujn}”jY}”jgKssju}”jY}”jqKssj•}”j}”j‘Kssjœ}”j}”j˜KssjÅ}”jŸ}”j¾KssjÌ}”jŸ}”jÈKssjÓ}”(jŸ}”jÏKsjã}”jKsjÕ"}”j#KsjÆ;}”jØ;Ksj’ž}”jžKsjŠ#}”jº#Ksj™,}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksujò}”jÖ}”jëKssjù}”jÖ}”jõKssj}”(jÖ}”jüKsjo}”j•Ksj¦}”j9¦Ksjq¦}”j—¦Ksj }”j KsjÁ)}”jç)Ksj]A}”jƒAKsj‘A}”j£AKsjC}”j6CKsjG}”j4GKsj;G}”jaGKsj…G}”j—GKsjH}”j‘HKsjÕJ}”jûJKsjK}”j¢KKsjrL}”j˜LKsjŸL}”jÅLKsjN}”j.NKsjúN}”jþNKsj)P}”jOPKsj`P}”jrPKsj´P}”jÚPKsjèP}”júPKsjçR}”j SKsj0T}”jBTKsj´T}”jÚTKsjW}”jWKsj|_}”j¢_Ksjma}”j“aKsj·l}”jÉlKsuj}”jÖ}”jKssj }”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.}”(j}”j*Ksj¯}”jºKsj­a}”j¸aKsuj?}”(j}”j8Ksj¯}”jÈKsj­a}”jÆaKsujF}”(j}”jBKsj¯}”jÒKsj­a}”jÐaKsujX}”(jI}”jTKsjRN}”j]NKsuji}”(jI}”jbKsjRN}”jkNKsujp}”(jI}”jlKsjRN}”juNKsuj‚}”js}”j~Kssj‰}”(js}”j…KsjE}”jWKsj}”jKsjU}”jgKsjÿ}”jKsj)}”j;Ksj,+}”jR+Ksj÷-}”j.KsjŠ}”j°Ksjî)}”j*KsjH8}”jL8Ksj›C}”jŸCKsjem}”j‹mKsjùm}”j nKsjåx}”j yKsj"y}”j4yKsj y}”j¤yKsjÒÖ}”jÖÖKsjb}”jbKsjn‘}”jr‘Ksj–‘}”j¨‘KsjÙ‘}”jÿ‘Ksuj“}”js}”jŒKssjš}”js}”j–Kssj¬}”j}”j¨Kssj³}”(j}”j¯Ksjž$}”j½$Ksjµ.}”j¹.Ksj†Ý}”jŠÝKsj• }”j§ Ksj±}”j±Ksjá}”jáKsj]â}”jaâKsj¯â}”j³âKsjxô}”j|ôKsj¨>}”j¬>KsjgO}”jkOKsjo}”j!oKsja›}”js›KsjD¬}”jV¬Ksuj½}”j}”j¶KssjÄ}”j}”jÀKssjÖ}”jÇ}”jÒKssjÝ}”(jÇ}”jÙKsj}”jKsjS8}”jW8Ksj¦C}”jªCKsjÝÖ}”jáÖKsj b}”jbKsjy‘}”j}‘Ksujç}”jÇ}”jàKssjî}”jÇ}”jêKssj}”(jñ}”jüKsj+}”j6Ksj)b}”j4bKsuj}”(jñ}”jKsj+}”j=Ksj¿|}”jÑ|Ksj$ }”jJ KsjYR}”jRKsj'S}”j9SKsjšU}”j¬UKsjľ}”jÖ¾Ksj¿}”j*¿Ksj\Ã}”jnÃKsj)b}”j;bKsuj}”(jñ}”j Ksj+}”jDKsj)b}”jBbKsuj}”(jñ}”jKsj+}”jNKsj)b}”jLbKsuj*}”(j}”j&Ksj}”jŠKsjSb}”j^bKsuj1}”(j}”j-Ksj}”j‘Ksj¸ü}”j¼üKsj5B}”j9BKsjúD}”j EKsj$E}”j6EKsjxE}”jŠEKsjR}”jŸRKsjØV}”jêVKsjÇ}”jíKsj¡¹}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj0Ø}”jVØKsjÓØ}”jרKsj@}”jfKsjH)}”jh)KsjSb}”jebKsuj;}”(j}”j4Ksj}”j˜KsjSb}”jlbKsujB}”(j}”j>Ksj}”j¢KsjSb}”jvbKsujT}”jE}”jPKssje}”jE}”j^Kssjl}”jE}”jhKssj‹}”jo}”j„Kssj’}”jo}”jŽKssj }”jo}”jœKssj£}”jo}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¦}”jo}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©}”jo}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¬}”jo}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjè}”jÙ}”jäKssjò}”jÙ}”jëKssjù}”jÙ}”jõKssj}”j}”jKssj"}”j}”jKssj}”j"}”jKssj}”jÙ}”jüKssjd}”jU}”j`Kssju}”jU}”jnKssj|}”jU}”jxKssj±}”(j©}”j­Ksj#@}”j'@Ksj½P}”jÁPKsj¨”}”j¬”KsjD•}”jH•Ksjk•}”jo•Ksj“—}”j——Ksj¸}”j¸Ksj¡¹}”j¥¹Ksjç}”jçKsj§ç}”j«çKsj.ð}”j2ðKsjUô}”jYôKsj(û}”j,ûKsj-ý}”j?ýKsj× }”jÛ Ksjƒ }”j‡ KsjXB}”jjBKsj'J}”j9JKsjÞM}”jðMKsj‰`}”j`Ksjwn}”j{nKsjz}”jzKsj»†}”j¿†KsjŠ}”j…ŠKsjPœ}”jTœKsjöž}”júžKsjL·}”jP·Ksj¾}”j¾KsjðÂ}”jôÂKsjÿÕ}”jÖKsj Ù}”j2ÙKsjJÙ}”jNÙKsjÄä}”jÈäKsjäæ}”jèæKsjÑí}”jÕíKsj1}”j5Ksj…}”j‰KsjÀ }”jÄ KsjO}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”KsjC}”jGKsjH)}”jL)KsjÓ,}”j×,KsjºX}”j¾XKsj§b}”j«bKsjšv}”jžvKsjxƒ}”j|ƒKsuj¿}”j©}”j»KssjÆ}”j©}”jÂKssjÞ}”jÉ}”j×Kssjå}”jÉ}”jáKssjì}”(jÉ}”jèKsj}”j<Ksjv"}”j•"Ksj"D}”jADKsj|”}”j›”Ksjà©}”jÿ©Ksj7¸}”jV¸Ksj{¹}”jš¹Ksj…½}”j¤½Ksj#×}”jB×Ksjà}”j:àKsj¶ñ}”jÕñKsjtõ}”j“õKsjÓû}”jòûKsj}”j®KsjŽ$}”j­$Ksjg)}”j†)Ksje2}”j„2Ksj0A}”jVAKsjrü}”j‘üKsj)}”jHKsjÏ}”jîKsjý}”jKsjB9}”ja9Ksj F}”j*FKsjƒT}”j‡TKsj Y}”j?YKsj^}”j=^KsjOk}”jnkKsjáu}”jvKsjÏz}”jîzKsuj}”(jï}”jýKsjþ}”j Ksuj }”jï}”jKssj}”jï}”jKssj}”(jï}”jKsjM}”jQKsj©N}”j»NKsj*O}”j}”j?Ksj2Ý}”jDÝKsjnþ}”j”þKsj/}”j*/Ksj4`}”jZ`Ksuj¦}”ju}”j¢Kssj©}”ju}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÖ}”jÓ}”jíKssjõ}”jÓ}”jñKssjá}”jõ}”jíKssjÓ}”j¬}”jÏKssj }”(jþ}”j KsjDþ}”jOþKsjNG}”jYGKsj#a}”j.aKsuj}”(jþ}”jKsjDþ}”j]þKsjNG}”jgGKsj#a}”j­}”jI­Ksuj)}”(j}”j"Ksj>­}”jP­Ksuj0}”(j}”j,Ksj>­}”jZ­KsujB}”(j:}”j>Ksjh­}”jl­Ksuj:}”j7}”jQKssjY}”j7}”jUKssjE}”jY}”jQKssj7}”j}”j3Kssjq}”jb}”jmKssj‚}”jb}”j{Kssj‰}”jb}”j…Kssj¡}”jŒ}”jšKssj¨}”jŒ}”j¤Kssj¯}”(jŒ}”j«Ksj°C}”jÏCKsjÖC}”jõCKsjýN}”jOKsjÜ }”jû Ksjr}”j‘KsjÜ"}”jû"Ksj1C}”jPCKsuj¶}”jŒ}”j²KssjÈ}”j¹}”jÄKssjÏ}”j¹}”jËKssjÙ}”j¹}”jÒKssjà}”j¹}”jÜKssj }”jã}”jKssj}”jã}”j Kssj/}”j}”j(Kssj6}”j}”j2KssjU}”j@}”jNKssj\}”j@}”jXKssjx}”(jf}”jtKsj÷}”j Ksj[B}”jiBKsj§J}”jµJKsjžK}”j¬KKsjÎK}”jÜKKsj M}”jMKsj:M}”jHMKsj¶[}”jÄ[Ksj‘ó}”jœóKsjd}”jrKsj5m}”jCmKsuj}”jf}”j{Kssj‰}”jf}”j‚Kssj}”jf}”jŒKssj¯}”jš}”j¨Kssj¶}”jš}”j²Kssj½}”(jš}”j¹KsjF†}”je†KsujÕ}”jÀ}”jÎKssjÜ}”jÀ}”jØKssjê}”jÀ}”jæKssjí}”jÀ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjÿ}”jð}”jûKssj}”jð}”j Kssj}”jð}”jKssj)}”j}”j%Kssj0}”(j}”j,KsjˆE}”j§EKsjæS}”jêSKsjÐU}”jÔUKsjƒX}”j¢XKsj ‰}”j‰KsjM}”jQKsj´¦}”jƦKsjJ¨}”j\¨Ksj8©}”jJ©Ksjë¯}”jý¯Ksj‚ò}”j†òKsj×}”jéKsjw%}”j{%Ksjí&}”jñ&KsjT}”jTKsjø‹}”j ŒKsjÌ}”jÐKsj ©}”j©Ksj²´}”j¶´Ksj…Ç}”j—ÇKsjw5}”j¤5Ksj¦;}”jª;Ksj@}”j @Ksjß\}”jþ\Ksuj:}”j}”j3KssjA}”j}”j=Kssj`}”jD}”jYKssjg}”jD}”jcKssju}”jD}”jqKssjx}”jD}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠ}”(j{}”j†KsjÇ}”jÒKsjiš}”jtšKsuj”}”(j{}”jKsjÇ}”jÙKsjiš}”j{šKsuj›}”(j{}”j—KsjÇ}”jãKsjiš}”j…šKsuj¥}”j¢}”j¼KssjÄ}”j¢}”jÀKssj°}”jÄ}”j¼Kssj¢}”j{}”jžKssjÜ}”(jÍ}”jØKsj‹›}”j–›Ksují}”(jÍ}”jæKsj‹›}”j¤›Ksujô}”(jÍ}”jðKsj‹›}”j®›Ksuj }”j÷}”j Kssj }”j÷}”j Kssj! }”(j÷}”j KsjÌ`}”jÐ`Ksuj$ }”j÷}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Kssj+ }”j÷}”j' Kssj. }”j÷}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj@ }”(j1 }”j< KsjÂÀ}”jÍÀKsjJÅ}”jUÅKsjn<}”jy<Ksj?i}”jJiKsjmu}”jxuKsjþv}”j wKsjÜ}”jçKsj›2}”j¦2KsujQ }”(j1 }”jJ KsjÂÀ}”jÛÀKsjJÅ}”jcÅKsjn<}”j‡<Ksj?i}”jXiKsjmu}”j†uKsjþv}”jwKsjÜ}”jõKsj›2}”j´2KsujX }”(j1 }”jT KsjÂÀ}”jåÀKsjJÅ}”jmÅKsjn<}”j‘<Ksj?i}”jbiKsjmu}”juKsjþv}”j!wKsjÜ}”jÿKsj›2}”j¾2Ksujj }”j[ }”jf Kssj{ }”j[ }”jt Kssj‚ }”j[ }”j~ Kssj }”(j… }”j‰ Ksjé+}”jû+Ksj,ª}”j0ªKsj‘ó}”j•óKsjõ}”jõKsjѹ}”jÕ¹Ksuj” }”j… }”j Kssj› }”j… }”j— Kssj¦ }”(jž }”j¢ Ksj+ˆ}”j/ˆKsj (}”j²(KsjŽ›}”j’›KsjÊ‚}”j΂Ksuj´ }”(jž }”j° Ksj+ˆ}”j=ˆKsj }”j/ KsjW$}”jl$Ksj´$}”jÉ$Ksjë$}”j%Ksj_(}”jt(Ksjü…}”j†KsjŽ›}”j ›Ksjؽ}”jê½KsjÊ‚}”jÜ‚Ksuj· }”(jž }”hŒhttp://schema.org/source”…”R”Ksj+ˆ}”hŒhttp://schema.org/source”…”R”Ksj }”hŒhttp://schema.org/source”…”R”KsjW$}”hŒhttp://schema.org/source”…”R”Ksj´$}”hŒhttp://schema.org/source”…”R”Ksjë$}”hŒhttp://schema.org/source”…”R”Ksj_(}”hŒhttp://schema.org/source”…”R”Ksjü…}”hŒhttp://schema.org/source”…”R”KsjŽ›}”hŒhttp://schema.org/source”…”R”Ksjؽ}”hŒhttp://schema.org/source”…”R”KsjÊ‚}”hŒhttp://schema.org/source”…”R”Ksuj¾ }”jž }”jº KssjÅ }”jž }”jÁ KssjÝ }”jÈ }”jÖ Kssjä }”jÈ }”jà Kssjò }”jÈ }”jî Kssj!}”(jõ }”j!KsjIP}”jTPKsj}”j(Ksj©ð}”j´ðKsj_}”j#_Ksj¼¿}”jÇ¿Ksj•*}”j *KsjF:}”jQ:Ksjs}”j›sKsuj!}”(jõ }”j!KsjIP}”j[PKsj}”j/Ksj©ð}”j»ðKsj_}”j*_Ksj¼¿}”jοKsj•*}”j§*KsjF:}”jX:Ksjs}”j¢sKsuj!}”(jõ }”j!KsjIP}”jePKsj}”j9Ksj©ð}”jÅðKsj_}”j4_Ksj¼¿}”jØ¿Ksj•*}”j±*KsjF:}”jb:Ksjs}”j¬sKsuj'!}”(j!}”j#!KsjQ8}”jp8KsjsP}”jwPKsjx`}”jŠ`Ksjäš}”jèšKsjG}”jKKsjÆ­}”jì­KsjÄ}”jÄKsjÓð}”j×ðKsjÑ2}”jã2KsjÓ@}”jù@KsjB_}”jF_Ksj¶_}”jº_Ksj`}”j`Ksjæ¿}”jê¿KsjÃ}”j6ÃKsj߯}”jñÆKsjOå}”jaåKsj$ï}”j6ïKsj{}”jKsj%$}”jD$Ksj¿*}”jÃ*Ksjp:}”jt:Ksjð;}”j<KsjU@}”jg@Ksjºs}”j¾sKsjùt}”jýtKsj¹u}”j½uKsjrv}”jvvKsuj2!}”(j*!}”j.!Ksj~P}”j‚PKsjïš}”jóšKsjR}”jVKsjÞð}”jâðKsj›ö}”j­öKsj}”jKsj¬]}”j°]Ksj^}”j^KsjM_}”jQ_Ksj$`}”j(`Ksjû©}”j ªKsj%ª}”j7ªKsjñ¿}”jõ¿KsjË}”jŸËKsj·Ë}”jÉËKsj#Ï}”j'ÏKsj^Õ}”jbÕKsj€ç}”jŸçKsjÊ*}”jÎ*Ksj{:}”j:Ksj‰B}”j›BKsjÝB}”jïBKsjÅs}”jÉsKsuj!}”j!}”jL!KssjT!}”j!}”jP!Kssj*!}”jT!}”jL!KssjZ!}”jT!}”jP!Kssj5!}”jZ!}”jL!Kssj`!}”jZ!}”jP!Kssj@!}”j`!}”jL!Kssj!}”jõ }”j!Kssj~!}”ji!}”jw!Kssj…!}”ji!}”j!KssjŒ!}”(ji!}”jˆ!Ksj!}”j®!Ksjµ!}”jÔ!KsjÞ!}”jý!Ksj"}”j#"Ksj*"}”jI"Ksjïæ}”jçKsjøf}”jgKsjg}”j=gKsuj¤!}”j!}”j!Kssj«!}”j!}”j§!KssjÊ!}”jµ!}”jÃ!KssjÑ!}”jµ!}”jÍ!KssjÛ!}”(jµ!}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj&}”j¬&KsjÝ,}”jü,KsjJ}”j:JKsjJR}”jiRKsjÌV}”jëVKsjî”}”j •Ksjx·}”j—·Ksjvß}”j•ßKsjbä}”jäKsjÉæ}”jèæKsj±ó}”jÐóKsj.õ}”jMõKsj­û}”jÌûKsjùû}”jüKsj}”j:Ksj;+}”jZ+KsjËX}”jêXKsjœa}”j»aKsjÙj}”jøjKsjÓw}”jòwKsjh›}”j‡›KsjŒ·}”j«·Ksji¿}”jˆ¿Ksj°Õ}”jÏÕKsjåE}”jFKsjúX}”jYKsjt}”j#tKsjºv}”jÙvKsjõ®}”j¯Ksujó!}”jÞ!}”jì!Kssjú!}”jÞ!}”jö!Kssj"}”j"}”j"Kssj "}”j"}”j"Kssj?"}”j*"}”j8"KssjF"}”j*"}”jB"Kssje"}”jP"}”j^"Kssjl"}”jP"}”jh"Kssj‹"}”jv"}”j„"Kssj’"}”jv"}”jŽ"Kssj¤"}”(jœ"}”j "KsjnD}”jrDKsjü}”j#üKsjÓI}”jåIKsj,·}”j0·Ksjx}”jxKsjµ®}”j¹®Ksuj²"}”jœ"}”j®"Kssj¹"}”jœ"}”jµ"KssjÄ"}”(j¼"}”jÀ"Ksj—}”j©Ksjë›}”jï›KsjG }”jK Ksj` }”jd KsjA*}”jE*Ksj}”j(Ksj÷œ}”jûœKsjs·}”jw·Ksj¿é}”jÃéKsjê}”j êKsjhR}”jlRKsujË"}”j¼"}”jÇ"KssjÒ"}”j¼"}”jÎ"Kssjû"}”jÕ"}”jô"Kssj#}”jÕ"}”jþ"Kssj#}”(j #}”j#KsjBä}”jFäKsjˆ }”jš KsjEm}”jImKsjøí}”jüíKsj}”jKsjƒœ}”j‡œKsuj"#}”j #}”j#Kssj)#}”j #}”j%#KssjA#}”j,#}”j:#KssjH#}”j,#}”jD#KssjO#}”(j,#}”jK#Ksjx$}”j—$KsjW/}”jv/Ksj•>}”j´>KsjuW}”jyWKsjÜ}”jéœKsjhÕ}”j‡ÕKsj}”j7Ksjo)}”jŽ)Ksjr¯}”j‘¯Ksujh#}”jR#}”jd#Kssjo#}”jR#}”jk#Kssj„#}”(jr#}”j€#KsjÂ5}”j×5Ksjz{}”jˆ{Ksj[|}”ji|Ksj•}”j"•Ksj Í}”jµÍKsjóÕ}”jÖKsjµ}”jÊKsjì}”júKsjÒ-}”jà-Ksjâa}”jðaKsjþd}”jeKsjãe}”jøeKsjIÀ}”jWÀKsjÂ}”j«ÂKsj!}”j)!KsujŽ#}”jr#}”j‡#Kssj•#}”jr#}”j‘#Kssjœ#}”(jr#}”j˜#Ksj[|}”j|Ksjì}”jKsjÒ-}”jø-KsjIÀ}”joÀKsjÂ}”jÃÂKsuj£#}”jr#}”jŸ#Kssj¦#}”jr#}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©#}”jr#}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj»#}”j¬#}”j·#KssjÂ#}”(j¬#}”j¾#KsjÖ#}”jè#Ksj¨ƒ}”j¶ƒKsj„}”j„Ksj·¸}”j»¸KsjbÎ}”jfÎKsj×ÿ}”jÛÿKsjP}”jTKsjJ}”jNKsjã}”jçKsjý}”jKsjU}”jYKsj.}”j2KsjH.}”jL.Ksj„d}”jˆdKsjie}”jmeKsjNf}”j`fKsjm‹}”jq‹Ksjêš}”jüšKsjÁ}”jÁKsjYÁ}”j]ÁKsjÒ}”j"ÒKsjˆ!}”jŒ!Ksj°!}”jÂ!KsjÚ!}”jì!Ksj E}”j$EKsj»E}”jÍEKsujÌ#}”j¬#}”jÅ#KssjÓ#}”j¬#}”jÏ#Kssjå#}”jÖ#}”já#Kssjö#}”jÖ#}”jï#Kssjý#}”jÖ#}”jù#Kssj$}”j$}”j $Kssj$}”j$}”j$Kssj $}”j$}”j$Kssj*$}”j'$}”jA$KssjI$}”j'$}”jE$Kssj5$}”jI$}”jA$Kssj'$}”j$}”j#$Kssjg$}”jR$}”j`$Kssjn$}”jR$}”jj$Kssj$}”jx$}”j†$Kssj”$}”jx$}”j$Kssj³$}”jž$}”j¬$Kssjº$}”jž$}”j¶$KssjÌ$}”(jÄ$}”jÈ$Ksj‚9}”j†9Ksjž›}”j¢›KsjÎõ}”jÒõKsjwœ}”j{œKsj.¹}”j2¹KsjL½}”jP½KsjÓ@}”j×@KsjZ€}”j^€KsujÚ$}”(jÄ$}”jÖ$Ksj‚9}”j”9Ksjž›}”j°›Ksj\ñ}”jqñKsjÎõ}”jàõKsjwœ}”j‰œKsj.¹}”j@¹KsjL½}”j^½KsjZ€}”jl€Ksujá$}”jÄ$}”jÝ$Kssjè$}”jÄ$}”jä$Kssj%}”jë$}”jù$Kssj%}”jë$}”j%Kssj&%}”j%}”j%Kssj-%}”j%}”j)%Kssj4%}”(j%}”j0%Ksj2…}”jQ…KsjÖô}”jõôKsjõõ}”jöKsjŸx}”j¾xKsji}”j%iKsujL%}”j7%}”jE%KssjS%}”j7%}”jO%KssjZ%}”(j7%}”jV%Ksj»>}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjWý}”jvýKsj}ý}”j£ýKsjžf}”j½fKsj)}”jA)Ksujy%}”j]%}”jr%Kssj€%}”j]%}”j|%KssjŽ%}”j]%}”jŠ%Kssj‘%}”j]%}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj£%}”j”%}”jŸ%Kssj´%}”j”%}”j­%Kssj»%}”j”%}”j·%KssjÍ%}”j¾%}”jÉ%Kssj×%}”j¾%}”jÐ%KssjÞ%}”j¾%}”jÚ%Kssjð%}”(jè%}”jì%Ksjþ}”jþKsj£`}”j§`Ksujè%}”jå%}”jÿ%Kssj&}”jå%}”j&Kssjó%}”j&}”jÿ%Kssjå%}”j¾%}”já%Kssj"&}”j&}”j&Kssj/&}”j&}”j(&Kssj6&}”j&}”j2&Kssj=&}”(j&}”j9&Ksjç2}”jë2Ksj"ž}”j&žKsj‹Ÿ}”j±ŸKsj†§}”jЧKsjŸ¼}”j£¼Ksj½}”j½KsjàÛ}”jäÛKsjó5}”j÷5Ksjg}”jkKsjy }”j‹ Ksj£ }”jµ KsjÍ }”jß Ksj÷ }”j Ksj! }”j3 KsjK }”j] KsjË }”jÏ Ksj7}”j;Ksj8}”jƒ8Ksj H}”j8HKsjñ]}”j^KsjXˆ}”j\ˆKsj3Š}”j7ŠKsjÀŠ}”jÄŠKsjS}”jWKsujU&}”j@&}”jN&Kssj\&}”j@&}”jX&Kssjc&}”(j@&}”j_&KsjmO}”jŒOKsjœß}”j»ßKsj3}”jRKsjà#}”jÿ#Ksj«9}”jÊ9Ksjp}”jKsj/_}”jN_Ksj4€}”jS€Ksuj|&}”(jf&}”jx&KsjB}”j BKsjYV}”jkVKsjšõ}”j¯õKsjªú}”j¿úKsjAÿ}”jSÿKsj«-}”j½-Ksj±:}”jÃ:Ksj×`}”jé`Ksj²·}”jÄ·KsjB¿}”jT¿Ksj×ê}”jéêKsj¾ü}”jÐüKsjü}”jKsj-}”j%-Ksj„6}”j–6KsjÀ8}”jÒ8Ksj9}”j-9KsjeF}”jwFKsj¸\}”jÊ\KsjAc}”jScKsj"{}”j4{Ksj8}”jJKsj˜ƒ}”jªƒKsujƒ&}”jf&}”j&KssjŠ&}”jf&}”j†&Kssj¢&}”j&}”j›&Kssj©&}”j&}”j¥&KssjÈ&}”j³&}”jÁ&KssjÏ&}”j³&}”jË&KssjÝ&}”j³&}”jÙ&Kssjà&}”j³&}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjã&}”j³&}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjõ&}”jæ&}”jñ&Kssjü&}”(jæ&}”jø&Ksj'}”j"'Ksjú,}”j-Ksj-}”j“-Ksuj'}”jæ&}”jÿ&Kssj '}”jæ&}”j 'Kssj'}”j'}”j'Kssj0'}”j'}”j)'Kssj7'}”j'}”j3'KssjI'}”(j:'}”jE'Ksjþz}”j {Ksj6‚}”jA‚Ksjk®}”jv®KsujZ'}”(j:'}”jS'Ksjþz}”j{Ksj6‚}”jO‚Ksjk®}”j„®Ksuja'}”(j:'}”j]'Ksjþz}”j!{Ksj6‚}”jY‚Ksjk®}”jŽ®Ksujy'}”jd'}”jr'Kssj€'}”jd'}”j|'Kssj‡'}”(jd'}”jƒ'Ksj*œ}”jIœKsuj¦'}”jŠ'}”jŸ'Kssj­'}”jŠ'}”j©'Kssj´'}”(jŠ'}”j°'Ksjÿ•}”j–Ksj­ü}”j±üKsj¿ }”jå Ksj*B}”j.BKsjYF}”jkFKsj/R}”jARKsjîU}”jVKsj"V}”j4VKsj"¾}”jH¾KsjÈØ}”jÌØKsujÌ'}”j·'}”jÅ'KssjÓ'}”j·'}”jÏ'KssjÚ'}”(j·'}”jÖ'Ksj‘,}”j°,Ksj9}”j(9KsjU9}”j{9Ksjï?}”j@Ksj3V}”jRVKsj…}”j+…KsjúŠ}”j ‹KsjX›}”jw›KsjR»}”j»Ksj¡¿}”j¥¿KsjæË}”jÌKsjÌå}”jëåKsj[ç}”jzçKsj\ñ}”j‰ñKsjšõ}”jÇõKsjL}”jkKsj¶}”jÕKsj´$}”jä$Ksj…9}”j¤9KsjØ:}”j;Ksj2;}”j_;Ksj{J}”j¡JKsj'[}”jT[Ksjão}”j pKsjp}”j6pKsj¦w}”jÌwKsj¨…}”jÕ…KsjÏ™}”jî™KsjWÂ}”j}ÂKsjÓ×}”jù×Ksj+ë}”jXëKsjí}”jÊíKsjæú}”jûKsjF}”jJKsj }”j, Ksjª }”j® Ksj}”jKsj#}”jPKsj¼)}”jÛ)Ksj +}”j6+Ksj0}”j30Ksj×G}”jHKsjÉI}”jöIKsj”X}”j³XKsjÄ]}”jê]Ksjv¢}”jœ¢Ksujö'}”(jÝ'}”jò'Ksj(}”j&(KsjE(}”jZ(Ksuj(}”jÝ'}”jù'Kssj(}”jÝ'}”j(Kssj(}”(jÝ'}”j (Ksj±6}”jÐ6Ksj~Ì}”jÌKsjVÛ}”juÛKsjÑá}”jðáKsj¿4}”jÞ4Ksj }”j. Ksjâ'}”j(Ksj(}”j!(KsjYi}”jxiKsj0x}”jOxKsuj4(}”j(}”j-(Kssj;(}”j(}”j7(Kssjh(}”jE(}”ja(Kssjo(}”jE(}”jk(Kssjv(}”(jE(}”jr(Ksj#7}”jB7KsjY’}”j]’KsjØ}”j0ØKsjv•}”jz•Ksjv}”j:vKsj|x}”j›xKsj×|}”jé|KsjS}}”je}Ksuj}(}”jE(}”jy(Kssj€(}”jE(}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’(}”jƒ(}”jŽ(Kssj™(}”(jƒ(}”j•(Ksj­(}”j¿(Ksuj£(}”jƒ(}”jœ(Kssjª(}”jƒ(}”j¦(Kssj¼(}”j­(}”j¸(KssjÍ(}”j­(}”jÆ(KssjÔ(}”j­(}”jÐ(Kssjß(}”(j×(}”jÛ(Ksjþ(}”j)Ksj%)}”j))KsjL)}”jP)Ksjs)}”jw)Ksjš)}”jž)KsjÁ)}”jÅ)Ksjè)}”jì)Ksj*}”j*Ksj6*}”j:*Ksj‘*}”j•*Ksj¸*}”j¼*Ksjß*}”jã*Ksují(}”(j×(}”jé(Ksjþ(}”j)Ksj%)}”j7)KsjL)}”j^)Ksjs)}”j…)Ksjš)}”j¬)KsjÁ)}”jÓ)Ksjè)}”jú)Ksj*}”j!*Ksj6*}”jH*Ksj]*}”jr*Ksj‘*}”j£*Ksj¸*}”jÊ*Ksjß*}”jñ*KsjØ:}”jí:Ksj×G}”jìGKsj H}”j HKsjÉI}”jÞIKsjýI}”jJKsj$J}”j6JKsj£}”j'£Ksj<£}”jN£Ksjc£}”ju£KsjŠ£}”jœ£Ksj±£}”jãKsjØ£}”jê£Ksjÿ£}”j¤Ksj&¤}”j8¤KsjM¤}”j_¤Ksjt¤}”j†¤Ksj›¤}”j°¤KsjϤ}”já¤Ksjö¤}”j¥Ksj¥}”j/¥KsjD¥}”jV¥Ksjk¥}”j€¥KsjŸ¥}”j±¥KsjÆ¥}”jØ¥Ksjí¥}”jÿ¥Ksj¦}”j&¦Ksj;¦}”jM¦Ksjb¦}”jt¦Ksj‰¦}”j›¦Ksj°¦}”j¦Ksjצ}”jé¦Ksjþ¦}”j§Ksj%§}”j7§KsjL§}”j^§Ksjs§}”j…§Ksjš§}”j¬§KsjÁ§}”jÓ§Ksjè§}”jú§Ksj¨}”j!¨Ksj6¨}”jH¨Ksj]¨}”jo¨Ksj„¨}”j–¨Ksj«¨}”j½¨KsjÒ¨}”jç¨Ksj©}”j©Ksj-©}”j?©KsjT©}”jf©Ksj{©}”j©Ksj¢©}”j´©KsjÉ©}”jÛ©Ksjð©}”jªKsjª}”j)ªKsujô(}”j×(}”jð(Kssjû(}”j×(}”j÷(Kssj)}”jþ(}”j)Kssj")}”jþ(}”j)KssjB)}”j%)}”j>)KssjI)}”j%)}”jE)Kssji)}”jL)}”je)Kssjp)}”jL)}”jl)Kssj)}”js)}”jŒ)Kssj—)}”js)}”j“)Kssj·)}”jš)}”j³)Kssj¾)}”jš)}”jº)KssjÞ)}”jÁ)}”jÚ)Kssjå)}”jÁ)}”já)Kssj*}”jè)}”j*Kssj *}”jè)}”j*Kssj,*}”j*}”j(*Kssj3*}”j*}”j/*KssjS*}”j6*}”jO*KssjZ*}”j6*}”jV*Kssj€*}”j]*}”jy*Kssj‡*}”j]*}”jƒ*KssjŽ*}”(j]*}”jŠ*KsjQ}”jUKsjµ }”j¹ Ksj!}”j%Ksj›¤}”jȤKsuj®*}”j‘*}”jª*Kssjµ*}”j‘*}”j±*KssjÕ*}”j¸*}”jÑ*KssjÜ*}”j¸*}”jØ*Kssjü*}”jß*}”jø*Kssj+}”jß*}”jÿ*Kssj+}”j+}”j+Kssj"+}”j+}”j+Kssj)+}”(j+}”j%+Ksj€V}”jŸVKsjxg}”j—gKsj° }”jÏ KsujH+}”j,+}”jA+KssjO+}”j,+}”jK+Kssjn+}”jY+}”jg+Kssju+}”jY+}”jq+Kssjƒ+}”jY+}”j+Kssj†+}”jY+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰+}”jY+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ+}”jY+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj+}”jY+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’+}”jY+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤+}”j•+}”j +Kssjµ+}”j•+}”j®+Kssj¼+}”j•+}”j¸+KssjÎ+}”j¿+}”jÊ+Kssjß+}”j¿+}”jØ+Kssjæ+}”j¿+}”jâ+Kssjø+}”jé+}”jô+Kssj ,}”jé+}”j,Kssj,}”jé+}”j ,Kssj",}”j,}”j,Kssj3,}”j,}”j,,Kssj:,}”j,}”j6,KssjL,}”j=,}”jH,Kssj],}”j=,}”jV,Kssjd,}”j=,}”j`,Kssjv,}”jg,}”jr,Kssj‡,}”jg,}”j€,KssjŽ,}”jg,}”jŠ,Kssj¦,}”j‘,}”jŸ,Kssj­,}”j‘,}”j©,KssjÌ,}”j·,}”jÅ,KssjÓ,}”j·,}”jÏ,KssjÚ,}”(j·,}”jÖ,KsjŸI}”j±IKsjTy}”jfyKsjºÁ}”jÌÁKsjÿj}”jkKsjÆ}”j>ÆKsjWæ}”j„æKsj9}”jXKsjše}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjü”}”j•Ksujò,}”jÝ,}”jë,Kssjù,}”jÝ,}”jõ,Kssj-}”j-}”j-Kssj-}”j-}”j-Kssj1-}”(j)-}”j--KsjVƒ}”jZƒKsjƒ}”jƒƒKsj’†}”j–†Ksjã‰}”jõ‰Ksj»k}”j¿kKsj:s}”j>sKsujA-}”j)-}”j:-KssjH-}”j)-}”jD-KssjO-}”(j)-}”jK-KsjVƒ}”jxƒKsjƒ}”j¡ƒKsj’†}”j´†Ksj»k}”jÝkKsj:s}”j\sKsujg-}”jR-}”j`-Kssjn-}”jR-}”jj-Kssju-}”(jR-}”jq-Ksj¾ž}”jÝžKsj|ð}”j›ðKsj)}”j/)Ksjþd}”j.eKsj÷}”jKsjh*}”j‡*Ksjì9}”j :Ksjàh}”jÿhKsuj|-}”jR-}”jx-KssjŽ-}”j-}”jŠ-Kssj˜-}”j-}”j‘-KssjŸ-}”j-}”j›-Kssj©-}”j¦-}”jÀ-KssjÈ-}”j¦-}”jÄ-Kssj´-}”jÈ-}”jÀ-Kssj¦-}”j-}”j¢-Kssjæ-}”jÑ-}”jß-Kssjí-}”jÑ-}”jé-Kssjô-}”(jÑ-}”jð-Ksj|Ð}”jŽÐKsj$Ñ}”jCÑKsj6ñ}”jUñKsjõõ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÌ}”jëKsjKJ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjFY}”jeYKsjh\}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjuk}”j”kKsuj.}”j÷-}”j .Kssj.}”j÷-}”j.Kssj6.}”(j$.}”j2.Ksj9}”j9KsjU9}”jc9KsjqQ}”jQKsjz{}”hŒhttp://schema.org/source”…”R”Ksj…}”j…Ksj{ˆ}”j‰ˆKsjúŠ}”j‹KsjŒ}”j!ŒKsjy }”j‡ Ksj0}”j>KsjÙ·}”jç·Ksj¨¼}”j³¼KsjÁ}”jÁKsjWÂ}”jeÂKsj_ë}”jmëKsjú}”júKsjàÿ}”jîÿKsj¬}”j·Ksj }”j Ksj- }”j; KsjæR}”jôRKsjÖ}}”jä}Ksj¨€}”j¶€Ksjë¡}”jù¡Ksjv¢}”j„¢Ksuj@.}”j$.}”j9.KssjG.}”j$.}”jC.KssjU.}”j$.}”jQ.KssjX.}”j$.}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[.}”j$.}”hŒ#http://www.w3.org/ns/shacl#property”…”R”•Kssj^.}”j$.}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjp.}”(ja.}”jl.Ksj¨_}”j³_Ksj2Ã}”j=ÃKsjx}”jƒKsj¨}”j˜¨Ksj›Ú}”j¦ÚKsjúî}”jïKsjR;}”j];Ksujw.}”(ja.}”js.Ksj¨_}”jº_Ksj¹}”j@¹Ksj2Ã}”jDÃKsjx}”jŠKsj¨}”jŸ¨Ksj›Ú}”j­ÚKsjúî}”j ïKsjR;}”jd;Ksuj.}”(ja.}”jz.Ksj¨_}”jÁ_Ksj2Ã}”jKÃKsjx}”j‘Ksj¨}”j¦¨Ksj›Ú}”j´ÚKsjúî}”jïKsjR;}”jk;Ksujˆ.}”(ja.}”j„.Ksj¨_}”jË_Ksj2Ã}”jUÃKsjx}”j›Ksj¨}”j°¨Ksj›Ú}”j¾ÚKsjúî}”jïKsjR;}”ju;Ksujš.}”(j‹.}”j–.Ksjذ}”jã°Ksjçà}”jòàKsjNô}”jYôKsj~>}”j‰>Ksuj¤.}”(j‹.}”j.Ksjذ}”jê°Ksjçà}”jùàKsjNô}”j`ôKsj~>}”j>Ksuj«.}”(j‹.}”j§.Ksjذ}”jô°Ksjçà}”jáKsjNô}”jjôKsj~>}”jš>Ksujµ.}”j².}”jÌ.KssjÔ.}”j².}”jÐ.KssjÀ.}”jÔ.}”jÌ.Kssj².}”j‹.}”j®.Kssjì.}”(jÝ.}”jè.Ksj¸q}”jÃqKsjÊÉ}”jÕÉKsjO—}”jZ—Ksj ´}”j´Ksjã}”j ãKsj÷}”j*÷KsjÈ?}”jÓ?Ksujó.}”(jÝ.}”jï.Ksj½F}”jãFKsj¸q}”jÊqKsjâq}”jôqKsjÓ{}”j|KsjG¹}”jt¹KsjÊÉ}”jÜÉKsjã?}”j@KsjO—}”ja—Ksjy—}”j‹—Ksj ´}”j´Ksj4´}”jF´Ksjã}”jãKsj+ã}”j=ãKsj÷}”j1÷KsjI÷}”j[÷Ksj}”j.Ksjo,}”j,KsjÈ?}”jÚ?Ksjφ}”jü†Ksuu(jý.}”(jÝ.}”jö.Ksj¸q}”jÑqKsjÊÉ}”jãÉKsjO—}”jh—Ksj ´}”j#´Ksjã}”jãKsj÷}”j8÷KsjÈ?}”já?Ksuj/}”(jÝ.}”j/Ksj¸q}”jÛqKsjÊÉ}”jíÉKsjO—}”jr—Ksj ´}”j-´Ksjã}”j$ãKsj÷}”jB÷KsjÈ?}”jë?Ksuj/}”(j/}”j/Ksjë´}”jö´KsjUã}”j`ãKsjø}”jøKsjû@}”jAKsuj'/}”(j/}”j /Ksjë´}”jµKsjUã}”jnãKsjø}”j*øKsjû@}”jAKsuj./}”(j/}”j*/Ksjë´}”jµKsjUã}”jxãKsjø}”j4øKsjû@}”jAKsujF/}”j1/}”j?/KssjM/}”j1/}”jI/KssjT/}”(j1/}”jP/Ksj0^}”jB^Ksjü}”jKsj7}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjŸ}”j£KsjÍ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj´s}”j¸sKsjt}”j‘tKsjA™}”j`™Ksjp}”jtKsj}”jKsjW}”j[Ksj]|}”ja|Ksujl/}”jW/}”je/Kssjs/}”jW/}”jo/Kssj’/}”j}/}”j‹/Kssj™/}”j}/}”j•/Kssj¸/}”j£/}”j±/Kssj¿/}”j£/}”j»/KssjÍ/}”j£/}”jÉ/KssjÐ/}”j£/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÓ/}”j£/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÖ/}”j£/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÙ/}”j£/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÜ/}”j£/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjî/}”jß/}”jê/Kssjÿ/}”jß/}”jø/Kssj0}”jß/}”j0Kssj0}”(j 0}”j0Ksj"4}”j-4Ksuj"0}”(j 0}”j0Ksj"4}”j44Ksuj)0}”(j 0}”j%0Ksj"4}”j>4Ksuj;0}”(j30}”j70KsjL4}”jP4Ksuj30}”j00}”jJ0KssjR0}”j00}”jN0Kssj>0}”jR0}”jJ0Kssj00}”j 0}”j,0Kssjj0}”j[0}”jf0Kssj{0}”j[0}”jt0Kssj‚0}”j[0}”j~0Kssj”0}”(j…0}”j0Ksji}”j˜iKsjs}”jsKsujž0}”(j…0}”j—0Ksji}”jŸiKsjs}”j sKsuj¥0}”(j…0}”j¡0Ksji}”j©iKsjs}”j*sKsuj¯0}”j¬0}”jÆ0KssjÎ0}”j¬0}”jÊ0Kssjº0}”jÎ0}”jÆ0Kssj¬0}”j…0}”j¨0Kssjæ0}”j×0}”jâ0Kssjí0}”j×0}”jé0Kssj÷0}”j×0}”jð0Kssjþ0}”j×0}”jú0Kssj1}”j1}”j 1Kssj1}”(j1}”j1Ksjn5}”j€5KsjÕ}”jçKsjm}”jšKsuj!1}”j1}”j1Kssj(1}”j1}”j$1Kssj@1}”j+1}”j91KssjG1}”j+1}”jC1KssjN1}”(j+1}”jJ1Ksjlp}”j~pKsjŽq}”j qKsjœ}”j0œKsujU1}”j+1}”jQ1KssjX1}”j+1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[1}”j+1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj^1}”j+1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjp1}”ja1}”jl1Kssjw1}”(ja1}”js1Ksj/9}”jN9KsjHD}”jgDKsjxK}”j—KKsj·Z}”jÖZKsjdq}”jvqKsjl}}”j‹}KsjŠ}”j;ŠKsj-’}”j1’KsjŒ¬}”j«¬Ksj˜Ê}”jªÊKsjÂÊ}”jÔÊKsjìÊ}”jþÊKsj½Ì}”jêÌKsjÖÓ}”jõÓKsj§Õ}”jÆÕKsjúâ}”jãKsj¢ô}”jÏôKsj }”j KsjŸ}”j±Ksj`}”jrKsj $}”j$Ksj´,}”jÓ,KsjÞp}”jðpKsjXr}”jwrKsjJ•}”jN•Ksj“¬}”j¥¬Ksj½¬}”jϬKsjìÒ}”jþÒKsj—Û}”j©ÛKsjÁÛ}”jÓÛKsjyå}”j‹åKsj&}”jEKsj¡0}”jÀ0Ksj«5}”jÊ5Ksj”J}”j³JKsjlY}”j‹YKsj l}”j)lKsjJp}”jNpKsjî…}”j†Ksj£œ}”jœKsuj1}”ja1}”jz1Kssjˆ1}”ja1}”j„1Kssjš1}”j‹1}”j–1Kssj«1}”j‹1}”j¤1Kssj²1}”j‹1}”j®1KssjÄ1}”(jµ1}”jÀ1Ksjåi}”jðiKsjÞ5}”jé5Ksjod}”jzdKsujÎ1}”(jµ1}”jÇ1Ksjåi}”j÷iKsjÞ5}”jð5Ksjod}”jdKsujÕ1}”(jµ1}”jÑ1Ksjåi}”jjKsjÞ5}”jú5Ksjod}”j‹dKsujç1}”(jß1}”jã1KsjF5}”jJ5Ksj÷O}”jûOKsjP}”j1PKsjZT}”j^TKsj]j}”jajKsjÀÆ}”jÄÆKsjé*}”jí*Ksj%3}”j)3Ksjj}”jjKsjè¯}”jì¯KsjüÐ}”jÑKsj:ÿ}”j>ÿKsj6}”j 6KsjãA}”jçAKsj™d}”jdKsj§t}”j«tKsjù°}”jý°Ksj!±}”j3±Ksujß1}”jÜ1}”jö1Kssjþ1}”jÜ1}”jú1Kssjê1}”jþ1}”jö1KssjÜ1}”jµ1}”jØ1Kssj2}”(j2}”j2Ksj˜5}”j£5Ksj06}”j;6Ksuj'2}”(j2}”j 2Ksj˜5}”j±5Ksj06}”jI6Ksuj.2}”(j2}”j*2Ksj˜5}”j»5Ksj06}”jS6KsujM2}”j12}”jF2KssjT2}”j12}”jP2Kssjb2}”j12}”j^2Kssje2}”j12}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh2}”j12}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjz2}”jk2}”jv2Kssj„2}”jk2}”j}2Kssj‹2}”jk2}”j‡2Kssj•2}”j’2}”j¬2Kssj´2}”j’2}”j°2Kssj 2}”j´2}”j¬2Kssj’2}”jk2}”jŽ2KssjÌ2}”j½2}”jÈ2KssjÖ2}”j½2}”jÏ2KssjÝ2}”j½2}”jÙ2Kssjç2}”jä2}”jþ2Kssj3}”jä2}”j3Kssjò2}”j3}”jþ2Kssjä2}”j½2}”jà2Kssj3}”j3}”j3Kssj/3}”j3}”j(3Kssj63}”j3}”j23KssjO3}”j93}”jK3KssjV3}”j93}”jR3Kssjn3}”jY3}”jg3Kssju3}”jY3}”jq3Kssj|3}”(jY3}”jx3Ksjo>}”jŽ>KsjN’}”jR’KsjóÕ}”jÖKsj ã}”jFãKsj(ò}”jGòKsjk•}”jo•KsjÝ¢}”já¢Ksj9¦}”j=¦Ksjñ¸}”jõ¸KsjµÆ}”jÇÆKsjcó}”jgóKsjµó}”j¹óKsj>}”j>Ksja>}”je>Ksj5B}”jGBKsj,i}”jRiKsj2j}”jQjKsjŸ~}”j£~Ksj>ª}”jkªKsujƒ3}”jY3}”j3Kssj†3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡3}”jY3}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³3}”j¤3}”j¯3KssjÄ3}”j¤3}”j½3KssjË3}”j¤3}”jÇ3KssjÝ3}”jÎ3}”jÙ3Kssjî3}”jÎ3}”jç3Kssjõ3}”jÎ3}”jñ3Kssj4}”jø3}”j4Kssj4}”jø3}”j4Kssj4}”jø3}”j4KssjL4}”jI4}”jc4Kssjk4}”jI4}”jg4KssjW4}”jk4}”jc4KssjI4}”j"4}”jE4Kssjƒ4}”jt4}”j4Kssj”4}”jt4}”j4Kssj›4}”jt4}”j—4Kssj­4}”jž4}”j©4Kssj¾4}”jž4}”j·4KssjÅ4}”jž4}”jÁ4Kssj×4}”(jÈ4}”jÓ4Ksj½Ê}”jÈÊKsj‘ˆ}”jœˆKsujè4}”(jÈ4}”já4Ksj½Ê}”jÖÊKsj‘ˆ}”jªˆKsujï4}”(jÈ4}”jë4Ksj½Ê}”jàÊKsj‘ˆ}”j´ˆKsuj5}”jò4}”jý4Kssj5}”(jò4}”j5Ksj¡}”jÀKsj)k}”jHkKsuj5}”jò4}”j 5Kssj5}”jò4}”j5Kssj+5}”(j5}”j'5KsjÍO}”jØOKsj3j}”j>jKsj–Æ}”j¡ÆKsj¿*}”jÊ*Ksjÿ}”jÿKsjϰ}”jÚ°Ksuj55}”(j5}”j.5KsjÍO}”jßOKsj3j}”jEjKsj–Æ}”j¨ÆKsj¿*}”jÑ*Ksjÿ}”j"ÿKsjϰ}”já°Ksuj<5}”(j5}”j85KsjÍO}”jéOKsj3j}”jOjKsj–Æ}”j²ÆKsj¿*}”jÛ*Ksjÿ}”j,ÿKsjϰ}”jë°KsujF5}”jC5}”j]5Kssje5}”jC5}”ja5KssjQ5}”je5}”j]5KssjC5}”j5}”j?5Kssj}5}”jn5}”jy5KssjŽ5}”jn5}”j‡5Kssj•5}”jn5}”j‘5KssjÞ5}”(jÂ5}”hŒhttp://schema.org/source”…”R”Ksj Í}”hŒhttp://schema.org/source”…”R”Ksjµ}”hŒhttp://schema.org/source”…”R”Ksjþd}”hŒhttp://schema.org/source”…”R”Ksjãe}”hŒhttp://schema.org/source”…”R”Ksj!}”hŒhttp://schema.org/source”…”R”Ksujè5}”jÂ5}”já5Kssjï5}”jÂ5}”jë5Kssjö5}”(jÂ5}”jò5Ksj•}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjµ}”jåKsuj6}”jù5}”j6Kssj6}”jù5}”j6Kssj6}”(jù5}”j6KsjbE}”jEKsj‡û}”j¦ûKsjxf}”j—fKsjhc}”j‡cKsuj16}”(j6}”j-6Ksjï?}”jý?Ksj¸Ÿ}”jßKsjÄf}”jÒfKsjDg}”jRgKsjí }”jø Ksj~j}”j‰jKsujB6}”j6}”j;6KssjI6}”j6}”jE6KssjP6}”(j6}”jL6Ksjd?}”jŠ?Ksj’Ø}”j–ØKsjÄf}”jñfKsjDg}”jqgKsujW6}”j6}”jS6KssjZ6}”j6}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjl6}”(j]6}”jh6Ksj›?}”j¦?Ksuj}6}”(j]6}”jv6Ksj›?}”j´?Ksuj„6}”(j]6}”j€6Ksj›?}”j¾?Ksuj–6}”(j‡6}”j’6KsjÅ?}”jÐ?Ksuj§6}”(j‡6}”j 6KsjÅ?}”jÞ?Ksuj®6}”(j‡6}”jª6KsjÅ?}”jè?KsujÆ6}”j±6}”j¿6KssjÍ6}”j±6}”jÉ6Kssjì6}”j×6}”jå6Kssjó6}”j×6}”jï6Kssj7}”jý6}”j 7Kssj7}”jý6}”j7Kssj87}”j#7}”j17Kssj?7}”j#7}”j;7KssjM7}”j#7}”jI7KssjP7}”j#7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS7}”j#7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV7}”j#7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh7}”jY7}”jd7Kssjr7}”jY7}”jk7Kssjy7}”jY7}”ju7Kssj‹7}”(jƒ7}”j‡7Ksj)8}”j-8Ksuj–7}”(jŽ7}”j’7Ksj48}”j88Ksujƒ7}”j€7}”jš7Kssj¢7}”j€7}”jž7KssjŽ7}”j¢7}”jš7Kssj€7}”jY7}”j|7Kssjº7}”j«7}”j¶7KssjË7}”j«7}”jÄ7KssjÒ7}”j«7}”jÎ7Kssjä7}”jÕ7}”jà7Kssjõ7}”jÕ7}”jî7Kssjü7}”jÕ7}”jø7Kssj8}”jÿ7}”j 8Kssj8}”jÿ7}”j8Kssj8}”jÿ7}”j8Kssj)8}”j&8}”j@8KssjH8}”j&8}”jD8Kssj48}”jH8}”j@8Kssj&8}”jÿ7}”j"8Kssjf8}”jQ8}”j_8Kssjm8}”jQ8}”ji8Kssj{8}”jQ8}”jw8Kssj~8}”jQ8}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8}”jQ8}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“8}”(j„8}”j8Ksjž²}”j©²Ksuj¤8}”(j„8}”j8Ksjž²}”j·²Ksuj«8}”(j„8}”j§8Ksjž²}”jÁ²Ksuj½8}”j®8}”j¹8KssjÎ8}”j®8}”jÇ8KssjÕ8}”j®8}”jÑ8Kssjç8}”jØ8}”jã8Kssjø8}”jØ8}”jñ8Kssjÿ8}”jØ8}”jû8Kssj9}”j9}”j9Kssj%9}”j9}”j!9KssjD9}”j/9}”j=9KssjK9}”j/9}”jG9Kssjq9}”jU9}”jj9Kssjx9}”jU9}”jt9KssjŸ9}”j‚9}”j›9Kssj¦9}”j‚9}”j¢9Kssj¾9}”j©9}”j·9KssjÅ9}”j©9}”jÁ9KssjÌ9}”(j©9}”jÈ9Ksjðœ}”jKsjv¤}”j•¤Ksj¿}”j®¿KsjØé}”jþéKsjô}”jKsjc}”j‚Ksjh9}”j‡9Ksjcs}”j‚sKsujÓ9}”j©9}”jÏ9KssjÖ9}”j©9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÙ9}”j©9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjë9}”(jÜ9}”jç9Ksjè’}”jó’KsjÚÚ}”jåÚKsj£—}”j®—Ksj$¤}”j/¤Ksujõ9}”(jÜ9}”jî9Ksjè’}”jú’KsjÚÚ}”jìÚKsj£—}”jµ—Ksj$¤}”j6¤Ksujü9}”(jÜ9}”jø9Ksjè’}”j“KsjÚÚ}”jöÚKsj£—}”j¿—Ksj$¤}”j@¤Ksuj:}”j:}”j:Kssj%:}”j:}”j!:Kssj:}”j%:}”j:Kssj:}”jÜ9}”jÿ9Kssj=:}”j.:}”j9:KssjG:}”j.:}”j@:KssjN:}”j.:}”jJ:KssjX:}”jU:}”jo:Kssjw:}”jU:}”js:Kssjc:}”jw:}”jo:KssjU:}”j.:}”jQ:Kssj:}”(j€:}”j‹:KsjÂ9}”jÍ9Ksuj–:}”(j€:}”j’:Ksj2”}”jD”Ksj™}”j)™KsjÂ9}”jÔ9Ksuj :}”(j€:}”j™:Ksj2”}”jK”Ksj™}”j0™KsjÂ9}”jÛ9Ksuj§:}”(j€:}”j£:KsjÂ9}”jå9KsujÃ:}”jª:}”j¿:KssjÍ:}”jª:}”jÆ:KssjÔ:}”jª:}”jÐ:KssjÛ:}”(jª:}”j×:KsjtS}”j“SKsj,Z}”j0ZKsj¨ƒ}”j΃KsjË…}”jø…Ksj'‹}”jT‹Ksjê²}”jî²Ksj©¶}”j­¶Ksjá»}”j¼Ksj Í}”jÐÍKsj“è}”j²èKsj“ê}”j¹êKsj– }”jµ Ksjâa}”jbKsjqc}”jucKsjâ†}”j‡Ksjõ™}”j"šKsj0}”jVKsjÙ·}”jÿ·Ksjàè}”j éKsj_ë}”j…ëKsjàÿ}”jKsjÇ}”jËKsj}}”jKsjá }”jå Ksj- }”jS Ksj— }”j› KsjM}”jQKsj™}”j¿Ksj!}”jD!Ksj‹C}”j¸CKsjwD}”j¤DKsjÖ}}”jü}Ksjë¡}”j¢Ksujâ:}”jª:}”jÞ:Kssjå:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjè:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjë:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjî:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjñ:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjô:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj÷:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjú:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý:}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jª:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$;}”j;}”j ;Kssj.;}”j;}”j';Kssj5;}”j;}”j1;Kssj?;}”j<;}”jV;Kssj^;}”j<;}”jZ;KssjJ;}”j^;}”jV;Kssj<;}”j;}”j8;Kssjv;}”jg;}”jr;Kssj‡;}”jg;}”j€;KssjŽ;}”jg;}”jŠ;Kssj ;}”j‘;}”jœ;Kssj±;}”j‘;}”jª;Kssj¸;}”j‘;}”j´;KssjÊ;}”j»;}”jÆ;KssjÛ;}”j»;}”jÔ;Kssjâ;}”j»;}”jÞ;Kssjô;}”jå;}”jð;Kssj<}”jå;}”jþ;Kssj <}”jå;}”j<Kssj<}”j<}”j<Kssj/<}”j<}”j(<Kssj6<}”j<}”j2<KssjH<}”j9<}”jD<KssjY<}”j9<}”jR<Kssj`<}”j9<}”j\<Kssjr<}”jc<}”jn<Kssjƒ<}”jc<}”j|<KssjŠ<}”jc<}”j†<Kssjœ<}”j<}”j˜<Kssj­<}”j<}”j¦<Kssj´<}”j<}”j°<KssjÆ<}”j·<}”jÂ<Kssj×<}”j·<}”jÐ<KssjÞ<}”j·<}”jÚ<Kssjð<}”já<}”jì<Kssj=}”já<}”jú<Kssj=}”já<}”j=Kssj=}”j =}”j=Kssj+=}”j =}”j$=Kssj2=}”j =}”j.=KssjD=}”j5=}”j@=KssjU=}”j5=}”jN=Kssj\=}”j5=}”jX=Kssjn=}”j_=}”jj=Kssj=}”j_=}”jx=Kssj†=}”j_=}”j‚=Kssj˜=}”j‰=}”j”=Kssj©=}”j‰=}”j¢=Kssj°=}”j‰=}”j¬=KssjÂ=}”j³=}”j¾=KssjÓ=}”j³=}”jÌ=KssjÚ=}”j³=}”jÖ=Kssjì=}”(jÝ=}”jè=Ksj¸}”jÃKsj3}”j>KsjU}”jUKsujö=}”(jÝ=}”jï=Ksj¸}”jÊKsj3}”jEKsjU}”j&UKsujý=}”(jÝ=}”jù=Ksj¸}”jÔKsj3}”jOKsjU}”j0UKsuj>}”j>}”j>Kssj&>}”j>}”j">Kssj>}”j&>}”j>Kssj>}”jÝ=}”j>Kssj7>}”(j/>}”j3>Ksj©@}”j­@Ksj3}}”j7}Ksjš}”jšKsj~›}”j‚›Ksj;!}”j?!Ksj(w}”j:wKsj/œ}”j3œKsujE>}”j/>}”jA>KssjL>}”j/>}”jH>KssjW>}”(jO>}”jS>Ksjó }”j Ksjš8}”jž8Ksj¹}”j¹KsjO}”jSKsj€}”j€Ksj˜±}”jœ±Ksuje>}”jO>}”ja>Kssjl>}”jO>}”jh>Kssj„>}”jo>}”j}>Kssj‹>}”jo>}”j‡>Kssjª>}”j•>}”j£>Kssj±>}”j•>}”j­>Kssj×>}”j»>}”jÐ>KssjÞ>}”j»>}”jÚ>Kssj?}”jë>}”j?Kssj?}”jë>}”j ?Kssj-?}”j?}”j&?Kssj4?}”j?}”j0?Kssj;?}”(j?}”j7?Ksj£ }”j Ksjô}”jŽKsj4ç}”jSçKsjž(}”j½(Ksj:-}”jY-KsjÑ6}”jð6KsjÉ¢}”jè¢KsujS?}”j>?}”jL?KssjZ?}”j>?}”jV?Kssja?}”(j>?}”j]?Ksjx(}”j—(Ksj5}”j$5Ksuj€?}”jd?}”jy?Kssj‡?}”jd?}”jƒ?Kssj•?}”jd?}”j‘?Kssj˜?}”jd?}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj@}”jï?}”j @Kssj@}”jï?}”j@Kssj9@}”j#@}”j5@Kssj@@}”j#@}”j<@KssjY@}”jC@}”jU@Kssj`@}”jC@}”j\@Kssjk@}”(jc@}”jg@Ksj‡J}”j‹JKsj|}”j |Ksj¿6}”jÃ6KsjM}”jMKsjaŠ}”jeŠKsj–}”jšKsujy@}”jc@}”ju@Kssj€@}”jc@}”j|@Kssj˜@}”jƒ@}”j‘@KssjŸ@}”jƒ@}”j›@Kssj¿@}”j©@}”j»@KssjÆ@}”j©@}”jÂ@Kssjâ@}”(jÉ@}”jÞ@KsjƒA}”j˜AKsj ‡}”j!‡KsjƇ}”jÛ‡Ksujì@}”jÉ@}”jå@Kssjó@}”jÉ@}”jï@Kssjú@}”(jÉ@}”jö@Ksj&`}”j*`KsjÐd}”jÔdKsjdg}”jhgKsjÇg}”jËgKsjol}”jslKsjÒl}”jÖlKsjNo}”jRoKsjVs}”jZsKsjšt}”jžtKsjˆ}”jˆKsjé¬}”jí¬Ksj;­}”j?­Ksjž­}”j¢­Ksj˜®}”jœ®Ksjû®}”jÿ®Ksj^¯}”jb¯KsjD²}”jH²Ksj·´}”j»´Ksj‹}”jKsj)}”j-Ksj®}”j²Ksj}”jKsjÒ!}”jÖ!Ksj$"}”j("Ksj±"}”jµ"Ksj#}”j#Ksjf#}”jj#Ksj¸#}”j¼#Ksj}”jKsjÐ}”j!ÐKsjOö}”jSöKsj÷}”j¡÷KsjÞù}”jâùKsj;}”j?KsjŸ }”j£ Ksj }”jKsujA}”jÉ@}”jý@KssjA}”jÉ@}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjA}”(jA}”jAKsj¼B}”jÇBKsuj'A}”(jA}”j AKsj¼B}”jÕBKsuj.A}”(jA}”j*AKsj¼B}”jßBKsuj@A}”j1A}”j€KsjS€}”je€Ksjz€}”jŒ€Ksj¡€}”j³€KsjÈ€}”jÚ€Ksjï€}”jKsj}”j(Ksj=}”jOKsjd}”jvKsj‹}”jKsj²}”jÄKsjÙ}”jëKsj‚}”j‚Ksj'‚}”j9‚KsjN‚}”j`‚Ksju‚}”j‡‚Ksjœ‚}”j®‚KsjÂ}”jÕ‚Ksjê‚}”jü‚Ksjƒ}”j#ƒKsj8ƒ}”jJƒKsj_ƒ}”jqƒKsj†ƒ}”j˜ƒKsj­ƒ}”j¿ƒKsjÔƒ}”jæƒKsjûƒ}”j „Ksj"„}”j4„KsjI„}”j[„Ksjp„}”j‚„Ksj—„}”j©„Ksj¾„}”jЄKsjå„}”j÷„Ksj …}”j…Ksj3…}”jE…KsjZ…}”jl…Ksj…}”j“…Ksj¨…}”j½…Ksj_}”jtKsj“}”j¥Ksjà}”jõKsj€}”j“€Ksuj€C}”jcC}”j|CKssj‡C}”jcC}”jƒCKssjŸC}”jŠC}”j˜CKssj¦C}”jŠC}”j¢CKssj­C}”(jŠC}”j©CKsjœ}”j#œKsjàv}”jÿvKsujÅC}”j°C}”j¾CKssjÌC}”j°C}”jÈCKssjëC}”jÖC}”jäCKssjòC}”jÖC}”jîCKssjD}”jüC}”j DKssjD}”jüC}”jDKssj7D}”j"D}”j0DKssj>D}”j"D}”j:DKssj]D}”jHD}”jVDKssjdD}”jHD}”j`DKssj„D}”jnD}”j€DKssj‹D}”jnD}”j‡DKssj£D}”jŽD}”jœDKssjªD}”jŽD}”j¦DKssj±D}”(jŽD}”j­DKsj>}”j]Ksjj}”j‰KsjB,}”ja,Ksuj¸D}”jŽD}”j´DKssj»D}”jŽD}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÍD}”j¾D}”jÉDKssj×D}”(j¾D}”jÐDKsjE}”j"EKsujÞD}”j¾D}”jÚDKssjèD}”jåD}”jÿDKssjE}”jåD}”jEKssjóD}”jE}”jÿDKssjåD}”j¾D}”jáDKssjE}”jE}”jEKssj0E}”jE}”j,EKssj:E}”j7E}”jQEKssjYE}”j7E}”jUEKssjEE}”jYE}”jQEKssj7E}”jE}”j3EKssjwE}”jbE}”jpEKssj~E}”jbE}”jzEKssjE}”jˆE}”j–EKssj¤E}”jˆE}”j EKssjÃE}”j®E}”j¼EKssjÊE}”j®E}”jÆEKssjÑE}”(j®E}”jÍEKsj[}”j¯[Ksj¥…}”jÄ…Ksjê·}”j ¸KsjÊ(}”jé(KsujéE}”jÔE}”jâEKssjðE}”jÔE}”jìEKssjþE}”jÔE}”júEKssjF}”(jF}”j FKsj 0}”j«0Ksuj!F}”(jF}”jFKsj 0}”j¹0Ksuj(F}”(jF}”j$FKsj 0}”jÃ0KsujDF}”j+F}”j@FKssjNF}”j+F}”jGFKssjUF}”j+F}”jQFKssjcF}”j+F}”j_FKssjfF}”j+F}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjxF}”jiF}”jtFKssj‰F}”jiF}”j‚FKssjF}”jiF}”jŒFKssj¢F}”j“F}”jžFKssj³F}”j“F}”j¬FKssjºF}”j“F}”j¶FKssjÏF}”j½F}”jËFKssjÙF}”j½F}”jÒFKssjàF}”j½F}”jÜFKssjîF}”j½F}”jêFKssjG}”jñF}”jüFKssjG}”jñF}”j GKssjG}”jñF}”jGKssj8G}”jG}”j4GKssj?G}”jG}”j;GKssjJG}”(jBG}”jFGKsjÜO}”jàOKsjTX}”jXXKsujXG}”jBG}”jTGKssj_G}”jBG}”j[GKssjwG}”jbG}”jpGKssj~G}”jbG}”jzGKssjŒG}”jbG}”jˆGKssjG}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjžG}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§G}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjªG}”jbG}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼G}”(j­G}”j¸GKsj0x}”j;xKsjÀ}”j%ÀKsjÃ}”jÃKsjmh}”jxhKsj>k}”jIkKsj}”j˜Ksjôe}”jÿeKsj§’}”j²’Ksjh•}”js•Ksjš}”j šKsujÍG}”(j­G}”jÆGKsj0x}”jIxKsjÀ}”j3ÀKsjÃ}”j!ÃKsjmh}”j†hKsj>k}”jWkKsj}”j¦Ksjôe}”j fKsj§’}”jÀ’Ksjh•}”j•Ksjš}”j.šKsujÔG}”(j­G}”jÐGKsj0x}”jSxKsjÀ}”j=ÀKsjÃ}”j+ÃKsjmh}”jhKsj>k}”jakKsj}”j°Ksjôe}”jfKsj§’}”jÊ’Ksjh•}”j‹•Ksjš}”j8šKsujæG}”(j×G}”jâGKsjDÀ}”jOÀKsj—h}”j¢hKsjhk}”jskKsj·}”jÂKsjf}”j)fKsjÑ’}”jÜ’Ksj’•}”j•Ksj?š}”jJšKsuj÷G}”(j×G}”jðGKsjDÀ}”j]ÀKsj—h}”j°hKsjhk}”jkKsj·}”jÐKsjf}”j7fKsjÑ’}”jê’Ksj’•}”j«•Ksj?š}”jXšKsujþG}”(j×G}”júGKsjDÀ}”jgÀKsj—h}”jºhKsjhk}”j‹kKsj·}”jÚKsjf}”jAfKsjÑ’}”jô’Ksj’•}”jµ•Ksj?š}”jbšKsujH}”jH}”j HKssjH}”jH}”jHKssj!H}”jH}”jHKssj+H}”j(H}”jBHKssjJH}”j(H}”jFHKssj6H}”jJH}”jBHKssj(H}”jH}”j$HKssjbH}”(jSH}”j^HKsjZx}”jexKsjnÀ}”jyÀKsjÎÄ}”jÙÄKsjëh}”jöhKsj’k}”jkKsj }”jKsjœf}”j§fKsj%“}”j0“Ksj:–}”jE–Ksj»š}”jÆšKsujsH}”(jSH}”jlHKsjZx}”jsxKsjnÀ}”j‡ÀKsjÎÄ}”jçÄKsjëh}”jiKsj’k}”j«kKsj }”j$Ksjœf}”jµfKsj%“}”j>“Ksj:–}”jS–Ksj»š}”jÔšKsujzH}”(jSH}”jvHKsjZx}”j}xKsjnÀ}”j‘ÀKsjÎÄ}”jñÄKsjëh}”jiKsj’k}”jµkKsj }”j.Ksjœf}”j¿fKsj%“}”jH“Ksj:–}”j]–Ksj»š}”jÞšKsujŒH}”(j}H}”jˆHKsj˜À}”j£ÀKsji}”j iKsj¼k}”jÇkKsj5}”j@KsjÆf}”jÑfKsjO“}”jZ“Ksjd–}”jo–Ksjåš}”jðšKsujH}”(j}H}”j–HKsj˜À}”j±ÀKsji}”j.iKsj¼k}”jÕkKsj5}”jNKsjÆf}”jßfKsjO“}”jh“Ksjd–}”j}–Ksjåš}”jþšKsuj¤H}”(j}H}”j HKsj˜À}”j»ÀKsji}”j8iKsj¼k}”jßkKsj5}”jXKsjÆf}”jéfKsjO“}”jr“Ksjd–}”j‡–Ksjåš}”j›Ksuj¶H}”j§H}”j²HKssjÀH}”j§H}”j¹HKssjÇH}”j§H}”jÃHKssjÙH}”(jÑH}”jÕHKsjóI}”j÷IKsj/}”jAKsjÄ}”jÖKsujÑH}”jÎH}”jèHKssjðH}”jÎH}”jìHKssjÜH}”jðH}”jèHKssjÎH}”j§H}”jÊHKssjI}”(jùH}”jIKsj>Á}”jIÁKsjii}”jtiKsjæk}”jñkKsj³}”j¾KsjDg}”jOgKsj0”}”j;”KsjÒ—}”jÝ—Ksj›}”j›KsujI}”(jùH}”j IKsj>Á}”jPÁKsjii}”j{iKsjæk}”jøkKsj³}”jÅKsjDg}”jVgKsj0”}”jB”KsjÒ—}”jä—Ksj›}”j!›KsujI}”(jùH}”jIKsj>Á}”jZÁKsjii}”j…iKsjæk}”jlKsj³}”jÏKsjDg}”j`gKsj0”}”jL”KsjÒ—}”jî—Ksj›}”j+›Ksuj+I}”(j#I}”j'IKsjhÁ}”jlÁKsj“i}”j—iKsjl}”jlKsj»o}”j¿oKsjEu}”jIuKsjÝ}”jáKsjng}”jrgKsjZ”}”j^”Ksjü—}”j˜Ksj9›}”j=›Ksuj#I}”j I}”j:IKssjBI}”j I}”j>IKssj.I}”jBI}”j:IKssj I}”jùH}”jIKssjZI}”jKI}”jVIKssjaI}”(jKI}”j]IKsjÖx}”jèxKsjy}”jyKsjïå}”jæKsjí}”j Ksj_}”jqKsj‰}”j›Ksjåc}”jdKsjðf}”jgKsjg}”j,gKsjŽ–}”j –Ksj¸–}”jÊ–KsujkI}”jKI}”jdIKssjrI}”jKI}”jnIKssj„I}”(juI}”j€IKsjÁ}”j›ÁKsuj‹I}”(juI}”j‡IKsjÁ}”j¢ÁKsj#æ}”jPæKsj}”j2Ksjá}”jóKsj­}”j±KsjÕ}”jçKsjt7}”j‚7Ksje}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjHf}”jZfKsj>h}”jBhKsjfh}”jxhKsj–}”j"–KsjJ™}”jN™Ksjr™}”j„™Ksuj•I}”(juI}”jŽIKsjÁ}”j©ÁKsujœI}”(juI}”j˜IKsjÁ}”j³ÁKsuj®I}”(jŸI}”jªIKsjTy}”j_yKsjºÁ}”jÅÁKsuj¿I}”(jŸI}”j¸IKsjTy}”jmyKsjºÁ}”jÓÁKsujÆI}”(jŸI}”jÂIKsjTy}”jwyKsjºÁ}”jÝÁKsujØI}”jÉI}”jÔIKssjâI}”jÉI}”jÛIKssjéI}”jÉI}”jåIKssjóI}”jðI}”j JKssjJ}”jðI}”jJKssjþI}”jJ}”j JKssjðI}”jÉI}”jìIKssj0J}”jJ}”j)JKssj7J}”jJ}”j3JKssjIJ}”(jAJ}”jEJKsj,m}”j0mKsjxG}”j|GKsj‚”}”j””Ksj¢˜}”j´˜KsujPJ}”jAJ}”jLJKssjWJ}”jAJ}”jSJKssjlJ}”jZJ}”jhJKssjvJ}”(jZJ}”joJKsjÛP}”jéPKsuj}J}”jZJ}”jyJKssjJ}”j‡J}”j™JKssj¤J}”j‡J}”j JKssjÃJ}”j§J}”j¼JKssjÊJ}”j§J}”jÆJKssjØJ}”j§J}”jÔJKssjêJ}”jÛJ}”jæJKssjûJ}”jÛJ}”jôJKssjK}”jÛJ}”jþJKssjK}”jK}”jKKssj"K}”jK}”jKKssjAK}”j,K}”j:KKssjHK}”j,K}”jDKKssjOK}”(j,K}”jKKKsjž·}”j½·KsjHû}”jgûKsjc`}”j‚`Ksj›É}”jŸÉKsjkê}”jŠêKsjQ5}”jp5KsujgK}”jRK}”j`KKssjnK}”jRK}”jjKKssjK}”jxK}”j†KKssj”K}”jxK}”jKKssjºK}”jžK}”j³KKssjÁK}”jžK}”j½KKssjÈK}”jžK}”jÄKKssjËK}”jžK}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KssjêK}”jÎK}”jãKKssjñK}”jÎK}”jíKKssjøK}”jÎK}”jôKKssjÿK}”jÎK}”jûKKssjL}”jÎK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjL}”jÎK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjL}”jÎK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj L}”jÎK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjL}”jÎK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj L}”(jL}”jLKsjzM}”j…MKsjž}”j"žKsuj1L}”(jL}”j*LKsjzM}”j“MKsjž}”j0žKsuj8L}”(jL}”j4LKsjzM}”jMKsjž}”j:žKsujJL}”(j;L}”jFLKsj¤M}”j¯MKsj“ž}”jžžKsuj[L}”(j;L}”jTLKsj¤M}”j½MKsj“ž}”j¬žKsujbL}”(j;L}”j^LKsj¤M}”jÇMKsj“ž}”j¶žKsujtL}”(jeL}”jpLKsjÎM}”jÙMKsjaŸ}”jlŸKsuj…L}”(jeL}”j~LKsjÎM}”jçMKsjaŸ}”jzŸKsujŒL}”(jeL}”jˆLKsjÎM}”jñMKsjaŸ}”j„ŸKsujžL}”(jL}”jšLKsjøM}”jNKsj‹Ÿ}”j–ŸKsuj¯L}”(jL}”j¨LKsjøM}”jNKsj‹Ÿ}”j¤ŸKsuj¶L}”(jL}”j²LKsjøM}”jNKsj‹Ÿ}”j®ŸKsujÈL}”(j¹L}”jÄLKsj"N}”j-NKsjµŸ}”jÀŸKsujÙL}”(j¹L}”jÒLKsj"N}”j;NKsjµŸ}”jΟKsujàL}”(j¹L}”jÜLKsj"N}”jENKsjµŸ}”jØŸKsujòL}”jãL}”jîLKssjM}”jãL}”jüLKssj M}”jãL}”jMKssj)M}”j M}”j"MKssj0M}”j M}”j,MKssj7M}”(j M}”j3MKsjd}”j‘KsujVM}”j:M}”jOMKssj]M}”j:M}”jYMKssjkM}”j:M}”jgMKssjnM}”j:M}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjqM}”j:M}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjtM}”j:M}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjwM}”j:M}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjaN}”jLN}”jZNKssjhN}”jLN}”jdNKssjvN}”jLN}”jrNKssjyN}”jLN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj|N}”jLN}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽN}”jN}”jŠNKssjŸN}”jN}”j˜NKssj¦N}”jN}”j¢NKssj¸N}”j©N}”j´NKssjÉN}”j©N}”jÂNKssjÐN}”j©N}”jÌNKssjâN}”jÓN}”jÞNKssjóN}”jÓN}”jìNKssjúN}”jÓN}”jöNKssjO}”jýN}”j OKssjO}”jýN}”jOKssj'O}”jýN}”j#OKssj9O}”(j*O}”j5OKsj #}”j#KsujJO}”(j*O}”jCOKsj #}”j"#KsujQO}”(j*O}”jMOKsj #}”j,#Ksuj\O}”(jTO}”jXOKsj.›}”j@›Ksj¶}”jºKsjK±}”jO±KsujcO}”jTO}”j_OKssjjO}”jTO}”jfOKssj‚O}”jmO}”j{OKssj‰O}”jmO}”j…OKssj—O}”jmO}”j“OKssjšO}”jmO}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjO}”jmO}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj O}”jmO}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj²O}”(j£O}”j®OKsj²]}”j½]KsjÞÂ}”jéÂKsujÃO}”(j£O}”j¼OKsj²]}”jË]KsjÞÂ}”j÷ÂKsujÊO}”(j£O}”jÆOKsj²]}”jÕ]KsjÞÂ}”jÃKsuj÷O}”jôO}”jPKssjP}”jôO}”jPKssjP}”jP}”jPKssjôO}”jÍO}”jðOKssj.P}”(jP}”j*PKsj!±}”j,±Ksuj?P}”(jP}”j8PKsj!±}”j:±KsujFP}”(jP}”jBPKsj!±}”jD±KsujsP}”jpP}”j PKssj¨P}”jpP}”j¤PKssj~P}”j¨P}”j PKssj®P}”j¨P}”j¤PKssj‰P}”j®P}”j PKssj´P}”j®P}”j¤PKssj”P}”j´P}”j PKssjpP}”jIP}”jlPKssjÓP}”j½P}”jÏPKssjÚP}”j½P}”jÖPKssjáP}”(j½P}”jÝPKsj|”}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjk•}”j‹•Ksj“—}”j³—Ksj¸}”j0¸Ksj.ð}”jNðKsjUô}”juôKsj»A}”jáAKsj‰`}”j©`Ksj»†}”jÛ†KsjŠ}”j¡ŠKsjPœ}”jpœKsjÉž}”jïžKsjöž}”jŸKsjL·}”jl·KsjðÂ}”jÃKsjÖÕ}”jõÕKsj]Ø}”j|ØKsjJÙ}”jjÙKsjÄä}”jääKsjäæ}”jçKsjÑí}”jñíKsj1}”jQKsj…}”j¥KsujìP}”(jäP}”jèPKsj}}”j}Ksj\”}”j`”KsjÚ,}”jÞ,Ksj%a}”j)aKsjo}”j%oKsj#}”j'KsjDS}”jHSKsjÚX}”jÞXKsj±^}”jµ^KsujúP}”jäP}”jöPKssjQ}”jäP}”jýPKssjQ}”jQ}”jQKssj'Q}”jQ}”j QKssj.Q}”jQ}”j*QKssj5Q}”(jQ}”j1QKsj¼æ}”jÀæKsj±P}”jÃPKsjlX}”jpXKsujNQ}”j8Q}”jJQKssjUQ}”j8Q}”jQQKssjgQ}”jXQ}”jcQKssjnQ}”jXQ}”jjQKssjQ}”jqQ}”j†QKssj”Q}”jqQ}”jQKssj›Q}”(jqQ}”j—QKsj{ˆ}”j¡ˆKsj}”j"Ksj¾’}”jÐ’Ksj¸}”jƸKsj®ø}”jÀøKsjî}”jòKsj}”j Ksj`}”jdKsj“}”j“Ksjû–}”j —KsjÁ}”j§ÁKsj)Ò}”j-ÒKsjÕë}”jçëKsj '}”j'Ksj‰r}”jrKsjæw}”jøwKsj¨€}”j΀Ksuj¢Q}”jqQ}”jžQKssj¥Q}”jqQ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj·Q}”j¨Q}”j³QKssj¾Q}”(j¨Q}”jºQKsjÎ}”j ÎKsujÈQ}”j¨Q}”jÁQKssjÏQ}”j¨Q}”jËQKssjáQ}”(jÒQ}”jÝQKsjÒ}”jÝKsujëQ}”(jÒQ}”jäQKsjÒ}”jäKsujòQ}”(jÒQ}”jîQKsjÒ}”jîKsujR}”(jüQ}”jRKsj%}”j)Ksjg,}”jk,Ksjº8}”j¾8Ksj°`}”j´`KsjS0}”jW0KsjÇ0}”jË0Ksjü}”j‚KsujüQ}”jùQ}”jRKssjR}”jùQ}”jRKssjR}”jR}”jRKssjùQ}”jÒQ}”jõQKssj9R}”j$R}”j2RKssj@R}”j$R}”j}”j>KsjV>}”jZ>KsjæR}”j SKsj”~}”j˜~Ksjb‡}”j‡Ksuj~U}”j{U}”j•UKssjU}”j{U}”j™UKssj‰U}”jU}”j•UKssj{U}”jTU}”jwUKssjµU}”(j¦U}”j±UKsjˆ´}”j“´Ksjò?}”jý?Ksuj¿U}”(j¦U}”j¸UKsjˆ´}”jš´Ksjò?}”j@KsujÆU}”(j¦U}”jÂUKsjˆ´}”j¤´Ksjò?}”j@KsujÐU}”jÍU}”jòUKssjúU}”jÍU}”jöUKssjÛU}”júU}”jòUKssjV}”júU}”jöUKssjæU}”jV}”jòUKssjÍU}”j¦U}”jÉUKssjV}”(j V}”jVKsj»µ}”jƵKsj¶Ô}”jÁÔKsjÓã}”jÞãKsuj)V}”(j V}”j"VKsj»µ}”jÔµKsj¶Ô}”jÏÔKsjÓã}”jìãKsuj0V}”(j V}”j,VKsj»µ}”jÞµKsj¶Ô}”jÙÔKsjÓã}”jöãKsujHV}”j3V}”jAVKssjOV}”j3V}”jKVKssjvV}”jYV}”jrVKssj}V}”jYV}”jyVKssj•V}”j€V}”jŽVKssjœV}”j€V}”j˜VKssj»V}”j¦V}”j´VKssjÂV}”j¦V}”j¾VKssjáV}”jÌV}”jÚVKssjèV}”jÌV}”jäVKssjW}”jòV}”jWKssjW}”jòV}”j WKssj-W}”jW}”j&WKssj4W}”jW}”j0WKssj;W}”(jW}”j7WKsj Ÿ}”j*ŸKsjÍÕ}”jìÕKsjU¹}”jt¹KsjEÖ}”jdÖKsjŸ°}”j¾°KsujBW}”jW}”j>WKssjEW}”jW}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjHW}”jW}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjZW}”jKW}”jVWKssjdW}”jKW}”j]WKssjkW}”jKW}”jgWKssjuW}”jrW}”jŒWKssj”W}”jrW}”jWKssj€W}”j”W}”jŒWKssjrW}”jKW}”jnWKssj¬W}”jW}”j¨WKssj³W}”jW}”j¯WKssj½W}”jW}”j¶WKssjÄW}”jW}”jÀWKssjÖW}”jÇW}”jÒWKssjÝW}”jÇW}”jÙWKssjçW}”jÇW}”jàWKssjîW}”jÇW}”jêWKssj X}”jñW}”jXKssjX}”jñW}”jXKssj"X}”jñW}”jXKssj4X}”j%X}”j0XKssjEX}”j%X}”j>XKssjLX}”j%X}”jHXKssjhX}”jOX}”jdXKssjrX}”jOX}”jkXKssjyX}”jOX}”juXKssj˜X}”jƒX}”j‘XKssjŸX}”jƒX}”j›XKssj¾X}”j©X}”j·XKssjÅX}”j©X}”jÁXKssjÏX}”(j©X}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj3}”j`KsujÖX}”j©X}”jÒXKssjÙX}”j©X}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÜX}”j©X}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjßX}”j©X}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjâX}”j©X}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjåX}”j©X}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj÷X}”jèX}”jóXKssjY}”jèX}”jYKssjY}”jèX}”j YKssj!Y}”jY}”jYKssj+Y}”jY}”j$YKssj2Y}”jY}”j.YKssjDY}”(jnKssjFn}”jn}”jBnKssj'n}”jFn}”j>nKssjLn}”jFn}”jBnKssj2n}”jLn}”j>nKssjn}”jòm}”jnKssjdn}”jUn}”j`nKssjnn}”jUn}”jgnKssjvn}”jUn}”jqnKssj€n}”j}n}”j—nKssjŸn}”j}n}”j›nKssj‹n}”jŸn}”j—nKssj}n}”jUn}”jynKssj·n}”j¨n}”j³nKssjÈn}”j¨n}”jÁnKssjÏn}”j¨n}”jËnKssjün}”jùn}”joKssjo}”jùn}”joKssjo}”jo}”joKssjùn}”jÒn}”jõnKssj3o}”(j$o}”j/oKsj%ö}”j0öKsuj=o}”(j$o}”j6oKsj%ö}”j7öKsujDo}”(j$o}”j@oKsj%ö}”jAöKsujNo}”jKo}”jeoKssjmo}”jKo}”jioKssjYo}”jmo}”jeoKssjKo}”j$o}”jGoKssj…o}”(jvo}”joKsjë+}”jö+Ksujo}”(jvo}”jˆoKsjë+}”jý+Ksuj–o}”(jvo}”j’oKsjë+}”j,Ksuj o}”jo}”j·oKssj¿o}”jo}”j»oKssj«o}”j¿o}”j·oKssjo}”jvo}”j™oKssj×o}”jÈo}”jÓoKssjáo}”jÈo}”jÚoKssjèo}”jÈo}”jäoKssjòo}”jïo}”j pKssjp}”jïo}”j pKssjýo}”jp}”j pKssjïo}”jÈo}”jëoKssj)p}”(jp}”j%pKsjß´}”jê´Ksj-}”j8Ksj¼}”j ¼Ksjè%}”jó%KsjL?}”jW?Ksj}}”j }Ksuj3p}”(jp}”j,pKsjß´}”jñ´Ksj-}”j?Ksj¼}”j¼Ksjè%}”jú%KsjL?}”j^?Ksj}}”j}Ksuj:p}”(jp}”j6pKsjß´}”jû´Ksj-}”jIKsj¼}”j¼Ksjè%}”j&KsjL?}”jh?Ksj}}”j}KsujDp}”jAp}”j[pKssjcp}”jAp}”j_pKssjOp}”jcp}”j[pKssjAp}”jp}”j=pKssj{p}”jlp}”jwpKssjŒp}”jlp}”j…pKssj“p}”jlp}”jpKssj¥p}”j–p}”j¡pKssj¯p}”j–p}”j¨pKssj¶p}”j–p}”j²pKssjÀp}”j½p}”j×pKssjßp}”j½p}”jÛpKssjËp}”jßp}”j×pKssj½p}”j–p}”j¹pKssj÷p}”jèp}”jópKssjq}”jèp}”jqKssjq}”jèp}”j qKssj!q}”(jq}”jqKsj¸³}”jóKsjÓ}”j!ÓKsuj+q}”(jq}”j$qKsj¸³}”jʳKsjÓ}”j(ÓKsuj2q}”(jq}”j.qKsj¸³}”jÔ³KsjÓ}”j2ÓKsujsKsjs÷}”j…÷KsujLs}”(j,s}”jHsKsjs÷}”j÷Ksujts}”(jls}”jpsKsj³÷}”j·÷KsujVs}”jSs}”jƒsKssj‹s}”jSs}”j‡sKssjas}”j‹s}”jƒsKssj‘s}”j‹s}”j‡sKssjls}”j‘s}”jƒsKssj—s}”j‘s}”j‡sKssjws}”j—s}”jƒsKssjSs}”j,s}”jOsKssj¯s}”j s}”j«sKssjÀs}”j s}”j¹sKssjÇs}”j s}”jÃsKssjÙs}”jÊs}”jÕsKssjês}”jÊs}”jãsKssjñs}”jÊs}”jísKssjt}”jôs}”jÿsKssjt}”jôs}”j tKssjt}”jôs}”jtKssj-t}”(jt}”j)tKsjôÉ}”jÿÉKsj?ó}”jJóKsjQS}”j\SKsjµ}”j µKsjÔ}”jÔKsuj7t}”(jt}”j0tKsjôÉ}”jÊKsj?ó}”jQóKsjQS}”jcSKsjµ}”j'µKsjÔ}”j"ÔKsuj>t}”(jt}”j:tKsjôÉ}”jÊKsj?ó}”j[óKsjQS}”jmSKsjµ}”j1µKsjÔ}”j,ÔKsujHt}”jEt}”j_tKssjgt}”jEt}”jctKssjSt}”jgt}”j_tKssjEt}”jt}”jAtKssjt}”(jpt}”j{tKsjt­}”j­KsjŽ#}”j™#Ksuj‰t}”(jpt}”j‚tKsjt­}”j†­KsjŽ#}”j #Ksujt}”(jpt}”jŒtKsjt­}”j­KsjŽ#}”jª#Ksujšt}”j—t}”j±tKssj¹t}”j—t}”jµtKssj¥t}”j¹t}”j±tKssj—t}”jpt}”j“tKssjÑt}”jÂt}”jÍtKssjÛt}”jÂt}”jÔtKssjât}”jÂt}”jÞtKssjìt}”jét}”juKssj u}”jét}”juKssj÷t}”j u}”juKssjét}”jÂt}”jåtKssj#u}”ju}”juKssj-u}”ju}”j&uKssj4u}”ju}”j0uKssj>u}”j;u}”j`uKssjhu}”j;u}”jduKssjIu}”jhu}”j`uKssjnu}”jhu}”jduKssjTu}”jnu}”j`uKssj;u}”ju}”j7uKssj†u}”jwu}”j‚uKssj—u}”jwu}”juKssjžu}”jwu}”jšuKssj°u}”j¡u}”j¬uKssjºu}”j¡u}”j³uKssjÁu}”j¡u}”j½uKssjÚu}”jËu}”jÖuKssjëu}”jËu}”jäuKssjòu}”jËu}”jîuKssjv}”jõu}”jvKssjv}”jõu}”jvKssjv}”jõu}”jvKssj.v}”(jv}”j*vKsjË}”j!ËKsuj8v}”(jv}”j1vKsjË}”j(ËKsuj?v}”(jv}”j;vKsjË}”j2ËKsujIv}”jFv}”j`vKssjhv}”jFv}”jdvKssjTv}”jhv}”j`vKssjFv}”jv}”jBvKssj€v}”(jqv}”j|vKsjhË}”jsËKsuj‘v}”(jqv}”jŠvKsjhË}”jËKsuj˜v}”(jqv}”j”vKsjhË}”j‹ËKsujªv}”j›v}”j¦vKssj´v}”j›v}”j­vKssj»v}”j›v}”j·vKssjÅv}”jÂv}”jÜvKssjäv}”jÂv}”jàvKssjÐv}”jäv}”jÜvKssjÂv}”j›v}”j¾vKssjüv}”jív}”jøvKssjw}”jív}”jÿvKssj w}”jív}”j wKssjw}”jw}”j.wKssj6w}”jw}”j2wKssj"w}”j6w}”j.wKssjw}”jív}”jwKssjNw}”j?w}”jJwKssjXw}”j?w}”jQwKssj_w}”j?w}”j[wKssj|w}”(jtw}”jxwKsjLz}”j^zKsjÂ}”j ÂKsj‰j}”j›jKsjbl}”jtlKsjÿ}”jKsjh}”j¢hKsj¬”}”j¾”Ksjœ™}”j®™Ksujiw}”jfw}”j€wKssjˆw}”jfw}”j„wKssjtw}”jˆw}”j€wKssjfw}”j?w}”jbwKssj w}”j‘w}”jœwKssj±w}”j‘w}”jªwKssj¸w}”j‘w}”j´wKssjÊw}”j»w}”jÆwKssjÛw}”j»w}”jÔwKssjâw}”j»w}”jÞwKssjúw}”(jåw}”jówKsjt7}”j‰7Ksujx}”jåw}”jýwKssjx}”jåw}”j xKssjx}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjx}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjx}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjx}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjx}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj!x}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$x}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj'x}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj*x}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj-x}”jåw}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“x}”(j„x}”jxKsj¬z}”j·zKsja„}”jl„Ksjȱ}”jÓ±KsjtÅ}”jÅKsj–-}”j¡-KsjÅ2}”jÐ2Ksujx}”(j„x}”j–xKsj¬z}”j¾zKsja„}”js„Ksjȱ}”jÚ±KsjtÅ}”j†ÅKsj–-}”j¨-KsjÅ2}”j×2Ksuj¤x}”(j„x}”j xKsj¬z}”jÈzKsja„}”j}„Ksjȱ}”jä±KsjtÅ}”jÅKsj–-}”j²-KsjÅ2}”já2Ksuj®x}”j«x}”jÅxKssjÍx}”j«x}”jÉxKssj¹x}”jÍx}”jÅxKssj«x}”j„x}”j§xKssjåx}”(jÖx}”jáxKsj_}”jjKsjðf}”jûfKsjŽ–}”j™–Ksujöx}”(jÖx}”jïxKsj_}”jxKsjðf}”j gKsjŽ–}”j§–Ksujýx}”(jÖx}”jùxKsj_}”j‚Ksjðf}”jgKsjŽ–}”j±–Ksujy}”(jy}”j yKsj‰}”j”Ksjg}”j%gKsj¸–}”jÖKsuj y}”(jy}”jyKsj‰}”j¢Ksjg}”j3gKsj¸–}”jÑ–Ksuj'y}”(jy}”j#yKsj‰}”j¬Ksjg}”j=gKsj¸–}”jÛ–Ksuj9y}”(j*y}”j5yKsj}”jKsj–g}”j¡gKsj$˜}”j/˜KsujJy}”(j*y}”jCyKsj}”jKsj–g}”j¯gKsj$˜}”j=˜KsujQy}”(j*y}”jMyKsj}”j(Ksj–g}”j¹gKsj$˜}”jG˜Ksujy}”(j~y}”j‰yKsjäÁ}”jïÁKsjo>}”jz>Ksj»i}”jÆiKsj8l}”jClKsjY}”jdKsjêg}”jõgKsj̘}”jטKsujžy}”(j~y}”j—yKsjäÁ}”jýÁKsjo>}”jˆ>Ksj»i}”jÔiKsj8l}”jQlKsjY}”jrKsjêg}”jhKsj̘}”jå˜Ksuj¥y}”(j~y}”j¡yKsjäÁ}”jÂKsjo>}”j’>Ksj»i}”jÞiKsj8l}”j[lKsjY}”j|Ksjêg}”j hKsj̘}”jï˜Ksuj·y}”j¨y}”j³yKssjÁy}”j¨y}”jºyKssjÈy}”j¨y}”jÄyKssjÒy}”jÏy}”jéyKssjñy}”jÏy}”jíyKssjÝy}”jñy}”jéyKssjÏy}”j¨y}”jËyKssj z}”(júy}”jzKsj({}”j3{Ksj³„}”j¾„Ksj[µ}”jfµKsjFÊ}”jQÊKsjŒ.}”j—.Ksja4}”jl4Ksujz}”(júy}”j zKsj({}”j:{Ksj³„}”jÅ„Ksj[µ}”jmµKsjFÊ}”jXÊKsjŒ.}”jž.Ksja4}”js4Ksujz}”(júy}”jzKsj({}”jD{Ksj³„}”jÏ„Ksj[µ}”jwµKsjFÊ}”jbÊKsjŒ.}”j¨.Ksja4}”j}4Ksuj$z}”j!z}”j;zKssjCz}”j!z}”j?zKssj/z}”jCz}”j;zKssj!z}”júy}”jzKssj[z}”(jLz}”jWzKsjÂ}”jÂKsj‰j}”j”jKsjbl}”jmlKsjÿ}”j Ksjh}”j›hKsj¬”}”j·”Ksjœ™}”j§™Ksujlz}”(jLz}”jezKsjÂ}”j'ÂKsj‰j}”j¢jKsjbl}”j{lKsjÿ}”jKsjh}”j©hKsj¬”}”jÅ”Ksjœ™}”jµ™Ksujsz}”(jLz}”jozKsjÂ}”j1ÂKsj‰j}”j¬jKsjbl}”j…lKsjÿ}”j"Ksjh}”j³hKsj¬”}”jÏ”Ksjœ™}”j¿™Ksuj‹z}”jvz}”j„zKssj’z}”jvz}”jŽzKssjœz}”(jvz}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj½Ì}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksuj£z}”jvz}”jŸzKssj¦z}”jvz}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©z}”jvz}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÖz}”jÓz}”jízKssjõz}”jÓz}”jñzKssjáz}”jõz}”jízKssjÓz}”j¬z}”jÏzKssjR{}”jO{}”ji{Kssjq{}”jO{}”jm{Kssj]{}”jq{}”ji{KssjO{}”j({}”jK{Kssj™{}”jz{}”j’{Kssj {}”jz{}”jœ{Kssj§{}”(jz{}”j£{KsjÑŒ}”jÕŒKsjãe}”jfKsjüŽ}”jKsujª{}”jz{}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KssjÂ{}”j­{}”j»{KssjÉ{}”j­{}”jÅ{Kssjì{}”(jÓ{}”jè{KsjG¹}”j\¹Ksjφ}”jä†Ksujö{}”jÓ{}”jï{Kssjý{}”jÓ{}”jù{Kssj|}”j|}”j|Kssj$|}”j|}”j |Kssj@|}”(j'|•}”j<|Ksjd±}”jy±KsujJ|}”j'|}”jC|KssjQ|}”j'|}”jM|Kssjw|}”j[|}”jp|Kssj~|}”j[|}”jz|Kssj¤|}”jˆ|}”j|Kssj«|}”jˆ|}”j§|Kssj²|}”(jˆ|}”j®|Ksj‘}”j·Ksj¨}”j<¨KsjΨ}”jô¨Ksj‚B}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjƒF}”j©FKsuj¹|}”jˆ|}”jµ|Kssj¼|}”jˆ|}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÎ|}”(j¿|}”jÊ|Ksjľ}”jϾKsujß|}”(j¿|}”jØ|Ksjľ}”jݾKsujæ|}”(j¿|}”jâ|Ksjľ}”jç¾Ksujø|}”jé|}”jô|Kssjÿ|}”(jé|}”jû|Ksj¢E}”j´EKsjÎQ}”jôQKsj‡T}”j­TKsuj }}”jé|}”j}Kssj}}”jé|}”j }Kssj)}}”j}}”j%}Kssj0}}”j}}”j,}KssjI}}”j3}}”jE}KssjP}}”j3}}”jL}Kssj[}}”(jS}}”jW}KsjÑ}”jÕ‘Ksj2z}”j6zKsjà”}”jò”Ksj$ô}”j6ôKsjW}”j[Ksjåƒ}”jéƒKsujb}}”jS}}”j^}Kssji}}”jS}}”je}Kssj}}”jl}}”jz}Kssjˆ}}”jl}}”j„}Kssj§}}”j’}}”j }Kssj®}}”j’}}”jª}Kssjµ}}”(j’}}”j±}Ksj~r}”jrKsj0l}”jOlKsujÊ}}”(j¸}}”jÆ}Ksjr~}”j€~Ksj }”jKsujÔ}}”j¸}}”jÍ}KssjÛ}}”j¸}}”j×}Kssjé}}”j¸}}”jå}Kssjð}}”j¸}}”jì}Kssjó}}”j¸}}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~}”jö}}”j~Kssj ~}”(jö}}”j~Ksjÿ~}”jKsjý}”jýKsjâU}”jæUKsuj~}”jö}}”j~Kssj~}”jö}}”j~Kssj/~}”(j ~}”j+~Ksj­~}”j¸~Ksj`‚}”jk‚KsjS}”j^Ksuj9~}”(j ~}”j2~Ksj­~}”j¿~Ksj`‚}”jr‚KsjS}”jeKsuj@~}”(j ~}”j<~Ksj­~}”jÉ~Ksj`‚}”j|‚KsjS}”joKsujJ~}”jG~}”ja~Kssji~}”jG~}”je~KssjU~}”ji~}”ja~KssjG~}”j ~}”jC~KssjŽ~}”jr~}”j‡~Kssj•~}”jr~}”j‘~Kssj£~}”jr~}”jŸ~Kssjª~}”jr~}”j¦~Kssj×~}”jÔ~}”jî~Kssjö~}”jÔ~}”jò~Kssjâ~}”jö~}”jî~KssjÔ~}”j­~}”jÐ~Kssj}”jÿ~}”j Kssj}”jÿ~}”jKssj)}”jÿ~}”j%Kssj;}”j,}”j7KssjE}”j,}”j>KssjL}”j,}”jHKssj^}”jV}”jZKssjV}”jS}”jxKssj€}”jS}”j|Kssja}”j€}”jxKssj†}”j€}”j|Kssjl}”j†}”jxKssjS}”j,}”jOKssj¤}”j}”jKssj«}”j}”j§Kssj¹}”j}”jµKssj¼}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ}”j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjï}”jì}”j€Kssj€}”jì}”j €Kssjú}”j€}”j€Kssjì}”jÅ}”jèKssj&€}”j€}”j"€Kssj0€}”j€}”j)€Kssj7€}”j€}”j3€KssjA€}”j>€}”jX€Kssj`€}”j>€}”j\€KssjL€}”j`€}”jX€Kssj>€}”j€}”j:€Kssj“€}”j€}”jª€Kssj²€}”j€}”j®€Kssjž€}”j²€}”jª€Kssj€}”ji€}”jŒ€KssjÊ€}”(j»€}”jÆ€Ksj—+}”j¢+KsujÛ€}”(j»€}”jÔ€Ksj—+}”j°+Ksujâ€}”(j»€}”jÞ€Ksj—+}”jº+Ksujú€}”jå€}”jó€Kssj}”jå€}”jý€Kssj'}”j }”j Kssj.}”j }”j*Kssj<}”j }”j8Kssj?}”j }”hŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”KssjB}”j }”hŒ-http://www.w3.org/2002/07/owl#equivalentClass”…”R”KssjI}”j }”jEKssjL}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjO}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjR}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjX}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj^}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssja}”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjs}”jd}”joKssjz}”(jd}”jvKsjâ}”jôKsj ‚}”j‚Ksuj„}”(jd}”j}Ksj ‚}”j%‚Ksuj‹}”jd}”j‡Kssj}”jŽ}”j™Kssj®}”jŽ}”j§Kssjµ}”jŽ}”j±KssjÇ}”j¸}”jÃKssjÎ}”j¸}”jÊKssjØ}”j¸}”jÑKssjß}”j¸}”jÛKssjñ}”jâ}”jíKssj‚}”jâ}”jûKssj ‚}”jâ}”j‚Kssj‚}”j ‚}”j‚Kssj3‚}”j ‚}”j/‚KssjŠ‚}”j‡‚}”j¡‚Kssj©‚}”j‡‚}”j¥‚Kssj•‚}”j©‚}”j¡‚Kssj‡‚}”j`‚}”jƒ‚KssjÁ‚}”j²‚}”j½‚KssjË‚}”j²‚}”jÄ‚KssjÒ‚}”j²‚}”j΂Kssjä‚}”(jÜ‚}”jà‚Ksj.ƒ}”j2ƒKsjC }”jG Ksj1}”jD1KsjÚ}”j1ÚKsjÐî}”jâîKsj\}”j`KsjO }”ja KsjÀ }”jÄ Ksjs }”j… Ksj,}”j0Ksjºn}”j¾nKsujÜ‚}”jÙ‚}”jó‚Kssjû‚}”jÙ‚}”j÷‚Kssjç‚}”jû‚}”jó‚KssjÙ‚}”j²‚}”jÕ‚Kssjƒ}”jƒ}”jƒKssjƒ}”jƒ}”jƒKssj$ƒ}”jƒ}”j ƒKssj.ƒ}”j+ƒ}”jEƒKssjMƒ}”j+ƒ}”jIƒKssj9ƒ}”jMƒ}”jEƒKssj+ƒ}”jƒ}”j'ƒKssjnƒ}”jVƒ}”jgƒKssjuƒ}”jVƒ}”jqƒKssj—ƒ}”jƒ}”jƒKssjžƒ}”jƒ}”jšƒKssjă}”j¨ƒ}”j½ƒKssj˃}”j¨ƒ}”jǃKssjÙƒ}”j¨ƒ}”jÕƒKssj܃}”j¨ƒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj߃}”j¨ƒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjâƒ}”j¨ƒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjôƒ}”(jåƒ}”jðƒKsj }”j+Ksj.}”j).KsjZd}”jedKsj?e}”jJeKsujþƒ}”(jåƒ}”j÷ƒKsj }”j2Ksj.}”j0.KsjZd}”jldKsj?e}”jQeKsuj„}”(jåƒ}”j„Ksj }”j<Ksj.}”j:.KsjZd}”jvdKsj?e}”j[eKsuj„}”j „}”j&„Kssj.„}”j „}”j*„Kssj„}”j.„}”j&„Kssj „}”jåƒ}”j„KssjF„}”(j7„}”jB„KsjäÍ}”jïÍKsjp.}”j{.Ksj%b}”j0bKsjïc}”júcKsujW„}”(j7„}”jP„KsjäÍ}”jýÍKsjp.}”j‰.Ksj%b}”j>bKsjïc}”jdKsuj^„}”(j7„}”jZ„KsjäÍ}”jÎKsjp.}”j“.Ksj%b}”jHbKsjïc}”jdKsuj‹„}”jˆ„}”j¢„Kssjª„}”jˆ„}”j¦„Kssj–„}”jª„}”j¢„Kssjˆ„}”ja„}”j„„KssjÝ„}”jÚ„}”jô„Kssjü„}”jÚ„}”jø„Kssjè„}”jü„}”jô„KssjÚ„}”j³„}”jÖ„Kssj!…}”j…}”j…Kssj(…}”j…}”j$…KssjG…}”j2…}”j@…KssjN…}”j2…}”jJ…Kssjm…}”jX…}”jf…Kssjt…}”jX…}”jp…Kssj†…}”(j~…}”j‚…Ksje¬}”ji¬Ksj@}”j0@KsjÞ¶}”jâ¶Ksjî0}”jò0Ksj‘\}”j•\Ksj8z}”j›}”jI›Ksuj Œ}”(jé‹}”jŒKsj>›}”jW›KsujŒ}”(jé‹}”j ŒKsj>›}”ja›Ksuj/Œ}”jŒ}”j(ŒKssj6Œ}”jŒ}”j2ŒKssjDŒ}”jŒ}”j@ŒKssjGŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjbŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjeŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjhŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjkŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjnŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjqŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjtŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjwŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjzŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjƒŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjžŒ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤Œ}”jŒ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶Œ}”(j§Œ}”j²ŒKsjÒŽ}”jÝŽKsujÀŒ}”(j§Œ}”j¹ŒKsjÒŽ}”jäŽKsujÇŒ}”(j§Œ}”jÃŒKsjÒŽ}”jîŽKsujäŒ}”(jÜŒ}”jàŒKsj‡}”j™Ksj}”j Ksj¦£}”j¸£KsjIÀ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjâÁ}”jôÁKsujÑŒ}”jÎŒ}”jèŒKssjðŒ}”jÎŒ}”jìŒKssjÜŒ}”jðŒ}”jèŒKssjÎŒ}”j§Œ}”jÊŒKssj}”(jùŒ}”jKsjN}”jYKsuj}”(jùŒ}”jKsjN}”jgKsuj }”(jùŒ}”jKsjN}”jqKsujM}”jJ}”jzKssj‚}”jJ}”j~KssjX}”j‚}”jzKssjˆ}”j‚}”j~Kssjc}”jˆ}”jzKssjŽ}”jˆ}”j~Kssjn}”jŽ}”jzKssjJ}”j#}”jFKssj¦}”(j—}”j¢Ksj}”j!Ksuj·}”(j—}”j°Ksj}”j/Ksuj¾}”(j—}”jºKsj}”j9Ksujë}”jè}”j ŽKssjŽ}”jè}”jŽKssjö}”jŽ}”j ŽKssjŽ}”jŽ}”jŽKssjŽ}”jŽ}”j ŽKssjè}”jÁ}”jäKssjNŽ}”jKŽ}”jpŽKssjxŽ}”jKŽ}”jtŽKssjYŽ}”jxŽ}”jpŽKssj~Ž}”jxŽ}”jtŽKssjdŽ}”j~Ž}”jpŽKssjKŽ}”j$Ž}”jGŽKssj–Ž}”(j‡Ž}”j’ŽKsj‘}”j‘Ksuj§Ž}”(j‡Ž}”j ŽKsj‘}”j‘Ksuj®Ž}”(j‡Ž}”jªŽKsj‘}”j)‘KsujÀŽ}”(j±Ž}”j¼ŽKsj0‘}”j;‘KsujÑŽ}”(j±Ž}”jÊŽKsj0‘}”jI‘Ksuu(jØŽ}”(j±Ž}”jÔŽKsj0‘}”jS‘KsujêŽ}”(jÛŽ}”jæŽKsjZ‘}”je‘Ksj@~}”jK~KsujñŽ}”(jÛŽ}”jíŽKsjZ‘}”jl‘Ksj@~}”jR~KsujûŽ}”(jÛŽ}”jôŽKsjZ‘}”js‘Ksj@~}”jY~Ksuj}”(jÛŽ}”jþŽKsjZ‘}”j}‘Ksj@~}”jc~Ksuj}”(j}”jKsjø‘}”j’Ksuj%}”(j}”jKsjø‘}”j’Ksuj,}”(j}”j(Ksjø‘}”j’Ksuj>}”(j/}”j:Ksj"’}”j-’KsujE}”(j/}”jAKsj"’}”j4’KsujO}”(j/}”jHKsj"’}”j;’KsujV}”(j/}”jRKsj"’}”jE’Ksujh}”(jY}”jdKsjL’}”jW’Ksujy}”(jY}”jrKsjL’}”je’Ksuj€}”(jY}”j|KsjL’}”jo’Ksuj’}”(jƒ}”jŽKsjv’}”j’Ksj«ë}”j¶ëKsuj£}”(jƒ}”jœKsjv’}”j’Ksj«ë}”jÄëKsujª}”(jƒ}”j¦Ksjv’}”j™’Ksj«ë}”jÎëKsuj×}”jÔ}”jùKssj}”jÔ}”jýKssjâ}”j}”jùKssj}”j}”jýKssjí}”j}”jùKssjÔ}”j­}”jÐKssj}”(j}”jKsj“}”j“KsjÕë}”jàëKsuj0}”(j}”j)Ksj“}”j“KsjÕë}”jîëKsuj7}”(j}”j3Ksj“}”j&“KsjÕë}”jøëKsujI}”(j:}”jEKsj-“}”j8“Ksjäð}”jïðKsujZ}”(j:}”jSKsj-“}”jF“Ksjäð}”jýðKsuja}”(j:}”j]Ksj-“}”jP“Ksjäð}”jñKsujs}”(jd}”joKsjW“}”jb“Ksjñ}”jñKsuj„}”(jd}”j}KsjW“}”jp“Ksjñ}”j'ñKsuj‹}”(jd}”j‡KsjW“}”jz“Ksjñ}”j1ñKsuj}”(jŽ}”j™Ksj“}”jŒ“Ksj8ñ}”jCñKsuj®}”(jŽ}”j§Ksj“}”jš“Ksj8ñ}”jQñKsujµ}”(jŽ}”j±Ksj“}”j¤“Ksj8ñ}”j[ñKsujÇ}”(j¸}”jÃKsj«“}”j¶“Ksjbñ}”jmñKsujØ}”(j¸}”jÑKsj«“}”jÄ“Ksjbñ}”j{ñKsujß}”(j¸}”jÛKsj«“}”jΓKsjbñ}”j…ñKsujñ}”(jâ}”jíKsjÕ“}”jà“KsjŒñ}”j—ñKsuj‘}”(jâ}”jûKsjÕ“}”jî“KsjŒñ}”j¥ñKsuj ‘}”(jâ}”j‘KsjÕ“}”jø“KsjŒñ}”j¯ñKsuj‘}”(j ‘}”j‘Ksj)”}”j4”Ksjõø}”jùKsuj"‘}”(j ‘}”j‘Ksj)”}”j;”Ksjõø}”jùKsuj,‘}”(j ‘}”j%‘Ksj)”}”jB”Ksjõø}”jùKsuj3‘}”(j ‘}”j/‘Ksj)”}”jL”Ksjõø}”jùKsuj`‘}”j]‘}”j‚‘KssjŠ‘}”j]‘}”j†‘Kssjk‘}”jŠ‘}”j‚‘Kssj‘}”jŠ‘}”j†‘Kssjv‘}”j‘}”j‚‘Kssj]‘}”j6‘}”jY‘Kssj¨‘}”(j™‘}”j¤‘Ksj¶”}”jÁ”KsjS}”j%SKsuj¹‘}”(j™‘}”j²‘Ksj¶”}”jÏ”KsjS}”j3SKsujÀ‘}”(j™‘}”j¼‘Ksj¶”}”jÙ”KsjS}”j=SKsujÒ‘}”(jÑ}”jΑKsjà”}”jë”Ksj$ô}”j/ôKsujã‘}”(jÑ}”jÜ‘Ksjà”}”jù”Ksj$ô}”j=ôKsujê‘}”(jÑ}”jæ‘Ksjà”}”j•Ksj$ô}”jGôKsujü‘}”(jí‘}”jø‘Ksj •}”j•Ksuj’}”(jí‘}”jÿ‘Ksj •}”j•Ksuj ’}”(jí‘}”j ’Ksj •}”j&•Ksuj’}”(j’}”j’Ksj4•}”j8•Ksuj@’}”(j8’}”j<’Ksj!Y}”j3YKsjÕY}”jÙYKsjÓZ}”jåZKsjU•}”jY•Ksuj’}”j’}”je’Kssjm’}”j’}”ji’Kssj"’}”jm’}”je’Kssjs’}”jm’}”ji’Kssj-’}”js’}”je’Kssjy’}”js’}”ji’Kssj8’}”jy’}”je’Kssj’}”jy’}”ji’KssjC’}”j’}”je’Kssj…’}”j’}”ji’KssjN’}”j…’}”je’Kssj‹’}”j…’}”ji’KssjY’}”j‹’}”je’Kssj’}”jí‘}”j’Kssj£’}”(j”’}”jŸ’Ksj–}”j–Ksjõ}”jŠõKsuj´’}”(j”’}”j­’Ksj–}”j–Ksjõ}”j˜õKsuj»’}”(j”’}”j·’Ksj–}”j&–Ksjõ}”j¢õKsujÍ’}”(j¾’}”jÉ’Ksjû–}”j—Ksjæw}”jñwKsujÞ’}”(j¾’}”j×’Ksjû–}”j—Ksjæw}”jÿwKsujå’}”(j¾’}”já’Ksjû–}”j—Ksjæw}”j xKsuj“}”j“}”j)“Kssj1“}”j“}”j-“Kssj“}”j1“}”j)“Kssj“}”jè’}”j “KssjI“}”(j:“}”jE“Ksj­ }”j¸ Ksjõ—}”j˜KsujZ“}”(j:“}”jS“Ksj­ }”jÆ Ksjõ—}”j˜Ksuja“}”(j:“}”j]“Ksj­ }”jÐ Ksjõ—}”j˜Ksujs“}”(jd“}”jo“KsjI˜}”jT˜Ksjç÷}”jò÷Ksuj„“}”(jd“}”j}“KsjI˜}”jb˜Ksjç÷}”jøKsuj‹“}”(jd“}”j‡“KsjI˜}”jl˜Ksjç÷}”j øKsuj“}”(jŽ“}”j™“Ksj‚1}”j1Ksj£b}”j®bKsjs˜}”j~˜Ksjî}”jùKsj3Ç}”j>ÇKsjÏì}”jÚìKsuj§“}”(jŽ“}”j “Ksj‚1}”j”1Ksj£b}”jµbKsjs˜}”j…˜Ksjî}”jžKsj3Ç}”jEÇKsjÏì}”jáìKsuj®“}”(jŽ“}”jª“Ksj‚1}”jž1Ksj£b}”j¿bKsjs˜}”j˜Ksjî}”j žKsj3Ç}”jOÇKsjÏì}”jëìKsuj¸“}”jµ“}”jÏ“Kssjד}”jµ“}”jÓ“KssjÓ}”jד}”jÏ“Kssjµ“}”jŽ“}”j±“Kssjï“}”(jà“}”jë“Ksj·}”jÂKsjÔ1}”jß1Ksjõb}”jcKsjŘ}”jИKsj@ž}”jKžKsj!í}”j,íKsujù“}”(jà“}”jò“Ksj·}”jÉKsjÔ1}”jæ1Ksjõb}”jcKsjŘ}”jטKsj@ž}”jRžKsj!í}”j3íKsuj”}”(jà“}”jü“Ksj·}”jÓKsjÔ1}”jð1Ksjõb}”jcKsjŘ}”já˜Ksj@ž}”j\žKsj!í}”j=íKsuj ”}”j”}”j!”Kssj)”}”j”}”j%”Kssj”}”j)”}”j!”Kssj”}”jà“}”j”KssjA”}”(j2”}”j=”Ksj™}”j"™KsujY”}”(j2”}”jU”Ksj™}”j:™Ksujr”}”j\”}”jn”Kssjy”}”j\”}”ju”Kssj‘”}”j|”}”jŠ”Kssj˜”}”j|”}”j””Kssj¥”}”(j|”}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjË•}”jñ•Ksj?ü}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj»A}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÖÕ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj]Ø}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj’}”j,’Ksuj¾”}”j¨”}”jº”KssjÅ”}”j¨”}”jÁ”KssjÝ”}”jÈ”}”jÖ”Kssjä”}”jÈ”}”jà”Kssj•}”jî”}”jü”Kssj •}”jî”}”j•Kssj0•}”j•}”j)•Kssj7•}”j•}”j3•Kssj>•}”j•}”j:•KssjZ•}”jD•}”jV•Kssja•}”jD•}”j]•Kssjh•}”jD•}”jd•Kssj•}”jk•}”j}•Kssjˆ•}”jk•}”j„•Kssjš•}”(j’•}”j–•Ksjñ}”j!ñKsjüô}”jõKsjnû}”jrûKsjj }”jn Ksj67}”j:7KsjO7}”jS7Ksjh7}”jl7Ksj7}”j…7KsjyZ}”j‹ZKsj×}”jéKsj0‡}”j4‡KsjI‡}”jM‡Ksuj¡•}”j’•}”j•Kssj¨•}”j’•}”j¤•Kssj³•}”(j«•}”j¯•KsjVl}”jZlKsujÁ•}”j«•}”j½•KssjÈ•}”j«•}”jÄ•Kssjç•}”jË•}”jà•Kssjî•}”jË•}”jê•Kssjü•}”jË•}”jø•Kssj–}”jÿ•}”j –Kssj–}”jÿ•}”j–Kssj&–}”jÿ•}”j"–KssjE–}”j)–}”j>–KssjL–}”j)–}”jH–KssjS–}”(j)–}”jO–Ksj¢ü}”j¦üKsjB}”j#BKsj¡¹}”jǹKsjØ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj½Ø}”jÁØKsjÇb}”jíbKsjvl}”jœlKsujr–}”jV–}”jk–Kssjy–}”jV–}”ju–Kssjƒ–}”(jV–}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjkÖ}”j‘ÖKsujŠ–}”jV–}”j†–Kssj–}”jV–}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–}”jV–}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“–}”jV–}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj––}”jV–}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨–}”j™–}”j¤–Kssj¹–}”j™–}”j²–KssjÀ–}”j™–}”j¼–KssjÒ–}”jÖ}”jΖKssjÜ–}”jÖ}”jÕ–Kssjã–}”jÖ}”jß–Kssjí–}”jê–}”j—Kssj —}”jê–}”j—Kssjø–}”j —}”j—Kssjê–}”jÖ}”jæ–Kssj$—}”j—}”j —Kssj5—}”j—}”j.—Kssj<—}”j—}”j8—KssjN—}”j?—}”jJ—Kssj_—}”j?—}”jX—Kssjf—}”j?—}”jb—Kssjx—}”ji—}”jt—Kssj‰—}”ji—}”j‚—Kssj—}”ji—}”jŒ—Kssj©—}”j“—}”j¥—Kssj°—}”j“—}”j¬—KssjÖ—}”jº—}”jÏ—KssjÝ—}”jº—}”jÙ—Kssjä—}”(jº—}”jà—Ksjߟ}”j Ksujë—}”jº—}”jç—Kssjî—}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjñ—}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjô—}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj÷—}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjú—}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý—}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ˜}”jº—}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜}”(j ˜}”j˜Ksjt }”j Ksj©}”j©Ksjº_}”jÅ_Ksuj,˜}”(j ˜}”j%˜Ksjt }”j Ksj©}”j'©Ksjº_}”jÓ_Ksuj3˜}”(j ˜}”j/˜Ksjt }”j— Ksj©}”j1©Ksjº_}”jÝ_KsujE˜}”(j6˜}”jA˜Ksjê¢}”jõ¢KsujV˜}”(j6˜}”jO˜Ksjê¢}”j£Ksuj]˜}”(j6˜}”jY˜Ksjê¢}”j £Ksujo˜}”(j`˜}”jk˜Ksj>£}”jI£KsjpI}”j{IKsujy˜}”(j`˜}”jr˜Ksj>£}”jP£KsjpI}”j‚IKsuj€˜}”(j`˜}”j|˜Ksj>£}”jZ£KsjpI}”jŒIKsuj’˜}”(jŠ˜}”jŽ˜Ksjh£}”jl£KsjšI}”jžIKsuj˜}”(j•˜}”j™˜Ksjs£}”jw£Ksjé§}”j¨Ksjt¨}”jš¨Ksj¡¨}”jǨKsj÷ }”j KsjA}”j)AKsj©H}”jÏHKsj¥I}”j©IKsj¨J}”jÎJKsjEL}”jkLKsj*M}”jPMKsj¯O}”jÕOKsj·R}”jÝRKsjZT}”j€TKsjHU}”jLUKsjŠW}”j·WKsjqX}”j—XKsjØ}”j&ØKsujŠ˜}”j‡˜}”j¬˜Kssj´˜}”j‡˜}”j°˜Kssj•˜}”j´˜}”j¬˜Kssjº˜}”j´˜}”j°˜Kssj ˜}”jº˜}”j¬˜Kssj‡˜}”j`˜}”jƒ˜KssjÒ˜}”(jØ}”jΘKsj¡£}”j¬£Ksj ô}”j«ôKsujã˜}”(jØ}”jܘKsj¡£}”jº£Ksj ô}”j¹ôKsujê˜}”(jØ}”jæ˜Ksj¡£}”jÄ£Ksj ô}”jÃôKsujü˜}”(jí˜}”jø˜KsjË£}”jÖ£Ksjb©}”jm©Ksjä_}”jï_Ksuj™}”(jí˜}”jÿ˜KsjË£}”jÝ£Ksjb©}”jt©Ksjä_}”jö_Ksuj ™}”(jí˜}”j™Ksj•™}”j®™KsjË£}”jä£Ksjb©}”j{©Ksjä_}”jý_Ksuj™}”(jí˜}”j™KsjË£}”jî£Ksjb©}”j…©Ksjä_}”j`Ksuj&™}”(j™}”j"™Ksjõ£}”j¤Ksuj7™}”(j™}”j0™Ksjõ£}”j¤Ksuj>™}”(j™}”j:™Ksjõ£}”j¤KsujP™}”(jA™}”jL™Ksj¤}”j*¤Ksuja™}”(jA™}”jZ™Ksj¤}”j8¤Ksujh™}”(jA™}”jd™Ksj¤}”jB¤Ksujz™}”(jk™}”jv™KsjC¥}”jN¥Ksuj‹™}”(jk™}”j„™KsjC¥}”j\¥Ksuj’™}”(jk™}”jŽ™KsjC¥}”jf¥Ksuj¤™}”j•™}”j ™Kssj«™}”j•™}”j§™Kssj¼™}”j•™}”j¸™KssjΙ}”j¿™}”jÊ™Kssjß™}”j¿™}”jØ™Kssjæ™}”j¿™}”jâ™Kssjø™}”(jé™}”jô™Ksjtž}”jžKsuj š}”(jé™}”jšKsjtž}”jžKsujš}”(jé™}”j šKsjtž}”j—žKsuj)š}”jš}”j%šKssj0š}”jš}”j,šKssjHš}”j3š}”jAšKssjOš}”j3š}”jKšKssj]š}”j3š}”jYšKssjoš}”j`š}”jkšKssjvš}”j`š}”jršKssj€š}”j`š}”jyšKssj‡š}”j`š}”jƒšKssjŸš}”jŠš}”j˜šKssj¦š}”jŠš}”j¢šKssj´š}”jŠš}”j°šKssj·š}”jŠš}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉš}”jºš}”jÅšKssjÓš}”jºš}”jÌšKssjÚš}”jºš}”jÖšKssjäš}”jáš}”j›Kssj›}”jáš}”j›Kssjïš}”j›}”j›Kssj›}”j›}”j›Kssjúš}”j›}”j›Kssj%›}”j›}”j›Kssj›}”j%›}”j›Kssjáš}”jºš}”jÝšKssj=›}”j.›}”j9›KssjN›}”j.›}”jG›KssjU›}”j.›}”jQ›Kssjm›}”jX›}”jf›Kssjt›}”jX›}”jp›Kssj”›}”j~›}”j›Kssj››}”j~›}”j—›Kssj»›}”jž›}”j·›Kssj›}”jž›}”j¾›KssjÚ›}”jÅ›}”jÓ›Kssjá›}”jÅ›}”jÝ›Kssjú›}”jë›}”jö›Kssjœ}”jë›}”jý›Kssjœ}”jœ}”jœKssj œ}”jœ}”jœKssj?œ}”j*œ}”j8œKssjFœ}”j*œ}”jBœKssjeœ}”jPœ}”j^œKssjlœ}”jPœ}”jhœKssj‹œ}”jvœ}”j„œKssj’œ}”jvœ}”jŽœKssj™œ}”(jvœ}”j•œKsjª}”j%ªKsjmº}”jŒºKsjÑ9}”jð9Ksuj¹œ}”jœœ}”jµœKssjÀœ}”jœœ}”j¼œKssjÕœ}”jÜ}”jÑœKssjßœ}”jÜ}”jØœKssjæœ}”jÜ}”jâœKssj}”jðœ}”jþœKssj }”jðœ}”jKssj}”jðœ}”jKssjG}”jD}”jtKssj|}”jD}”jxKssjR}”j|}”jtKssj‚}”j|}”jxKssj]}”j‚}”jtKssjˆ}”j‚}”jxKssjh}”jˆ}”jtKssjD}”j}”j@Kssj­}”j‘}”j¦Kssj´}”j‘}”j°KssjÂ}”j‘}”j¾KssjÅ}”j‘}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈ}”j‘}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjË}”j‘}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÝ}”jÎ}”jÙKssjî}”jÎ}”jçKssjõ}”jÎ}”jñKssjž}”jø}”jžKssjž}”jø}”j žKssjž}”jø}”jžKssj"ž}”jž}”j9žKssjAž}”jž}”j=žKssj-ž}”jAž}”j9žKssjž}”jø}”jžKssjYž}”jJž}”jUžKssjjž}”jJž}”jcžKssjqž}”jJž}”jmžKssj¦ž}”(jžž}”j¢žKsjo}”jsKsj`W}”jrWKsj m}”jmKsj}”jKsjMä}”jQäKsjr}”jvKsjŒF}”jFKsj¬F}”j°FKsj}}}”j}Ksuj´ž}”jžž}”j°žKssj»ž}”jžž}”j·žKssjÓž}”j¾ž}”jÌžKssjÚž}”j¾ž}”jÖžKssjŸ}”jäž}”jýžKssjŸ}”jäž}”jŸKssj Ÿ}”j Ÿ}”jŸKssj'Ÿ}”j Ÿ}”j#ŸKssjJŸ}”(j1Ÿ}”jFŸKsjú8}”j9Ksjré}”j‡éKsjWC}”jlCKsujTŸ}”j1Ÿ}”jMŸKssj[Ÿ}”j1Ÿ}”jWŸKssjzŸ}”jeŸ}”jsŸKssjŸ}”jeŸ}”j}ŸKssjˆŸ}”(jeŸ}”j„ŸKsj?¬}”j^¬Ksj± }”jÐ KsjŽ,}”j­,Ksj}”j¯Ksj¿ƒ}”jÞƒKsj œ}”j(œKsj£¢}”j¢Ksuj§Ÿ}”j‹Ÿ}”j ŸKssj®Ÿ}”j‹Ÿ}”jªŸKssjÀŸ}”(j¸Ÿ}”j¼ŸKsjí }”jñ Ksj~j}”j‚jKsj}”jKsujÕŸ}”j¸Ÿ}”jÑŸKssjÜŸ}”j¸Ÿ}”jØŸKssjûŸ}”jߟ}”jôŸKssj }”jߟ}”jþŸKssj }”jߟ}”j  Kssj }”jߟ}”j Kssj }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj  }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj# }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj& }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj) }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj, }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/ }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2 }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5 }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8 }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj; }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj> }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjA }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjD }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjM }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjP }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjY }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\ }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_ }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssje }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjn }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjq }”jߟ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­ }”jž }”j© Kssj¾ }”jž }”j· KssjÅ }”jž }”jÁ Kssj× }”jÈ }”jÓ Kssjè }”jÈ }”já Kssjï }”jÈ }”jë Kssj¡}”jò }”jý Kssj¡}”jò }”j¡Kssj¡}”jò }”j ¡Kssj¡}”jò }”j¡Kssj+¡}”j¡}”j'¡Kssj<¡}”j¡}”j5¡KssjC¡}”j¡}”j?¡KssjU¡}”jF¡}”jQ¡Kssjf¡}”(jF¡}”j_¡Ksjp¡}”j‰¡Ksujm¡}”jF¡}”ji¡Kssj¡}”jp¡}”j{¡Kssj—¡}”jp¡}”j“¡Kssj©¡}”jš¡}”j¥¡Kssjº¡}”jš¡}”j³¡KssjÁ¡}”jš¡}”j½¡KssjÓ¡}”(jÄ¡}”jÏ¡Ksjál}”jìlKsujÚ¡}”(jÄ¡}”jÖ¡Ksj„:}”jª:Ksj°}”jÖKsjÁ#}”jç#Ksjál}”jólKsujä¡}”(jÄ¡}”jÝ¡Ksjál}”júlKsujë¡}”(jÄ¡}”jç¡Ksjál}”jmKsujý¡}”jî¡}”jù¡Kssj¢}”jî¡}”j¢Kssj¢}”jî¡}”j¢Kssj¢}”jî¡}”j¢Kssj'¢}”(j¢}”j#¢Ksj¿§}”jʧKsuj8¢}”(j¢}”j1¢Ksj¿§}”jاKsuj?¢}”(j¢}”j;¢Ksj¿§}”jâ§KsujQ¢}”jB¢}”jM¢Kssjb¢}”jB¢}”j[¢Kssji¢}”jB¢}”je¢Kssj{¢}”jl¢}”jw¢Kssj‚¢}”jl¢}”j~¢KssjŒ¢}”jl¢}”j…¢Kssj“¢}”jl¢}”j¢Kssj¥¢}”j–¢}”j¡¢Kssj¬¢}”(j–¢}”j¨¢Ksjm¥}”j¥KsjG¦}”jY¦KsjþC}”jDKsjôT}”jUKsjî¾}”j¿Ksj m}”jmKsuj¶¢}”j–¢}”j¯¢Kssj½¢}”j–¢}”j¹¢KssjÏ¢}”jÀ¢}”jË¢Kssjà¢}”jÀ¢}”jÙ¢Kssjç¢}”jÀ¢}”jã¢Kssj#£}”j£}”j£Kssj-£}”j£}”j&£Kssj4£}”j£}”j0£Kssjh£}”je£}”jŠ£Kssj’£}”je£}”jŽ£Kssjs£}”j’£}”jŠ£Kssj˜£}”j’£}”jŽ£Kssj~£}”j˜£}”jŠ£Kssje£}”j>£}”ja£KssjX¤}”jI¤}”jT¤Kssji¤}”jI¤}”jb¤Kssjp¤}”jI¤}”jl¤Kssj‚¤}”js¤}”j~¤Kssj‰¤}”(js¤}”j…¤KsjIÔ}”jMÔKsjiÔ}”jmÔKsj‰Ô}”jÔKsj©Ô}”j­ÔKsjÉÔ}”jÍÔKsjéÔ}”jíÔKsuj“¤}”js¤}”jŒ¤Kssjš¤}”js¤}”j–¤Kssj¬¤}”j¤}”j¨¤Kssj½¤}”j¤}”j¶¤KssjĤ}”j¤}”jÀ¤KssjÖ¤}”jǤ}”jÒ¤Kssjà¤}”jǤ}”jÙ¤Kssjç¤}”jǤ}”jã¤Kssj¥}”jñ¤}”jü¤Kssj ¥}”jñ¤}”j¥Kssj¥}”jñ¤}”j ¥Kssj#¥}”(j¥}”j¥Ksj(‰}”j,‰Ksj‘ê}”j•êKsuj¥}”j¥}”j2¥Kssj:¥}”j¥}”j6¥Kssj&¥}”j:¥}”j2¥Kssj¥}”jñ¤}”j¥Kssj|¥}”jm¥}”jx¥Kssj¥}”jm¥}”j†¥Kssj”¥}”jm¥}”j¥Kssj¦¥}”j—¥}”j¢¥Kssj·¥}”j—¥}”j°¥Kssj¾¥}”j—¥}”jº¥KssjÐ¥}”jÁ¥}”jÌ¥KssjÚ¥}”jÁ¥}”jÓ¥Kssjá¥}”jÁ¥}”jÝ¥Kssjë¥}”jè¥}”j¦Kssj ¦}”jè¥}”j¦Kssjö¥}”j ¦}”j¦Kssjè¥}”jÁ¥}”jä¥Kssj/¦}”j¦}”j(¦Kssj6¦}”j¦}”j2¦KssjD¦}”j¦}”j@¦KssjV¦}”(jG¦}”jR¦KsjþC}”j DKsjî¾}”jù¾Ksj m}”jmKsujg¦}”(jG¦}”j`¦KsjþC}”jDKsjî¾}”j¿Ksj m}”j$mKsujn¦}”(jG¦}”jj¦KsjþC}”j!DKsjî¾}”j¿Ksj m}”j.mKsuj¦}”jq¦}”j†¦Kssj”¦}”jq¦}”j¦Kssj¢¦}”jq¦}”jž¦Kssj¥¦}”jq¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨¦}”jq¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«¦}”jq¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj®¦}”jq¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj±¦}”jq¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæ}”(j´¦}”j¿¦KsjJ¨}”jU¨KsujÔ¦}”(j´¦}”jͦKsjJ¨}”jc¨KsujÛ¦}”(j´¦}”jצKsjJ¨}”jm¨Ksují¦}”jÞ¦}”jé¦Kssjô¦}”(jÞ¦}”jð¦Ksj¶}”jºKsjH*}”jL*KsjÕ®}”jÙ®Ksujþ¦}”jÞ¦}”j÷¦Kssj§}”jÞ¦}”j§Kssj§}”j§}”j§Kssj(§}”j§}”j!§Kssj/§}”j§}”j+§KssjA§}”j2§}”j=§KssjR§}”j2§}”jK§KssjY§}”j2§}”jU§Kssjk§}”j\§}”jg§Kssju§}”j\§}”jn§Kssj|§}”j\§}”jx§Kssj†§}”jƒ§}”j¨§Kssj°§}”jƒ§}”j¬§Kssj‘§}”j°§}”j¨§Kssj¶§}”j°§}”j¬§Kssjœ§}”j¶§}”j¨§Kssjƒ§}”j\§}”j§Kssj¨}”jé§}”jþ§Kssj ¨}”jé§}”j¨Kssj2¨}”j¨}”j+¨Kssj9¨}”j¨}”j5¨KssjG¨}”j¨}”jC¨Kssj¨}”jt¨}”j‰¨Kssj—¨}”jt¨}”j“¨Kssj½¨}”j¡¨}”j¶¨KssjĨ}”j¡¨}”jÀ¨Kssjê¨}”jΨ}”jã¨Kssjñ¨}”jΨ}”jí¨Kssjÿ¨}”jΨ}”jû¨Kssj©}”jΨ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©}”jΨ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©}”jΨ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ©}”jΨ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG©}”j8©}”jC©KssjX©}”j8©}”jQ©Kssj_©}”j8©}”j[©Kssj›©}”jŒ©}”j—©Kssj¬©}”jŒ©}”j¥©Kssj³©}”jŒ©}”j¯©KssjÅ©}”j¶©}”jÁ©KssjÖ©}”j¶©}”jÏ©KssjÝ©}”j¶©}”jÙ©Kssjõ©}”jà©}”jî©Kssjü©}”jà©}”jø©Kssjª}”jª}”jªKssj"ª}”jª}”jªKssj;ª}”j,ª}”j7ªKssjBª}”j,ª}”j>ªKssj[ª}”jEª}”jWªKssjbª}”jEª}”j^ªKssjmª}”(jeª}”jiªKsjŒª}”jªKsj³ª}”j·ªKsjÚª}”jÞªKsj«}”j«Ksj(«}”j,«KsjO«}”jS«Ksjv«}”jz«Ksj«}”j¡«KsjÄ«}”jÈ«KsjÔº}”jæºKsjþº}”j»Ksuj{ª}”(jeª}”jwªKsjŒª}”jžªKsj³ª}”jŪKsjÚª}”jìªKsj«}”j«Ksj(«}”j:«KsjO«}”ja«Ksjv«}”jˆ«Ksj«}”j¯«KsjÄ«}”jÖ«Ksjë«}”j¬Ksj“º}”j¨ºKsjR»}”jg»Ksj†»}”j˜»Ksj­»}”j»Ksuj‚ª}”jeª}”j~ªKssj‰ª}”jeª}”j…ªKssj©ª}”jŒª}”j¥ªKssj°ª}”jŒª}”j¬ªKssjЪ}”j³ª}”j̪Kssjת}”j³ª}”jÓªKssj÷ª}”jÚª}”jóªKssjþª}”jÚª}”júªKssj«}”j«}”j«Kssj%«}”j«}”j!«KssjE«}”j(«}”jA«KssjL«}”j(«}”jH«Kssjl«}”jO«}”jh«Kssjs«}”jO«}”jo«Kssj“«}”jv«}”j«Kssjš«}”jv«}”j–«Kssjº«}”j«}”j¶«KssjÁ«}”j«}”j½«Kssjá«}”jÄ«}”jÝ«Kssjè«}”jÄ«}”jä«Kssj¬}”jë«}”j¬Kssj¬}”jë«}”j¬Kssj¬}”(jë«}”j¬Ksj(»}”j:»Ksj­»}”jÚ»Ksuj5¬}”j¬}”j1¬Kssj<¬}”j¬}”j8¬KssjT¬}”j?¬}”jM¬Kssj[¬}”j?¬}”jW¬Kssj‚¬}”je¬}”j~¬Kssj‰¬}”je¬}”j…¬Kssj¡¬}”jŒ¬}”jš¬Kssj¨¬}”jŒ¬}”j¤¬Kssj¶¬}”jŒ¬}”j²¬Kssj¹¬}”jŒ¬}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼¬}”jŒ¬}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjé¬}”jæ¬}”j­Kssj­}”jæ¬}”j­Kssjô¬}”j­}”j­Kssjæ¬}”j¿¬}”jâ¬Kssj;­}”j8­}”j]­Kssje­}”j8­}”ja­KssjF­}”je­}”j]­Kssjk­}”je­}”ja­KssjQ­}”jk­}”j]­Kssj8­}”j­}”j4­Kssjž­}”j›­}”jµ­Kssj½­}”j›­}”j¹­Kssj©­}”j½­}”jµ­Kssj›­}”jt­}”j—­Kssjâ­}”jÆ­}”jÛ­Kssjé­}”jÆ­}”jå­Kssj÷­}”jÆ­}”jó­Kssj ®}”jú­}”j®Kssj®}”jú­}”j®Kssj!®}”jú­}”j®Kssj=®}”j$®}”j9®KssjG®}”j$®}”j@®KssjN®}”j$®}”jJ®Kssj\®}”j$®}”jX®Kssj_®}”j$®}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb®}”j$®}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssje®}”j$®}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh®}”j$®}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk®}”j$®}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}®}”(jn®}”jy®Ksjú!}”j"Ksuj‡®}”(jn®}”j€®Ksjú!}”j "KsujŽ®}”(jn®}”jŠ®Ksjú!}”j"Ksuj˜®}”j•®}”jº®Kssj®}”j•®}”j¾®Kssj£®}”j®}”jº®KssjÈ®}”j®}”j¾®Kssj®®}”jÈ®}”jº®Kssj•®}”jn®}”j‘®Kssjà®}”jÑ®}”jÜ®Kssjê®}”jÑ®}”jã®Kssjñ®}”jÑ®}”jí®Kssjû®}”jø®}”j¯Kssj%¯}”jø®}”j!¯Kssj¯}”j%¯}”j¯Kssj+¯}”j%¯}”j!¯Kssj¯}”j+¯}”j¯Kssjø®}”jÑ®}”jô®Kssj^¯}”j[¯}”j€¯Kssjˆ¯}”j[¯}”j„¯Kssji¯}”jˆ¯}”j€¯Kssjޝ}”jˆ¯}”j„¯Kssjt¯}”jޝ}”j€¯Kssj[¯}”j4¯}”jW¯Kssj¦¯}”j—¯}”j¢¯Kssj·¯}”j—¯}”j°¯Kssj¾¯}”j—¯}”jº¯KssjЯ}”(jÁ¯}”j̯Ksj Ç}”jÇKsujá¯}”(jÁ¯}”jÚ¯Ksj Ç}”j"ÇKsujè¯}”(jÁ¯}”jä¯Ksj Ç}”j,ÇKsujú¯}”(jë¯}”jö¯Ksj…Ç}”jÇKsuj °}”(jë¯}”j°Ksj…Ç}”jžÇKsuj°}”(jë¯}”j°Ksj…Ç}”j¨ÇKsuj.°}”(j°}”j*°Ksj¸¯}”jͯKsuj8°}”j°}”j1°Kssj?°}”j°}”j;°KssjM°}”j°}”jI°KssjP°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjY°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssje°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjn°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjq°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjt°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjw°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjz°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjƒ°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’°}”j°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤°}”j•°}”j °Kssjµ°}”j•°}”j®°Kssj¼°}”j•°}”j¸°Kssjΰ}”j¿°}”jʰKssjß°}”j¿°}”jذKssjæ°}”j¿°}”jâ°Kssjø°}”(jé°}”jô°Ksjš}”j¥Ksujÿ°}”(jé°}”jû°Ksjmã}”jqãKsjÂa}”jÆaKsjš}”j¬Ksj¬}”j°KsjL1}”jP1Ksjõ1}”jù1KsjMa}”jQaKsj±p}”jµpKsj¶}}”jº}Ksj•®}”j™®Ksuj ±}”(jé°}”j±Ksjš}”j³Ksuj±}”(jé°}”j ±Ksjš}”j½Ksuj=±}”j:±}”j_±Kssjg±}”j:±}”jc±KssjH±}”jg±}”j_±Kssjm±}”jg±}”jc±KssjS±}”jm±}”j_±Kssj:±}”j±}”j6±Kssj…±}”jv±}”j±Kssj±}”jv±}”jˆ±Kssj–±}”jv±}”j’±Kssj ±}”j±}”j·±Kssj¿±}”j±}”j»±Kssj«±}”j¿±}”j·±Kssj±}”jv±}”j™±Kssjò±}”jï±}”j ²Kssj²}”jï±}”j ²Kssjý±}”j²}”j ²Kssjï±}”jȱ}”jë±Kssj)²}”j²}”j%²Kssj3²}”j²}”j,²Kssj:²}”j²}”j6²KssjD²}”jA²}”j[²Kssjc²}”jA²}”j_²KssjO²}”jc²}”j[²KssjA²}”j²}”j=²Kssj{²}”jl²}”jw²KssjŒ²}”jl²}”j…²Kssj“²}”jl²}”j²Kssj¥²}”j–²}”j¡²Kssj¶²}”j–²}”j¯²Kssj½²}”j–²}”j¹²Kssjê²}”jç²}”j³Kssj ³}”jç²}”j³Kssjõ²}”j ³}”j³Kssjç²}”jÀ²}”jã²Kssj!³}”(j³}”j³Ksj­}”j¸Ksj"Œ}”j-ŒKsjö¯}”j°Ksuj+³}”(j³}”j$³Ksj­}”j¿Ksj"Œ}”j4ŒKsjö¯}”j°Ksuj2³}”(j³}”j.³Ksj­}”jÉKsj"Œ}”j>ŒKsjö¯}”j°Ksuj<³}”j9³}”jS³Kssj[³}”j9³}”jW³KssjG³}”j[³}”jS³Kssj9³}”j³}”j5³Kssj޳}”j‹³}”j°³Kssj¸³}”j‹³}”j´³Kssj™³}”j¸³}”j°³Kssj¾³}”j¸³}”j´³Kssj¤³}”j¾³}”j°³Kssj‹³}”jd³}”j‡³Kssjñ³}”jî³}”j´Kssj´}”jî³}”j ´Kssjü³}”j´}”j´Kssjî³}”jdz}”jê³Kssj(´}”j´}”j$´Kssj2´}”j´}”j+´Kssj9´}”j´}”j5´KssjC´}”j@´}”jp´Kssjx´}”j@´}”jt´KssjN´}”jx´}”jp´Kssj~´}”jx´}”jt´KssjY´}”j~´}”jp´Kssj„´}”j~´}”jt´Kssjd´}”j„´}”jp´Kssj@´}”j´}”j<´Kssjœ´}”j´}”j˜´Kssj¦´}”j´}”jŸ´Kssj­´}”j´}”j©´Kssj·´}”j´´}”jδKssjÖ´}”j´´}”jÒ´Kssj´}”jÖ´}”jδKssj´´}”j´}”j°´Kssj µ}”jµ}”j µKssj(µ}”jµ}”j$µKssjµ}”j(µ}”j µKssjµ}”jß´}”jµKssj@µ}”j1µ}”j<µKssjGµ}”(j1µ}”jCµKsjU¶}”jg¶Ksj9}”j=Ksjx‹}”j|‹KsjH°}”jZ°KsujQµ}”j1µ}”jJµKssjXµ}”j1µ}”jTµKssj…µ}”j‚µ}”jœµKssj¤µ}”j‚µ}”j µKssjµ}”j¤µ}”jœµKssj‚µ}”j[µ}”j~µKssj¼µ}”j­µ}”j¸µKssj͵}”j­µ}”jƵKssjÔµ}”j­µ}”jеKssjæµ}”j×µ}”jâµKssj÷µ}”j×µ}”jðµKssjþµ}”j×µ}”júµKssj¶}”j¶}”j ¶Kssj!¶}”j¶}”j¶Kssj(¶}”j¶}”j$¶Kssj:¶}”j+¶}”j6¶KssjK¶}”j+¶}”jD¶KssjR¶}”j+¶}”jN¶Kssjd¶}”(jU¶}”j`¶KsjH°}”jS°Ksuju¶}”(jU¶}”jn¶KsjH°}”ja°Ksuj|¶}”(jU¶}”jx¶KsjH°}”jk°Ksuj޶}”j¶}”jжKssj˜¶}”j¶}”j‘¶KssjŸ¶}”j¶}”j›¶Kssj©¶}”j¦¶}”jÀ¶Kssjȶ}”j¦¶}”jĶKssj´¶}”jȶ}”jÀ¶Kssj¦¶}”j¶}”j¢¶Kssjæ¶}”jѶ}”jß¶Kssjí¶}”jѶ}”jé¶Kssjþ¶}”jѶ}”jú¶Kssj·}”(j·}”j ·Ksj·¨}”j¨Ksuj!·}”(j·}”j·Ksj·¨}”jШKsuj(·}”(j·}”j$·Ksj·¨}”jÚ¨KsujH·}”j+·}”jD·KssjO·}”j+·}”jK·Kssjg·}”jR·}”j`·Kssjn·}”jR·}”jj·Kssju·}”(jR·}”jq·Ksjç}”j çKsj|ô}”j›ôKsjôþ}”jÿKsj?2}”j^2Ksjæl}”jmKsjÉå}”jèåKsjÞ.}”jý.Ksuj·}”jx·}”j†·Kssj”·}”jx·}”j·Kssj³·}”jž·}”j¬·Kssjº·}”jž·}”j¶·KssjÙ·}”jÄ·}”jÒ·Kssjà·}”jÄ·}”jÜ·Kssjç·}”jÄ·}”jã·Kssjÿ·}”jê·}”jø·Kssj¸}”jê·}”j¸Kssj&¸}”j¸}”j"¸Kssj-¸}”j¸}”j)¸KssjL¸}”j7¸}”jE¸KssjS¸}”j7¸}”jO¸Kssjr¸}”j]¸}”jk¸Kssjy¸}”j]¸}”ju¸Kssj€¸}”j]¸}”j|¸Kssj‡¸}”j]¸}”jƒ¸KssjЏ}”j]¸}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjœ¸}”(j¸}”j˜¸Ksj+}”j6Ksuj¦¸}”(j¸}”jŸ¸Ksj+}”j=Ksuj­¸}”(j¸}”j©¸Ksj+}”jGKsuj·¸}”j´¸}”jÙ¸Kssjá¸}”j´¸}”jݸKssj¸}”já¸}”jÙ¸Kssjç¸}”já¸}”jݸKssj͸}”jç¸}”jÙ¸Kssj´¸}”j¸}”j°¸Kssjÿ¸}”(jð¸}”jû¸Ksj}”jKsuj¹}”(jð¸}”j ¹Ksj}”j!Ksuj¹}”(jð¸}”j¹Ksj}”j+Ksuj,¹}”j¹}”j(¹Kssj6¹}”j¹}”j/¹Kssj=¹}”j¹}”j9¹Kssjj¹}”jG¹}”jc¹Kssjq¹}”jG¹}”jm¹Kssj¹}”j{¹}”j‰¹Kssj—¹}”j{¹}”j“¹Kssj·¹}”j¡¹}”j³¹Kssj¾¹}”j¡¹}”jº¹KssjÖ¹}”jÁ¹}”jϹKssjݹ}”jÁ¹}”jÙ¹Kssjë¹}”jÁ¹}”jç¹Kssjý¹}”jî¹}”jù¹Kssjº}”jî¹}”jºKssjº}”jî¹}”j ºKssjº}”jº}”j/ºKssj7º}”jº}”j3ºKssj#º}”j7º}”j/ºKssjº}”jî¹}”jºKssjRº}”j@º}”jNºKssj\º}”j@º}”jUºKssjcº}”j@º}”j_ºKssj‚º}”jmº}”j{ºKssj‰º}”jmº}”j…ºKssj¶º}”j“º}”j¯ºKssj½º}”j“º}”j¹ºKssj˺}”j“º}”jǺKssjκ}”j“º}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjѺ}”j“º}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjãº}”jÔº}”jߺKssjôº}”jÔº}”jíºKssjûº}”jÔº}”j÷ºKssj »}”jþº}”j »Kssj»}”jþº}”j»Kssj%»}”jþº}”j!»Kssj7»}”j(»}”j3»KssjH»}”j(»}”jA»KssjO»}”j(»}”jK»Kssju»}”jR»}”jn»Kssj|»}”jR»}”jx»KssjŽ»}”j†»}”jŠ»Kssj£»}”j†»}”jŸ»Kssjª»}”j†»}”j¦»Kssjл}”j­»}”jÉ»Kssj×»}”j­»}”jÓ»Kssjý»}”já»}”jö»Kssj¼}”já»}”j¼Kssj¼}”já»}”j¼Kssj¼}”já»}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼}”já»}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼}”já»}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼}”já»}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj0¼}”j!¼}”j,¼KssjA¼}”j!¼}”j:¼KssjH¼}”j!¼}”jD¼KssjZ¼}”jK¼}”jV¼Kssjk¼}”jK¼}”jd¼Kssjr¼}”jK¼}”jn¼Kssj„¼}”ju¼}”j€¼Kssj޼}”ju¼}”j‡¼Kssj•¼}”ju¼}”j‘¼KssjŸ¼}”jœ¼}”jÁ¼Kssjɼ}”jœ¼}”jżKssjª¼}”jɼ}”jÁ¼Kssjϼ}”jɼ}”jżKssjµ¼}”jϼ}”jÁ¼Kssjœ¼}”ju¼}”j˜¼Kssjç¼}”(jؼ}”jã¼Ksj Š}”jŠKsujñ¼}”(jؼ}”jê¼Ksj Š}”jŠKsujø¼}”(jؼ}”jô¼Ksj Š}”j%ŠKsuj½}”jÿ¼}”j$½Kssj,½}”jÿ¼}”j(½Kssj ½}”j,½}”j$½Kssj2½}”j,½}”j(½Kssj½}”j2½}”j$½Kssjÿ¼}”jؼ}”jû¼KssjJ½}”j;½}”jF½Kssj[½}”j;½}”jT½Kssjb½}”j;½}”j^½Kssj{½}”je½}”jw½Kssj‚½}”je½}”j~½Kssjš½}”j…½}”j“½Kssj¡½}”j…½}”j½Kssjǽ}”j«½}”jÀ½Kssjν}”j«½}”jʽKssjܽ}”j«½}”jؽKssjß½}”j«½}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjâ½}”j«½}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjå½}”j«½}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjè½}”j«½}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjë½}”j«½}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjî½}”j«½}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¾}”jñ½}”jü½Kssj¾}”(jñ½}”j¾Ksjm¾}”j¾Ksjó }”j÷ KsjEa}”jdaKsjO}”j¡OKsj>R}”jPRKsjY’}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj˪}”jêªKsuj¾}”(jñ½}”j ¾Ksjm¾}”j†¾Ksuj¾}”jñ½}”j¾Kssj*¾}”j¾}”j&¾Kssj4¾}”j¾}”j-¾Kssj;¾}”j¾}”j7¾KssjE¾}”jB¾}”j\¾Kssjd¾}”jB¾}”j`¾KssjP¾}”jd¾}”j\¾KssjB¾}”j¾}”j>¾Kssj|¾}”jm¾}”jx¾Kssj”¾}”jm¾}”j¾Kssj¦¾}”j—¾}”j¢¾Kssj·¾}”j—¾}”j°¾Kssj¾¾}”j—¾}”jº¾Kssjо}”jÁ¾}”j̾Kssjá¾}”jÁ¾}”jÚ¾Kssjè¾}”jÁ¾}”jä¾Kssjú¾}”jë¾}”jö¾Kssj ¿}”jë¾}”j¿Kssj¿}”jë¾}”j¿Kssj$¿}”j¿}”j ¿Kssj5¿}”j¿}”j.¿Kssj<¿}”j¿}”j8¿KssjT¿}”j?¿}”jM¿Kssj[¿}”j?¿}”jW¿Kssji¿}”j?¿}”je¿Kssj{¿}”jl¿}”jw¿Kssj…¿}”jl¿}”j~¿KssjŒ¿}”jl¿}”jˆ¿Kssj´¿}”(j¬¿}”j°¿Ksj¹‰}”jˉKsuj–¿}”j“¿}”j¸¿KssjÀ¿}”j“¿}”j¼¿Kssj¡¿}”jÀ¿}”j¸¿KssjÆ¿}”jÀ¿}”j¼¿Kssj¬¿}”jÆ¿}”j¸¿Kssj“¿}”jl¿}”j¿Kssjä¿}”jÏ¿}”jÝ¿Kssjë¿}”jÏ¿}”jç¿Kssjù¿}”jÏ¿}”jõ¿Kssjü¿}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjÿ¿}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj À}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ}”jÏ¿}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjûÀ}”jìÀ}”j÷ÀKssjÁ}”jìÀ}”jþÀKssj Á}”jìÀ}”jÁKssjÁ}”jÁ}”j-ÁKssj5Á}”jÁ}”j1ÁKssj!Á}”j5Á}”j-ÁKssjÁ}”jìÀ}”jÁKssjhÁ}”jeÁ}”jÁKssj‡Á}”jeÁ}”jƒÁKssjsÁ}”j‡Á}”jÁKssjeÁ}”j>Á}”jaÁKssjMÂ}”j8Â}”jFÂKssjTÂ}”j8Â}”jPÂKssjbÂ}”j8Â}”j^ÂKssjiÂ}”j8Â}”jeÂKssjlÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjoÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjrÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjuÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjxÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj{Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj„Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjœÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŸÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj®Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj±Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj´Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj·Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjºÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj½Â}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÃÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÆÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÌÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÏÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÒÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÕÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjØÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÛÂ}”j8Â}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjkÃ}”j\Ã}”jgÃKssjuÃ}”j\Ã}”jnÃKssj|Ã}”j\Ã}”jxÃKssj†Ã}”jƒÃ}”jÃKssu(j¥Ã}”jƒÃ}”j¡ÃKssj‘Ã}”j¥Ã}”jÃKssjƒÃ}”j\Ã}”jÃKssj½Ã}”j®Ã}”j¹ÃKssjÇÃ}”j®Ã}”jÀÃKssjÎÃ}”j®Ã}”jÊÃKssjØÃ}”jÕÃ}”jïÃKssj÷Ã}”jÕÃ}”jóÃKssjãÃ}”j÷Ã}”jïÃKssjÕÃ}”j®Ã}”jÑÃKssj9Ä}”(j*Ä}”j5ÄKsjŒp}”j—pKsujCÄ}”(j*Ä}”j<ÄKsjŒp}”jžpKsujJÄ}”(j*Ä}”jFÄKsjŒp}”j¨pKsujTÄ}”jQÄ}”jkÄKssjsÄ}”jQÄ}”joÄKssj_Ä}”jsÄ}”jkÄKssjQÄ}”j*Ä}”jMÄKssj¦Ä}”j£Ä}”j½ÄKssjÅÄ}”j£Ä}”jÁÄKssj±Ä}”jÅÄ}”j½ÄKssj£Ä}”j|Ä}”jŸÄKssjÅ}”jøÄ}”jÅKssjÅ}”jøÄ}”j ÅKssjÅ}”jøÄ}”jÅKssj"Å}”jÅ}”j9ÅKssjAÅ}”jÅ}”j=ÅKssj-Å}”jAÅ}”j9ÅKssjÅ}”jøÄ}”jÅKssjžÅ}”j›Å}”jµÅKssj½Å}”j›Å}”j¹ÅKssj©Å}”j½Å}”jµÅKssj›Å}”jtÅ}”j—ÅKssjÕÅ}”jÆÅ}”jÑÅKssjÜÅ}”(jÆÅ}”jØÅKsjþ`}”jaKsj¸›}”j¼›Ksj·œ}”j»œKsujæÅ}”jÆÅ}”jßÅKssjíÅ}”jÆÅ}”jéÅKssjÿÅ}”jðÅ}”jûÅKssjÆ}”jðÅ}”jÆKssjÆ}”jðÅ}”j ÆKssjÆ}”jðÅ}”jÆKssj)Æ}”jÆ}”j%ÆKssj0Æ}”(jÆ}”j,ÆKsjÌ}”jÌKsj3Ì}”j7ÌKsjLÌ}”jPÌKsjeÌ}”jiÌKsj¤Ì}”j¨ÌKsj F}”j$FKsjvO}”jzOKsjÍS}”jÑSKsuj:Æ}”jÆ}”j3ÆKssjAÆ}”jÆ}”j=ÆKssjnÆ}”jkÆ}”j…ÆKssjÆ}”jkÆ}”j‰ÆKssjyÆ}”jÆ}”j…ÆKssjkÆ}”jDÆ}”jgÆKssjÀÆ}”j½Æ}”jׯKssj߯}”j½Æ}”jÛÆKssjËÆ}”j߯}”jׯKssj½Æ}”j–Æ}”j¹ÆKssj<Ç}”j9Ç}”jiÇKssjqÇ}”j9Ç}”jmÇKssjGÇ}”jqÇ}”jiÇKssjwÇ}”jqÇ}”jmÇKssjRÇ}”jwÇ}”jiÇKssj}Ç}”jwÇ}”jmÇKssj]Ç}”j}Ç}”jiÇKssj9Ç}”jÇ}”j5ÇKssj•Ç}”(j†Ç}”j‘ÇKsjßá}”jêáKsuj¦Ç}”(j†Ç}”jŸÇKsjßá}”jøáKsuj­Ç}”(j†Ç}”j©ÇKsjßá}”jâKsuj¿Ç}”j°Ç}”j»ÇKssjÐÇ}”j°Ç}”jÉÇKssj×Ç}”j°Ç}”jÓÇKssjéÇ}”jÚÇ}”jåÇKssjúÇ}”jÚÇ}”jóÇKssjÈ}”jÚÇ}”jýÇKssj.È}”j+È}”jEÈKssjMÈ}”j+È}”jIÈKssj9È}”jMÈ}”jEÈKssj+È}”jÈ}”j'ÈKssjeÈ}”jVÈ}”jaÈKssjoÈ}”jVÈ}”jhÈKssjvÈ}”jVÈ}”jrÈKssj€È}”j}È}”j—ÈKssjŸÈ}”j}È}”j›ÈKssj‹È}”jŸÈ}”j—ÈKssj}È}”jVÈ}”jyÈKssj·È}”j¨È}”j³ÈKssjÁÈ}”j¨È}”jºÈKssjÈÈ}”j¨È}”jÄÈKssjÒÈ}”jÏÈ}”jéÈKssjñÈ}”jÏÈ}”jíÈKssjÝÈ}”jñÈ}”jéÈKssjÏÈ}”j¨È}”jËÈKssj É}”júÈ}”jÉKssjÉ}”júÈ}”j ÉKssjÉ}”júÈ}”jÉKssj$É}”j!É}”j;ÉKssjCÉ}”j!É}”j?ÉKssj/É}”jCÉ}”j;ÉKssj!É}”júÈ}”jÉKssj[É}”jLÉ}”jWÉKssjlÉ}”jLÉ}”jeÉKssjsÉ}”jLÉ}”joÉKssj…É}”jvÉ}”jÉKssj–É}”jvÉ}”jÉKssjÉ}”jvÉ}”j™ÉKssj¯É}”j É}”j«ÉKssjÀÉ}”j É}”j¹ÉKssjÇÉ}”j É}”jÃÉKssjÊ}”jÊ}”j5ÊKssj=Ê}”jÊ}”j9ÊKssj)Ê}”j=Ê}”j5ÊKssjÊ}”jôÉ}”jÊKssjpÊ}”jmÊ}”j‡ÊKssjÊ}”jmÊ}”j‹ÊKssj{Ê}”jÊ}”j‡ÊKssjmÊ}”jFÊ}”jiÊKssj§Ê}”j˜Ê}”j£ÊKssj¸Ê}”j˜Ê}”j±ÊKssj¿Ê}”j˜Ê}”j»ÊKssjÑÊ}”jÂÊ}”jÍÊKssjâÊ}”jÂÊ}”jÛÊKssjéÊ}”jÂÊ}”jåÊKssjûÊ}”jìÊ}”j÷ÊKssj Ë}”jìÊ}”jËKssjË}”jìÊ}”jËKssj@Ë}”j=Ë}”jWËKssj_Ë}”j=Ë}”j[ËKssjKË}”j_Ë}”jWËKssj=Ë}”jË}”j9ËKssj¡Ë}”j’Ë}”jËKssj²Ë}”j’Ë}”j«ËKssj¹Ë}”j’Ë}”jµËKssjËË}”j¼Ë}”jÇËKssjÜË}”j¼Ë}”jÕËKssjãË}”j¼Ë}”jßËKssjÿË}”(jæË}”jûËKsjþ`}”jaKsj¸›}”jÊ›Ksj·œ}”jÉœKsjOœ}”jdœKsuj Ì}”jæË}”jÌKssjÌ}”jæË}”j ÌKssj)Ì}”jÌ}”j%ÌKssj0Ì}”jÌ}”j,ÌKssjBÌ}”j3Ì}”j>ÌKssjIÌ}”j3Ì}”jEÌKssj[Ì}”jLÌ}”jWÌKssjbÌ}”jLÌ}”j^ÌKssjtÌ}”jeÌ}”jpÌKssj{Ì}”jeÌ}”jwÌKssj“Ì}”j~Ì}”jŒÌKssjšÌ}”j~Ì}”j–ÌKssj³Ì}”j¤Ì}”j¯ÌKssjºÌ}”j¤Ì}”j¶ÌKssjÖÌ}”j½Ì}”jÒÌKssjàÌ}”j½Ì}”jÙÌKssjçÌ}”j½Ì}”jãÌKssj Í}”jôÌ}”jÍKssjÍ}”jôÌ}”j ÍKssj/Í}”jÍ}”j(ÍKssj6Í}”jÍ}”j2ÍKssjHÍ}”(j@Í}”jDÍKsj`Í}”jdÍKsj€Í}”j„ÍKsjK}”j$KKsujVÍ}”j@Í}”jRÍKssj]Í}”j@Í}”jYÍKssjvÍ}”j`Í}”jrÍKssj}Í}”j`Í}”jyÍKssj–Í}”j€Í}”j’ÍKssjÍ}”j€Í}”j™ÍKssjÆÍ}”j Í}”j¿ÍKssjÍÍ}”j Í}”jÉÍKssjÛÍ}”j Í}”j×ÍKssjÞÍ}”j Í}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjáÍ}”j Í}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÎ}”jÎ}”jÎKssj.Î}”jÎ}”j'ÎKssj5Î}”jÎ}”j1ÎKssjGÎ}”j8Î}”jCÎKssjQÎ}”j8Î}”jJÎKssjXÎ}”j8Î}”jTÎKssjbÎ}”j_Î}”jyÎKssjÎ}”j_Î}”j}ÎKssjmÎ}”jÎ}”jyÎKssj_Î}”j8Î}”j[ÎKssj’Î}”(jŠÎ}”jŽÎKsj­ã}”j±ãKsjq\}”jƒ\KsjD^}”jH^Ksuj Î}”(jŠÎ}”jœÎKsj­ã}”j¿ãKsj'[}”j<[Ksj[[}”jm[Ksj‚[}”j”[Ksj©[}”j¾[Ksjï\}”j]Ksj]}”j(]Ksj·}”j·Ksjæú}”jûúKsj!û}”j3ûKsjOû}”jaûKsj}û}”j’ûKsjü}”j(üKsjDü}”jVüKsj#}”j8Ksj•)}”j§)Ksj +}”j+Ksj=+}”jO+KsjD^}”jV^Ksuj§Î}”jŠÎ}”j£ÎKssj®Î}”jŠÎ}”jªÎKssjÆÎ}”j±Î}”j¿ÎKssjÍÎ}”j±Î}”jÉÎKssjÔÎ}”(j±Î}”jÐÎKsjÅ}”j=ÅKsujÛÎ}”j±Î}”j×ÎKssjÞÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjáÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjäÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjçÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjêÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjíÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjðÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjóÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjöÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjùÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjüÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÿÎ}”j±Î}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÏ}”jÏ}”j ÏKssj"Ï}”(jÏ}”jÏKsj€Ï}”j™ÏKsuj)Ï}”jÏ}”j%ÏKssj;Ï}”j,Ï}”j7ÏKssjBÏ}”(j,Ï}”j>ÏKsjÔÏ}”jæÏKsujLÏ}”(j,Ï}”jEÏKsjÔÏ}”jíÏKsujSÏ}”j,Ï}”jOÏKssjeÏ}”(jVÏ}”jaÏKsj¥z}”j°zKsujvÏ}”(jVÏ}”joÏKsj¥z}”j¾zKsuj}Ï}”(jVÏ}”jyÏKsj¥z}”jÈzKsujÏ}”j€Ï}”j‹ÏKssj§Ï}”j€Ï}”j£ÏKssj¹Ï}”jªÏ}”jµÏKssjÀÏ}”jªÏ}”j¼ÏKssjÊÏ}”jªÏ}”jÃÏKssjÑÏ}”jªÏ}”jÍÏKssjãÏ}”jÔÏ}”jßÏKssjûÏ}”jÔÏ}”j÷ÏKssj Ð}”(jþÏ}”j ÐKsjdÒ}”joÒKsujÐ}”(jþÏ}”jÐKsjdÒ}”j}ÒKsuj%Ð}”(jþÏ}”j!ÐKsjdÒ}”j‡ÒKsuj7Ð}”(j(Ð}”j3ÐKsjÎg}”jÙgKsjäy}”jïyKsujHÐ}”(j(Ð}”jAÐKsjÎg}”jçgKsjäy}”jýyKsujOÐ}”(j(Ð}”jKÐKsjÎg}”jñgKsjäy}”jzKsujaÐ}”jRÐ}”j]ÐKssjrÐ}”jRÐ}”jkÐKssjyÐ}”jRÐ}”juÐKssj‹Ð}”j|Ð}”j‡ÐKssjœÐ}”j|Ð}”j•ÐKssj£Ð}”j|Ð}”jŸÐKssjµÐ}”j¦Ð}”j±ÐKssj¼Ð}”j¦Ð}”j¸ÐKssjÆÐ}”j¦Ð}”j¿ÐKssjÍÐ}”j¦Ð}”jÉÐKssjßÐ}”jÐÐ}”jÛÐKssjæÐ}”(jÐÐ}”jâÐKsj×Y}”jÛYKsj)Z}”j-ZKsj{Z}”jZKsujðÐ}”jÐÐ}”jéÐKssj÷Ð}”jÐÐ}”jóÐKssj Ñ}”(júÐ}”jÑKsj‡ }”j’ Ksjøg}”jhKsjz}”jzKsujÑ}”(júÐ}”jÑKsj‡ }”j  Ksjøg}”jhKsjz}”j'zKsuj!Ñ}”(júÐ}”jÑKsj‡ }”jª Ksjøg}”jhKsjz}”j1zKsuj9Ñ}”j$Ñ}”j2ÑKssj@Ñ}”j$Ñ}”j<ÑKssjfÑ}”jJÑ}”j_ÑKssjmÑ}”jJÑ}”jiÑKssjwÑ}”jJÑ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Kssj~Ñ}”jJÑ}”jzÑKssjÑ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj„Ñ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡Ñ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠÑ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÑ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÑ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“Ñ}”jJÑ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥Ñ}”j–Ñ}”j¡ÑKssj¯Ñ}”j–Ñ}”j¨ÑKssj¶Ñ}”j–Ñ}”j²ÑKssjÀÑ}”j½Ñ}”j×ÑKssjßÑ}”j½Ñ}”jÛÑKssjËÑ}”jßÑ}”j×ÑKssj½Ñ}”j–Ñ}”j¹ÑKssj÷Ñ}”jèÑ}”jóÑKssjÒ}”jèÑ}”júÑKssjÒ}”jèÑ}”jÒKssjÒ}”jÒ}”j)ÒKssj1Ò}”jÒ}”j-ÒKssjÒ}”j1Ò}”j)ÒKssjÒ}”jèÑ}”j ÒKssjIÒ}”j:Ò}”jEÒKssjZÒ}”j:Ò}”jSÒKssjaÒ}”j:Ò}”j]ÒKssjÒ}”jŽÒ}”j™ÒKssj§Ò}”jŽÒ}”j ÒKssj®Ò}”jŽÒ}”jªÒKssj¸Ò}”jµÒ}”jÏÒKssj×Ò}”jµÒ}”jÓÒKssjÃÒ}”j×Ò}”jÏÒKssjµÒ}”jŽÒ}”j±ÒKssjïÒ}”jàÒ}”jëÒKssjùÒ}”jàÒ}”jòÒKssjÓ}”jàÒ}”jüÒKssj Ó}”jÓ}”j!ÓKssj)Ó}”jÓ}”j%ÓKssjÓ}”j)Ó}”j!ÓKssjÓ}”jàÒ}”jÓKssjAÓ}”j2Ó}”j=ÓKssjKÓ}”j2Ó}”jDÓKssjRÓ}”j2Ó}”jNÓKssj\Ó}”jYÓ}”jsÓKssj{Ó}”jYÓ}”jwÓKssjgÓ}”j{Ó}”jsÓKssjYÓ}”j2Ó}”jUÓKssj“Ó}”j„Ó}”jÓKssjÓ}”j„Ó}”j–ÓKssj¤Ó}”j„Ó}”j ÓKssj®Ó}”j«Ó}”jÅÓKssjÍÓ}”j«Ó}”jÉÓKssj¹Ó}”jÍÓ}”jÅÓKssj«Ó}”j„Ó}”j§ÓKssjëÓ}”jÖÓ}”jäÓKssjòÓ}”jÖÓ}”jîÓKssjÔ}”jüÓ}”jÔKssjÔ}”jüÓ}”jÔKssj.Ô}”jÔ}”j*ÔKssj8Ô}”jÔ}”j1ÔKssj?Ô}”jÔ}”j;ÔKssj_Ô}”jIÔ}”j[ÔKssjfÔ}”jIÔ}”jbÔKssjÔ}”jiÔ}”j{ÔKssj†Ô}”jiÔ}”j‚ÔKssjŸÔ}”j‰Ô}”j›ÔKssj¦Ô}”j‰Ô}”j¢ÔKssj¿Ô}”j©Ô}”j»ÔKssjÆÔ}”j©Ô}”jÂÔKssjßÔ}”jÉÔ}”jÛÔKssjæÔ}”jÉÔ}”jâÔKssjÿÔ}”jéÔ}”jûÔKssjÕ}”jéÔ}”jÕKssj%Õ}”j Õ}”jÕKssj,Õ}”j Õ}”j(ÕKssjEÕ}”j6Õ}”jAÕKssjLÕ}”j6Õ}”jHÕKssj^Õ}”jOÕ}”jZÕKssjeÕ}”jOÕ}”jaÕKssj}Õ}”jhÕ}”jvÕKssj„Õ}”jhÕ}”j€ÕKssj–Õ}”(jŽÕ}”j’ÕKsjá8}”jå8KsjXÄ}”j\ÄKsjƒÍ}”j‡ÍKsjwI}”j{IKsj\}”j\KsujÕ}”jŽÕ}”j™ÕKssj¤Õ}”jŽÕ}”j ÕKssj¼Õ}”j§Õ}”jµÕKssjÃÕ}”j§Õ}”j¿ÕKssjâÕ}”jÍÕ}”jÛÕKssjéÕ}”jÍÕ}”jåÕKssjÖ}”jóÕ}”jÖKssjÖ}”jóÕ}”jÖKssj$Ö}”jóÕ}”j ÖKssj'Ö}”jóÕ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj*Ö}”jóÕ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj<Ö}”j-Ö}”j8ÖKssjFÖ}”j-Ö}”j?ÖKssjMÖ}”j-Ö}”jIÖKssjWÖ}”jTÖ}”jnÖKssjvÖ}”jTÖ}”jrÖKssjbÖ}”jvÖ}”jnÖKssjTÖ}”j-Ö}”jPÖKssjŽÖ}”(jÖ}”jŠÖKsjP×}”j[×Ksuj˜Ö}”(jÖ}”j‘ÖKsjP×}”jb×KsujŸÖ}”(jÖ}”j›ÖKsjP×}”jl×Ksuj©Ö}”j¦Ö}”jÀÖKssjÈÖ}”j¦Ö}”jÄÖKssj´Ö}”jÈÖ}”jÀÖKssj¦Ö}”jÖ}”j¢ÖKssjàÖ}”jÑÖ}”jÜÖKssjêÖ}”jÑÖ}”jãÖKssjñÖ}”jÑÖ}”jíÖKssjûÖ}”jøÖ}”j×Kssj×}”jøÖ}”j×Kssj×}”j×}”j×KssjøÖ}”jÑÖ}”jôÖKssj8×}”j#×}”j1×Kssj?×}”j#×}”j;×KssjM×}”j#×}”jI×Kssjz×}”jw×}”j‘×Kssj™×}”jw×}”j•×Kssj…×}”j™×}”j‘×Kssjw×}”jP×}”js×Kssj·×}”j¢×}”j°×Kssj¾×}”j¢×}”jº×KssjÝ×}”jÈ×}”jÖ×Kssjä×}”jÈ×}”jà×Kssjî×}”(jÈ×}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj?ü}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj ç}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsujØ}”jñ×}”jØKssjØ}”jñ×}”j ØKssj&Ø}”jØ}”jØKssj-Ø}”jØ}”j)ØKssj;Ø}”jØ}”j7ØKssj>Ø}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjAØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjDØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjGØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\Ø}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_Ø}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjbØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjeØ}”jØ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjwØ}”jhØ}”jsØKssjØ}”jhØ}”jzØKssjˆØ}”jhØ}”j„ØKssj’Ø}”jØ}”j©ØKssj±Ø}”jØ}”j­ØKssjØ}”j±Ø}”j©ØKssjØ}”jhØ}”j‹ØKssjÉØ}”jºØ}”jÅØKssjÐØ}”(jºØ}”jÌØKsjŒÙ}”jžÙKsujÚØ}”jºØ}”jÓØKssjáØ}”jºØ}”jÝØKssjóØ}”jäØ}”jïØKssjÙ}”jäØ}”jýØKssj Ù}”jäØ}”jÙKssjÙ}”jÙ}”jÙKssj.Ù}”jÙ}”j'ÙKssj5Ù}”jÙ}”j1ÙKssjqÙ}”(jbÙ}”jmÙKsj8º}”jCºKsuj‚Ù}”(jbÙ}”j{ÙKsj8º}”jQºKsuj‰Ù}”(jbÙ}”j…ÙKsj8º}”j[ºKsuj›Ù}”jŒÙ}”j—ÙKssj¬Ù}”jŒÙ}”j¥ÙKssj³Ù}”jŒÙ}”j¯ÙKssjÅÙ}”j¶Ù}”jÁÙKssjÖÙ}”j¶Ù}”jÏÙKssjÝÙ}”j¶Ù}”jÙÙKssjïÙ}”jàÙ}”jëÙKssjÚ}”jàÙ}”jùÙKssjÚ}”jàÙ}”jÚKssjÚ}”j Ú}”jÚKssj#Ú}”j Ú}”jÚKssj*Ú}”j Ú}”j&ÚKssj4Ú}”j1Ú}”jKÚKssjSÚ}”j1Ú}”jOÚKssj?Ú}”jSÚ}”jKÚKssj1Ú}”j Ú}”j-ÚKssjkÚ}”j\Ú}”jgÚKssj|Ú}”j\Ú}”juÚKssjƒÚ}”j\Ú}”jÚKssj•Ú}”j†Ú}”j‘ÚKssj¦Ú}”j†Ú}”jŸÚKssj­Ú}”j†Ú}”j©ÚKssj¿Ú}”j°Ú}”j»ÚKssjÐÚ}”j°Ú}”jÉÚKssj×Ú}”j°Ú}”jÓÚKssjÛ}”jÛ}”jÛKssj#Û}”jÛ}”jÛKssjÛ}”j#Û}”jÛKssjÛ}”jÚÚ}”jýÚKssj;Û}”j,Û}”j7ÛKssjLÛ}”j,Û}”jEÛKssjSÛ}”j,Û}”jOÛKssjkÛ}”jVÛ}”jdÛKssjrÛ}”jVÛ}”jnÛKssj€Û}”jVÛ}”j|ÛKssjƒÛ}”jVÛ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†Û}”jVÛ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰Û}”jVÛ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›Û}”jŒÛ}”j—ÛKssj¬Û}”jŒÛ}”j¥ÛKssj³Û}”jŒÛ}”j¯ÛKssjÅÛ}”j¶Û}”jÁÛKssjÏÛ}”j¶Û}”jÈÛKssjÖÛ}”j¶Û}”jÒÛKssjàÛ}”jÝÛ}”j÷ÛKssjÿÛ}”jÝÛ}”jûÛKssjëÛ}”jÿÛ}”j÷ÛKssjÝÛ}”j¶Û}”jÙÛKssjÜ}”jÜ}”jÜKssj(Ü}”jÜ}”j!ÜKssj/Ü}”jÜ}”j+ÜKssjAÜ}”j2Ü}”j=ÜKssjRÜ}”j2Ü}”jKÜKssjYÜ}”j2Ü}”jUÜKssjqÜ}”j\Ü}”jjÜKssjxÜ}”j\Ü}”jtÜKssj›Ü}”j‚Ü}”j—ÜKssj¥Ü}”j‚Ü}”jžÜKssj¬Ü}”j‚Ü}”j¨ÜKssjºÜ}”j‚Ü}”j¶ÜKssj½Ü}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÃÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÆÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÌÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÏÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÒÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÕÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjØÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÛÜ}”j‚Ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjAÝ}”j2Ý}”j=ÝKssjRÝ}”j2Ý}”jKÝKssjYÝ}”j2Ý}”jUÝKssjkÝ}”j\Ý}”jgÝKssjuÝ}”j\Ý}”jnÝKssj|Ý}”j\Ý}”jxÝKssj†Ý}”jƒÝ}”jÝKssj¥Ý}”jƒÝ}”j¡ÝKssj‘Ý}”j¥Ý}”jÝKssjƒÝ}”j\Ý}”jÝKssjVÞ}”jSÞ}”jmÞKssjuÞ}”jSÞ}”jqÞKssjaÞ}”juÞ}”jmÞKssjSÞ}”j,Þ}”jOÞKssjüÞ}”jùÞ}”jßKssjß}”jùÞ}”jßKssjß}”jß}”jßKssjùÞ}”jÒÞ}”jõÞKssjNß}”jKß}”jeßKssjmß}”jKß}”jißKssjYß}”jmß}”jeßKssjKß}”j$ß}”jGßKssj‹ß}”jvß}”j„ßKssj’ß}”jvß}”jŽßKssj±ß}”jœß}”jªßKssj¸ß}”jœß}”j´ßKssjÆß}”jœß}”jÂßKssjØß}”jÉß}”jÔßKssjâß}”jÉß}”jÛßKssjéß}”jÉß}”jåßKssjóß}”jðß}”j àKssjà}”jðß}”jàKssjþß}”jà}”j àKssjðß}”jÉß}”jìßKssj0à}”jà}”j)àKssj7à}”jà}”j3àKssjEà}”jà}”jAàKssjHà}”jà}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjKà}”jà}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjNà}”jà}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQà}”jà}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjcà}”jTà}”j_àKssjmà}”jTà}”jfàKssjtà}”jTà}”jpàKssj~à}”j{à}”j àKssj¨à}”j{à}”j¤àKssj‰à}”j¨à}”j àKssj®à}”j¨à}”j¤àKssj”à}”j®à}”j àKssj{à}”jTà}”jwàKssjÆà}”j·à}”jÂàKssjÐà}”(j·à}”jÉàKsjá}”j,áKsuj×à}”j·à}”jÓàKssjéà}”(jáà}”jåàKsjDá}”jHáKsujáà}”jÞà}”jáKssj á}”jÞà}”jáKssjìà}”j á}”jáKssjá}”j á}”jáKssj÷à}”já}”jáKssjÞà•}”j·à}”jÚàKssj)á}”já}”j%áKssj:á}”já}”j6áKssjDá}”jAá}”jfáKssjná}”jAá}”jjáKssjOá}”jná}”jfáKssjtá}”jná}”jjáKssjZá}”jtá}”jfáKssjAá}”já}”j=áKssjŒá}”j}á}”jˆáKssjá}”j}á}”j–áKssj¤á}”j}á}”j áKssj¶á}”(j§á}”j²áKsj•4}”j 4KsujÇá}”(j§á}”jÀáKsj•4}”j®4KsujÎá}”(j§á}”jÊáKsj•4}”j¸4Ksujæá}”jÑá}”jßáKssjíá}”jÑá}”jéáKssjûá}”jÑá}”j÷áKssjþá}”jÑá}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjâ}”jÑá}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.â}”j+â}”jEâKssjMâ}”j+â}”jIâKssj9â}”jMâ}”jEâKssj+â}”jâ}”j'âKssjeâ}”(jVâ}”jaâKsjŒi}”j—iKsujoâ}”(jVâ}”jhâKsjŒi}”jžiKsujvâ}”(jVâ}”jrâKsjŒi}”j¨iKsuj€â}”j}â}”j—âKssjŸâ}”j}â}”j›âKssj‹â}”jŸâ}”j—âKssj}â}”jVâ}”jyâKssjÒâ}”jÏâ}”jéâKssjñâ}”jÏâ}”jíâKssjÝâ}”jñâ}”jéâKssjÏâ}”j¨â}”jËâKssjã}”júâ}”jãKssjã}”júâ}”jãKssj<ã}”j ã}”j5ãKssjCã}”j ã}”j?ãKssjcã}”jMã}”j_ãKssjjã}”jMã}”jfãKssj|ã}”jmã}”jxãKssjƒã}”jmã}”jãKssjŠã}”jmã}”j†ãKssj£ã}”jã}”jŸãKssjªã}”jã}”j¦ãKssjÊã}”j­ã}”jÆãKssjÑã}”j­ã}”jÍãKssjíã}”(jÔã}”jéãKsj ä}”j äKsjÔò}”jéòKsjd}”j.dKsj•þ}”jªþKsjî#}”j$Ksujðã}”(jÔã}”hŒhttp://schema.org/source”…”R”Ksj ä}”hŒhttp://schema.org/source”…”R”KsjÔò}”hŒhttp://schema.org/source”…”R”Ksjd}”hŒhttp://schema.org/source”…”R”Ksj•þ}”hŒhttp://schema.org/source”…”R”Ksjî#}”hŒhttp://schema.org/source”…”R”Ksujúã}”jÔã}”jóãKssjä}”jÔã}”jýãKssjä}”(jÔã}”jäKsjî#}”j$Ksuj1ä}”j ä}”j*äKssj8ä}”j ä}”j4äKssjXä}”jBä}”jTäKssj_ä}”jBä}”j[äKssjwä}”jbä}”jpäKssj~ä}”jbä}”jzäKssjä}”jˆä}”j–äKssj¤ä}”jˆä}”j äKssj²ä}”jˆä}”j®äKssjµä}”jˆä}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¸ä}”jˆä}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj»ä}”jˆä}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¾ä}”jˆä}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÐä}”(jÁä}”jÌäKsj¼•}”jÇ•Ksujáä}”(jÁä}”jÚäKsj¼•}”jÕ•Ksujèä}”(jÁä}”jääKsj¼•}”jß•Ksujúä}”(jëä}”jöäKsjâ–}”jí–Ksuj å}”(jëä}”jåKsjâ–}”jû–Ksujå}”(jëä}”jåKsjâ–}”j—Ksuj$å}”(jå}”j åKsj —}”j—Ksuj.å}”(jå}”j'åKsj —}”j—Ksuj5å}”(jå}”j1åKsj —}”j(—Ksuj?å}”j<å}”jaåKssjiå}”j<å}”jeåKssjJå}”jiå}”jaåKssjoå}”jiå}”jeåKssjUå}”joå}”jaåKssj<å}”jå}”j8åKssj‡å}”(jxå}”jƒåKsjN˜}”jY˜Ksuj˜å}”(jxå}”j‘åKsjN˜}”jg˜KsujŸå}”(jxå}”j›åKsjN˜}”jq˜Ksuj±å}”(j¢å}”j­åKsjö˜}”j™KsujÂå}”(j¢å}”j»åKsjö˜}”j™KsujÉå}”(j¢å}”jÅåKsjö˜}”j™Ksujáå}”jÌå}”jÚåKssjèå}”jÌå}”jäåKssjæ}”jòå}”jæKssjæ}”jòå}”j æKssjæ}”jòå}”jæKssjæ}”jòå}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj"æ}”jòå}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj4æ}”j%æ}”j0æKssj;æ}”j%æ}”j7æKssjEæ}”j%æ}”j>æKssjLæ}”j%æ}”jHæKssj^æ}”jOæ}”jZæKssjoæ}”jOæ}”jhæKssjvæ}”jOæ}”jræKssjˆæ}”jyæ}”j„æKssjæ}”(jyæ}”j‹æKsjß›}”jã›Ksjø›}”jü›Ksjžœ}”j¢œKsjÞœ}”jâœKsuj™æ}”(jyæ}”j’æKsj£æ}”j±æKsuj æ}”jyæ}”jœæKssj¿æ}”j£æ}”j»æKssjÞæ}”jÉæ}”j׿Kssjåæ}”jÉæ}”jáæKssjç}”jïæ}”jýæKssj ç}”jïæ}”jçKssj+ç}”jç}”j'çKssj2ç}”jç}”j.çKssjJç}”j5ç}”jCçKssjQç}”j5ç}”jMçKssjpç}”j[ç}”jiçKssjwç}”j[ç}”jsçKssj–ç}”jç}”jçKssjç}”jç}”j™çKssj½ç}”j§ç}”j¹çKssjÄç}”j§ç}”jÀçKssjÝç}”jÇç}”jÙçKssjäç}”jÇç}”jàçKssjüç}”jçç}”jõçKssjè}”jçç}”jÿçKssjè}”jçç}”j èKssjè}”jçç}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj&è}”jè}”j"èKssj-è}”(jè}”j)èKsj?Ü}”jCÜKsuj7è}”jè}”j0èKssj>è}”jè}”j:èKssjPè}”jAè}”jLèKssjZè}”jAè}”jSèKssjaè}”jAè}”j]èKssjkè}”jhè}”j‚èKssjŠè}”jhè}”j†èKssjvè}”jŠè}”j‚èKssjhè}”jAè}”jdèKssj¨è}”j“è}”j¡èKssj¯è}”j“è}”j«èKssj½è}”j“è}”j¹èKssjÀè}”j“è}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÃè}”j“è}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÆè}”j“è}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉè}”j“è}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÌè}”j“è}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÞè}”(jÏè}”jÚèKsjÜê}”jçêKsj;¨}”jF¨KsjõÈ}”jÉKsjIÚ}”jTÚKsujèè}”(jÏè}”jáèKsjÜê}”jîêKsj;¨}”jM¨KsjõÈ}”jÉKsjIÚ}”j[ÚKsujïè}”(jÏè}”jëèKsjÜê}”jøêKsj;¨}”jW¨KsjõÈ}”jÉKsjIÚ}”jeÚKsujùè}”jöè}”jéKssjé}”jöè}”jéKssjé}”jé}”jéKssjöè}”jÏè}”jòèKssjKé}”jHé}”jbéKssjjé}”jHé}”jféKssjVé}”jjé}”jbéKssjHé}”j!é}”jDéKssj‚é}”(jsé}”j~éKsjÔë}”jßëKsujŒé}”(jsé}”j…éKsjÔë}”jæëKsuj“é}”(jsé}”jéKsjÔë}”jðëKsujé}”jšé}”j´éKssj¼é}”jšé}”j¸éKssj¨é}”j¼é}”j´éKssjšé}”jsé}”j–éKssjÔé}”(jÅé}”jÐéKsj•à}”j àKsujÞé}”(jÅé}”j×éKsj•à}”j§àKsujåé}”(jÅé}”jáéKsj•à}”j±àKsujïé}”jìé}”jêKssjê}”jìé}”j êKssjúé}”jê}”jêKssjìé}”jÅé}”jèéKssj&ê}”(jê}”j"êKsj9á}”jDáKsuj0ê}”(jê}”j)êKsj9á}”jKáKsuj7ê}”(jê}”j3êKsj9á}”jUáKsujAê}”j>ê}”jXêKssj`ê}”j>ê}”j\êKssjLê}”j`ê}”jXêKssj>ê}”jê}”j:êKssj¯ê}”j“ê}”j¨êKssj¶ê}”j“ê}”j²êKssjÄê}”j“ê}”jÀêKssjÇê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÊê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÍê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÐê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÓê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÖê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÙê}”j“ê}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjë}”jë}”jëKssj%ë}”jë}”j!ëKssjë}”j%ë}”jëKssjë}”jÜê}”jÿêKssjXë}”jUë}”joëKssjwë}”jUë}”jsëKssjcë}”jwë}”joëKssjUë}”j.ë}”jQëKssjë}”j€ë}”j‹ëKssj ë}”j€ë}”j™ëKssj§ë}”j€ë}”j£ëKssj¹ë}”jªë}”jµëKssjÊë}”jªë}”jÃëKssjÑë}”jªë}”jÍëKssjþë}”jûë}”jìKssjì}”jûë}”jìKssj ì}”jì}”jìKssjûë}”jÔë}”j÷ëKssj5ì}”j&ì}”j1ìKssjFì}”j&ì}”j?ìKssjMì}”j&ì}”jIìKssj_ì}”jPì}”j[ìKssjpì}”jPì}”jiìKssjwì}”jPì}”jsìKssj½ì}”j¤ì}”j¹ìKssjÇì}”j¤ì}”jÀìKssjÎì}”j¤ì}”jÊìKssjÜì}”j¤ì}”jØìKssjßì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjâì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjåì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjèì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjëì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjîì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjñì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjôì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj÷ì}”j¤ì}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj í}”(júì}”jíKsjgÜ}”jrÜKsují}”(júì}”j íKsjgÜ}”jyÜKsují}”(júì}”jíKsjgÜ}”jƒÜKsuj,í}”(j$í}”j(íKsjví}”jzíKsjÈí}”jÌíKsjî}”jîKsjlî}”jpîKsj¾î}”jÂîKsjï}”jïKsjbï}”jfïKsj´ï}”j¸ïKsjð}”j ðKsj‘Ü}”j•ÜKsjãÜ}”jçÜKsj5Ý}”j9ÝKsj‡Ý}”j‹ÝKsjÙÝ}”jÝÝKsj+Þ}”j/ÞKsj}Þ}”jÞKsjÏÞ}”jÓÞKsj!ß}”j%ßKsjsß}”jwßKsuj$í}”j!í}”j;íKssjCí}”j!í}”j?íKssj/í}”jCí}”j;íKssj!í}”júì}”jíKssj[í}”(jLí}”jWíKsj¹Ü}”jÄÜKsujeí}”(jLí}”j^íKsj¹Ü}”jËÜKsujlí}”(jLí}”jhíKsj¹Ü}”jÕÜKsujví}”jsí}”jíKssj•í}”jsí}”j‘íKssjí}”j•í}”jíKssjsí}”jLí}”joíKssj­í}”(jží}”j©íKsj Ý}”jÝKsuj·í}”(jží}”j°íKsj Ý}”jÝKsuj¾í}”(jží}”jºíKsj Ý}”j'ÝKsujÈí}”jÅí}”jßíKssjçí}”jÅí}”jãíKssjÓí}”jçí}”jßíKssjÅí}”jží}”jÁíKssjÿí}”(jðí}”jûíKsj]Ý}”jhÝKsuj î}”(jðí}”jîKsj]Ý}”joÝKsujî}”(jðí}”j îKsj]Ý}”jyÝKsujî}”jî}”j1îKssj9î}”jî}”j5îKssj%î}”j9î}”j1îKssjî}”jðí}”jîKssjQî}”(jBî}”jMîKsj¯Ý}”jºÝKsuj[î}”(jBî}”jTîKsj¯Ý}”jÁÝKsujbî}”(jBî}”j^îKsj¯Ý}”jËÝKsujlî}”jiî}”jƒîKssj‹î}”jiî}”j‡îKssjwî}”j‹î}”jƒîKssjiî}”jBî}”jeîKssj£î}”(j”î}”jŸîKsjÞ}”j ÞKsuj­î}”(j”î}”j¦îKsjÞ}”jÞKsuj´î}”(j”î}”j°îKsjÞ}”jÞKsuj¾î}”j»î}”jÕîKssjÝî}”j»î}”jÙîKssjÉî}”jÝî}”jÕîKssj»î}”j”î}”j·îKssjõî}”(jæî}”jñîKsjSÞ}”j^ÞKsujÿî}”(jæî}”jøîKsjSÞ}”jeÞKsujï}”(jæî}”jïKsjSÞ}”joÞKsujï}”j ï}”j'ïKssj/ï}”j ï}”j+ïKssjï}”j/ï}”j'ïKssj ï}”jæî}”j ïKssjGï}”(j8ï}”jCïKsj¥Þ}”j°ÞKsujQï}”(j8ï}”jJïKsj¥Þ}”j·ÞKsujXï}”(j8ï}”jTïKsj¥Þ}”jÁÞKsujbï}”j_ï}”jyïKssjï}”j_ï}”j}ïKssjmï}”jï}”jyïKssj_ï}”j8ï}”j[ïKssj™ï}”(jŠï}”j•ïKsj÷Þ}”jßKsuj£ï}”(jŠï}”jœïKsj÷Þ}”j ßKsujªï}”(jŠï}”j¦ïKsj÷Þ}”jßKsuj´ï}”j±ï}”jËïKssjÓï}”j±ï}”jÏïKssj¿ï}”jÓï}”jËïKssj±ï}”jŠï}”j­ïKssjëï}”(jÜï}”jçïKsjIß}”jTßKsujõï}”(jÜï}”jîïKsjIß}”j[ßKsujüï}”(jÜï}”jøïKsjIß}”jeßKsujð}”jð}”jðKssj%ð}”jð}”j!ðKssjð}”j%ð}”jðKssjð}”jÜï}”jÿïKssjDð}”j.ð}”j@ðKssjKð}”j.ð}”jGðKssjrð}”jUð}”jnðKssjyð}”jUð}”juðKssj‘ð}”j|ð}”jŠðKssj˜ð}”j|ð}”j”ðKssj¦ð}”j|ð}”j¢ðKssjÓð}”jÐð}”jñKssjñ}”jÐð}”jñKssjÞð}”jñ}”jñKssjñ}”jñ}”jñKssjéð}”jñ}”jñKssjñ}”jñ}”jñKssjôð}”jñ}”jñKssjÐð}”j©ð}”jÌðKssj,ñ}”jñ}”j(ñKssj3ñ}”jñ}”j/ñKssjKñ}”j6ñ}”jDñKssjRñ}”j6ñ}”jNñKssjñ}”j\ñ}”jxñKssj†ñ}”j\ñ}”j‚ñKssj¥ñ}”jñ}”jžñKssj¬ñ}”jñ}”j¨ñKssjËñ}”j¶ñ}”jÄñKssjÒñ}”j¶ñ}”jÎñKssjññ}”jÜñ}”jêñKssjøñ}”jÜñ}”jôñKssjò}”jò}”jòKssjò}”jò}”jòKssj%ò}”jò}”j!òKssj=ò}”j(ò}”j6òKssjDò}”j(ò}”j@òKssjRò}”j(ò}”jNòKssjUò}”j(ò}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjgò}”(jXò}”jcòKsjM%}”jX%Ksujqò}”(jXò}”jjòKsjM%}”j_%Ksujxò}”(jXò}”jtòKsjM%}”ji%Ksuj‚ò}”jò}”j™òKssj¡ò}”jò}”jòKssjò}”j¡ò}”j™òKssjò}”jXò}”j{òKssj¹ò}”jªò}”jµòKssjÊò}”jªò}”jÃòKssjÑò}”jªò}”jÍòKssjúò}”jÔò}”jóòKssjó}”jÔò}”jýòKssjó}”jÔò}”j óKssjó}”jÔò}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$ó}”jó}”j óKssj5ó}”jó}”j.óKssj<ó}”jó}”j8óKssjió}”jfó}”j€óKssjˆó}”jfó}”j„óKssjtó}”jˆó}”j€óKssjfó}”j?ó}”jbóKssj§ó}”j‘ó}”j£óKssj®ó}”j‘ó}”jªóKssjÆó}”j±ó}”j¿óKssjÍó}”j±ó}”jÉóKssjæó}”j×ó}”jâóKssjíó}”j×ó}”jéóKssj ô}”(jðó}”jôKsj}”jKsujô}”jðó}”j ôKssjô}”jðó}”jôKssj(ô}”jðó}”j$ôKssj:ô}”(j+ô}”j6ôKsjî}”jùKsjÄ+}”jÏ+KsujKô}”(j+ô}”jDôKsjî}”jKsjÄ+}”jÝ+KsujRô}”(j+ô}”jNôKsjî}”jKsjÄ+}”jç+Ksujkô}”jUô}”jgôKssjrô}”jUô}”jnôKssj‘ô}”j|ô}”jŠôKssj˜ô}”j|ô}”j”ôKssj»ô}”j¢ô}”j·ôKssjÅô}”j¢ô}”j¾ôKssjÌô}”j¢ô}”jÈôKssjëô}”jÖô}”jäôKssjòô}”jÖô}”jîôKssj õ}”jüô}”jõKssjõ}”jüô}”jõKssj$õ}”jõ}”j õKssj+õ}”jõ}”j'õKssjCõ}”j.õ}”j<õKssjJõ}”j.õ}”jFõKssjjõ}”jTõ}”jfõKssjqõ}”jTõ}”jmõKssj‰õ}”jtõ}”j‚õKssjõ}”jtõ}”jŒõKssj½õ}”jšõ}”j¶õKssjÄõ}”jšõ}”jÀõKssjëõ}”jÎõ}”jçõKssjòõ}”jÎõ}”jîõKssj ö}”jõõ}”jöKssjö}”jõõ}”j öKssj7ö}”(jö}”j3öKsjø}”j(øKsj,ù}”jAùKsjëù}”júKsujAö}”jö}”j:öKssjHö}”jö}”jDöKssjVö}”jö}”jRöKssjYö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\ö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_ö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjbö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjeö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjhö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjkö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjnö}”jö}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€ö}”jqö}”j|öKssjŠö}”jqö}”jƒöKssj‘ö}”jqö}”jöKssjªö}”(j›ö}”j¦öKsjû©}”jªKsjË}”j˜ËKsuj»ö}”(j›ö}”j´öKsjû©}”jªKsj%ª}”j>ªKsjË}”j¦ËKsj·Ë}”jÐËKsujÂö}”(j›ö}”j¾öKsjû©}”jªKsjË}”j°ËKsujÔö}”jÅö}”jÐöKssjåö}”jÅö}”jÞöKssjìö}”jÅö}”jèöKssjþö}”(jïö}”júöKsj—ù}”j¢ùKsuj÷}”(jïö}”j÷Ksj—ù}”j°ùKsuj÷}”(jïö}”j÷Ksj—ù}”jºùKsuj(÷}”j÷}”j$÷Kssj9÷}”j÷}”j2÷Kssj@÷}”j÷}”j<÷KssjR÷}”jC÷}”jN÷Kssj\÷}”jC÷}”jU÷Kssjc÷}”jC÷}”j_÷Kssj|÷}”jm÷}”jx÷Kssjƒ÷}”jm÷}”j÷Kssj÷}”jm÷}”j†÷Kssj”÷}”jm÷}”j÷Kssj¦÷}”j—÷}”j¢÷Kssj­÷}”j—÷}”j©÷Kssj·÷}”j—÷}”j°÷Kssj¾÷}”j—÷}”jº÷KssjÐ÷}”jÁ÷}”jÌ÷KssjÚ÷}”jÁ÷}”jÓ÷Kssjá÷}”jÁ÷}”jÝ÷Kssjë÷}”jè÷}”jøKssj ø}”jè÷}”jøKssjö÷}”j ø}”jøKssjè÷}”jÁ÷}”jä÷Kssj6ø}”jø}”j/øKssj=ø}”jø}”j9øKssjKø}”jø}”jGøKssjNø}”jø}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQø}”jø}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjTø}”jø}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjWø}”jø}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjiø}”jZø}”jeøKssjzø}”jZø}”jsøKssjø}”jZø}”j}øKssj“ø}”j„ø}”jøKssj¤ø}”j„ø}”jøKssj«ø}”j„ø}”j§øKssj½ø}”j®ø}”j¹øKssjÎø}”j®ø}”jÇøKssjÕø}”j®ø}”jÑøKssjçø}”jØø}”jãøKssjøø}”jØø}”jñøKssjÿø}”jØø}”jûøKssjù}”jù}”j ùKssj"ù}”jù}”jùKssj)ù}”jù}”j%ùKssjOù}”j,ù}”jHùKssjVù}”j,ù}”jRùKssjdù}”j,ù}”j`ùKssjgù}”j,ù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjjù}”j,ù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj|ù}”(jmù}”jxùKsj,ú}”j7úKsujù}”(jmù}”j†ùKsj,ú}”jEúKsuj”ù}”(jmù}”jùKsj,ú}”jOúKsujÐù}”jÁù}”jÌùKssjáù}”jÁù}”jÚùKssjèù}”jÁù}”jäùKssu(jú}”jëù}”júKssjú}”jëù}”júKssj#ú}”jëù}”júKssj&ú}”jëù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj)ú}”jëù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjeú}”(jVú}”jaúKsjŠM}”j•MKsujvú}”(jVú}”joúKsjŠM}”j£MKsuj}ú}”(jVú}”jyúKsjŠM}”j­MKsujú}”j€ú}”j‹úKssj ú}”j€ú}”j™úKssj§ú}”j€ú}”j£úKssjÍú}”jªú}”jÆúKssjÔú}”jªú}”jÐúKssjâú}”jªú}”jÞúKssjôú}”jåú}”jðúKssjû}”jåú}”jþúKssj û}”jåú}”jûKssjû}”jû}”jûKssj%û}”jû}”j!ûKssj>û}”j(û}”j:ûKssjEû}”j(û}”jAûKssj]û}”jHû}”jVûKssjdû}”jHû}”j`ûKssj}û}”jnû}”jyûKssj„û}”jnû}”j€ûKssjœû}”j‡û}”j•ûKssj£û}”j‡û}”jŸûKssjÂû}”j­û}”j»ûKssjÉû}”j­û}”jÅûKssjèû}”jÓû}”jáûKssjïû}”jÓû}”jëûKssjü}”jùû}”jüKssjü}”jùû}”jüKssj5ü}”jü}”j1üKssj<ü}”jü}”j8üKssjTü}”j?ü}”jMüKssj[ü}”j?ü}”jWüKssjoü}”j?ü}”jküKssjrü}”j?ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjuü}”j?ü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡ü}”(jxü}”jƒüKsjõA}”jBKsj“Ø}”jžØKsuj‘ü}”(jxü}”jŠüKsjõA}”jBKsj“Ø}”j¥ØKsuj˜ü}”(jxü}”j”üKsjõA}”jBKsj“Ø}”j¯ØKsuj¢ü}”jŸü}”jÄüKssjÌü}”jŸü}”jÈüKssj­ü}”jÌü}”jÄüKssjÒü}”jÌü}”jÈüKssj¸ü}”jÒü}”jÄüKssjŸü}”jxü}”j›üKssjêü}”jÛü}”jæüKssjôü}”jÛü}”jíüKssjûü}”jÛü}”j÷üKssj ý}”jý}”j ýKssjý}”jý}”jýKssj$ý}”jý}”j ýKssjý}”j$ý}”jýKssjý}”jÛü}”jþüKssj<ý}”(j-ý}”j8ýKsjXB}”jcBKsjÞM}”jéMKsj Ù}”j+ÙKsujMý}”(j-ý}”jFýKsjXB}”jqBKsjÞM}”j÷MKsj Ù}”j9ÙKsujTý}”(j-ý}”jPýKsjXB}”j{BKsjÞM}”jNKsj Ù}”jCÙKsujlý}”jWý}”jeýKssjsý}”jWý}”joýKssj™ý}”j}ý}”j’ýKssj ý}”j}ý}”jœýKssjÆý}”jªý}”j¿ýKssjÍý}”jªý}”jÉýKssjÔý}”(jªý}”jÐýKsjžX}”jÄXKsujÛý}”jªý}”j×ýKssjÞý}”jªý}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjðý}”(jáý}”jìýKsjn`}”jy`Ksujúý}”(jáý}”jóýKsjn`}”j€`Ksujþ}”(jáý}”jýýKsjn`}”jŠ`Ksujþ}”(j þ}”jþKsj˜`}”jœ`Ksuj þ}”jþ}”j-þKssj5þ}”jþ}”j1þKssjþ}”j5þ}”j-þKssj;þ}”j5þ}”j1þKssj!þ}”j;þ}”j-þKssjþ}”jáý}”jþKssjŠþ}”jnþ}”jƒþKssj‘þ}”jnþ}”jþKssjŸþ}”jnþ}”j›þKssjÌþ}”jÉþ}”jãþKssjëþ}”jÉþ}”jçþKssj×þ}”jëþ}”jãþKssjÉþ}”j¢þ}”jÅþKssj ÿ}”jôþ}”jÿKssjÿ}”jôþ}”j ÿKssj7ÿ}”jÿ}”j3ÿKssj>ÿ}”jÿ}”j:ÿKssj^ÿ}”jAÿ}”jZÿKssjeÿ}”jAÿ}”jaÿKssj}ÿ}”jhÿ}”jvÿKssj„ÿ}”jhÿ}”j€ÿKssj’ÿ}”jhÿ}”jŽÿKssj•ÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜ÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›ÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjžÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡ÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤ÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§ÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjªÿ}”jhÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼ÿ}”(j­ÿ}”j¸ÿKsj&}”j1KsujÆÿ}”(j­ÿ}”j¿ÿKsj&}”j8KsujÍÿ}”(j­ÿ}”jÉÿKsj&}”jBKsuj×ÿ}”jÔÿ}”jîÿKssjöÿ}”jÔÿ}”jòÿKssjâÿ}”jöÿ}”jîÿKssjÔÿ}”j­ÿ}”jÐÿKssj}”(jÿÿ}”j Ksj…}”jKsuj}”(jÿÿ}”jKsj…}”jžKsuj&}”(jÿÿ}”j"Ksj…}”j¨Ksuj8}”(j)}”j4Ksj¯}”jºKsujI}”(j)}”jBKsj¯}”jÈKsujP}”(j)}”jLKsj¯}”jÒKsujb}”jS}”j^Kssjl}”jS}”jeKssjs}”jS}”joKssj}”jˆ}”jŒKssj›}”j“}”j—Kssj}}”jz}”jªKssj²}”jz}”j®Kssjˆ}”j²}”jªKssj¸}”j²}”j®Kssj“}”j¸}”jªKssj¾}”j¸}”j®Kssjž}”j¾}”jªKssjz}”jS}”jvKssjÖ}”(jÇ}”jÒKsjj}”juKsujà}”(jÇ}”jÙKsjj}”j|Ksujç}”(jÇ}”jãKsjj}”j†Ksujñ}”jî}”jKssj}”jî}”jKssjü}”j}”jKssj!}”j}”jKssj}”j!}”jKssjî}”jÇ}”jêKssj9}”(j*}”j5KsjÙ}”jäKsujC}”(j*}”j<KsjÙ}”jëKsujJ}”(j*}”jFKsjÙ}”jõKsuj\}”(jT}”jXKsj}”jKsujT}”jQ}”jkKssjs}”jQ}”joKssj_}”js}”jkKssjQ}”j*}”jMKssj‹}”(j|}”j‡Ksj+}”j6Ksuj•}”(j|}”jŽKsj+}”j=Ksujœ}”(j|}”j˜Ksj+}”jGKsuj®}”(j¦}”jªKsjU}”jYKsuj¦}”j£}”j½KssjÅ}”j£}”jÁKssj±}”jÅ}”j½Kssj£}”j|}”jŸKssjÝ}”(jÎ}”jÙKsj}}”jˆKsujî}”(jÎ}”jçKsj}}”j–Ksujõ}”(jÎ}”jñKsj}}”j Ksuj}”jø}”jKssj}”jø}”j Kssj}”jø}”jKssj"}”j}”j9KssjA}”j}”j=Kssj-}”jA}”j9Kssj}”jø}”jKssj_}”jJ}”jXKssjf}”jJ}”jbKssjp}”(jJ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj§}”jÆKsj7}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÍ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjx}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÏ}”jÓKsjÁ+}”jÓ+Ksj=,}”jO,Ksujw}”jJ}”jsKssjz}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjƒ}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ}”jJ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž}”j}”jšKssj¨}”j}”j¡Kssj¯}”j}”j«Kssj¹}”j¶}”jÐKssjØ}”j¶}”jÔKssjÄ}”jØ}”jÐKssj¶}”j}”j²Kssjð}”já}”jìKssjú}”já}”jóKssj}”já}”jýKssj }”j}”j"Kssj*}”j}”j&Kssj}”j*}”j"Kssj}”já}”jKssjB}”j3}”j>KssjL}”j3}”jEKssjS}”j3}”jOKssj]}”jZ}”jtKssj|}”jZ}”jxKssjh}”j|}”jtKssjZ}”j3}”jVKssj}”j}”jKssj"}”j}”jKssj}”j"}”jKssj}”jÙ}”jüKssjU}”jR}”jlKssjt}”jR}”jpKssj`}”jt}”jlKssjR}”j+}”jNKssj¼}”j§}”jµKssjÃ}”j§}”j¿KssjÑ}”j§}”jÍKssjã}”jÔ}”jßKssjí}”jÔ}”jæKssjô}”jÔ}”jðKssjþ}”jû}”j Kssj(}”jû}”j$Kssj }”j(}”j Kssj.}”j(}”j$Kssj}”j.}”j Kssjû}”jÔ}”j÷KssjL}”j7}”jEKssjS}”j7}”jOKssjg}”j7}”jcKssj”}”j‘}”j¶Kssj¾}”j‘}”jºKssjŸ}”j¾}”j¶KssjÄ}”j¾}”jºKssjª}”jÄ}”j¶Kssj‘}”jj}”jKssjâ}”jÍ}”jÛKssjé}”jÍ}”jåKssj}”jù}”jKssj}”jù}”jKssj}”(jù}”jKsj¡}”jÀKsuj#}”jù}”jKssjP}”jM}”jgKssjo}”jM}”jkKssj[}”jo}”jgKssjM}”j&}”jIKssj}”jx}”j†Kssj”}”jx}”jKssj¶}”j¡}”j¯Kssj½}”j¡}”j¹Kssjà}”(jÇ}”jÜKsjY}”jnKsujê}”jÇ}”jãKssjñ}”jÇ}”jíKssjÿ}”jÇ}”jûKssj}”jÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj>}”j/}”j:KssjO}”j/}”jHKssjV}”j/}”jRKssj|}”jY}”juKssjƒ}”jY}”jKssj‘}”jY}”jKssj”}”jY}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj—}”jY}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÓ}”jÄ}”jÏKssjä}”jÄ}”jÝKssjë}”jÄ}”jçKssjý}”jî}”jùKssj}”jî}”jKssj}”jî}”jKssj-}”j}”j&Kssj4}”j}”j0KssjS}”j>}”jLKssjZ}”j>}”jVKssjy}”jd}”jrKssj€}”jd}”j|Kssj‡}”(jd}”jƒKsj3’}”jR’KsujŸ}”jŠ}”j˜Kssj¦}”jŠ}”j¢Kssj´}”jŠ}”j°Kssj»}”jŠ}”j·Kssj¾}”jŠ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÁ}”jŠ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÄ}”jŠ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjñ}”jî}”j Kssj }”jî}”j Kssjü}”j }”j Kssjî}”jÇ}”jêKssj( }”j }”j$ Kssj2 }”j }”j+ Kssj9 }”j }”j5 KssjC }”j@ }”jZ Kssjb }”j@ }”j^ KssjN }”jb }”jZ Kssj@ }”j }”j< Kssjz }”jk }”jv Kssj‹ }”jk }”j„ Kssj’ }”jk }”jŽ Kssj¤ }”(j• }”j  Ksja›}”jl›Ksujµ }”(j• }”j® Ksja›}”jz›Ksuj¼ }”(j• }”j¸ Ksja›}”j„›KsujÛ }”j¿ }”jÔ Kssjâ }”j¿ }”jÞ Kssjð }”j¿ }”jì Kssj }”jó }”jþ Kssj }”jó }”j Kssj }”jó }”j Kssj% }”(j }”j! Ksj'}”j''Ksjü…}”j†Ksjؽ}”jܽKsuj= }”j }”j9 KssjD }”j }”j@ KssjV }”jG }”jR Kssj] }”jG }”jY Kssjo }”j` }”jk Kssjv }”j` }”jr Kssj• }”jy }”jŽ Kssjœ }”jy }”j˜ Kssjª }”jy }”j¦ Kssjí }”j× }”jé Kssjô }”j× }”jð Kssj }”j÷ }”j Kssj }”j÷ }”j Kssj@ }”j$ }”j9 KssjG }”j$ }”jC KssjU }”j$ }”jQ KssjX }”j$ }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[ }”j$ }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjm }”j^ }”ji Kssj~ }”j^ }”jw Kssj… }”j^ }”j Kssj— }”jˆ }”j“ Kssj¨ }”jˆ }”j¡ Kssj¯ }”jˆ }”j« KssjÁ }”j² }”j½ KssjÒ }”j² }”jË KssjÙ }”j² }”jÕ Kssjñ }”jÜ }”jê Kssjø }”jÜ }”jô Kssj }”jÜ }”j Kssj }”(j }”j KsjŸ}”jªKsj`}”jkKsj $}”j$Ksj“¬}”jž¬Ksj—Û}”j¢ÛKsjyå}”j„åKsuj) }”(j }”j" KsjŸ}”j¸Ksj`}”jyKsj $}”j&$Ksj“¬}”j¬¬Ksj—Û}”j°ÛKsjyå}”j’åKsuj0 }”(j }”j, KsjŸ}”jÂKsj`}”jƒKsj $}”j0$Ksj“¬}”j¶¬Ksj—Û}”jºÛKsjyå}”jœåKsujP }”j3 }”jL KssjW }”j3 }”jS Kssjo }”jZ }”jh Kssjv }”jZ }”jr Kssj} }”jZ }”jy Kssj„ }”jZ }”j€ KssjÆ }”j± }”j¿ KssjÍ }”j± }”jÉ Kssjô }”j× }”jð Kssjû }”j× }”j÷ Kssj }”jþ }”j Kssj }”jþ }”j Kssj9 }”j$ }”j2 Kssj@ }”j$ }”j< Kssj_ }”jJ }”jX Kssjf }”jJ }”jb Kssj… }”jp }”j~ KssjŒ }”jp }”jˆ Kssj« }”j– }”j¤ Kssj² }”j– }”j® KssjÀ }”j– }”j¼ Kssjà }”j– }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÆ }”j– }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjØ }”jÉ }”jÔ Kssjâ }”jÉ }”jÛ Kssjé }”jÉ }”jå Kssj}”jþ }”jKssjó }”jð }”j Kssj}”jð }”jKssjþ }”j}”j Kssjð }”jÉ }”jì Kssj*}”j}”j&Kssj;}”j}”j4KssjB}”j}”j>KssjT}”jE}”jPKssje}”jE}”j^Kssjl}”jE}”jhKssj…}”jo}”jKssjŒ}”jo}”jˆKssj¤}”j}”jKssj«}”j}”j§KssjÛ}”jµ}”jÔKssjâ}”jµ}”jÞKssj}”jì}”jKssj}”jì}”j Kssj}”jì}”jKssjJ}”jG}”jaKssji}”jG}”jeKssjU}”ji}”jaKssjG}”j }”jCKssj‡}”jr}”j€KssjŽ}”jr}”jŠKssjœ}”jr}”j˜KssjÞ}”jÉ}”j×Kssjå}”jÉ}”jáKssjó}”jÉ}”jïKssjö}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjù}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjü}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjÿ}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2}”j#}”j.KssjC}”j#}”j<KssjJ}”j#}”jFKssj\}”jM}”jXKssjm}”jM}”jfKssjt}”jM}”jpKssj†}”(jw}”j‚KsjÝŸ}”jèŸKsj%}”j#%KsjÀ<}”jË<Ksuj}”(jw}”j‰KsjÝŸ}”jïŸKsj%}”j*%KsjÀ<}”jÒ<Ksuj—}”(jw}”j“KsjÝŸ}”jùŸKsj%}”j4%KsjÀ<}”jÜ<Ksuj¡}”jž}”j¸KssjÀ}”jž}”j¼Kssj¬}”jÀ}”j¸Kssjž}”jw}”jšKssjó}”jð}”j Kssj(}”jð}”j$Kssjþ}”j(}”j Kssj.}”j(}”j$Kssj }”j.}”j Kssj4}”j.}”j$Kssj}”j4}”j Kssjð}”jÉ}”jìKssjL}”(j=}”jHKsj/ }”j: Ksuj]}”(j=}”jVKsj/ }”jH Ksujd}”(j=}”j`Ksj/ }”jR Ksujv}”(jg}”jrKsjY }”jd Ksuj€}”(jg}”jyKsjY }”jk Ksuj‡}”(jg}”jƒKsjY }”ju Ksuj‘}”jŽ}”j¨Kssj°}”jŽ}”j¬Kssjœ}”j°}”j¨KssjŽ}”jg}”jŠKssjÈ}”j¹}”jÄKssjÒ}”j¹}”jËKssjÙ}”j¹}”jÕKssjã}”jà}”júKssj}”jà}”jþKssjî}”j}”júKssjà}”j¹}”jÜKssj}”(j }”jKsj*£}”j5£Ksuj+}”(j }”j$Ksj5}”jGKsj*£}”jC£KsjT£}”jf£Ksuj2}”(j }”j.Ksj*£}”jM£KsujD}”(j5}”j@KsjT£}”j_£KsujU}”(j5}”jQKsjT£}”jp£Ksuj_}”j\}”jvKssj~}”j\}”jzKssjj}”j~}”jvKssj\}”j5}”jXKssj–}”(j‡}”j’Ksj¦£}”j±£Ksuj§}”(j‡}”j Ksj¦£}”j¿£Ksuj®}”(j‡}”jªKsj¦£}”jÉ£KsujÀ}”(j±}”j¼KsjУ}”jÛ£KsujÑ}”(j±}”jÊKsjУ}”jé£KsujØ}”(j±}”jÔKsjУ}”jó£Ksujê}”jÛ}”jæKssjô}”jÛ}”jíKssjû}”jÛ}”j÷Kssj }”(j}”j Ksj0À}”j4ÀKsj Â}”jÂKsj%Â}”j)ÂKsj>Â}”jBÂKsj„Â}”jˆÂKsuj}”j}”jKssj$}”j}”j Kssj}”j$}”jKssj}”jÛ}”jþKssjW}”jT}”jnKssjv}”jT}”jrKssjb}”jv}”jnKssjT}”j-}”jPKssjŽ}”j}”jŠKssj•}”(j}”j‘KsjØ»}”jê»KsujŸ}”j}”j˜Kssj¦}”j}”j¢Kssj¸}”j©}”j´KssjÉ}”j©}”jÂKssjÐ}”j©}”jÌKssjâ}”jÓ}”jÞKssjì}”jÓ}”jåKssjó}”jÓ}”jïKssjý}”jú}”jKssj}”jú}”jKssj}”j}”jKssjú}”jÓ}”jöKssj;}”(j%}”j7Ksjg,}”jy,Ksjº8}”jÌ8Ksj°`}”jÂ`Ksjí}”j²íKsjS0}”je0KsjÇ0}”jÙ0KsujB}”j%}”j>KssjI}”j%}”jEKssja}”jL}”jZKssjh}”jL}”jdKssj‡}”jr}”j€KssjŽ}”jr}”jŠKssjœ}”jr}”j˜KssjŸ}”jr}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢}”jr}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj´}”j¥}”j°Kssj¾}”j¥}”j·KssjÅ}”j¥}”jÁKssjÏ}”jÌ}”jñKssjù}”jÌ}”jõKssjÚ}”jù}”jñKssjÿ}”jù}”jõKssjå}”jÿ}”jñKssjÌ}”j¥}”jÈKssj}”j}”jKssj!}”j}”jKssj(}”j}”j$Kssj:}”(j2}”j6Ksj„}”jˆKsj}”j¡KsjÜ}”jàKsuj2}”j/}”jIKssjQ}”j/}”jMKssj=}”jQ}”jIKssj/}”j}”j+Kssji}”jZ}”jeKssjz}”jZ}”jsKssj}”jZ}”j}Kssj“}”j„}”jKssjš}”j„}”j–Kssj¬}”j}”j¨Kssj³}”j}”j¯KssjË}”j¶}”jÄKssjÒ}”j¶}”jÎKssjë}”jÜ}”jçKssjò}”jÜ}”jîKssj }”jõ}”jKssj}”jõ}”j Kssj0}”j}”j)Kssj7}”j}”j3KssjV}”jA}”jOKssj]}”jA}”jYKssjk}”jA}”jgKssjn}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjq}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjt}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjw}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjz}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjƒ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjª}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÅ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjË}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÎ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÑ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÔ}”jA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæ}”j×}”jâKssj÷}”j×}”jðKssjþ}”j×}”júKssj}”j}”j Kssj!}”j}”jKssj(}”j}”j$KssjU}”jR}”jwKssj}”jR}”j{Kssj`}”j}”jwKssj…}”j}”j{Kssjk}”j…}”jwKssjR}”j+}”jNKssj}”jŽ}”j™Kssj®}”(jŽ}”j§Ksj³}”jÌKsujµ}”jŽ}”j±Kssjâ}”jß}”jùKssj}”jß}”jýKssjí}”j}”jùKssjß}”j¸}”jÛKssj}”(j }”jKsjñŠ}”jüŠKsuj#}”(j }”jKsjñŠ}”j‹Ksuj*}”(j }”j&KsjñŠ}”j ‹Ksuj4}”j1}”jKKssjS}”j1}”jOKssj?}”jS}”jKKssj1}”j }”j-Kssjk}”j\}”jgKssj|}”j\}”juKssjƒ}”j\}”jKssj•}”j†}”j‘Kssj¦}”j†}”jŸKssj­}”j†}”j©Kssj¿}”j°}”j»KssjÐ}”j°}”jÉKssj×}”j°}”jÓKssjé}”jÚ}”jåKssjú}”jÚ}”jóKssj}”jÚ}”jýKssj}”(j}”jKsjC‹}”jN‹Ksuj}”(j}”jKsjC‹}”jU‹Ksuj$}”(j}”j KsjC‹}”j_‹Ksuj.}”j+}”jPKssjX}”j+}”jTKssj9}”jX}”jPKssj^}”jX}”jTKssjD}”j^}”jPKssj+}”j}”j'Kssjv}”jg}”jrKssj‡}”jg}”j€KssjŽ}”jg}”jŠKssj }”(j‘}”jœKsj¦‹}”j±‹Ksujª}”(j‘}”j£Ksj¦‹}”j¸‹Ksuj±}”(j‘}”j­Ksj¦‹}”j‹KsujÃ}”(j»}”j¿KsjЋ}”jÔ‹Ksuj»}”j¸}”jÒKssjÚ}”j¸}”jÖKssjÆ}”jÚ}”jÒKssj¸}”j‘}”j´Kssjò}”jã}”jîKssj}”jã}”jüKssj }”jã}”jKssj}”j }”jKssj-}”(j }”j&Ksj7}”jPKsuj4}”j }”j0KssjF}”j7}”jBKssj^}”j7}”jZKssjp}”ja}”jlKssjz}”ja}”jsKssj}”ja}”j}Kssj‹}”jˆ}”j¢Kssjª}”jˆ}”j¦Kssj–}”jª}”j¢Kssjˆ}”ja}”j„KssjÂ}”j³}”j¾KssjÚ}”j³}”jÖKssjì}”jÝ}”jèKssjý}”jÝ}”jöKssj}”jÝ}”jKssj}”j}”jKssj'}”j}”j Kssj.}”j}”j*Kssj@}”j1}”j<KssjQ}”j1}”jJKssjX}”j1}”jTKssjj}”j[}”jfKssjt}”j[}”jmKssj{}”j[}”jwKssj…}”j‚}”jœKssj¤}”j‚}”j Kssj}”j¤}”jœKssj‚}”j[}”j~Kssj×}”jÔ}”jîKssjö}”jÔ}”jòKssjâ}”jö}”jîKssjÔ}”j­}”jÐKssj}”jÿ}”j Kssj}”jÿ}”jKssj}”jÿ}”jKssj)}”j&}”jKKssjS}”j&}”jOKssj4}”jS}”jKKssjY}”jS}”jOKssj?}”jY}”jKKssj&}”jÿ}”j"Kssjq}”(jb}”jmKsjtŒ}”jŒKsuj{}”(jb}”jtKsjtŒ}”j†ŒKsuj‚}”(jb}”j~KsjtŒ}”jŒKsujŒ}”j‰}”j£Kssj«}”j‰}”j§Kssj—}”j«}”j£Kssj‰}”jb}”j…KssjÃ}”j´}”j¿KssjÊ}”(j´}”jÆKsj)Î}”j;ÎKsujÔ}”j´}”jÍKssjÛ}”j´}”j×Kssjí}”(jÞ}”jéKsjÆŒ}”jÑŒKsujþ}”(jÞ}”j÷KsjÆŒ}”jߌKsuj}”(jÞ}”jKsjÆŒ}”jéŒKsujA}”j2}”j=KssjK}”j2}”jDKssjR}”j2}”jNKssj\}”jY}”jsKssj{}”jY}”jwKssjg}”j{}”jsKssjY}”j2}”jUKssj“}”j„}”jKssj}”j„}”j–Kssj¤}”j„}”j Kssj®}”j«}”jÐKssjØ}”j«}”jÔKssj¹}”jØ}”jÐKssjÞ}”jØ}”jÔKssjÄ}”jÞ}”jÐKssj«}”j„}”j§Kssjö}”(jç}”jòKsjðŒ}”jûŒKsuj}”(jç}”jùKsjðŒ}”jKsuj}”(jç}”jKsjðŒ}”j Ksuj}”j}”j(Kssj0}”j}”j,Kssj}”j0}”j(Kssj}”jç}”j KssjH}”j9}”jDKssjY}”j9}”jRKssj`}”j9}”j\Kssjr}”jc}”jnKssjƒ}”jc}”j|KssjŠ}”jc}”j†Kssjœ}”j}”j˜Kssj­}”j}”j¦Kssj´}”j}”j°Kssjá}”jÞ}”jøKssj}”jÞ}”jüKssjì}”j}”jøKssjÞ}”j·}”jÚKssj}”j }”jKssj)}”j }”j"Kssj0}”j }”j,KssjH}”j3}”jAKssjO}”j3}”jKKssj]}”j3}”jYKssj¦}”jŠ}”jŸKssj­}”jŠ}”j©Kssj»}”jŠ}”j·Kssj¾}”jŠ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÁ}”jŠ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÓ}”jÄ}”jÏKssjä}”jÄ}”jÝKssjë}”jÄ}”jçKssjý}”jî}”jùKssj }”jî}”j Kssj }”jî}”j Kssj }”j }”j/ Kssj7 }”j }”j3 Kssj# }”j7 }”j/ Kssj }”jî}”j KssjO }”j@ }”jK Kssj` }”j@ }”jY Kssjg }”j@ }”jc Kssjy }”jj }”ju Kssj€ }”jj }”j| Kssj™ }”jƒ }”j• Kssj  }”jƒ }”jœ Kssj¸ }”j£ }”j± Kssj¿ }”j£ }”j» KssjÞ }”jÉ }”j× Kssjå }”jÉ }”já Kssj!}”jï }”jý Kssj !}”jï }”j!Kssj*!}”j!}”j#!Kssj1!}”j!}”j-!KssjQ!}”j;!}”jM!KssjX!}”j;!}”jT!Kssjt!}”j[!}”jp!Kssj~!}”j[!}”jw!Kssj…!}”j[!}”j!Kssj“!}”j[!}”j!Kssj–!}”j[!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™!}”j[!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjœ!}”j[!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŸ!}”j[!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢!}”j[!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥!}”j[!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÒ!}”jÏ!}”jé!Kssjñ!}”jÏ!}”jí!KssjÝ!}”jñ!}”jé!KssjÏ!}”j¨!}”jË!Kssj$"}”j!"}”jF"KssjN"}”j!"}”jJ"Kssj/"}”jN"}”jF"KssjT"}”jN"}”jJ"Kssj:"}”jT"}”jF"Kssj!"}”jú!}”j"Kssj±"}”j®"}”jÓ"KssjÛ"}”j®"}”j×"Kssj¼"}”jÛ"}”jÓ"Kssjá"}”jÛ"}”j×"KssjÇ"}”já"}”jÓ"Kssj®"}”j‡"}”jª"Kssj#}”j#}”j+#Kssj3#}”j#}”j/#Kssj#}”j3#}”j+#Kssj#}”jê"}”j #Kssjf#}”jc#}”j}#Kssj…#}”jc#}”j#Kssjq#}”j…#}”j}#Kssjc#}”j<#}”j_#Kssj¸#}”jµ#}”jÏ#Kssj×#}”jµ#}”jÓ#KssjÃ#}”j×#}”jÏ#Kssjµ#}”jŽ#}”j±#Kssjõ#}”jà#}”jî#Kssjü#}”jà#}”jø#Kssj $}”jà#}”j$Kssj?$}”(j7$}”j;$Ksjó,}”j÷,Ksjá}”jóKsujM$}”j7$}”jI$KssjT$}”j7$}”jP$Kssj}$}”jW$}”jv$Kssj„$}”jW$}”j€$Kssj£$}”jŽ$}”jœ$Kssjª$}”jŽ$}”j¦$KssjÚ$}”j´$}”jÓ$Kssjá$}”j´$}”jÝ$Kssj%}”jë$}”j %Kssj%}”jë$}”j%Kssj&%}”jë$}”j"%Kssj)%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj,%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj>%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjA%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjD%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ%}”jë$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjw%}”jt%}”jŽ%Kssj–%}”jt%}”j’%Kssj‚%}”j–%}”jŽ%Kssjt%}”jM%}”jp%Kssj®%}”jŸ%}”jª%Kssjµ%}”(jŸ%}”j±%KsjÉ%}”jÛ%Ksjó%}”j&Ksjã'}”jõ'Ksj_(}”j(Ksuj¿%}”jŸ%}”j¸%KssjÆ%}”jŸ%}”jÂ%KssjØ%}”jÉ%}”jÔ%Kssjé%}”jÉ%}”jâ%Kssjð%}”jÉ%}”jì%Kssj&}”jó%}”jþ%Kssj&}”jó%}”j &Kssj&}”jó%}”j&Kssj,&}”j&}”j(&Kssj=&}”j&}”j6&KssjD&}”j&}”j@&KssjV&}”jG&}”jR&Kssjg&}”jG&}”j`&Kssjn&}”jG&}”jj&Kssj€&}”jq&}”j|&KssjŠ&}”jq&}”jƒ&Kssj‘&}”jq&}”j&Kssj›&}”j˜&}”j²&Kssjº&}”j˜&}”j¶&Kssj¦&}”jº&}”j²&Kssj˜&}”jq&}”j”&KssjÒ&}”jÃ&}”jÎ&KssjÜ&}”jÃ&}”jÕ&Kssjã&}”jÃ&}”jß&Kssjí&}”jê&}”j'Kssj '}”jê&}”j'Kssjø&}”j '}”j'Kssjê&}”jÃ&}”jæ&Kssj$'}”j'}”j 'Kssj5'}”j'}”j.'Kssj<'}”j'}”j8'KssjN'}”j?'}”jJ'KssjX'}”j?'}”jQ'Kssj_'}”j?'}”j['Kssji'}”jf'}”j€'Kssjˆ'}”jf'}”j„'Kssjt'}”jˆ'}”j€'Kssjf'}”j?'}”jb'Kssj '}”j‘'}”jœ'Kssjª'}”j‘'}”j£'Kssj±'}”j‘'}”j­'Kssj»'}”j¸'}”jÒ'KssjÚ'}”j¸'}”jÖ'KssjÆ'}”jÚ'}”jÒ'Kssj¸'}”j‘'}”j´'Kssjò'}”jã'}”jî'Kssj(}”jã'}”jü'Kssj (}”jã'}”j(Kssj(}”j (}”j(Kssj&(}”j (}”j(Kssj-(}”j (}”j)(Kssj7(}”j4(}”jN(KssjV(}”j4(}”jR(KssjB(}”jV(}”jN(Kssj4(}”j (}”j0(Kssj…(}”j_(}”j~(KssjŒ(}”j_(}”jˆ(Kssj(}”j_(}”j™(Kssj¯(}”j (}”j«(KssjÀ(}”j (}”j¹(KssjÇ(}”j (}”jÃ(Kssjß(}”jÊ(}”jØ(Kssjæ(}”jÊ(}”jâ(Kssj)}”jð(}”j)Kssj )}”jð(}”j )Kssj%)}”j)}”j)Kssj,)}”j)}”j()Kssj:)}”j)}”j6)KssjL)}”j=)}”jH)Kssj])}”j=)}”jV)Kssjd)}”j=)}”j`)Kssj|)}”jg)}”ju)Kssjƒ)}”jg)}”j)Kssj¦)}”j)}”j¢)Kssj°)}”j)}”j©)Kssj·)}”j)}”j³)KssjÝ)}”jÁ)}”jÖ)Kssjä)}”jÁ)}”jà)Kssj *}”jî)}”j*Kssj*}”jî)}”j *Kssj0*}”j*}”j)*Kssj7*}”j*}”j3*KssjP*}”jA*}”jL*KssjW*}”jA*}”jS*Kssjw*}”jZ*}”js*Kssj~*}”jZ*}”jz*Kssjš*}”j*}”j–*Kssj¤*}”j*}”j*Kssj«*}”j*}”j§*Kssj²*}”(j*}”j®*Ksja¶}”j€¶KsjuÅ}”j”ÅKsuj¹*}”j*}”jµ*Kssj¼*}”j*}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjé*}”jæ*}”j+Kssj+}”jæ*}”j+Kssjô*}”j+}”j+Kssjæ*}”j¿*}”jâ*Kssj +}”j+}”j+Kssj1+}”j+}”j*+Kssj8+}”j+}”j4+KssjP+}”j;+}”jI+KssjW+}”j;+}”jS+Kssjv+}”ja+}”jo+Kssj}+}”ja+}”jy+Kssj‹+}”ja+}”j‡+KssjŽ+}”ja+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‘+}”ja+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj”+}”ja+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÐ+}”jÁ+}”jÌ+Kssjá+}”jÁ+}”jÚ+Kssjè+}”jÁ+}”jä+Kssj,}”j,}”j,,Kssj4,}”j,}”j0,Kssj ,}”j4,}”j,,Kssj,}”jë+}”j,KssjL,}”j=,}”jH,Kssj],}”j=,}”jV,Kssjd,}”j=,}”j`,Kssj„,}”jg,}”j€,Kssj‹,}”jg,}”j‡,Kssj£,}”jŽ,}”jœ,Kssjª,}”jŽ,}”j¦,KssjÉ,}”j´,}”jÂ,KssjÐ,}”j´,}”jÌ,Kssjð,}”jÚ,}”jì,Kssj÷,}”jÚ,}”jó,Kssj-}”jú,}”j-Kssj-}”jú,}”j-Kssj$-}”jú,}”j -Kssj'-}”jú,}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj*-}”jú,}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj<-}”j--}”j8-KssjM-}”j--}”jF-KssjT-}”j--}”jP-Kssjf-}”jW-}”jb-Kssjw-}”jW-}”jp-Kssj~-}”jW-}”jz-Kssj-}”j-}”jŒ-Kssj¡-}”j-}”jš-Kssj¨-}”j-}”j¤-KssjÈ-}”j«-}”jÄ-KssjÏ-}”j«-}”jË-Kssjî-}”jÒ-}”jç-Kssjõ-}”jÒ-}”jñ-Kssj.}”jÒ-}”jÿ-Kssj.}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj .}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj .}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.}”jÒ-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjH.}”jE.}”j_.Kssjg.}”jE.}”jc.KssjS.}”jg.}”j_.KssjE.}”j.}”jA.Kssj©.}”jš.}”j¥.Kssjº.}”jš.}”j³.KssjÁ.}”jš.}”j½.KssjÓ.}”jÄ.}”jÏ.KssjÚ.}”jÄ.}”jÖ.Kssjä.}”jÄ.}”jÝ.Kssjë.}”jÄ.}”jç.Kssjý.}”jî.}”jù.Kssj/}”jî.}”j/Kssj/}”jî.}”j/Kssj'/}”j/}”j#/Kssj1/}”j/}”j*/Kssj8/}”j/}”j4/KssjB/}”j?/}”jY/Kssja/}”j?/}”j]/KssjM/}”ja/}”jY/Kssj?/}”j/}”j;/Kssjy/}”jj/}”ju/KssjŠ/}”jj/}”jƒ/Kssj‘/}”jj/}”j/Kssj£/}”j”/}”jŸ/Kssj´/}”j”/}”j­/Kssu(j»/}”j”/}”j·/KssjÍ/}”j¾/}”jÉ/Kssj×/}”j¾/}”jÐ/KssjÞ/}”j¾/}”jÚ/Kssjè/}”jå/}”jÿ/Kssj0}”jå/}”j0Kssjó/}”j0}”jÿ/Kssjå/}”j¾/}”já/Kssj%0}”j0}”j0Kssj,0}”j0}”j(0Kssj=0}”j0}”j90Kssj@0}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjC0}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjF0}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI0}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[0}”jL0}”jW0Kssjl0}”jL0}”je0Kssjs0}”jL0}”jo0Kssj…0}”jv0}”j0Kssj–0}”jv0}”j0Kssj0}”jv0}”j™0KssjÙ0}”jÊ0}”jÕ0Kssjê0}”jÊ0}”jã0Kssjñ0}”jÊ0}”jí0Kssj1}”jô0}”jÿ0Kssj1}”jô0}”j 1Kssj1}”jô0}”j1Kssj:1}”j1}”j31KssjA1}”j1}”j=1KssjO1}”j1}”jK1KssjR1}”j1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU1}”j1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¬1}”j©1}”jÃ1KssjË1}”j©1}”jÇ1Kssj·1}”jË1}”jÃ1Kssj©1}”j‚1}”j¥1Kssjþ1}”jû1}”j2Kssj2}”jû1}”j2Kssj 2}”j2}”j2Kssjû1}”jÔ1}”j÷1Kssj52}”j&2}”j12Kssj<2}”j&2}”j82KssjT2}”j?2}”jM2Kssj[2}”j?2}”jW2Kssjz2}”je2}”js2Kssj2}”je2}”j}2Kssj2}”je2}”j‹2Kssj’2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤2}”je2}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj%3}”j"3}”j<3KssjD3}”j"3}”j@3Kssj03}”jD3}”j<3Kssj"3}”jû2}”j3Kssj\3}”(jM3}”jX3Ksjû4}”j5Ksujf3}”(jM3}”j_3Ksjû4}”j 5Ksujm3}”(jM3}”ji3Ksjû4}”j5Ksujw3}”jt3}”jŽ3Kssj–3}”jt3}”j’3Kssj‚3}”j–3}”jŽ3Kssjt3}”jM3}”jp3Kssj®3}”(jŸ3}”jª3KsjM5}”jX5Ksuj¸3}”(jŸ3}”j±3KsjM5}”j_5Ksuj¿3}”(jŸ3}”j»3KsjM5}”ji5KsujÉ3}”jÆ3}”jà3Kssjè3}”jÆ3}”jä3KssjÔ3}”jè3}”jà3KssjÆ3}”jŸ3}”jÂ3Kssj4}”j4}”j24Kssj:4}”j4}”j64Kssj&4}”j:4}”j24Kssj4}”jñ3}”j4Kssjm4}”jj4}”j„4KssjŒ4}”jj4}”jˆ4Kssjx4}”jŒ4}”j„4Kssjj4}”jC4}”jf4KssjÔ4}”j¿4}”jÍ4KssjÛ4}”j¿4}”j×4Kssjé4}”j¿4}”jå4Kssjì4}”j¿4}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjï4}”j¿4}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjò4}”j¿4}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjõ4}”j¿4}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjø4}”j¿4}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj%5}”j"5}”j<5KssjD5}”j"5}”j@5Kssj05}”jD5}”j<5Kssj"5}”jû4}”j5Kssjw5}”jt5}”jŽ5Kssj–5}”jt5}”j’5Kssj‚5}”j–5}”jŽ5Kssjt5}”jM5}”jp5Kssj®5}”jŸ5}”jª5Kssj¿5}”jŸ5}”j¸5KssjÆ5}”jŸ5}”jÂ5KssjØ5}”jÉ5}”jÔ5Kssjâ5}”jÉ5}”jÛ5Kssjé5}”jÉ5}”jå5Kssjó5}”jð5}”j 6Kssj6}”jð5}”j6Kssjþ5}”j6}”j 6Kssjð5}”jÉ5}”jì5Kssj*6}”j6}”j&6Kssj46}”j6}”j-6Kssj;6}”j6}”j76KssjE6}”jB6}”j\6Kssjd6}”jB6}”j`6KssjP6}”jd6}”j\6KssjB6}”j6}”j>6Kssj|6}”jm6}”jx6Kssj†6}”jm6}”j6Kssj6}”jm6}”j‰6Kssj—6}”j”6}”j®6Kssj¶6}”j”6}”j²6Kssj¢6}”j¶6}”j®6Kssj”6}”jm6}”j6KssjÕ6}”j¿6}”jÑ6KssjÜ6}”j¿6}”jØ6Kssjô6}”jß6}”jí6Kssjû6}”jß6}”j÷6Kssj7}”(jß6}”jþ6Ksjs}”j3sKsj¯}”j:¯Ksuj 7}”jß6}”j7Kssj7}”j 7}”j7Kssj,7}”j 7}”j%7Kssj37}”j 7}”j/7KssjE7}”j67}”jA7KssjL7}”j67}”jH7Kssj^7}”jO7}”jZ7Kssje7}”jO7}”ja7Kssjw7}”jh7}”js7Kssj~7}”jh7}”jz7Kssj7}”j7}”jŒ7Kssj—7}”j7}”j“7Kssj°7}”jš7}”j¬7Kssj·7}”jš7}”j³7KssjÖ7}”jº7}”jÏ7KssjÝ7}”jº7}”jÙ7Kssjë7}”jº7}”jç7Kssjî7}”jº7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjñ7}”jº7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8}”jô7}”jÿ7Kssj8}”jô7}”j 8Kssj8}”jô7}”j8Kssj-8}”(j8}”j)8KsjD‘}”jO‘Ksuj78}”(j8}”j08KsjD‘}”jV‘Ksuj>8}”(j8}”j:8KsjD‘}”j`‘KsujH8}”jE8}”j_8Kssjg8}”jE8}”jc8KssjS8}”jg8}”j_8KssjE8}”j8}”jA8Kssj8}”jp8}”j{8Kssj8}”jp8}”j‰8Kssj—8}”jp8}”j“8Kssj°8}”jš8}”j¬8Kssj·8}”jš8}”j³8Kssj×8}”jº8}”jÓ8KssjÞ8}”jº8}”jÚ8Kssjð8}”já8}”jì8Kssj÷8}”já8}”jó8Kssj9}”jú8}”j9Kssj$9}”jú8}”j 9KssjC9}”j.9}”j<9KssjJ9}”j.9}”jF9KssjX9}”j.9}”jT9Kssjj9}”j[9}”jf9Kssjq9}”(j[9}”jm9Ksj¿½}”jýKsj§8}”j«8Ksj_z}”jczKsjÀ‘}”jÄ‘Ksuj{9}”j[9}”jt9Kssj‚9}”j[9}”j~9Kssjš9}”j…9}”j“9Kssj¡9}”j…9}”j9KssjÀ9}”j«9}”j¹9KssjÇ9}”j«9}”jÃ9Kssjæ9}”jÑ9}”jß9Kssjí9}”jÑ9}”jé9Kssj:}”(j÷9}”j :KsjR}”j–RKsuj:}”j÷9}”j:Kssj!:}”j÷9}”j:Kssj/:}”j÷9}”j+:KssjA:}”j2:}”j=:KssjK:}”j2:}”jD:KssjR:}”j2:}”jN:Kssjd:}”j\:}”j`:Kssj\:}”jY:}”js:Kssj{:}”jY:}”jw:Kssjg:}”j{:}”js:KssjY:}”j2:}”jU:Kssj :}”j„:}”j™:Kssj§:}”j„:}”j£:KssjÎ:}”j±:}”jÊ:KssjÕ:}”j±:}”jÑ:Kssjû:}”jØ:}”jô:Kssj;}”jØ:}”jþ:Kssj!;}”j ;}”j;Kssj(;}”j ;}”j$;Kssj/;}”j ;}”j+;KssjU;}”j2;}”jN;Kssj\;}”j2;}”jX;Kssj{;}”jf;}”jt;Kssj‚;}”jf;}”j~;Kssj;}”jf;}”jŒ;Kssj“;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjœ;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŸ;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj®;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj±;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj´;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj·;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjº;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj½;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÃ;}”jf;}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÕ;}”jÆ;}”jÑ;Kssjæ;}”jÆ;}”jß;Kssjí;}”jÆ;}”jé;Kssjÿ;}”jð;}”jû;Kssj<}”jð;}”j <Kssj<}”jð;}”j<Kssj)<}”j<}”j%<Kssj:<}”j<}”j3<KssjA<}”j<}”j=<KssjS<}”jD<}”jO<Kssj]<}”jD<}”jV<Kssjd<}”jD<}”j`<Kssj§<}”j˜<}”j£<Kssj±<}”j˜<}”jª<Kssj¸<}”j˜<}”j´<KssjÑ<}”jÂ<}”jÍ<Kssjâ<}”jÂ<}”jÛ<Kssjé<}”jÂ<}”jå<Kssj=}”j=}”j-=Kssj5=}”j=}”j1=Kssj!=}”j5=}”j-=Kssj=}”jì<}”j=Kssjh=}”je=}”j=Kssj‡=}”je=}”jƒ=Kssjs=}”j‡=}”j=Kssje=}”j>=}”ja=KssjŸ=}”(j=}”j›=Ksj§Î}”j²ÎKsj^ò}”jiòKsjŸ}”jŸKsuj©=}”(j=}”j¢=Ksj§Î}”j¹ÎKsj^ò}”jpòKsjŸ}”j!ŸKsuj°=}”(j=}”j¬=Ksj§Î}”jÃÎKsj^ò}”jzòKsjŸ}”j+ŸKsujº=}”j·=}”jÑ=KssjÙ=}”j·=}”jÕ=KssjÅ=}”jÙ=}”jÑ=Kssj·=}”j=}”j³=Kssj >}”j >}”j.>Kssj6>}”j >}”j2>Kssj>}”j6>}”j.>Kssj<>}”j6>}”j2>Kssj">}”j<>}”j.>Kssj >}”jâ=}”j>KssjT>}”jE>}”jP>Kssje>}”jE>}”j^>Kssjl>}”jE>}”jh>Kssj¨>}”j™>}”j¤>Kssj¹>}”j™>}”j²>KssjÀ>}”j™>}”j¼>Kssjí>}”jê>}”j?Kssj ?}”jê>}”j?Kssjø>}”j ?}”j?Kssjê>}”jÃ>}”jæ>Kssj??}”j@}”j@}”j7@KssjE@}”j@}”jA@Kssjd@}”jH@}”j]@Kssjk@}”jH@}”jg@Kssjy@}”jH@}”ju@Kssj|@}”jH@}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽ@}”j@}”jŠ@KssjŸ@}”j@}”j˜@Kssj¦@}”j@}”j¢@Kssjï@}”jÓ@}”jè@Kssjö@}”jÓ@}”jò@KssjA}”(jÓ@}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjȼ}”jç¼KsujA}”jA}”jAKssj&A}”jA}”j"AKssjLA}”j0A}”jEAKssjSA}”j0A}”jOAKssjyA}”j]A}”jrAKssj€A}”j]A}”j|AKssjŽA}”j]A}”jŠAKssj A}”j‘A}”jœAKssj±A}”j‘A}”jªAKssj¸A}”j‘A}”j´AKssj×A}”j»A}”jÐAKssjÞA}”j»A}”jÚAKssjïA}”j»A}”jëAKssjòA}”j»A}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjB}”jB}”jABKssjIB}”jB}”jEBKssj*B}”jIB}”jABKssjOB}”jIB}”jEBKssj5B}”jOB}”jABKssjB}”jõA}”jBKssjžB}”j‚B}”j—BKssj¥B}”j‚B}”j¡BKssj¶B}”j‚B}”j²BKssj¹B}”j‚B}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjõB}”jæB}”jñBKssjC}”jæB}”jÿBKssj C}”jæB}”j CKssj,C}”jC}”j%CKssj3C}”jC}”j/CKssjAC}”jC}”j=CKssjDC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjGC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\C}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_C}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjbC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjeC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjhC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjkC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjnC}”jC}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€C}”(jqC}”j|CKsj¨Ö}”j³ÖKsujŠC}”(jqC}”jƒCKsj¨Ö}”jºÖKsuj‘C}”(jqC}”jCKsj¨Ö}”jÄÖKsuj¹C}”(j±C}”jµCKsj«y}”j¯yKsjèÖ}”jìÖKsuj›C}”j˜C}”j½CKssjÅC}”j˜C}”jÁCKssj¦C}”jÅC}”j½CKssjËC}”jÅC}”jÁCKssj±C}”jËC}”j½CKssj˜C}”jqC}”j”CKssjãC}”jÔC}”jßCKssjêC}”jÔC}”jæCKssjôC}”jÔC}”jíCKssjûC}”jÔC}”j÷CKssj7D}”(j(D}”j3DKsj×}”jŠ×KsujHD}”(j(D}”jADKsj×}”j˜×KsujOD}”(j(D}”jKDKsj×}”j¢×KsujaD}”jRD}”j]DKssjrD}”jRD}”jkDKssjyD}”jRD}”juDKssj‹D}”j|D}”j‡DKssjœD}”j|D}”j•DKssj£D}”j|D}”jŸDKssjµD}”(j¦D}”j±DKsj©×}”j´×KsujÆD}”(j¦D}”j¿DKsj©×}”jÂ×KsujÍD}”(j¦D}”jÉDKsj©×}”jÌ×KsujßD}”jÐD}”jÛDKssjðD}”jÐD}”jéDKssj÷D}”jÐD}”jóDKssj E}”(júD}”jEKsjR}”j˜RKsujE}”(júD}”jEKsjR}”j¦RKsuj!E}”(júD}”jEKsjR}”j°RKsuj3E}”j$E}”j/EKssjDE}”j$E}”j=EKssjKE}”j$E}”jGEKssj]E}”jNE}”jYEKssjdE}”(jNE}”j`EKsjŠP}”jœPKsujnE}”jNE}”jgEKssjuE}”jNE}”jqEKssj‡E}”jxE}”jƒEKssj˜E}”jxE}”j‘EKssjŸE}”jxE}”j›EKssj±E}”j¢E}”j­EKssjÂE}”j¢E}”j»EKssjÉE}”j¢E}”jÅEKssjÛE}”jÌE}”j×EKssjâE}”jÌE}”jÞEKssjìE}”jÌE}”jåEKssjóE}”jÌE}”jïEKssjF}”(jöE}”jFKsjLO}”jWOKsj£S}”j®SKsujF}”(jöE}”jFKsjLO}”j^OKsj£S}”jµSKsujF}”(jöE}”jFKsjLO}”jhOKsj£S}”j¿SKsuj F}”jF}”jBFKssjJF}”jF}”jFFKssj+F}”jJF}”jBFKssjPF}”jJF}”jFFKssj6F}”jPF}”jBFKssjF}”jöE}”jFKssjhF}”jYF}”jdFKssjyF}”jYF}”jrFKssj€F}”jYF}”j|FKssjŸF}”jƒF}”j˜FKssj¦F}”jƒF}”j¢FKssj´F}”jƒF}”j°FKssj·F}”jƒF}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉF}”jºF}”jÅFKssjÚF}”jºF}”jÓFKssjáF}”jºF}”jÝFKssjóF}”jäF}”jïFKssjG}”jäF}”jýFKssj G}”jäF}”jGKssj*G}”jG}”j#GKssj1G}”jG}”j-GKssjWG}”j;G}”jPGKssj^G}”j;G}”jZGKssjlG}”j;G}”jhGKssjsG}”j;G}”joGKssjvG}”j;G}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjyG}”j;G}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj|G}”j;G}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG}”j;G}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‚G}”j;G}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj”G}”(j…G}”jGKsj·l}”jÂlKsuj¥G}”(j…G}”jžGKsj·l}”jÐlKsuj¬G}”(j…G}”j¨GKsj·l}”jÚlKsuj¾G}”(j¯G}”jºGKsj†V}”j‘VKsujÈG}”(j¯G}”jÁGKsj†V}”j˜VKsujÏG}”(j¯G}”jËGKsj†V}”j¢VKsujáG}”(jÙG}”jÝGKsj°V}”j´VKsujÙG}”jÖG}”jðGKssjøG}”jÖG}”jôGKssjäG}”jøG}”jðGKssjÖG}”j¯G}”jÒGKssjH}”jH}”j HKssj!H}”jH}”jHKssj(H}”jH}”j$HKssj:H}”j+H}”j6HKssjKH}”j+H}”jDHKssjRH}”j+H}”jNHKssjdH}”jUH}”j`HKssjuH}”jUH}”jnHKssj|H}”jUH}”jxHKssjŽH}”(jH}”jŠHKsjW}”j WKsujŸH}”(jH}”j˜HKsjW}”jWKsuj¦H}”(jH}”j¢HKsjW}”j%WKsujÅH}”j©H}”j¾HKssjÌH}”j©H}”jÈHKssjòH}”jÖH}”jëHKssjùH}”jÖH}”jõHKssjI}”jÖH}”jIKssj I}”jÖH}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj I}”jÖH}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI}”jÖH}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI}”jÖH}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI}”jÖH}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI}”jÖH}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj+I}”jI}”j'IKssj2I}”jI}”j.IKssjLKssjaL}”jEL}”jZLKssjhL}”jEL}”jdLKssjŽL}”jrL}”j‡LKssj•L}”jrL}”j‘LKssj»L}”jŸL}”j´LKssjÂL}”jŸL}”j¾LKssjèL}”jÌL}”jáLKssjïL}”jÌL}”jëLKssjýL}”jÌL}”jùLKssjM}”jM}”j MKssj M}”jM}”jMKssj'M}”jM}”j#MKssjFM}”j*M}”j?MKssjMM}”j*M}”jIMKssjlM}”jWM}”jeMKssjsM}”jWM}”joMKssjM}”jWM}”j}MKssj„M}”jWM}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡M}”jWM}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÃM}”j´M}”j¿MKssjÔM}”j´M}”jÍMKssjÛM}”j´M}”j×MKssj$N}”jN}”jNKssj+N}”jN}”j'NKssj9N}”jN}”j5NKssj@N}”jN}”jPKssjLP}”j)P}”jHPKssjZP}”j)P}”jVPKssj]P}”j)P}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjoP}”j`P}”jkPKssj€P}”j`P}”jyPKssj‡P}”j`P}”jƒPKssj™P}”jŠP}”j•PKssjªP}”jŠP}”j£PKssj±P}”jŠP}”j­PKssjÐP}”j´P}”jÉPKssj×P}”j´P}”jÓPKssjåP}”j´P}”jáPKssj÷P}”jèP}”jóPKssjQ}”jèP}”jQKssjQ}”jèP}”j QKssj.Q}”jQ}”j'QKssj5Q}”jQ}”j1QKssjCQ}”jQ}”j?QKssjUQ}”jFQ}”jQQKssjfQ}”jFQ}”j_QKssjmQ}”jFQ}”jiQKssjŒQ}”jpQ}”j…QKssj“Q}”jpQ}”jQKssjšQ}”jpQ}”j–QKssj¡Q}”jpQ}”jQKssj³Q}”j¤Q}”j¯QKssjÄQ}”j¤Q}”j½QKssjËQ}”j¤Q}”jÇQKssjêQ}”jÎQ}”jãQKssjñQ}”jÎQ}”jíQKssjÿQ}”jÎQ}”jûQKssjR}”jÎQ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjR}”jR}”jRKssj%R}”jR}”jRKssj,R}”jR}”j(RKssj>R}”j/R}”j:RKssjOR}”j/R}”jHRKssjVR}”j/R}”jRRKssjuR}”jYR}”jnRKssj|R}”jYR}”jxRKssjŠR}”jYR}”j†RKssjÓR}”j·R}”jÌRKssjÚR}”j·R}”jÖRKssjäR}”(j·R}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj­}”j¢­KsujS}”jçR}”jüRKssj S}”jçR}”jSKssjS}”jçR}”jSKssjS}”jçR}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS}”jçR}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj!S}”jçR}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$S}”jçR}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj6S}”(j'S}”j2SKsj¿}”j#¿Ksj\Ã}”jgÃKsujGS}”(j'S}”j@SKsj¿}”j1¿Ksj\Ã}”juÃKsujNS}”(j'S}”jJSKsj¿}”j;¿Ksj\Ã}”jÃKsuj{S}”jxS}”j’SKssjšS}”jxS}”j–SKssj†S}”jšS}”j’SKssjxS}”jQS}”jtSKssjÍS}”jÊS}”jïSKssj÷S}”jÊS}”jóSKssjØS}”j÷S}”jïSKssjýS}”j÷S}”jóSKssjãS}”jýS}”jïSKssjÊS}”j£S}”jÆSKssjT}”jT}”jTKssj&T}”jT}”jTKssj-T}”jT}”j)TKssj?T}”j0T}”j;TKssjPT}”j0T}”jITKssjWT}”j0T}”jSTKssjvT}”jZT}”joTKssj}T}”jZT}”jyTKssj£T}”j‡T}”jœTKssjªT}”j‡T}”j¦TKssjÐT}”j´T}”jÉTKssj×T}”j´T}”jÓTKssjåT}”j´T}”jáTKssjèT}”j´T}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjëT}”j´T}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjîT}”j´T}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjñT}”j´T}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU}”jôT}”jÿTKssjU}”jôT}”j UKssjU}”jôT}”jUKssj-U}”jU}”j)UKssj7U}”jU}”j0UKssj>U}”jU}”j:UKssjHU}”jEU}”j_UKssjgU}”jEU}”jcUKssjSU}”jgU}”j_UKssjEU}”jU}”jAUKssjU}”jpU}”j{UKssj†U}”(jpU}”j‚UKsjƒ }”j© KsujU}”jpU}”j‰UKssj—U}”jpU}”j“UKssj©U}”jšU}”j¥UKssjºU}”jšU}”j³UKssjÁU}”jšU}”j½UKssjÓU}”jÄU}”jÏUKssjÚU}”jÄU}”jÖUKssjäU}”jÄU}”jÝUKssjëU}”jÄU}”jçUKssj V}”jîU}”jVKssjV}”jîU}”j VKssjV}”jîU}”jVKssj1V}”j"V}”j-VKssjBV}”j"V}”j;VKssjIV}”j"V}”jEVKssjhV}”jLV}”jaVKssjoV}”jLV}”jkVKssjvV}”(jLV}”jrVKsjX}”j~•Ksuj}V}”jLV}”jyVKssj€V}”jLV}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjƒV}”jLV}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°V}”j­V}”jÇVKssjÏV}”j­V}”jËVKssj»V}”jÏV}”jÇVKssj­V}”j†V}”j©VKssjçV}”jØV}”jãVKssjøV}”jØV}”jñVKssjÿV}”jØV}”jûVKssjHW}”j,W}”jAWKssjOW}”j,W}”jKWKssj]W}”j,W}”jYWKssjoW}”j`W}”jkWKssj€W}”j`W}”jyWKssj‡W}”j`W}”jƒWKssj£W}”jŠW}”jŸWKssj­W}”jŠW}”j¦WKssj´W}”jŠW}”j°WKssjÚW}”j¾W}”jÓWKssjáW}”j¾W}”jÝWKssjïW}”j¾W}”jëWKssjòW}”j¾W}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjX}”jõW}”jXKssjX}”jõW}”jXKssjX}”jõW}”jXKssj.X}”jX}”j*XKssj8X}”jX}”j1XKssj?X}”jX}”j;XKssjQX}”(jIX}”jMXKsj€¾}”j¦¾KsujIX}”jFX}”j`XKssjhX}”jFX}”jdXKssjTX}”jhX}”j`XKssjFX}”jX}”jBXKssjX}”jqX}”j†XKssj”X}”jqX}”jXKssjºX}”jžX}”j³XKssjÁX}”jžX}”j½XKssjàX}”jËX}”jÙXKssjçX}”jËX}”jãXKssjY}”jñX}”jÿXKssj Y}”jñX}”j YKssjY}”jñX}”jYKssjY}”jñX}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj0Y}”(j!Y}”j,YKsjÓZ}”jÞZKsujAY}”(j!Y}”j:YKsjÓZ}”jìZKsujHY}”(j!Y}”jDYKsjÓZ}”jöZKsujZY}”(jKY}”jVYKsjýZ}”j[KsujaY}”(jKY}”j]YKsjàY}”jäYKsjýZ}”j[KsujkY}”(jKY}”jdYKsjýZ}”j[KsujrY}”(jKY}”jnYKsjýZ}”j [KsujŠY}”juY}”jƒYKssj‘Y}”juY}”jYKssjŸY}”juY}”j›YKssj¢Y}”juY}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥Y}”juY}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨Y}”juY}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjºY}”j«Y}”j¶YKssjÄY}”j«Y}”j½YKssjËY}”j«Y}”jÇYKssjÕY}”jÒY}”jìYKssjôY}”jÒY}”jðYKssjàY}”jôY}”jìYKssjÒY}”j«Y}”jÎYKssj Z}”(jýY}”jZKsjz}”j…KsujZ}”(jýY}”jZKsjz}”jŒKsujZ}”(jýY}”jZKsjz}”j“Ksuj$Z}”(jýY}”j ZKsjz}”jKsujQZ}”jNZ}”jhZKssjpZ}”jNZ}”jlZKssj\Z}”jpZ}”jhZKssjNZ}”j'Z}”jJZKssjˆZ}”(jyZ}”j„ZKsj×}”jâKsuj™Z}”(jyZ}”j’ZKsj×}”jðKsuj Z}”(jyZ}”jœZKsj×}”júKsuj¸Z}”j£Z}”j±ZKssj¿Z}”j£Z}”j»ZKssjÍZ}”j£Z}”jÉZKssjÐZ}”j£Z}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ[}”j'[}”jC[KssjQ[}”j'[}”jM[Kssjc[}”(j[[}”j_[Ksj‚[}”j†[KsjÅ\}”j×\Ksjï\}”jó\Ksj]}”j]Ksjæú}”jûKsujx[}”j[[}”jt[Kssj[}”j[[}”j{[KssjŸ[}”j‚[}”j›[Kssj¦[}”j‚[}”j¢[KssjÌ[}”j©[}”jÅ[KssjÓ[}”j©[}”jÏ[Kssjá[}”j©[}”jÝ[Kssjä[}”j©[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjç[}”j©[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjê[}”j©[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjí[}”j©[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjð[}”j©[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\}”jó[}”jþ[Kssj\}”jó[}”j \Kssj\}”jó[}”j\Kssj,\}”j\}”j(\Kssj=\}”j\}”j6\KssjD\}”j\}”j@\KssjV\}”jG\}”jR\Kssj`\}”(jG\}”jY\Ksjìû}”jþûKsujg\}”jG\}”jc\Kssj€\}”jq\}”j|\Kssj‘\}”jq\}”jŠ\Kssj˜\}”jq\}”j”\Kssjª\}”j›\}”j¦\Kssj±\}”(j›\}”j­\Ksj·}”j ·Ksj•)}”j™)Ksj=+}”jA+Ksuj»\}”j›\}”j´\KssjÂ\}”j›\}”j¾\KssjÔ\}”jÅ\}”jÐ\Kssjå\}”jÅ\}”jÞ\Kssjì\}”jÅ\}”jè\Kssj ]}”jï\}”j]Kssj]}”jï\}”j]Kssj3]}”j]}”j/]Kssj:]}”j]}”j6]KssjR]}”j=]}”jK]KssjY]}”j=]}”jU]Kssjg]}”j=]}”jc]Kssjj]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjm]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjp]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjs]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjv]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjy]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj|]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj]}”j=]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‘]}”j‚]}”j]Kssj›]}”j‚]}”j”]Kssj¢]}”j‚]}”jž]Kssj¬]}”j©]}”jÎ]KssjÖ]}”j©]}”jÒ]Kssj·]}”jÖ]}”jÎ]KssjÜ]}”jÖ]}”jÒ]KssjÂ]}”jÜ]}”jÎ]Kssj©]}”j‚]}”j¥]Kssjô]}”jå]}”jð]Kssjþ]}”jå]}”j÷]Kssj^}”jå]}”j^Kssj^}”j ^}”j1^Kssj9^}”j ^}”j5^Kssj^}”j9^}”j1^Kssj?^}”j9^}”j5^Kssj%^}”j?^}”j1^Kssj ^}”jå]}”j^KssjW^}”jH^}”jS^Kssja^}”jH^}”jZ^Kssjh^}”jH^}”jd^Kssjr^}”jo^}”j‰^Kssj‘^}”jo^}”j^Kssj}^}”j‘^}”j‰^Kssjo^}”jH^}”jk^Kssj©^}”jš^}”j¥^Kssjº^}”jš^}”j³^KssjÁ^}”jš^}”j½^KssjÓ^}”jÄ^}”jÏ^Kssjä^}”jÄ^}”jÝ^Kssjë^}”jÄ^}”jç^Kssjý^}”jî^}”jù^Kssj_}”jî^}”j_Kssj_}”jî^}”j_KssjB_}”j?_}”jo_Kssjw_}”j?_}”js_KssjM_}”jw_}”jo_Kssj}_}”jw_}”js_KssjX_}”j}_}”jo_Kssjƒ_}”j}_}”js_Kssjc_}”jƒ_}”jo_Kssj?_}”j_}”j;_Kssj›_}”(jŒ_}”j—_KsjQ}”j\Ksuj¥_}”(jŒ_}”jž_KsjQ}”jcKsuj¬_}”(jŒ_}”j¨_KsjQ}”jmKsuj¶_}”j³_}”jØ_Kssjà_}”j³_}”jÜ_KssjÁ_}”jà_}”jØ_Kssjæ_}”jà_}”jÜ_KssjÌ_}”jæ_}”jØ_Kssj³_}”jŒ_}”j¯_Kssjþ_}”jï_}”jú_Kssj`}”jï_}”j`Kssj`}”jï_}”j `Kssj`}”j`}”jF`KssjN`}”j`}”jJ`Kssj$`}”jN`}”jF`KssjT`}”jN`}”jJ`Kssj/`}”jT`}”jF`KssjZ`}”jT`}”jJ`Kssj:`}”jZ`}”jF`Kssj`}”jï_}”j`Kssjx`}”jc`}”jq`Kssj`}”jc`}”j{`KssjŸ`}”j‰`}”j›`Kssj¦`}”j‰`}”j¢`KssjÍ`}”j°`}”jÉ`KssjÔ`}”j°`}”jÐ`Kssjô`}”j×`}”jð`Kssjû`}”j×`}”j÷`Kssja}”jþ`}”jaKssj"a}”jþ`}”jaKssj;a}”j%a}”j7aKssjBa}”j%a}”j>aKssjZa}”jEa}”jSaKssjaa}”jEa}”j]aKssjoa}”jEa}”jkaKssja}”jra}”j}aKssj’a}”jra}”j‹aKssj™a}”jra}”j•aKssj±a}”jœa}”jªaKssj¸a}”jœa}”j´aKssjÑa}”jÂa}”jÍaKssjØa}”jÂa}”jÔaKssjßa}”jÂa}”jÛaKssjþa}”jâa}”j÷aKssjb}”jâa}”jbKssjb}”jâa}”jbKssjb}”jâa}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb}”jâa}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb}”jâa}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb}”jâa}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj"b}”jâa}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj^b}”(jOb}”jZbKsj)}”j4Ksjm}”jxKsj }”j¨ Ksujob}”(jOb}”jhbKsj)}”jBKsjm}”j†Ksj }”j¶ Ksujvb}”(jOb}”jrbKsj)}”jLKsjm}”jKsj }”jÀ Ksujˆb}”(jyb}”j„bKsj¥}”j°Ksj—}”j¢KsjÇ }”jÒ Ksuj™b}”(jyb}”j’bKsj¥}”j¾Ksj—}”j°KsjÇ }”jà Ksuj b}”(jyb}”jœbKsj¥}”jÈKsj—}”jºKsjÇ }”jê KsujÍb}”jÊb}”jäbKssjìb}”jÊb}”jèbKssjØb}”jìb}”jäbKssjÊb}”j£b}”jÆbKssjc}”jc}”j6cKssj>c}”jc}”j:cKssj*c}”j>c}”j6cKssjc}”jõb}”jcKssjVc}”(jGc}”jRcKsj}”j¨Ksjm }”jx Ksuj`c}”(jGc}”jYcKsj}”j¯Ksjm }”j Ksujgc}”(jGc}”jccKsj}”j¹Ksjm }”j‰ Ksujqc}”jnc}”jžcKssj¦c}”jnc}”j¢cKssj|c}”j¦c}”jžcKssj¬c}”j¦c}”j¢cKssj‡c}”j¬c}”jžcKssj²c}”j¬c}”j¢cKssj’c}”j²c}”jžcKssjnc}”jGc}”jjcKssjÍc}”(j»c}”jÉcKsj¨Š}”j¶ŠKsj™}”j§Ksuj×c}”j»c}”jÐcKssjÞc}”j»c}”jÚcKssjåc}”j»c}”jácKssjìc}”j»c}”jècKssj?d}”jd}”j8dKssjFd}”jd}”jBdKssjMd}”jd}”jIdKssjTd}”jd}”jPdKssjWd}”jd}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj„d}”jd}”j›dKssj£d}”jd}”jŸdKssjd}”j£d}”j›dKssjd}”jZd}”j}dKssjÖd}”jÓd}”jídKssjõd}”jÓd}”jñdKssjád}”jõd}”jídKssjÓd}”j¬d}”jÏdKssj$e}”jþd}”jeKssj+e}”jþd}”j'eKssj9e}”jþd}”j5eKssjh}”j"h}”j:hKssjLh}”j"h}”jHhKssjOh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjRh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjUh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjXh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[h}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj^h}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjah}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjdh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjgh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjjh}”j"h}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÐh}”(jÁh}”jÌhKsjd}”j&dKsjFe}”jQeKsjrf}”j}fKsujáh}”(jÁh}”jÚhKsjd}”j4dKsjFe}”j_eKsjrf}”j‹fKsujèh}”(jÁh}”jähKsjd}”j>dKsjFe}”jieKsjrf}”j•fKsuj“i}”ji}”jªiKssj²i}”ji}”j®iKssjži}”j²i}”jªiKssji}”jii}”jŒiKssjj}”j j}”j&jKssj.j}”j j}”j*jKssjj}”j.j}”j&jKssj j}”jåi}”jjKssjFj}”(j7j}”jBjKsjÁd}”jÌdKsujPj}”(j7j}”jIjKsjÁd}”jÓdKsujWj}”(j7j}”jSjKsjÁd}”jÝdKsujaj}”j^j}”jxjKssj€j}”j^j}”j|jKssjlj}”j€j}”jxjKssj^j}”j7j}”jZjKssjÈj}”j³j}”jÁjKssjÏj}”j³j}”jËjKssjîj}”jÙj}”jçjKssjõj}”jÙj}”jñjKssjk}”jÿj}”j kKssjk}”jÿj}”jkKssj)k}”jÿj}”j%kKssj,k}”jÿj}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/k}”jÿj}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2k}”jÿj}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5k}”jÿj}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8k}”jÿj}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;k}”jÿj}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjl}”j l}”j'lKssj/l}”j l}”j+lKssjl}”j/l}”j'lKssj l}”jæk}”j lKssj¡l}”jŒl}”jšlKssj¨l}”jŒl}”j¤lKssj¹l}”jŒl}”jµlKssjËl}”j¼l}”jÇlKssjÜl}”j¼l}”jÕlKssjãl}”j¼l}”jßlKssjûl}”jæl}”jôlKssjm}”jæl}”jþlKssj"m}”j m}”jmKssj)m}”j m}”j%mKssj;m}”j,m}”j7mKssjBm}”j,m}”j>mKssj[m}”jEm}”jWmKssjbm}”jEm}”j^mKssjm}”jem}”jzmKssjˆm}”jem}”j„mKssj–m}”jem}”j’mKssj™m}”jem}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjœm}”jem}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŸm}”jem}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢m}”jem}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj´m}”j¥m}”j°mKssj»m}”(j¥m}”j·mKsjLy}”j^yKsujÅm}”j¥m}”j¾mKssjÌm}”j¥m}”jÈmKssjÞm}”jÏm}”jÚmKssjïm}”jÏm}”jèmKssjöm}”jÏm}”jòmKssjn}”jùm}”jnKssjn}”jùm}”jnKssj n}”jùm}”jnKssj2n}”j#n}”j.nKssjCn}”j#n}”juKssj¦u}”j—u}”j¢uKssj·u}”j—u}”j°uKssj¾u}”j—u}”jºuKssjÐu}”jÁu}”jÌuKssjáu}”jÁu}”jÚuKssjèu}”jÁu}”jäuKssjúu}”jëu}”jöuKssj v}”jëu}”jvKssjv}”jëu}”jvKssj$v}”jv}”j vKssj5v}”jv}”j.vKssj‰}”j(‰}”j:‰KssjE‰}”j(‰}”jA‰Kssja‰}”(jH‰}”j]‰Ksj]}”j]Ksujk‰}”jH‰}”jd‰Kssjr‰}”jH‰}”jn‰Kssj€‰}”jH‰}”j|‰Kssjƒ‰}”jH‰}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†‰}”jH‰}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰‰}”jH‰}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ‰}”jH‰}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž‰}”j‰}”jš‰Kssj¯‰}”j‰}”j¨‰Kssj¶‰}”j‰}”j²‰Kssjȉ}”j¹‰}”jĉKssjÙ‰}”j¹‰}”jÒ‰Kssjà‰}”j¹‰}”j܉Kssjò‰}”jã‰}”jî‰KssjŠ}”jã‰}”jü‰Kssj Š}”jã‰}”jŠKssjŠ}”j Š}”jŠKssj-Š}”j Š}”j&ŠKssj4Š}”j Š}”j0ŠKssjFŠ}”j7Š}”jBŠKssjMŠ}”j7Š}”jIŠKssjWŠ}”j7Š}”jPŠKssj^Š}”j7Š}”jZŠKssjwŠ}”jaŠ}”jsŠKssj~Š}”jaŠ}”jzŠKssj—Š}”jŠ}”j“ŠKssjžŠ}”jŠ}”jšŠKssjÄŠ}”j¨Š}”j½ŠKssjËŠ}”j¨Š}”jÇŠKssjÙŠ}”j¨Š}”jÕŠKssjÜŠ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjߊ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjâŠ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjåŠ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjèŠ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjëŠ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjîŠ}”j¨Š}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‹}”j‹}”j2‹Kssj:‹}”j‹}”j6‹Kssj&‹}”j:‹}”j2‹Kssj‹}”jñŠ}”j‹Kssjm‹}”jj‹}”j‹Kssj—‹}”jj‹}”j“‹Kssjx‹}”j—‹}”j‹Kssj‹}”j—‹}”j“‹Kssjƒ‹}”j‹}”j‹Kssjj‹}”jC‹}”jf‹KssjЋ}”jÍ‹}”jç‹Kssjï‹}”jÍ‹}”jë‹KssjÛ‹}”jï‹}”jç‹KssjÍ‹}”j¦‹}”jÉ‹KssjŒ}”jø‹}”jŒKssjŒ}”jø‹}”jŒKssjŒ}”jø‹}”jŒKssjLŒ}”jIŒ}”jcŒKssjkŒ}”jIŒ}”jgŒKssjWŒ}”jkŒ}”jcŒKssjIŒ}”j"Œ}”jEŒKssjžŒ}”j›Œ}”jµŒKssj½Œ}”j›Œ}”j¹ŒKssj©Œ}”j½Œ}”jµŒKssj›Œ}”jtŒ}”j—ŒKssj}”j}”j1Kssj9}”j}”j5Kssj%}”j9}”j1Kssj}”jðŒ}”jKssjX}”jB}”jTKssj_}”jB}”j[Kssj{}”jb}”jwKssj…}”jb}”j~KssjŒ}”jb}”jˆKssjš}”jb}”j–Kssj¬}”j}”j¨Kssj½}”j}”j¶KssjÄ}”j}”jÀKssjã}”jÇ}”jÜKssjê}”jÇ}”jæKssj Ž}”jô}”jŽKssjŽ}”jô}”j ŽKssj,Ž}”(jŽ}”j(ŽKsjî}”j&îKsuj6Ž}”jŽ}”j/ŽKssj=Ž}”jŽ}”j9ŽKssjKŽ}”jŽ}”jGŽKssjNŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjTŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjWŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjZŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj]Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj`Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjcŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjfŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjiŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjlŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjoŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjrŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjuŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjxŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj{Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj„Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjœŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŸŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj®Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj±Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj´Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj·Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjºŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj½Ž}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÃŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÆŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÌŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÏŽ}”jŽ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjüŽ}”jùŽ}”jKssj}”jùŽ}”jKssj}”j}”jKssjùŽ}”jÒŽ}”jõŽKssj3}”j$}”j/KssjD}”j$}”j=KssjK}”j$}”jGKssjÌ}”jÉ}”jùKssj}”jÉ}”jýKssj×}”j}”jùKssj}”j}”jýKssjâ}”j}”jùKssj }”j}”jýKssjí}”j }”jùKssjÉ}”j¢}”jÅKssjj}”jg}”jŒKssj”}”jg}”jKssju}”j”}”jŒKssjš}”j”}”jKssj€}”jš}”jŒKssjg}”j@}”jcKssjÍ}”jÊ}”jïKssj÷}”jÊ}”jóKssjØ}”j÷}”jïKssjý}”j÷}”jóKssjã}”jý}”jïKssjÊ}”j£}”jÆKssj®‘}”j«‘}”jÛ‘Kssjã‘}”j«‘}”jß‘Kssj¹‘}”jã‘}”jÛ‘Kssjé‘}”jã‘}”jß‘KssjÄ‘}”jé‘}”jÛ‘Kssjï‘}”jé‘}”jß‘KssjÏ‘}”jï‘}”jÛ‘Kssj«‘}”j„‘}”j§‘KssjÊ’}”jÇ’}”jì’Kssjô’}”jÇ’}”jð’KssjÕ’}”jô’}”jì’Kssjú’}”jô’}”jð’Kssjà’}”jú’}”jì’KssjÇ’}”j ’}”jÃ’Kssj”}”(jÿ“}”j ”Ksjàñ}”jëñKsjUH}”j`HKsuj”}”(jÿ“}”j”Ksjàñ}”jùñKsjUH}”jnHKsuj&”}”(jÿ“}”j"”Ksjàñ}”jòKsjUH}”jxHKsuj}”}”jz”}”jŸ”Kssj§”}”jz”}”j£”Kssjˆ”}”j§”}”jŸ”Kssj­”}”j§”}”j£”Kssj“”}”j­”}”jŸ”Kssjz”}”jS”}”jv”Kssj4•}”j1•}”j‚•KssjŠ•}”j1•}”j†•Kssj?•}”jŠ•}”j‚•Kssj•}”jŠ•}”j†•KssjJ•}”j•}”j‚•Kssj–•}”j•}”j†•KssjU•}”j–•}”j‚•Kssjœ•}”j–•}”j†•Kssj`•}”jœ•}”j‚•Kssj¢•}”jœ•}”j†•Kssjk•}”j¢•}”j‚•Kssj¨•}”j¢•}”j†•Kssjv•}”j¨•}”j‚•Kssj1•}”j •}”j-•KssjÛ•}”jØ•}”jò•Kssjú•}”jØ•}”jö•Kssjæ•}”jú•}”jò•KssjØ•}”j±•}”jÔ•Kssj<–}”j-–}”j8–KssjF–}”j-–}”j?–KssjM–}”j-–}”jI–KssjW–}”jT–}”jn–Kssjv–}”jT–}”jr–Kssjb–}”jv–}”jn–KssjT–}”j-–}”jP–KssjŽ–}”(j–}”jŠ–KsjSì}”j^ìKsjjw}”juwKsuj˜–}”(j–}”j‘–KsjSì}”jeìKsjjw}”j|wKsujŸ–}”(j–}”j›–KsjSì}”joìKsjjw}”j†wKsuj©–}”j¦–}”jÀ–KssjÈ–}”j¦–}”jÄ–Kssj´–}”jÈ–}”jÀ–Kssj¦–}”j–}”j¢–Kssjà–}”(jÑ–}”jÜ–Ksj¥ì}”j°ìKsj”%}”jŸ%Ksjq}”jšqKsj¼w}”jÇwKsujñ–}”(jÑ–}”jê–Ksj¥ì}”j¾ìKsj”%}”j­%Ksjq}”j¨qKsj¼w}”jÕwKsujø–}”(jÑ–}”jô–Ksj¥ì}”jÈìKsj”%}”j·%Ksjq}”j²qKsj¼w}”jßwKsuj4—}”j%—}”j0—KssjE—}”j%—}”j>—KssjL—}”j%—}”jH—KssjÍ—}”jÊ—}”jä—Kssjì—}”jÊ—}”jè—KssjØ—}”jì—}”jä—KssjÊ—}”j£—}”jÆ—Kssj.˜}”j˜}”j*˜Kssj5˜}”j˜}”j1˜Kssj?˜}”j˜}”j8˜KssjF˜}”j˜}”jB˜Kssj˜}”jš˜}”j´˜Kssj¼˜}”jš˜}”j¸˜Kssj¨˜}”j¼˜}”j´˜Kssjš˜}”js˜}”j–˜Kssjï˜}”jì˜}”j™Kssj™}”jì˜}”j ™Kssjú˜}”j™}”j™Kssjì˜}”jŘ}”jè˜KssjV™}”jA™}”jO™Kssj]™}”jA™}”jY™Kssj€™}”(jg™}”j|™Ksj›™}”j°™Ksjõ}”j KsujŠ™}”jg™}”jƒ™Kssj‘™}”jg™}”j™Kssj¾™}”j›™}”j·™KssjÅ™}”j›™}”jÁ™Kssjä™}”jÏ™}”jÝ™Kssjë™}”jÏ™}”jç™Kssjš}”jõ™}”jšKssjš}”jõ™}”jšKssj-š}”jõ™}”j)šKssj0š}”jõ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj3š}”jõ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj6š}”jõ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj9š}”jõ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj<š}”jõ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj?š}”jõ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj{š}”(jlš}”jwšKsjÁD}”jÌDKsujŒš}”(jlš}”j…šKsjÁD}”jÚDKsuj“š}”(jlš}”jšKsjÁD}”jäDKsujÏš}”(jÀš}”jËšKsj‘E}”jœEKsujàš}”(jÀš}”jÙšKsj‘E}”jªEKsujçš}”(jÀš}”jãšKsj‘E}”j´EKsujùš}”(jêš}”jõšKsj»E}”jÆEKsuj ›}”(jêš}”j›Ksj»E}”jÔEKsuj›}”(jêš}”j ›Ksj»E}”jÞEKsuj#›}”j›}”j›Kssj-›}”j›}”j&›Kssj4›}”j›}”j0›Kssj}›}”jh›}”jv›Kssj„›}”jh›}”j€›Kssj®›}”jŽ›}”jª›Kssjµ›}”jŽ›}”j±›KssjÕ›}”j¸›}”jÑ›KssjÜ›}”j¸›}”jØ›Kssjî›}”jß›}”jê›Kssjõ›}”jß›}”jñ›Kssjœ}”jø›}”jœKssjœ}”jø›}”j œKssj&œ}”jœ}”jœKssj-œ}”jœ}”j)œKssjFœ}”j7œ}”jBœKssjMœ}”j7œ}”jIœKssjfœ}”jPœ}”jbœKssjmœ}”jPœ}”jiœKssj”œ}”jwœ}”jœKssj›œ}”jwœ}”j—œKssj­œ}”jžœ}”j©œKssj´œ}”jžœ}”j°œKssjÔœ}”j·œ}”jМKssjÛœ}”j·œ}”jלKssjíœ}”jÞœ}”jéœKssjôœ}”jÞœ}”jðœKssj}”j÷œ}”jKssj }”j÷œ}”j Kssj&}”j}”j"Kssj-}”j}”j)KssjL}”j0}”jEKssjS}”j0}”jOKssja}”j0}”j]Kssjd}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjg}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjj}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjm}”j0}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jp}”j{Kssj}”jp}”j‰Kssj—}”jp}”j“KssjÓ}”jÄ}”jÏKssjä}”jÄ}”jÝKssjë}”jÄ}”jçKssjž}”jž}”j/žKssj7ž}”jž}”j3žKssj#ž}”j7ž}”j/žKssjž}”jî}”jžKssjjž}”jgž}”jžKssj‰ž}”jgž}”j…žKssjuž}”j‰ž}”jžKssjgž}”j@ž}”jcžKssj¸ž}”j’ž}”j±žKssj¿ž}”j’ž}”j»žKssjåž}”jÉž}”jÞžKssjìž}”jÉž}”jèžKssj Ÿ}”jöž}”jŸKssjŸ}”jöž}”jŸKssj2Ÿ}”jŸ}”j+ŸKssj9Ÿ}”jŸ}”j5ŸKssjGŸ}”jŸ}”jCŸKssjJŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\Ÿ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_Ÿ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjbŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjeŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjhŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjkŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjnŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjqŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjtŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjwŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjzŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}Ÿ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€Ÿ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjƒŸ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†Ÿ}”jŸ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜Ÿ}”j‰Ÿ}”j”ŸKssj©Ÿ}”j‰Ÿ}”j¢ŸKssj°Ÿ}”j‰Ÿ}”j¬ŸKssjŸ}”j³Ÿ}”j¾ŸKssjÓŸ}”j³Ÿ}”jÌŸKssjÚŸ}”j³Ÿ}”jÖŸKssj }”j }”j Kssj& }”j }”j" Kssj }”j& }”j Kssj }”jÝŸ}”j Kssjƒ }”j€ }”jš Kssj¢ }”j€ }”jž KssjŽ }”j¢ }”jš Kssj€ }”jY }”j| Kssjº }”j« }”j¶ KssjÄ }”j« }”j½ KssjË }”j« }”jÇ KssjÕ }”jÒ }”jì Kssjô }”jÒ }”jð Kssjà }”jô }”jì KssjÒ }”j« }”jΠKssj ¡}”jý }”j¡Kssj¡}”jý }”j¡Kssj$¡}”jý }”j ¡Kssj6¡}”j'¡}”j2¡KssjG¡}”j'¡}”j@¡KssjN¡}”j'¡}”jJ¡Kssj`¡}”jQ¡}”j\¡Kssjq¡}”jQ¡}”jj¡Kssjx¡}”jQ¡}”jt¡KssjŠ¡}”j{¡}”j†¡Kssj”¡}”j{¡}”j¡Kssj›¡}”j{¡}”j—¡Kssj¥¡}”j¢¡}”j¼¡KssjÄ¡}”j¢¡}”jÀ¡Kssj°¡}”jÄ¡}”j¼¡Kssj¢¡}”j{¡}”jž¡KssjÜ¡}”jÍ¡}”jØ¡Kssjæ¡}”jÍ¡}”jß¡Kssjí¡}”jÍ¡}”jé¡Kssj÷¡}”jô¡}”j¢Kssj¢}”jô¡}”j¢Kssj¢}”j¢}”j¢Kssjô¡}”jÍ¡}”jð¡Kssj.¢}”(j¢}”j*¢KsjQ¥}”j\¥Ksuj5¢}”(j¢}”j1¢KsjQ¥}”jc¥Ksuj?¢}”(j¢}”j8¢KsjQ¥}”jj¥KsujF¢}”(j¢}”jB¢KsjQ¥}”jt¥KsujX¢}”jI¢}”jT¢Kssji¢}”jI¢}”jb¢Kssjp¢}”jI¢}”jl¢Kssj‚¢}”js¢}”j~¢Kssj‰¢}”(js¢}”j…¢Ksjͤ}”jѤKsjæ¤}”jê¤Ksjÿ¤}”j¥Ksj¥¥}”j·¥Ksj\¦}”j`¦Ksju¦}”jy¦Ksjަ}”j’¦Ksj§¦}”j«¦KsjÀ¦}”jĦKsuj“¢}”js¢}”jŒ¢Kssjš¢}”js¢}”j–¢Kssj¬¢}”(j¢}”j¨¢Ksjù¥}”j¦Ksuj¶¢}”(j¢}”j¯¢Ksjù¥}”j ¦Ksuj½¢}”(j¢}”j¹¢Ksjù¥}”j¦KsujÏ¢}”(jÇ¢}”jË¢Ksj#¦}”j'¦KsujÇ¢}”jÄ¢}”jé¢Kssjñ¢}”jÄ¢}”jí¢KssjÒ¢}”jñ¢}”jé¢Kssj÷¢}”jñ¢}”jí¢KssjÝ¢}”j÷¢}”jé¢KssjÄ¢}”j¢}”jÀ¢Kssj£}”j£}”j £Kssj£}”j£}”j£Kssj £}”j£}”j£Kssj'£}”j£}”j#£Kssj~£}”j{£}”j•£Kssj£}”j{£}”j™£Kssj‰£}”j£}”j•£Kssj{£}”jT£}”jw£Kssj ¤}”jú£}”j¤Kssj¤}”jú£}”j ¤Kssj¤}”jú£}”j¤KssjN¤}”jK¤}”je¤Kssjm¤}”jK¤}”ji¤KssjY¤}”jm¤}”je¤KssjK¤}”j$¤}”jG¤Kssj‹¤}”jv¤}”j„¤Kssj’¤}”jv¤}”jޤKssj ¤}”jv¤}”jœ¤Kssj²¤}”(j£¤}”j®¤Ksj'}”j2Ksj:}”j':Ksj w}”jwKsuu(jä}”(j£¤}”j¼¤Ksj'}”j@Ksj:}”j5:Ksj w}”j&wKsujʤ}”(j£¤}”jƤKsj'}”jJKsj:}”j?:Ksj w}”j0wKsujܤ}”jͤ}”jؤKssjã¤}”jͤ}”jߤKssjõ¤}”jæ¤}”jñ¤Kssjü¤}”jæ¤}”jø¤Kssj¥}”jÿ¤}”j ¥Kssj¥}”jÿ¤}”j¥Kssj-¥}”j¥}”j&¥Kssj4¥}”j¥}”j0¥KssjB¥}”j¥}”j>¥KssjE¥}”j¥}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjH¥}”j¥}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjK¥}”j¥}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjN¥}”j¥}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠ¥}”j{¥}”j†¥Kssj›¥}”j{¥}”j”¥Kssj¢¥}”j{¥}”jž¥Kssj´¥}”j¥¥}”j°¥KssjÅ¥}”j¥¥}”j¾¥KssjÌ¥}”j¥¥}”jÈ¥KssjÞ¥}”jÏ¥}”jÚ¥Kssjï¥}”jÏ¥}”jè¥Kssjö¥}”jÏ¥}”jò¥Kssj#¦}”j ¦}”jE¦KssjM¦}”j ¦}”jI¦Kssj.¦}”jM¦}”jE¦KssjS¦}”jM¦}”jI¦Kssj9¦}”jS¦}”jE¦Kssj ¦}”jù¥}”j¦Kssjk¦}”j\¦}”jg¦Kssjr¦}”j\¦}”jn¦Kssj„¦}”ju¦}”j€¦Kssj‹¦}”ju¦}”j‡¦Kssj¦}”jަ}”j™¦Kssj¤¦}”jަ}”j ¦Kssj¶¦}”j§¦}”j²¦Kssj½¦}”j§¦}”j¹¦KssjϦ}”jÀ¦}”j˦KssjÖ¦}”jÀ¦}”jÒ¦Kssjî¦}”jÙ¦}”jç¦Kssjõ¦}”jÙ¦}”jñ¦Kssj§}”jÿ¦}”j §Kssj§}”jÿ¦}”j§Kssj)§}”jÿ¦}”j%§Kssj,§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj>§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjA§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjD§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjM§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjP§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjY§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssje§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjn§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjq§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjt§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjw§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjz§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjƒ§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjª§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjŧ}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjȧ}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˧}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjΧ}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjѧ}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÔ§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj×§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjݧ}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjà§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjã§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæ§}”jÿ¦}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨}”j¨}”j*¨Kssj2¨}”j¨}”j.¨Kssj¨}”j2¨}”j*¨Kssj¨}”jé§}”j ¨Kssje¨}”jb¨}”j|¨Kssj„¨}”jb¨}”j€¨Kssjp¨}”j„¨}”j|¨Kssjb¨}”j;¨}”j^¨Kssj ©}”j©}”j8©Kssj@©}”j©}”j<©Kssj©}”j@©}”j8©KssjF©}”j@©}”j<©Kssj!©}”jF©}”j8©KssjL©}”jF©}”j<©Kssj,©}”jL©}”j8©Kssj©}”já¨}”j©Kssj¸©}”(j©©}”j´©KsjkÊ}”jvÊKsj¢ï}”j­ïKsjn<}”jy<Ksuj©}”(j©©}”j»©KsjkÊ}”j}ÊKsj¢ï}”j´ïKsjn<}”j€<KsujÉ©}”(j©©}”jÅ©KsjkÊ}”j‡ÊKsj¢ï}”j¾ïKsjn<}”jŠ<KsujÛ©}”(jÓ©}”jשKsj•Ê}”j™ÊKsjÌï}”jÐïKsj˜<}”jœ<KsujÓ©}”jЩ}”jê©Kssjò©}”jЩ}”jî©KssjÞ©}”jò©}”jê©KssjЩ}”j©©}”jÌ©Kssj4ª}”(j%ª}”j0ªKsj·Ë}”jÂËKsujLª}”(j%ª}”jHªKsj·Ë}”jÚËKsujyª}”jvª}”jªKssj˜ª}”jvª}”j”ªKssj„ª}”j˜ª}”jªKssjvª}”jOª}”jrªKssj°ª}”j¡ª}”j¬ªKssjÁª}”j¡ª}”jºªKssjȪ}”j¡ª}”jĪKssjÚª}”j˪}”jÖªKssjëª}”j˪}”jäªKssjòª}”j˪}”jîªKssj«}”j«}”j6«Kssj>«}”j«}”j:«Kssj*«}”j>«}”j6«Kssj«}”jõª}”j«Kssjq«}”jn«}”jˆ«Kssj«}”jn«}”jŒ«Kssj|«}”j«}”jˆ«Kssjn«}”jG«}”jj«Kssj¨«}”(j™«}”j¤«Ksj5Ì}”j@ÌKsuj¹«}”(j™«}”j²«Ksj5Ì}”jNÌKsujÀ«}”(j™«}”j¼«Ksj5Ì}”jXÌKsujü«}”jí«}”jø«Kssj ¬}”jí«}”j¬Kssj¬}”jí«}”j¬Kssj&¬}”j¬}”j"¬Kssj7¬}”j¬}”j0¬Kssj>¬}”j¬}”j:¬Kssjk¬}”jh¬}”j‚¬KssjЬ}”jh¬}”j†¬Kssjv¬}”jЬ}”j‚¬Kssjh¬}”jA¬}”jd¬Kssj̬}”(j½¬}”jȬKsjÁÛ}”jÌÛKsujݬ}”(j½¬}”jÖ¬KsjÁÛ}”jÚÛKsujä¬}”(j½¬}”jà¬KsjÁÛ}”jäÛKsuj ­}”j­}”j­Kssj1­}”(j­}”j*­Ksj;­}”jT­Ksuj8­}”j­}”j4­KssjJ­}”j;­}”jF­Kssjb­}”j;­}”j^­Kssjt­}”je­}”jp­Kssj…­}”je­}”j~­KssjŒ­}”je­}”jˆ­Kssjž­}”j­}”jš­Kssj¯­}”j­}”j¨­Kssj¶­}”j­}”j²­Kssjã­}”jà­}”jú­Kssj®}”jà­}”jþ­Kssjî­}”j®}”jú­Kssjà­}”j¹­}”jÜ­Kssj®}”(j ®}”j®KsjÕÍ}”jàÍKsj›ß}”j¦ßKsuj+®}”(j ®}”j$®KsjÕÍ}”jîÍKsj›ß}”j´ßKsuj2®}”(j ®}”j.®KsjÕÍ}”jøÍKsj›ß}”j¾ßKsujD®}”(j5®}”j@®KsjÿÍ}”j ÎKsujU®}”(j5®}”jN®KsjÿÍ}”jÎKsuj\®}”(j5®}”jX®KsjÿÍ}”j"ÎKsujn®}”(j_®}”jj®Ksj ò}”jòKsuju®}”(j_®}”jq®Ksj ò}”jòKsj}û}”j™ûKsuj®}”(j_®}”jx®Ksj ò}”j#òKsuj†®}”(j_®}”j‚®Ksj ò}”j-òKsuj˜®}”(j‰®}”j”®KsjSÎ}”j^ÎKsj†=}”j‘=KsujŸ®}”(j‰®}”j›®KsjSÎ}”jeÎKsj†=}”j˜=Ksuj©®}”(j‰®}”j¢®KsjSÎ}”jlÎKsj†=}”jŸ=Ksuj°®}”(j‰®}”j¬®KsjSÎ}”jvÎKsj†=}”j©=Ksuj®}”(j³®}”j¾®Ksj}Î}”jˆÎKsujÓ®}”(j³®}”jÌ®Ksj}Î}”j–ÎKsujÚ®}”(j³®}”jÖ®Ksj}Î}”j ÎKsujì®}”(jÝ®}”jè®Ksj4ò}”j?òKsujó®}”(jÝ®}”jï®Ksj4ò}”jFòKsujý®}”(jÝ®}”jö®Ksj4ò}”jMòKsuj¯}”(jÝ®}”j¯Ksj4ò}”jWòKsuj@¯}”(j1¯}”j<¯KsjÉÏ}”jÔÏKsjkà}”jvàKsujQ¯}”(j1¯}”jJ¯KsjÉÏ}”jâÏKsjkà}”j„àKsujX¯}”(j1¯}”jT¯KsjÉÏ}”jìÏKsjkà}”jŽàKsujj¯}”(j[¯}”jf¯KsjoÐ}”jzÐKsujt¯}”(j[¯}”jm¯KsjoÐ}”jÐKsuj{¯}”(j[¯}”jw¯KsjoÐ}”j‹ÐKsuj…¯}”j‚¯}”j§¯Kssj¯¯}”j‚¯}”j«¯Kssj¯}”j¯¯}”j§¯Kssjµ¯}”j¯¯}”j«¯Kssj›¯}”jµ¯}”j§¯Kssj‚¯}”j[¯}”j~¯Kssjͯ}”(j¾¯}”jɯKsjÒÐ}”jÝÐKsujׯ}”(j¾¯}”jЯKsjÒÐ}”jäÐKsujÞ¯}”(j¾¯}”jÚ¯KsjÒÐ}”jîÐKsujè¯}”jå¯}”jÿ¯Kssj°}”jå¯}”j°Kssjó¯}”j°}”jÿ¯Kssjå¯}”j¾¯}”já¯Kssj°}”j°}”j°Kssj0°}”j°}”j)°Kssj7°}”j°}”j3°KssjI°}”j:°}”jE°KssjZ°}”j:°}”jS°Kssja°}”j:°}”j]°Kssjް}”j‹°}”j»°Kssjð}”j‹°}”j¿°Kssj™°}”jð}”j»°Kssjɰ}”jð}”j¿°Kssj¤°}”jɰ}”j»°Kssjϰ}”jɰ}”j¿°Kssj¯°}”jϰ}”j»°Kssj‹°}”jd°}”j‡°Kssj±}”jÿ°}”j±Kssj!±}”jÿ°}”j±Kssj ±}”j!±}”j±Kssjÿ°}”jذ}”jû°Kssj9±}”(j*±}”j5±Ksj$Ñ}”j/ÑKsujJ±}”(j*±}”jC±Ksj$Ñ}”j=ÑKsujQ±}”(j*±}”jM±Ksj$Ñ}”jGÑKsujc±}”(jT±}”j_±KsjKý}”jVýKsujm±}”(jT±}”jf±KsjKý}”j]ýKsujt±}”(jT±}”jp±KsjKý}”jgýKsuj~±}”j{±}”j•±Kssj±}”j{±}”j™±Kssj‰±}”j±}”j•±Kssj{±}”jT±}”jw±Kssjµ±}”(j¦±}”j±±KsjNÑ}”jYÑKsuj¿±}”(j¦±}”j¸±KsjNÑ}”j`ÑKsujƱ}”(j¦±}”j±KsjNÑ}”jjÑKsujã±}”(jÛ±}”jß±KsjƒÑ}”j‡ÑKsj¾%}”jÐ%Ksujб}”jͱ}”jç±Kssjï±}”jͱ}”jë±KssjÛ±}”jï±}”jç±Kssjͱ}”j¦±}”jɱKssj²}”(jø±}”j²Ksjý}”j¨ýKsuj²}”(jø±}”j ²Ksjý}”j¯ýKsuj²}”(jø±}”j²Ksjý}”j¹ýKsuj"²}”j²}”j9²KssjA²}”j²}”j=²Kssj-²}”jA²}”j9²Kssj²}”jø±}”j²KssjY²}”(jJ²}”jU²Ksj Ñ}”j«ÑKsujj²}”(jJ²}”jc²Ksj Ñ}”j¹ÑKsujq²}”(jJ²}”jm²Ksj Ñ}”jÃÑKsujƒ²}”jt²}”j²Kssj”²}”jt²}”j²Kssj›²}”jt²}”j—²Kssjò²}”jï²}”j³Kssj'³}”jï²}”j#³Kssjý²}”j'³}”j³Kssj-³}”j'³}”j#³Kssj³}”j-³}”j³Kssj3³}”j-³}”j#³Kssj³}”j3³}”j³Kssjï²}”jȲ}”jë²KssjK³}”(j<³}”jG³KsjFÒ}”jQÒKsujU³}”(j<³}”jN³KsjFÒ}”jXÒKsuj\³}”(j<³}”jX³KsjFÒ}”jbÒKsujn³}”(jf³}”jj³KsjpÒ}”jtÒKsujf³}”jc³}”j}³Kssj…³}”jc³}”j³Kssjq³}”j…³}”j}³Kssjc³}”j<³}”j_³Kssj³}”j޳}”j™³Kssj®³}”j޳}”j§³Kssjµ³}”j޳}”j±³Kssjâ³}”jß³}”jù³Kssj´}”jß³}”jý³Kssjí³}”j´}”jù³Kssjß³}”j¸³}”jÛ³Kssjm´}”(j^´}”ji´Ksj’Ó}”jÓKsuj~´}”(j^´}”jw´Ksj’Ó}”j«ÓKsuj…´}”(j^´}”j´Ksj’Ó}”jµÓKsuj²´}”j¯´}”jÔ´KssjÜ´}”j¯´}”jØ´Kssj½´}”jÜ´}”jÔ´Kssjâ´}”jÜ´}”jØ´KssjÈ´}”jâ´}”jÔ´Kssj¯´}”jˆ´}”j«´Kssj?µ}”j<µ}”jVµKssj^µ}”j<µ}”jZµKssjJµ}”j^µ}”jVµKssj<µ}”jµ}”j8µKssjvµ}”jgµ}”jrµKssj‡µ}”jgµ}”j€µKssj޵}”jgµ}”jеKssj µ}”(j‘µ}”jœµKsjŒÔ}”j—ÔKsuj±µ}”(j‘µ}”jªµKsjŒÔ}”j¥ÔKsuj¸µ}”(j‘µ}”j´µKsjŒÔ}”j¯ÔKsuj¶}”j ¶}”j&¶Kssj.¶}”j ¶}”j*¶Kssj¶}”j.¶}”j&¶Kssj ¶}”jåµ}”j¶KssjF¶}”(j7¶}”jB¶KsjàÔ}”jëÔKsujW¶}”(j7¶}”jP¶KsjàÔ}”jùÔKsuj^¶}”(j7¶}”jZ¶KsjàÔ}”jÕKsujv¶}”ja¶}”jo¶Kssj}¶}”ja¶}”jy¶Kssj‹¶}”ja¶}”j‡¶Kssj¶}”j޶}”j™¶Kssj®¶}”j޶}”j§¶Kssjµ¶}”j޶}”j±¶KssjͶ}”j¸¶}”jƶKssjÔ¶}”j¸¶}”jжKssjû¶}”jÞ¶}”j÷¶Kssj·}”jÞ¶}”jþ¶Kssj"·}”j·}”j·Kssj)·}”j·}”j%·KssjB·}”j,·}”j>·KssjI·}”j,·}”jE·Kssjb·}”jL·}”j^·Kssji·}”jL·}”je·Kssj‚·}”js·}”j~·Kssj‰·}”js·}”j…·Kssj¡·}”jŒ·}”jš·Kssj¨·}”jŒ·}”j¤·KssjÏ·}”j²·}”jË·KssjÖ·}”j²·}”jÒ·Kssjõ·}”jÙ·}”jî·Kssjü·}”jÙ·}”jø·Kssj ¸}”jÙ·}”j¸Kssj ¸}”jÙ·}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¸}”jÙ·}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¸}”jÙ·}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj%¸}”j¸}”j!¸Kssj/¸}”j¸}”j(¸Kssj6¸}”j¸}”j2¸Kssj@¸}”j=¸}”jW¸Kssj_¸}”j=¸}”j[¸KssjK¸}”j_¸}”jW¸Kssj=¸}”j¸}”j9¸Kssjw¸}”jh¸}”js¸Kssjˆ¸}”jh¸}”j¸Kssj¸}”jh¸}”j‹¸Kssj¡¸}”j’¸}”j¸Kssj²¸}”j’¸}”j«¸Kssj¹¸}”j’¸}”jµ¸Kssj˸}”(j¼¸}”jǸKsjj~}”ju~KsujÕ¸}”(j¼¸}”jθKsjj~}”j|~Ksujܸ}”(j¼¸}”jظKsjj~}”j†~Ksujæ¸}”jã¸}”jý¸Kssj¹}”jã¸}”j¹Kssjñ¸}”j¹}”jý¸Kssjã¸}”j¼¸}”j߸Kssj$¹}”j¹}”j ¹Kssj+¹}”j¹}”j'¹KssjK¹}”j.¹}”jG¹KssjR¹}”j.¹}”jN¹Kssjj¹}”jU¹}”jc¹Kssjq¹}”jU¹}”jm¹Kssj¹}”j{¹}”j‰¹Kssj—¹}”j{¹}”j“¹Kssj½¹}”j¡¹}”j¶¹KssjĹ}”j¡¹}”jÀ¹Kssjà¹}”jѹ}”jܹKssjç¹}”jѹ}”jã¹Kssjÿ¹}”jê¹}”jø¹Kssjº}”jê¹}”jºKssjº}”jê¹}”jºKssjº}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjº}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjº}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj#º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj&º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj)º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj,º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5º}”jê¹}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjqº}”jbº}”jmºKssj‚º}”jbº}”j{ºKssj‰º}”jbº}”j…ºKssj›º}”jŒº}”j—ºKssj¢º}”jŒº}”jžºKssj¬º}”jŒº}”j¥ºKssj³º}”jŒº}”j¯ºKssjź}”j¶º}”jÁºKssjϺ}”j¶º}”jȺKssjÖº}”j¶º}”jÒºKssjàº}”jݺ}”j÷ºKssjÿº}”jݺ}”jûºKssjëº}”jÿº}”j÷ºKssjݺ}”j¶º}”jÙºKssj»}”j»}”j»Kssj!»}”j»}”j»Kssj(»}”j»}”j$»Kssj2»}”j/»}”jI»KssjQ»}”j/»}”jM»Kssj=»}”jQ»}”jI»Kssj/»}”j»}”j+»Kssj“»}”j„»}”j»Kssj¤»}”j„»}”j»Kssj«»}”j„»}”j§»Kssj½»}”j®»}”j¹»Kssjλ}”j®»}”jÇ»KssjÕ»}”j®»}”jÑ»Kssjç»}”jØ»}”jã»Kssjø»}”jØ»}”jñ»Kssjÿ»}”jØ»}”jû»Kssj,¼}”j)¼}”jC¼KssjK¼}”j)¼}”jG¼Kssj7¼}”jK¼}”jC¼Kssj)¼}”j¼}”j%¼Kssjc¼}”jT¼}”j_¼Kssjt¼}”jT¼}”jm¼Kssj{¼}”jT¼}”jw¼Kssj¼}”j~¼}”j‰¼Kssj—¼}”j~¼}”j¼Kssjž¼}”j~¼}”jš¼Kssj¾¼}”j¨¼}”jº¼Kssjż}”j¨¼}”jÁ¼Kssjݼ}”jȼ}”jÖ¼Kssjä¼}”jȼ}”jà¼Kssjò¼}”jȼ}”jî¼Kssjõ¼}”jȼ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj½}”jø¼}”j½Kssj½}”jø¼}”j½Kssj½}”jø¼}”j½Kssj1½}”j"½}”j-½KssjB½}”j"½}”j;½KssjI½}”j"½}”jE½Kssji½}”jL½}”je½Kssjp½}”jL½}”jl½Kssjˆ½}”js½}”j½Kssj½}”js½}”j‹½Kssj®½}”j™½}”j§½Kssjµ½}”j™½}”j±½Kssjν}”j¿½}”jʽKssjÕ½}”j¿½}”jѽKssjø½}”jؽ}”jô½Kssjÿ½}”jؽ}”jû½Kssj¾}”j¾}”j¾Kssj¾}”j¾}”j¾Kssj>¾}”j"¾}”j7¾KssjE¾}”j"¾}”jA¾KssjS¾}”j"¾}”jO¾Kssje¾}”jV¾}”ja¾Kssjv¾}”jV¾}”jo¾Kssj}¾}”jV¾}”jy¾Kssjœ¾}”j€¾}”j•¾Kssj£¾}”j€¾}”jŸ¾Kssj´¾}”j€¾}”j°¾Kssj»¾}”j€¾}”j·¾Kssj¾¾}”j€¾}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÁ¾}”j€¾}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_¿}”jB¿}”j[¿Kssjf¿}”jB¿}”jb¿Kssj~¿}”ji¿}”jw¿Kssj…¿}”ji¿}”j¿Kssj¤¿}”j¿}”j¿Kssj«¿}”j¿}”j§¿Kssj¹¿}”j¿}”jµ¿Kssjæ¿}”jã¿}”jÀKssjÀ}”jã¿}”jÀKssjñ¿}”jÀ}”jÀKssj!À}”jÀ}”jÀKssjü¿}”j!À}”jÀKssj'À}”j!À}”jÀKssjÀ}”j'À}”jÀKssjã¿}”j¼¿}”jß¿Kssj?À}”j0À}”j;ÀKssjFÀ}”j0À}”jBÀKssjeÀ}”jIÀ}”j^ÀKssjlÀ}”jIÀ}”jhÀKssj}À}”jIÀ}”jyÀKssj€À}”jIÀ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjƒÀ}”jIÀ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†À}”jIÀ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜À}”j‰À}”j”ÀKssj¢À}”j‰À}”j›ÀKssj©À}”j‰À}”j¥ÀKssj³À}”j°À}”jÊÀKssjÒÀ}”j°À}”jÎÀKssj¾À}”jÒÀ}”jÊÀKssj°À}”j‰À}”j¬ÀKssjêÀ}”jÛÀ}”jæÀKssjûÀ}”jÛÀ}”jôÀKssjÁ}”jÛÀ}”jþÀKssjÁ}”jÁ}”jÁKssj%Á}”jÁ}”jÁKssj,Á}”jÁ}”j(ÁKssj>Á}”j/Á}”j:ÁKssjHÁ}”j/Á}”jAÁKssjOÁ}”j/Á}”jKÁKssjYÁ}”jVÁ}”jpÁKssjxÁ}”jVÁ}”jtÁKssjdÁ}”jxÁ}”jpÁKssjVÁ}”j/Á}”jRÁKssjÁ}”jÁ}”j–ÁKssj¤Á}”jÁ}”j ÁKssj²Á}”jÁ}”j®ÁKssjµÁ}”jÁ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjñÁ}”jâÁ}”jíÁKssjÂ}”jâÁ}”jûÁKssj Â}”jâÁ}”jÂKssjÂ}”j Â}”jÂKssj"Â}”j Â}”jÂKssj4Â}”j%Â}”j0ÂKssj;Â}”j%Â}”j7ÂKssjMÂ}”j>Â}”jIÂKssjTÂ}”j>Â}”jPÂKssjsÂ}”jWÂ}”jlÂKssjzÂ}”jWÂ}”jvÂKssj“Â}”j„Â}”jÂKssjšÂ}”j„Â}”j–ÂKssj¹Â}”jÂ}”j²ÂKssjÀÂ}”jÂ}”j¼ÂKssjßÂ}”jÊÂ}”jØÂKssjæÂ}”jÊÂ}”jâÂKssjÃ}”jðÂ}”jÃKssj Ã}”jðÂ}”j ÃKssj,Ã}”jÃ}”j%ÃKssj3Ã}”jÃ}”j/ÃKssjAÃ}”jÃ}”j=ÃKssjDÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjGÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYÃ}”jÃ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•Ã}”j†Ã}”j‘ÃKssj¦Ã}”j†Ã}”jŸÃKssj­Ã}”j†Ã}”j©ÃKssj¿Ã}”j°Ã}”j»ÃKssjÐÃ}”j°Ã}”jÉÃKssj×Ã}”j°Ã}”jÓÃKssjéÃ}”jÚÃ}”jåÃKssjúÃ}”jÚÃ}”jóÃKssjÄ}”jÚÃ}”jýÃKssjÄ}”(jÄ}”jÄKsj#I}”j.IKsuj$Ä}”(jÄ}”jÄKsj#I}”jÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjAÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjDÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjGÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjbÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjeÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjhÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjkÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjnÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjqÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjtÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjwÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjzÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjƒÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjžÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjªÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿È}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÅÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈÈ}”jÙÇ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚÈ}”jËÈ}”jÖÈKssjëÈ}”jËÈ}”jäÈKssjòÈ}”jËÈ}”jîÈKssjÉ}”jÉ}”j6ÉKssj>É}”jÉ}”j:ÉKssj*É}”j>É}”j6ÉKssjÉ}”jõÈ}”jÉKssjVÉ}”jGÉ}”jRÉKssjgÉ}”jGÉ}”j`ÉKssjnÉ}”jGÉ}”jjÉKssj€É}”jqÉ}”j|ÉKssjŠÉ}”jqÉ}”jƒÉKssj‘É}”jqÉ}”jÉKssj›É}”j˜É}”j²ÉKssjºÉ}”j˜É}”j¶ÉKssj¦É}”jºÉ}”j²ÉKssj˜É}”jqÉ}”j”ÉKssj&Ê}”jÊ}”j"ÊKssj7Ê}”jÊ}”j0ÊKssj>Ê}”jÊ}”j:ÊKssjPÊ}”jAÊ}”jLÊKssjaÊ}”jAÊ}”jZÊKssjhÊ}”jAÊ}”jdÊKssj•Ê}”j’Ê}”j¬ÊKssj´Ê}”j’Ê}”j°ÊKssj Ê}”j´Ê}”j¬ÊKssj’Ê}”jkÊ}”jŽÊKssjöÊ}”jçÊ}”jòÊKssjË}”jçÊ•}”jËKssjË}”jçÊ}”j ËKssj Ë}”jË}”jËKssj*Ë}”(jË}”j#ËKsjcË}”j|ËKsuj1Ë}”jË}”j-ËKssj;Ë}”j8Ë}”jRËKssjZË}”j8Ë}”jVËKssjFË}”jZË}”jRËKssj8Ë}”jË}”j4ËKssjrË}”jcË}”jnËKssjŠË}”jcË}”j†ËKssjðË}”jáË}”jìËKssjÌ}”jáË}”júËKssjÌ}”jáË}”jÌKssjÌ}”j Ì}”jÌKssj+Ì}”j Ì}”j$ÌKssj2Ì}”j Ì}”j.ÌKssj˜Ì}”j‰Ì}”j”ÌKssj©Ì}”j‰Ì}”j¢ÌKssj°Ì}”j‰Ì}”j¬ÌKssjìÌ}”jÝÌ}”jèÌKssjýÌ}”jÝÌ}”jöÌKssjÍ}”jÝÌ}”jÍKssj1Í}”j.Í}”jHÍKssjPÍ}”j.Í}”jLÍKssj<Í}”jPÍ}”jHÍKssj.Í}”jÍ}”j*ÍKssjhÍ}”(jYÍ}”jdÍKsjð[}”jû[KsujrÍ}”(jYÍ}”jkÍKsjð[}”j\KsujyÍ}”(jYÍ}”juÍKsjð[}”j \KsujƒÍ}”j€Í}”jšÍKssj¢Í}”j€Í}”jžÍKssjŽÍ}”j¢Í}”jšÍKssj€Í}”jYÍ}”j|ÍKssjºÍ}”j«Í}”j¶ÍKssjËÍ}”j«Í}”jÄÍKssjÒÍ}”j«Í}”jÎÍKssj8Î}”j)Î}”j4ÎKssjIÎ}”j)Î}”jBÎKssjPÎ}”j)Î}”jLÎKssjÑÎ}”jÎÎ}”jèÎKssjðÎ}”jÎÎ}”jìÎKssjÜÎ}”jðÎ}”jèÎKssjÎÎ}”j§Î}”jÊÎKssjÏ}”jùÎ}”jÏKssjÏ}”jùÎ}”j ÏKssjÏ}”jùÎ}”jÏKssj#Ï}”j Ï}”j:ÏKssjBÏ}”j Ï}”j>ÏKssj.Ï}”jBÏ}”j:ÏKssj Ï}”jùÎ}”jÏKssjZÏ}”jKÏ}”jVÏKssjkÏ}”jKÏ}”jdÏKssjrÏ}”jKÏ}”jnÏKssj„Ï}”juÏ}”j€ÏKssj•Ï}”juÏ}”jŽÏKssjœÏ}”juÏ}”j˜ÏKssjÐ}”jóÏ}”jþÏKssj Ð}”jóÏ}”jÐKssjÐ}”jóÏ}”jÐKssjÐ}”jÐ}”j4ÐKssj<Ð}”jÐ}”j8ÐKssj(Ð}”j<Ð}”j4ÐKssjÐ}”jóÏ}”jÐKssjTÐ}”jEÐ}”jPÐKssjeÐ}”jEÐ}”j^ÐKssjlÐ}”jEÐ}”jhÐKssj™Ð}”j–Ð}”j»ÐKssjÃÐ}”j–Ð}”j¿ÐKssj¤Ð}”jÃÐ}”j»ÐKssjÉÐ}”jÃÐ}”j¿ÐKssj¯Ð}”jÉÐ}”j»ÐKssj–Ð}”joÐ}”j’ÐKssjüÐ}”jùÐ}”jÑKssjÑ}”jùÐ}”jÑKssjÑ}”jÑ}”jÑKssjùÐ}”jÒÐ}”jõÐKssjxÑ}”juÑ}”jÑKssj—Ñ}”juÑ}”j“ÑKssjƒÑ}”j—Ñ}”jÑKssjuÑ}”jNÑ}”jqÑKssjÙÑ}”jÊÑ}”jÕÑKssjêÑ}”jÊÑ}”jãÑKssjñÑ}”jÊÑ}”jíÑKssjÒ}”jôÑ}”jÿÑKssj Ò}”jôÑ}”jÒKssjÒ}”jôÑ}”jÒKssjÒ}”jÒ}”j5ÒKssj=Ò}”jÒ}”j9ÒKssj)Ò}”j=Ò}”j5ÒKssjÒ}”jôÑ}”jÒKssjpÒ}”jmÒ}”j‡ÒKssjÒ}”jmÒ}”j‹ÒKssj{Ò}”jÒ}”j‡ÒKssjmÒ}”jFÒ}”jiÒKssj§Ò}”j˜Ò}”j£ÒKssj¸Ò}”j˜Ò}”j±ÒKssj¿Ò}”j˜Ò}”j»ÒKssjÑÒ}”jÂÒ}”jÍÒKssjâÒ}”jÂÒ}”jÛÒKssjéÒ}”jÂÒ}”jåÒKssjûÒ}”jìÒ}”j÷ÒKssj Ó}”jìÒ}”jÓKssjÓ}”jìÒ}”jÓKssj@Ó}”j=Ó}”jWÓKssj_Ó}”j=Ó}”j[ÓKssjKÓ}”j_Ó}”jWÓKssj=Ó}”jÓ}”j9ÓKssjwÓ}”jhÓ}”jsÓKssjˆÓ}”jhÓ}”jÓKssjÓ}”jhÓ}”j‹ÓKssjËÓ}”j¼Ó}”jÇÓKssjÜÓ}”(j¼Ó}”jÕÓKsjæÓ}”jÿÓKsujãÓ}”j¼Ó}”jßÓKssjõÓ}”jæÓ}”jñÓKssj Ô}”jæÓ}”j ÔKssj:Ô}”j7Ô}”jQÔKssjYÔ}”j7Ô}”jUÔKssjEÔ}”jYÔ}”jQÔKssj7Ô}”jÔ}”j3ÔKssjqÔ}”jbÔ}”jmÔKssj‚Ô}”jbÔ}”j{ÔKssj‰Ô}”jbÔ}”j…ÔKssjÕ}”(j Õ}”jÕKsj;ø}”jFøKsuj*Õ}”(j Õ}”j#ÕKsj;ø}”jTøKsuj1Õ}”(j Õ}”j-ÕKsj;ø}”j^øKsujCÕ}”j4Õ}”j?ÕKssjMÕ}”j4Õ}”jFÕKssjTÕ}”j4Õ}”jPÕKssj^Õ}”j[Õ}”juÕKssj}Õ}”j[Õ}”jyÕKssjiÕ}”j}Õ}”juÕKssj[Õ}”j4Õ}”jWÕKssj•Õ}”j†Õ}”j‘ÕKssj¦Õ}”j†Õ}”jŸÕKssj­Õ}”j†Õ}”j©ÕKssjÅÕ}”j°Õ}”j¾ÕKssjÌÕ}”j°Õ}”jÈÕKssjëÕ}”jÖÕ}”jäÕKssjòÕ}”jÖÕ}”jîÕKssjÖ}”jÿÕ}”jÖKssjÖ}”jÿÕ}”jÖKssj4Ö}”jÖ}”j-ÖKssj;Ö}”jÖ}”j7ÖKssjZÖ}”jEÖ}”jSÖKssjaÖ}”jEÖ}”j]ÖKssj‡Ö}”jkÖ}”j€ÖKssjŽÖ}”jkÖ}”jŠÖKssjœÖ}”jkÖ}”j˜ÖKssjŸÖ}”jkÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢Ö}”jkÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥Ö}”jkÖ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÒÖ}”jÏÖ}”jôÖKssjüÖ}”jÏÖ}”jøÖKssjÝÖ}”jüÖ}”jôÖKssj×}”jüÖ}”jøÖKssjèÖ}”j×}”jôÖKssjÏÖ}”j¨Ö}”jËÖKssj5×}”j2×}”jb×Kssjj×}”j2×}”jf×Kssj@×}”jj×}”jb×Kssjp×}”jj×}”jf×KssjK×}”jp×}”jb×Kssjv×}”jp×}”jf×KssjV×}”jv×}”jb×Kssj2×}”j ×}”j.×Kssjï×}”jÓ×}”jè×Kssjö×}”jÓ×}”jò×KssjØ}”jØ}”jØKssj#Ø}”jØ}”jØKssjLØ}”j0Ø}”jEØKssjSØ}”j0Ø}”jOØKssjrØ}”j]Ø}”jkØKssjyØ}”j]Ø}”juØKssjŠØ}”j]Ø}”j†ØKssjØ}”j]Ø}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjØ}”j]Ø}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj½Ø}”jºØ}”jߨKssjçØ}”jºØ}”jãØKssjÈØ}”jçØ}”jߨKssjíØ}”jçØ}”jãØKssjÓØ}”jíØ}”jߨKssjºØ}”j“Ø}”j¶ØKssjÙ}”jöØ}”jÙKssj Ù}”jöØ}”jÙKssjÙ}”jöØ}”jÙKssjÙ}”jöØ}”jÙKssj`Ù}”jJÙ}”j\ÙKssjgÙ}”jJÙ}”jcÙKssj†Ù}”jqÙ}”jÙKssjÙ}”jqÙ}”j‰ÙKssj›Ù}”jqÙ}”j—ÙKssjžÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjªÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÅÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjËÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÎÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÑÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÔÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj×Ù}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÝÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjàÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjãÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjæÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjéÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjìÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjïÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjòÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjõÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjøÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjûÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjþÙ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj Ú}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj Ú}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ}”jqÙ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.Ú}”(jÚ}”j*ÚKsjÐî}”jÛîKsjO }”jZ Ksjs }”j~ Ksuj?Ú}”(jÚ}”j8ÚKsjÐî}”jéîKsjO }”jh Ksjs }”jŒ KsujFÚ}”(jÚ}”jBÚKsjÐî}”jóîKsjO }”jr Ksjs }”j– KsujsÚ}”jpÚ}”jŠÚKssj’Ú}”jpÚ}”jŽÚKssj~Ú}”j’Ú}”jŠÚKssjpÚ}”jIÚ}”jlÚKssjþÚ}”jïÚ}”júÚKssjÛ}”jïÚ}”jÛKssjÛ}”jïÚ}”jÛKssj(Û}”jÛ}”j$ÛKssj9Û}”(jÛ}”j2ÛKsjCÛ}”j\ÛKsuj@Û}”jÛ}”j<ÛKssjRÛ}”jCÛ}”jNÛKssjjÛ}”jCÛ}”jfÛKssj|Û}”jmÛ}”jxÛKssjÛ}”jmÛ}”j†ÛKssj”Û}”jmÛ}”jÛKssj$Ü}”jÜ}”j ÜKssj.Ü}”jÜ}”j'ÜKssj5Ü}”jÜ}”j1ÜKssj?Ü}”j<Ü}”jVÜKssj^Ü}”j<Ü}”jZÜKssjJÜ}”j^Ü}”jVÜKssj<Ü}”jÜ}”j8ÜKssj‘Ü}”jŽÜ}”j¨ÜKssj°Ü}”jŽÜ}”j¬ÜKssjœÜ}”j°Ü}”j¨ÜKssjŽÜ}”jgÜ}”jŠÜKssjãÜ}”jàÜ}”júÜKssjÝ}”jàÜ}”jþÜKssjîÜ}”jÝ}”júÜKssjàÜ}”j¹Ü}”jÜÜKssj5Ý}”j2Ý}”jLÝKssjTÝ}”j2Ý}”jPÝKssj@Ý}”jTÝ}”jLÝKssj2Ý}”j Ý}”j.ÝKssj‡Ý}”j„Ý}”jžÝKssj¦Ý}”j„Ý}”j¢ÝKssj’Ý}”j¦Ý}”jžÝKssj„Ý}”j]Ý}”j€ÝKssjÙÝ}”jÖÝ}”jðÝKssjøÝ}”jÖÝ}”jôÝKssjäÝ}”jøÝ}”jðÝKssjÖÝ}”j¯Ý}”jÒÝKssj+Þ}”j(Þ}”jBÞKssjJÞ}”j(Þ}”jFÞKssj6Þ}”jJÞ}”jBÞKssj(Þ}”jÞ}”j$ÞKssu(j}Þ}”jzÞ}”j”ÞKssjœÞ}”jzÞ}”j˜ÞKssjˆÞ}”jœÞ}”j”ÞKssjzÞ}”jSÞ}”jvÞKssjÏÞ}”jÌÞ}”jæÞKssjîÞ}”jÌÞ}”jêÞKssjÚÞ}”jîÞ}”jæÞKssjÌÞ}”j¥Þ}”jÈÞKssj!ß}”jß}”j8ßKssj@ß}”jß}”j<ßKssj,ß}”j@ß}”j8ßKssjß}”j÷Þ}”jßKssjsß}”jpß}”jŠßKssj’ß}”jpß}”jŽßKssj~ß}”j’ß}”jŠßKssjpß}”jIß}”jlßKssjÔß}”jÅß}”jÐßKssjåß}”jÅß}”jÞßKssjìß}”jÅß}”jèßKssjþß}”jïß}”júßKssjà}”(jïß}”jàKsj‹á}”jáKsjµá}”jÇáKsujà}”jïß}”j àKssj!à}”jà}”jàKssjà}”jà}”j0àKssj8à}”jà}”j4àKssj$à}”j8à}”j0àKssjà}”jïß}”jàKssj¿à}”j¼à}”jÖàKssjÞà}”j¼à}”jÚàKssjÊà}”jÞà}”jÖàKssj¼à}”j•à}”j¸àKssjá}”já}”j(áKssj0á}”já}”j,áKssjá}”j0á}”j(áKssjá}”jçà}”j áKssjcá}”j`á}”jzáKssj‚á}”j`á}”j~áKssjná}”j‚á}”jzáKssj`á}”j9á}”j\áKssjšá}”j‹á}”j–áKssj«á}”j‹á}”j§áKssjÄá}”jµá}”jÀáKssjÕá}”jµá}”jÑáKssjâ}”j â}”jâKssj)â}”j â}”j"âKssj0â}”j â}”j,âKssjBâ}”j3â}”j>âKssjLâ}”j3â}”jEâKssjSâ}”j3â}”jOâKssjpâ}”(jhâ}”jlâKsjºâ}”j¾âKsuj]â}”jZâ}”jtâKssj|â}”jZâ}”jxâKssjhâ}”j|â}”jtâKssjZâ}”j3â}”jVâKssj”â}”j…â}”jâKssjžâ}”j…â}”j—âKssj¥â}”j…â}”j¡âKssj¯â}”j¬â}”jÆâKssjÎâ}”j¬â}”jÊâKssjºâ}”jÎâ}”jÆâKssj¬â}”j…â}”j¨âKssjæâ}”j×â}”jââKssj÷â}”j×â}”jðâKssjþâ}”j×â}”júâKssjŽã}”jã}”jŠãKssjŸã}”jã}”j˜ãKssj¦ã}”jã}”j¢ãKssj¸ã}”j©ã}”j´ãKssjÉã}”j©ã}”jÂãKssjÐã}”j©ã}”jÌãKssj<ä}”j'ä}”j5äKssjCä}”j'ä}”j?äKssjcä}”jMä}”j_äKssjjä}”jMä}”jfäKssj‚ä}”jmä}”j{äKssj‰ä}”jmä}”j…äKssj—ä}”jmä}”j“äKssj©ä}”jšä}”j¥äKssjºä}”jšä}”j³äKssjÁä}”jšä}”j½äKssjÚä}”jÄä}”jÖäKssjáä}”jÄä}”jÝäKssjå}”jëä}”jåKssjå}”jëä}”jåKssjå}”jëä}”jåKssj4å}”jå}”j-åKssj;å}”jå}”j7åKssjIå}”jå}”jEåKssjLå}”jå}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¸å}”j£å}”j±åKssj¿å}”j£å}”j»åKssjÞå}”jÉå}”j×åKssjåå}”jÉå}”jáåKssjæ}”(jïå}”jæKsj#æ}”j8æKsjWæ}”jlæKsujæ}”jïå}”j æKssjæ}”jïå}”jæKssjFæ}”j#æ}”j?æKssjMæ}”j#æ}”jIæKssjzæ}”jWæ}”jsæKssjæ}”jWæ}”j}æKssjæ}”jWæ}”j‹æKssj¡æ}”(j’æ}”jæKsjBX}”jMXKsuj«æ}”(j’æ}”j¤æKsjBX}”jTXKsuj²æ}”(j’æ}”j®æKsjBX}”j^XKsuj¼æ}”j¹æ}”jÓæKssjÛæ}”j¹æ}”j׿KssjÇæ}”jÛæ}”jÓæKssj¹æ}”j’æ}”jµæKssjúæ}”jäæ}”jöæKssjç}”jäæ}”jýæKssj ç}”j ç}”jçKssj'ç}”j ç}”j#çKssjIç}”j4ç}”jBçKssjPç}”j4ç}”jLçKssjoç}”jZç}”jhçKssjvç}”jZç}”jrçKssj}ç}”jZç}”jyçKssj•ç}”j€ç}”jŽçKssjœç}”j€ç}”j˜çKssjªç}”j€ç}”j¦çKssj­ç}”j€ç}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°ç}”j€ç}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³ç}”j€ç}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶ç}”j€ç}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹ç}”j€ç}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæç}”jãç}”jýçKssjè}”jãç}”jèKssjñç}”jè}”jýçKssjãç}”j¼ç}”jßçKssjè}”jè}”jèKssj.è}”jè}”j'èKssj5è}”jè}”j1èKssjqè}”jbè}”jmèKssj‚è}”jbè}”j{èKssj‰è}”jbè}”j…èKssjÅè}”j¶è}”jÁèKssjÖè}”j¶è}”jÏèKssjÝè}”j¶è}”jÙèKssjé}”jàè}”jüèKssj é}”jàè}”jéKssjé}”jàè}”jéKssjé}”jàè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj-é}”jé}”j)éKssj>é}”jé}”j7éKssjEé}”jé}”jAéKssjWé}”jHé}”jSéKssjhé}”jHé}”jaéKssjoé}”jHé}”jkéKssj•é}”jré}”jŽéKssjœé}”jré}”j˜éKssjµé}”j¦é}”j±éKssj¼é}”j¦é}”j¸éKssjÎé}”j¿é}”jÊéKssjÕé}”j¿é}”jÑéKssjêé}”jØé}”jæéKssjôé}”jØé}”jíéKssjûé}”jØé}”j÷éKssjê}”jê}”jêKssjê}”jê}”jêKssj;ê}”jê}”j7êKssjBê}”jê}”j>êKssjZê}”jEê}”jSêKssjaê}”jEê}”j]êKssj€ê}”jkê}”jyêKssj‡ê}”jkê}”jƒêKssj§ê}”j‘ê}”j£êKssj®ê}”j‘ê}”jªêKssjÆê}”j±ê}”j¿êKssjÍê}”j±ê}”jÉêKssjôê}”j×ê}”jðêKssjûê}”j×ê}”j÷êKssjë}”jþê}”jëKssj!ë}”jþê}”jëKssjNë}”j+ë}”jGëKssjUë}”j+ë}”jQëKssj{ë}”j_ë}”jtëKssj‚ë}”j_ë}”j~ëKssjë}”j_ë}”jŒëKssj“ë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–ë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™ë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjœë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŸë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢ë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¥ë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¨ë}”j_ë}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjì}”jÿë}”j ìKssjì}”jÿë}”jìKssj&ì}”jÿë}”j"ìKssj8ì}”j)ì}”j4ìKssjIì}”j)ì}”jBìKssjPì}”j)ì}”jLìKssj}ì}”jzì}”j”ìKssjœì}”jzì}”j˜ìKssjˆì}”jœì}”j”ìKssjzì}”jSì}”jvìKssjùì}”jöì}”jíKssjí}”jöì}”jíKssjí}”jí}”jíKssjöì}”jÏì}”jòìKssjKí}”jHí}”jbíKssjjí}”jHí}”jfíKssjVí}”jjí}”jbíKssjHí}”j!í}”jDíKssj‚í}”jsí}”j~íKssj“í}”jsí}”jŒíKssjší}”jsí}”j–íKssjÀí}”jí}”j¹íKssjÇí}”jí}”jÃíKssjçí}”jÑí}”jãíKssjîí}”jÑí}”jêíKssjî}”jøí}”j îKssjî}”jøí}”jîKssj4î}”jî}”j-îKssj;î}”jî}”j7îKssjIî}”jî}”jEîKssjLî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjOî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjRî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjUî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjXî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj^î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjaî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjdî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjgî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjjî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjmî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjpî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjsî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjvî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjyî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj|î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‚î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj…î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjˆî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‹î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŽî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‘î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj”î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj—î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjšî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj£î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¦î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj©î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¬î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¯î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj²î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjµî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¸î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj»î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¾î}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÁî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÄî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÇî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÊî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÍî}”jî}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÌï}”jÉï}”jãïKssjëï}”jÉï}”jçïKssj×ï}”jëï}”jãïKssjÉï}”j¢ï}”jÅïKssjð}”jð}”jKðKssjSð}”jð}”jOðKssj)ð}”jSð}”jKðKssjYð}”jSð}”jOðKssj4ð}”jYð}”jKðKssj_ð}”jYð}”jOðKssj?ð}”j_ð}”jKðKssjð}”jôï}”jðKssjwð}”jhð}”jsðKssjˆð}”jhð}”jðKssjð}”jhð}”j‹ðKssj¡ð}”(j’ð}”jðKsj½ž}”jÈžKsuj«ð}”(j’ð}”j¤ðKsj½ž}”jÏžKsuj²ð}”(j’ð}”j®ðKsj½ž}”jÙžKsuj¼ð}”j¹ð}”jÓðKssjÛð}”j¹ð}”j×ðKssjÇð}”jÛð}”jÓðKssj¹ð}”j’ð}”jµðKssjÅñ}”j¶ñ}”jÁñKssjÌñ}”j¶ñ}”jÈñKssjÖñ}”j¶ñ}”jÏñKssjÝñ}”j¶ñ}”jÙñKssjˆò}”j…ò}”jŸòKssj§ò}”j…ò}”j£òKssj“ò}”j§ò}”jŸòKssj…ò}”j^ò}”jòKssj¿ò}”j°ò}”j»òKssjÐò}”j°ò}”jÉòKssj×ò}”j°ò}”jÓòKssjéò}”jÚò}”jåòKssjúò}”jÚò}”jóòKssjó}”jÚò}”jýòKssjó}”jó}”jóKssj$ó}”jó}”jóKssj+ó}”jó}”j'óKssj=ó}”(j.ó}”j9óKsjÚ=}”jå=KsujGó}”(j.ó}”j@óKsjÚ=}”jì=KsujNó}”(j.ó}”jJóKsjÚ=}”jö=KsujXó}”jUó}”joóKssjwó}”jUó}”jsóKssjcó}”jwó}”joóKssjUó}”j.ó}”jQóKssjó}”(j€ó}”j‹óKsj,>}”j7>Ksuj™ó}”(j€ó}”j’óKsj,>}”j>>Ksuj ó}”(j€ó}”jœóKsj,>}”jH>Ksujªó}”j§ó}”jÁóKssjÉó}”j§ó}”jÅóKssjµó}”jÉó}”jÁóKssj§ó}”j€ó}”j£óKssjáó}”(jÒó}”jÝóKsj@ú}”jKúKsujëó}”(jÒó}”jäóKsj@ú}”jRúKsujòó}”(jÒó}”jîóKsj@ú}”j\úKsujô}”(jüó}”jôKsjjú}”jnúKsujô}”(jô}”j ôKsjWõ}”j[õKsjuú}”jyúKsj’ú}”j¤úKsj¼ú}”jÎúKsujüó}”jùó}”jôKssjô}”jùó}”jôKssjô}”jô}”jôKssjùó}”jÒó}”jõóKssjxô}”juô}”jôKssj—ô}”juô}”j“ôKssjƒô}”j—ô}”jôKssjuô}”jNô}”jqôKssjôô}”jñô}”jõKssjõ}”jñô}”jõKssjÿô}”jõ}”jõKssj$õ}”jõ}”jõKssj õ}”j$õ}”jõKssjñô}”jÊô}”jíôKssj<õ}”j-õ}”j8õKssjFõ}”j-õ}”j?õKssjMõ}”j-õ}”jIõKssjWõ}”jTõ}”jnõKssjvõ}”jTõ}”jrõKssjbõ}”jvõ}”jnõKssjTõ}”j-õ}”jPõKssj¸õ}”j©õ}”j´õKssjÉõ}”j©õ}”jÂõKssjÐõ}”j©õ}”jÌõKssjýõ}”júõ}”jöKssjö}”júõ}”jöKssjö}”jö}”jöKssjúõ}”jÓõ}”jöõKssjOö}”jLö}”jföKssjnö}”jLö}”jjöKssjZö}”jnö}”jföKssjLö}”j%ö}”jHöKssj†ö}”jwö}”j‚öKssj—ö}”jwö}”jöKssjžö}”jwö}”jšöKssj°ö}”(j¡ö}”j¬öKsj}”jKsujÁö}”(j¡ö}”jºöKsj}”j*KsujÈö}”(j¡ö}”jÄöKsj}”j4KsujÚö}”(jËö}”jÖöKsj;}”jFKsujëö}”(jËö}”jäöKsj;}”jTKsujòö}”(jËö}”jîöKsj;}”j^Ksuj÷}”jõö}”j÷Kssj÷}”jõö}”j÷Kssj÷}”jõö}”j÷Kssj÷}”jš÷}”jÊ÷KssjÒ÷}”jš÷}”jÎ÷Kssj¨÷}”jÒ÷}”jÊ÷KssjØ÷}”jÒ÷}”jÎ÷Kssj³÷}”jØ÷}”jÊ÷KssjÞ÷}”jØ÷}”jÎ÷Kssj¾÷}”jÞ÷}”jÊ÷Kssjš÷}”js÷}”j–÷Kssjø}”jŒø}”j¦øKssj®ø}”jŒø}”jªøKssjšø}”j®ø}”j¦øKssjŒø}”jeø}”jˆøKssjÐø}”(j·ø}”jÌøKsjù}”j4ùKsujÚø}”j·ø}”jÓøKssjáø}”j·ø}”jÝøKssjèø}”j·ø}”jäøKssjòø}”j·ø}”jîøKssjBù}”jù}”j;ùKssjIù}”jù}”jEùKssjWù}”jù}”jSùKssjZù}”jù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj]ù}”jù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjoù}”j`ù}”jkùKssj€ù}”j`ù}”jyùKssj‡ù}”j`ù}”jƒùKssj™ù}”jŠù}”j•ùKssjªù}”jŠù}”j£ùKssj±ù}”jŠù}”j­ùKssjÃù}”j´ù}”j¿ùKssjÍù}”j´ù}”jÆùKssjÔù}”j´ù}”jÐùKssjÞù}”jÛù}”jõùKssjýù}”jÛù}”jùùKssjéù}”jýù}”jõùKssjÛù}”j´ù}”j×ùKssj"ú}”jú}”júKssj)ú}”jú}”j%úKssj7ú}”jú}”j3úKssj:ú}”jú}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj=ú}”jú}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjjú}”jgú}”júKssj‰ú}”jgú}”j…úKssjuú}”j‰ú}”júKssjgú}”j@ú}”jcúKssj¡ú}”j’ú}”júKssj²ú}”j’ú}”j«úKssj¹ú}”j’ú}”jµúKssjËú}”j¼ú}”jÇúKssjÜú}”j¼ú}”jÕúKssjãú}”j¼ú}”jßúKssjøú}”(jæú}”jôúKsj!û}”j,ûKsjOû}”jZûKsj}û}”j‹ûKsjü}”j!üKsjDü}”jOüKsjÑ^}”jß^Ksujû}”jæú}”j ûKssjû}”jæú}”jûKssj)û}”(j!û}”j%ûKsjOû}”jSûKsjü}”jüKsjDü}”jHüKsuj>û}”j!û}”j:ûKssjEû}”j!û}”jAûKssjLû}”j!û}”jHûKssjlû}”jOû}”jhûKssjsû}”jOû}”joûKssjzû}”jOû}”jvûKssj§û}”j}û}”j ûKssj®û}”j}û}”jªûKssj¼û}”j}û}”j¸ûKssj¿û}”j}û}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÑû}”jÂû}”jÍûKssjâû}”jÂû}”jÛûKssjéû}”jÂû}”jåûKssjûû}”jìû}”j÷ûKssj ü}”jìû}”jüKssj3ü}”jü}”j/üKssj:ü}”jü}”j6üKssjAü}”jü}”j=üKssjaü}”jDü}”j]üKssjhü}”jDü}”jdüKssjoü}”jDü}”jküKssj‡ü}”jrü}”j€üKssjŽü}”jrü}”jŠüKssj­ü}”j˜ü}”j¦üKssj´ü}”j˜ü}”j°üKssjÛü}”j¾ü}”j×üKssjâü}”j¾ü}”jÞüKssjúü}”jåü}”jóüKssjý}”jåü}”jýüKssjý}”jåü}”j ýKssjý}”jåü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý}”jåü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý}”jåü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý}”jåü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý}”jåü}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj0ý}”j!ý}”j,ýKssjAý}”j!ý}”j:ýKssjHý}”j!ý}”jDýKssjuý}”jrý}”jŒýKssj”ý}”jrý}”jýKssj€ý}”j”ý}”jŒýKssjrý}”jKý}”jnýKssjÇý}”jÄý}”jÞýKssjæý}”jÄý}”jâýKssjÒý}”jæý}”jÞýKssjÄý}”jý}”jÀýKssjþý}”jïý}”júýKssjþ}”jïý}”jþKssjþ}”jïý}”jþKssj(þ}”jþ}”j$þKssj2þ}”jþ}”j+þKssj9þ}”jþ}”j5þKssjCþ}”j@þ}”jZþKssjbþ}”j@þ}”j^þKssjNþ}”jbþ}”jZþKssj@þ}”jþ}”j<þKssjzþ}”jkþ}”jvþKssj‹þ}”jkþ}”j„þKssj’þ}”jkþ}”jŽþKssj»þ}”j•þ}”j´þKssjÂþ}”j•þ}”j¾þKssjåþ}”jÌþ}”jáþKssjïþ}”jÌþ}”jèþKssjöþ}”jÌþ}”jòþKssjÿ}”jÌþ}”jÿKssjÿ}”jÌþ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ÿ}”jÌþ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ÿ}”jÌþ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj:ÿ}”j7ÿ}”jQÿKssjYÿ}”j7ÿ}”jUÿKssjEÿ}”jYÿ}”jQÿKssj7ÿ}”jÿ}”j3ÿKssjqÿ}”jbÿ}”jmÿKssj‚ÿ}”jbÿ}”j{ÿKssj‰ÿ}”jbÿ}”j…ÿKssj›ÿ}”jŒÿ}”j—ÿKssj¬ÿ}”jŒÿ}”j¥ÿKssj³ÿ}”jŒÿ}”j¯ÿKssjÅÿ}”j¶ÿ}”jÁÿKssjÖÿ}”j¶ÿ}”jÏÿKssjÝÿ}”j¶ÿ}”jÙÿKssjüÿ}”jàÿ}”jõÿKssj}”jàÿ}”jÿÿKssj}”jàÿ}”j Kssj}”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj#}”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj&}”jàÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}}”jz}”j”Kssjœ}”jz}”j˜Kssjˆ}”jœ}”j”Kssjz}”jS}”jvKssjÞ}”jÏ}”jÚKssjè}”jÏ}”jáKssjï}”jÏ}”jëKssjù}”jö}”jKssj}”jö}”jKssj}”j}”jKssjö}”jÏ}”jòKssj0}”(j!}”j,Ksjñ }”jü Ksj¼~}”jÇ~KsjN‚}”jY‚Ksuj:}”(j!}”j3Ksjñ }”j Ksj¼~}”jÎ~KsjN‚}”j`‚KsujA}”(j!}”j=Ksjñ }”j Ksj¼~}”jØ~KsjN‚}”jj‚KsujK}”jH}”jbKssjj}”jH}”jfKssjV}”jj}”jbKssjH}”j!}”jDKssj‚}”(js}”j~KsjC }”jN Ksj}”jKsj ‚}”j«‚Ksuj“}”(js}”jŒKsjC }”j\ Ksj}”j'Ksj ‚}”j¹‚Ksujš}”(js}”j–KsjC }”jf Ksj}”j1Ksj ‚}”jÂKsujÇ}”jÄ}”jôKssjü}”jÄ}”jøKssjÒ}”jü}”jôKssj}”jü}”jøKssjÝ}”j}”jôKssj}”j}”jøKssjè}”j}”jôKssjÄ}”j}”jÀKssj }”(j}”jKsju }”j€ Ksjá }”jì Ksuj*}”(j}”j#Ksju }”j‡ Ksjá }”jó Ksuj1}”(j}”j-Ksju }”j‘ Ksjá }”jý Ksuj;}”j8}”j”Kssjœ}”j8}”j˜KssjF}”jœ}”j”Kssj¢}”jœ}”j˜KssjQ}”j¢}”j”Kssj¨}”j¢}”j˜Kssj\}”j¨}”j”Kssj®}”j¨}”j˜Kssjg}”j®}”j”Kssj´}”j®}”j˜Kssjr}”j´}”j”Kssjº}”j´}”j˜Kssj}}”jº}”j”KssjÀ}”jº}”j˜Kssjˆ}”jÀ}”j”Kssj8}”j}”j4Kssjå}”jÉ}”jÞKssjì}”jÉ}”jèKssjú}”jÉ}”jöKssjý}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj*}”j}”j&Kssj4}”j}”j-Kssj;}”j}”j7KssjE}”jB}”j\Kssjd}”jB}”j`KssjP}”jd}”j\KssjB}”j}”j>KssjÐ}”jÁ}”jÌKssjá}”jÁ}”jÚKssjè}”jÁ}”jäKssjú}”jë}”jöKssj }”jë}”jKssj}”jë}”jKssj$}”j}”j Kssj5}”j}”j.Kssj<}”j}”j8KssjN}”j?}”jJKssj_}”j?}”jXKssjf}”j?}”jbKssjx}”ji}”jtKssj‰}”ji}”j‚Kssj}”ji}”jŒKssj¢}”j“}”jžKssj³}”j“}”j¬Kssjº}”j“}”j¶KssjÌ}”j½}”jÈKssjÝ}”j½}”jÖKssjä}”j½}”jàKssjö}”jç}”jòKssj}”jç}”jKssj}”jç}”j Kssj'}”j}”j#Kssj.}”j}”j*KssjG}”j1}”jCKssjN}”j1}”jJKssjt}”jX}”jmKssj{}”jX}”jwKssj›}”j…}”j—Kssj¢}”j…}”jžKssjÂ}”j¬}”j¾KssjÉ}”j¬}”jÅKssjá}”jÌ}”jÚKssjè}”jÌ}”jäKssj }”jò}”jKssj}”jò}”jKssj}”jò}”jKssj;}”j&}”j4KssjB}”j&}”j>KssjP}”j&}”jLKssjS}”j&}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV}”j&}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh}”jY}”jdKssj€}”jY}”j|Kssj’}”jƒ}”jŽKssjœ}”jƒ}”j•Kssj£}”jƒ}”jŸKssj­}”jª}”jÄKssjÌ}”jª}”jÈKssj¸}”jÌ}”jÄKssjª}”jƒ}”j¦Kssjä}”jÕ}”jàKssjõ}”jÕ}”jîKssjü}”jÕ}”jøKssj}”jÿ}”jKssj"}”jÿ}”jKssj0}”jÿ}”j,Kssj7}”jÿ}”j3Kssj:}”jÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj=}”jÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj@}”jÿ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjR}”jC}”jNKssj\}”jC}”jUKssjc}”jC}”j_Kssjm}”jj}”j„KssjŒ}”jj}”jˆKssjx}”jŒ}”j„Kssjj}”jC}”jfKssj¿}”j¼}”jÖKssjÞ}”j¼}”jÚKssjÊ}”jÞ}”jÖKssj¼}”j•}”j¸Kssj}”j}”j(Kssj0}”j}”j,Kssj}”j0}”j(Kssj}”jç}”j Kssj}”jc}”jxKssj†}”jc}”j‚Kssj”}”jc}”jKssj—}”jc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÊ}”jÇ}”jáKssjé}”jÇ}”jåKssjÕ}”jé}”jáKssjÇ}”j }”jÃKssj }”j }”j3 Kssj; }”j }”j7 Kssj' }”j; }”j3 Kssj }”jò}”j Kssj} }”jn }”jy Kssj‡ }”jn }”j€ KssjŽ }”jn }”jŠ Kssj˜ }”j• }”j¯ Kssj· }”j• }”j³ Kssj£ }”j· }”j¯ Kssj• }”jn }”j‘ KssjÖ }”jÀ }”jÒ KssjÝ }”jÀ }”jÙ Kssjõ }”jà }”jî Kssjü }”jà }”jø Kssj" }”j }”j Kssj) }”j }”j% Kssj7 }”j }”j3 Kssj: }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj= }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj@ }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjC }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjF }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjL }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjˆ }”jy }”j„ Kssj™ }”jy }”j’ Kssj  }”jy }”jœ Kssj² }”j£ }”j® Kssjà }”j£ }”j¼ KssjÊ }”j£ }”jÆ KssjÜ }”jÍ }”jØ Kssjí }”jÍ }”jæ Kssjô }”jÍ }”jð Kssj }”j÷ }”j Kssj }”j÷ }”j Kssj }”j÷ }”j Kssj0 }”j! }”j, KssjA }”j! }”j: KssjH }”j! }”jD KssjZ }”jK }”jV Kssjk }”jK }”jd Kssjr }”jK }”jn KssjŸ }”jœ }”jø Kssj }”jœ }”jü Kssjª }”j }”jø Kssj }”j }”jü Kssjµ }”j }”jø Kssj }”j }”jü KssjÀ }”j }”jø Kssj }”j }”jü KssjË }”j }”jø Kssj }”j }”jü KssjÖ }”j }”jø Kssj }”j }”jü Kssjá }”j }”jø Kssj$ }”j }”jü Kssjì }”j$ }”jø Kssjœ }”ju }”j˜ KssjI }”j- }”jB KssjP }”j- }”jL Kssj^ }”j- }”jZ Kssja }”j- }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjd }”j- }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjg }”j- }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjj }”j- }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjm }”j- }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjp }”j- }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”j }”j2 Kssj: }”j }”j6 Kssj& }”j: }”j2 Kssj }”jñ }”j Kssj— }”j” }”jÄ KssjÌ }”j” }”jÈ Kssj¢ }”jÌ }”jÄ KssjÒ }”jÌ }”jÈ Kssj­ }”jÒ }”jÄ KssjØ }”jÒ }”jÈ Kssj¸ }”jØ }”jÄ Kssj” }”jm }”j Kssj }”j}”jdKssjl}”j}”jhKssj}”jl}”jdKssjr}”jl}”jhKssj!}”jr}”jdKssjx}”jr}”jhKssj,}”jx}”jdKssj~}”jx}”jhKssj7}”j~}”jdKssj„}”j~}”jhKssjB}”j„}”jdKssjŠ}”j„}”jhKssjM}”jŠ}”jdKssj}”jŠ}”jhKssjX}”j}”jdKssj}”já }”jKssjµ}”j™}”j®Kssj¼}”j™}”j¸KssjÊ}”j™}”jÆKssjÍ}”j™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÐ}”j™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÓ}”j™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÖ}”j™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÙ}”j™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”j}”jKssj&}”j}”jKssj-}”j}”j)Kssj?}”j0}”j;KssjP}”j0}”jIKssjW}”j0}”jSKssji}”jZ}”jeKssjz}”jZ}”jsKssj}”jZ}”j}Kssj“}”j„}”jKssj¤}”j„}”jKssj«}”j„}”j§Kssj½}”j®}”j¹KssjÎ}”j®}”jÇKssjÕ}”j®}”jÑKssjí}”jØ}”jæKssjô}”jØ}”jðKssj}”jþ}”jKssj!}”jþ}”jKssj/}”jþ}”j+Kssj2}”jþ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5}”jþ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8}”jþ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ}”j;}”jFKssjT}”j;}”jMKssj[}”j;}”jWKssjm}”(je}”jiKsj }”jKsuje}”jb}”j|Kssj„}”jb}”j€Kssjp}”j„}”j|Kssjb}”j;}”j^Kssjœ}”j}”j˜Kssj­}”j}”j¦Kssj´}”j}”j°KssjÆ}”(j·}”jÂKsj¼R}”jÇRKsuj×}”(j·}”jÐKsj¼R}”jÕRKsujÞ}”(j·}”jÚKsj¼R}”jßRKsujð}”já}”jìKssjú}”já}”jóKssj}”já}”jýKssj }”j}”j"Kssj*}”j}”j&Kssj}”j*}”j"Kssj}”já}”jKssjL}”j3}”jHKssjV}”j3}”jOKssj]}”j3}”jYKssj€}”jg}”j|KssjŠ}”jg}”jƒKssj‘}”jg}”jKssjŸ}”jg}”j›Kssj±}”j¢}”j­Kssj»}”j¢}”j´KssjÂ}”j¢}”j¾KssjÌ}”jÉ}”jãKssjë}”jÉ}”jçKssj×}”jë}”jãKssjÉ}”j¢}”jÅKssj }”jô}”jKssj}”jô}”j Kssj/}”j}”j(Kssj6}”j}”j2Kssj\}”j@}”jUKssjc}”j@}”j_Kssj†}”jm}”j‚Kssj}”jm}”j‰Kssj—}”jm}”j“Kssj¶}”j¡}”j¯Kssj½}”j¡}”j¹KssjÜ}”jÇ}”jÕKssjã}”jÇ}”jßKssj}”jí}”jûKssj }”jí}”jKssj(}”j}”j!Kssj/}”j}”j+KssjN}”j9}”jGKssjU}”j9}”jQKssjc}”j9}”j_Kssjf}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssji}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjl}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjo}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjr}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssju}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjx}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj{}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj„}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠ}”j9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjð}”(já}”jìKsjHf}”jSfKsj–}”j–Ksuj}”(já}”júKsjHf}”jafKsj–}”j)–Ksuj}”(já}”jKsjHf}”jkfKsj–}”j3–KsujÝ}”jÚ}”jôKssjü}”jÚ}”jøKssjè}”jü}”jôKssjÚ}”j³}”jÖKssj>}”(j/}”j:KsjÀg}”jËgKsjx˜}”jƒ˜KsujO}”(j/}”jHKsjÀg}”jÙgKsjx˜}”j‘˜KsujV}”(j/}”jRKsjÀg}”jãgKsjx˜}”j›˜Ksuj’}”(jƒ}”jŽKsjh}”jhKsj ™}”j+™Ksujœ}”(jƒ}”j•KsjÕ}”jîKsjh}”j&hKsjfh}”jhKsj ™}”j2™Ksjr™}”j‹™Ksuj£}”(jƒ}”jŸKsjh}”j0hKsj ™}”j<™Ksuj­}”jª}”jÄKssjÌ}”jª}”jÈKssj¸}”jÌ}”jÄKssjª}”jƒ}”j¦Kssjä}”(jÕ}”jàKsjfh}”jqhKsjr™}”j}™Ksujü}”(jÕ}”jøKsjfh}”j‰hKsjr™}”j•™Ksuj>}”j)}”j7KssjE}”j)}”jAKssjh}”jO}”jdKssjo}”jO}”jkKssjˆ}”jr}”j„Kssj}”jr}”j‹Kssj§}”j’}”j Kssj®}”j’}”jªKssj¼}”j’}”j¸Kssj¿}”j’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ}”j’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÅ}”j’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈ}”j’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjË}”j’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjø}”jõ}”jKssj}”jõ}”jKssj}”j}”jKssjõ}”jÎ}”jñKssj/}”j }”j+Kssj9}”j }”j2Kssj@}”j }”j<KssjJ}”jG}”jaKssji}”jG}”jeKssjU}”ji}”jaKssjG}”j }”jCKssj}”jr}”j}Kssj’}”jr}”j‹Kssj™}”jr}”j•Kssj«}”jœ}”j§Kssjµ}”jœ}”j®Kssj¼}”jœ}”j¸KssjÆ}”jÃ}”jÝKssjå}”jÃ}”jáKssjÑ}”jå}”jÝKssjÃ}”jœ}”j¿Kssj'}”j}”j#Kssj1}”j}”j*Kssj8}”j}”j4KssjB}”j?}”jYKssja}”j?}”j]KssjM}”ja}”jYKssj?}”j}”j;Kssj}”jj}”jxKssj†}”jj}”j‚Kssj¥}”j}”jžKssj¬}”j}”j¨KssjÅ}”j¶}”jÁKssjÌ}”j¶}”jÈKssjä}”jÏ}”jÝKssjë}”jÏ}”jçKssj}”jõ}”jKssj}”jõ}”jKssj-}”jõ}”j)Kssj0}”jõ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj]}”jZ}”jtKssj|}”jZ}”jxKssjh}”j|}”jtKssjZ}”j3}”jVKssj¯}”j¬}”jÆKssjÎ}”j¬}”jÊKssjº}”jÎ}”jÆKssj¬}”j…}”j¨Kssjí}”j×}”jéKssjô}”j×}”jðKssj }”j÷}”jKssj}”j÷}”jKssj!}”j÷}”jKssj$}”j÷}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj{}”jx}”jKssj¥}”jx}”j¡Kssj†}”j¥}”jKssj«}”j¥}”j¡Kssj‘}”j«}”jKssjx}”jQ}”jtKssjÉ}”j´}”jÂKssjÐ}”j´}”jÌKssj×}”j´}”jÓKssjÞ}”j´}”jÚKssjá}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjä}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjç}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjê}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjí}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjð}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjó}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjö}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjù}”j´}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jü}”jKssj}”jü}”jKssj#}”jü}”jKssj5}”j&}”j1KssjF}”j&}”j?KssjM}”j&}”jIKssj_}”jP}”j[Kssjp}”(jP}”jiKsjø}”jKsujw}”jP}”jsKssj³}”j¤}”j¯KssjÄ}”j¤}”j½KssjË}”j¤}”jÇKssjÝ}”jÎ}”jÙKssjî}”jÎ}”jçKssjõ}”jÎ}”jñKssj}”jø}”jKssj}”jø}”jKssj1}”j"}”j-Kssj;}”j"}”j4KssjB}”j"}”j>KssjL}”jI}”jnKssjv}”jI}”jrKssjW}”jv}”jnKssj|}”jv}”jrKssjb}”j|}”jnKssjI}”j"}”jEKssj”}”j…}”jKssjž}”j…}”j—Kssj¥}”j…}”j¡Kssj¯}”j¬}”jÆKssjÎ}”j¬}”jÊKssjº}”jÎ}”jÆKssj¬}”j…}”j¨Kssj$}”j}”jKssj+}”j}”j'Kssj9}”j}”j5Kssu(jf}”jc}”j“Kssj›}”jc}”j—Kssjq}”j›}”j“Kssj¡}”j›}”j—Kssj|}”j¡}”j“Kssj§}”j¡}”j—Kssj‡}”j§}”j“Kssjc}”j<}”j_KssjÌ}”j°}”jÅKssjÓ}”j°}”jÏKssjó}”jÝ}”jïKssjú}”jÝ}”jöKssj}”jý}”j Kssj}”jý}”jKssjF}”j#}”j?KssjM}”j#}”jIKssjf}”jW}”jbKssjm}”jW}”jiKssj…}”jp}”j~KssjŒ}”jp}”jˆKssj¬}”j–}”j¨Kssj³}”j–}”j¯KssjÌ}”j¶}”jÈKssjÓ}”j¶}”jÏKssjë}”jÖ}”jäKssjò}”jÖ}”jîKssj}”jü}”jKssj }”jü}”jKssj9}”j#}”j5Kssj@}”j#}”j<KssjY}”jC}”jUKssj`}”jC}”j\Kssjx}”jc}”jqKssj}”jc}”j{Kssj}”jc}”j‰Kssj}”jc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¢}”j“}”jžKssj¬}”j“}”j¥Kssj³}”j“}”j¯Kssj½}”jº}”jÔKssjÜ}”jº}”jØKssjÈ}”jÜ}”jÔKssjº}”j“}”j¶Kssjô}”jå}”jðKssjû}”jå}”j÷Kssj }”jå}”jþKssj }”jå}”j Kssj$ }”j }”j Kssj+ }”j }”j' Kssj9 }”j }”j5 Kssj< }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj? }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjB }”j }”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjT }”jE }”jP Kssje }”jE }”j^ Kssjl }”jE }”jh Kssj~ }”jo }”jz Kssj }”jo }”jˆ Kssj– }”jo }”j’ Kssj¨ }”(j™ }”j¤ KsjÞi}”jéiKsuj¹ }”(j™ }”j² KsjÞi}”j÷iKsujÀ }”(j™ }”j¼ KsjÞi}”jjKsujÒ }”(jà }”jÎ Ksjj}”jjKsujã }”(jà }”jÜ Ksjj}”j!jKsujê }”(jà }”jæ Ksjj}”j+jKsuj !}”jí }”j!Kssj!}”jí }”j !Kssj:!}”j!}”j3!KssjA!}”j!}”j=!KssjO!}”j!}”jK!KssjR!}”j!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU!}”j!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjX!}”j!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj[!}”j!}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjm!}”j^!}”ji!Kssjw!}”j^!}”jp!Kssj~!}”j^!}”jz!Kssjˆ!}”j…!}”jŸ!Kssj§!}”j…!}”j£!Kssj“!}”j§!}”jŸ!Kssj…!}”j^!}”j!Kssj¿!}”j°!}”j»!KssjÐ!}”j°!}”jÉ!Kssj×!}”j°!}”jÓ!Kssjé!}”jÚ!}”jå!Kssjú!}”jÚ!}”jó!Kssj"}”jÚ!}”jý!Kssj"}”j"}”j"Kssj$"}”j"}”j"Kssj+"}”j"}”j'"Kssj="}”j."}”j9"KssjN"}”j."}”jG"KssjU"}”j."}”jQ"Kssjm"}”jX"}”jf"Kssjt"}”jX"}”jp"Kssj‚"}”jX"}”j~"Kssj…"}”jX"}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj—"}”jˆ"}”j“"Kssj¨"}”jˆ"}”j¡"Kssj¯"}”jˆ"}”j«"KssjÁ"}”j²"}”j½"KssjÒ"}”j²"}”jË"KssjÙ"}”j²"}”jÕ"Kssjñ"}”jÜ"}”jê"Kssjø"}”jÜ"}”jô"Kssj#}”jÜ"}”j#KssjH#}”j3#}”jA#KssjO#}”j3#}”jK#Kssj]#}”j3#}”jY#Kssjo#}”j`#}”jk#Kssj€#}”j`#}”jy#Kssj‡#}”j`#}”jƒ#Kssj°#}”jŠ#}”j©#Kssj·#}”jŠ#}”j³#KssjÝ#}”jÁ#}”jÖ#Kssjä#}”jÁ#}”jà#Kssj$}”jî#}”j $Kssj$}”jî#}”j$Kssj:$}”j%$}”j3$KssjA$}”j%$}”j=$Kssj`$}”jK$}”jY$Kssjg$}”jK$}”jc$Kssju$}”jK$}”jq$Kssjx$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj{$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj„$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŠ$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™$}”jK$}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«$}”jœ$}”j§$Kssjµ$}”jœ$}”j®$Kssj¼$}”jœ$}”j¸$KssjÆ$}”jÃ$}”jÝ$Kssjå$}”jÃ$}”já$KssjÑ$}”jå$}”jÝ$KssjÃ$}”jœ$}”j¿$Kssjý$}”jî$}”jù$Kssj%}”jî$}”j%Kssj%}”jî$}”j%KssjB%}”j?%}”jY%Kssja%}”j?%}”j]%KssjM%}”ja%}”jY%Kssj?%}”j%}”j;%Kssjy%}”jj%}”ju%KssjŠ%}”jj%}”jƒ%Kssj‘%}”jj%}”j%KssjÍ%}”j¾%}”jÉ%KssjÞ%}”j¾%}”j×%Kssjå%}”j¾%}”já%Kssj&}”j&}”j)&Kssj1&}”j&}”j-&Kssj&}”j1&}”j)&Kssj&}”jè%}”j &KssjI&}”j:&}”jE&KssjZ&}”j:&}”jS&Kssja&}”j:&}”j]&Kssjs&}”jd&}”jo&Kssj„&}”jd&}”j}&Kssj‹&}”jd&}”j‡&Kssj&}”jŽ&}”j™&Kssj¤&}”(jŽ&}”j &Ksj—'}”j›'Ksj°'}”j´'KsjÉ'}”jÍ'Ksj9(}”j=(Ksuj®&}”jŽ&}”j§&Kssjµ&}”jŽ&}”j±&KssjÇ&}”j¸&}”jÃ&KssjÎ&}”j¸&}”jÊ&KssjØ&}”j¸&}”jÑ&Kssjß&}”j¸&}”jÛ&Kssjñ&}”(jâ&}”jí&Ksj_r}”jjrKsujû&}”(jâ&}”jô&Ksj_r}”jqrKsuj'}”(jâ&}”jþ&Ksj_r}”j{rKsuj '}”j '}”j.'Kssj6'}”j '}”j2'Kssj'}”j6'}”j.'Kssj<'}”j6'}”j2'Kssj"'}”j<'}”j.'Kssj '}”jâ&}”j'KssjT'}”(jE'}”jP'KsjÂr}”jÍrKsuj^'}”(jE'}”jW'KsjÂr}”jÔrKsuje'}”(jE'}”ja'KsjÂr}”jÞrKsujo'}”jl'}”j†'KssjŽ'}”jl'}”jŠ'Kssjz'}”jŽ'}”j†'Kssjl'}”jE'}”jh'Kssj¦'}”j—'}”j¢'Kssj­'}”j—'}”j©'Kssj¿'}”j°'}”j»'KssjÆ'}”j°'}”jÂ'KssjØ'}”jÉ'}”jÔ'Kssjß'}”jÉ'}”jÛ'Kssj÷'}”jâ'}”jð'Kssjþ'}”jâ'}”jú'Kssj (}”jâ'}”j(Kssj(}”j(}”j(Kssj/(}”j(}”j((Kssj6(}”j(}”j2(KssjH(}”j9(}”jD(KssjO(}”j9(}”jK(Kssjg(}”jR(}”j`(Kssjn(}”jR(}”jj(Kssj(}”jx(}”j†(Kssj”(}”jx(}”j(Kssj³(}”jž(}”j¬(Kssjº(}”jž(}”j¶(KssjÙ(}”jÄ(}”jÒ(Kssjà(}”jÄ(}”jÜ(Kssjî(}”jÄ(}”jê(Kssj7)}”j)}”j0)Kssj>)}”j)}”j:)Kssj^)}”jH)}”jZ)Kssje)}”jH)}”ja)Kssj„)}”jo)}”j})Kssj‹)}”jo)}”j‡)Kssj²)}”j•)}”j®)Kssj¹)}”j•)}”jµ)KssjÑ)}”j¼)}”jÊ)KssjØ)}”j¼)}”jÔ)Kssjø)}”jâ)}”jô)Kssjÿ)}”jâ)}”jû)Kssj*}”j*}”j*Kssj*}”j*}”j*Kssj7*}”j"*}”j0*Kssj>*}”j"*}”j:*Kssj^*}”jH*}”jZ*Kssje*}”jH*}”ja*Kssj}*}”jh*}”jv*Kssj„*}”jh*}”j€*Kssj’*}”jh*}”jŽ*Kssj¿*}”j¼*}”jì*Kssjô*}”j¼*}”jð*KssjÊ*}”jô*}”jì*Kssjú*}”jô*}”jð*KssjÕ*}”jú*}”jì*Kssj+}”jú*}”jð*Kssjà*}”j+}”jì*Kssj¼*}”j•*}”j¸*Kssj,+}”j +}”j%+Kssj3+}”j +}”j/+KssjZ+}”j=+}”jV+Kssja+}”j=+}”j]+Kssjy+}”jd+}”jr+Kssj€+}”jd+}”j|+KssjŽ+}”jd+}”jŠ+Kssj‘+}”jd+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj”+}”jd+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj—+}”jd+}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý+}”jî+}”jù+Kssj,}”jî+}”j,Kssj,}”jî+}”j,Kssj',}”j,}”j#,Kssj8,}”j,}”j1,Kssj?,}”j,}”j;,KssjW,}”jB,}”jP,Kssj^,}”jB,}”jZ,Kssjl,}”jB,}”jh,Kssj~,}”jo,}”jz,Kssj,}”jo,}”jˆ,Kssj–,}”jo,}”j’,Kssj¿,}”j™,}”j¸,KssjÆ,}”j™,}”jÂ,KssjÍ,}”j™,}”jÉ,Kssjé,}”jÓ,}”jå,Kssjð,}”jÓ,}”jì,Kssj -}”jó,}”j-Kssj-}”jó,}”j -Kssj0-}”j-}”j,-Kssj7-}”j-}”j3-KssjO-}”j:-}”jH-KssjV-}”j:-}”jR-Kssju-}”j`-}”jn-Kssj|-}”j`-}”jx-KssjŠ-}”j`-}”j†-Kssj-}”j`-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj-}”j`-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“-}”j`-}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÀ-}”j½-}”j×-Kssjß-}”j½-}”jÛ-KssjË-}”jß-}”j×-Kssj½-}”j–-}”j¹-Kssj÷-}”jè-}”jó-Kssj.}”jè-}”jú-Kssj.}”jè-}”j.Kssj.}”j.}”j).Kssj1.}”j.}”j-.Kssj.}”j1.}”j).Kssj.}”jè-}”j .KssjI.}”j:.}”jE.KssjS.}”j:.}”jL.KssjZ.}”j:.}”jV.Kssjd.}”ja.}”j{.Kssjƒ.}”ja.}”j.Kssjo.}”jƒ.}”j{.Kssja.}”j:.}”j].Kssj¶.}”j³.}”jÍ.KssjÕ.}”j³.}”jÑ.KssjÁ.}”jÕ.}”jÍ.Kssj³.}”jŒ.}”j¯.Kssjó.}”jÞ.}”jì.Kssjú.}”jÞ.}”jö.Kssj /}”j/}”j/Kssj'/}”j/}”j#/KssjF/}”j1/}”j?/KssjM/}”j1/}”jI/Kssj[/}”j1/}”jW/Kssj^/}”j1/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssja/}”j1/}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjs/}”jd/}”jo/Kssj„/}”jd/}”j}/Kssj‹/}”jd/}”j‡/KssjÇ/}”j¸/}”jÃ/KssjÎ/}”(j¸/}”jÊ/Ksjâ/}”jæ/Ksjû/}”jÿ/Ksj:0}”j>0KsujØ/}”j¸/}”jÑ/Kssjß/}”j¸/}”jÛ/Kssjñ/}”jâ/}”jí/Kssjø/}”jâ/}”jô/Kssj 0}”jû/}”j0Kssj0}”jû/}”j 0Kssj)0}”j0}”j"0Kssj00}”j0}”j,0KssjI0}”j:0}”jE0KssjP0}”j:0}”jL0Kssjp0}”jS0}”jl0Kssjw0}”jS0}”js0Kssj—0}”jz0}”j“0Kssjž0}”jz0}”jš0Kssj¶0}”j¡0}”j¯0Kssj½0}”j¡0}”j¹0Kssjä0}”jÇ0}”jà0Kssjë0}”jÇ0}”jç0Kssj 1}”jî0}”j1Kssj1}”jî0}”j1Kssj;1}”j1}”j41KssjB1}”j1}”j>1Kssj[1}”jL1}”jW1Kssjb1}”jL1}”j^1Kssji1}”jL1}”je1Kssj…1}”jl1}”j1Kssj1}”jl1}”jˆ1Kssj–1}”jl1}”j’1Kssj¤1}”jl1}”j 1Kssj§1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjª1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÂ1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÅ1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÈ1}”jl1}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ1}”jË1}”jÖ1Kssjä1}”jË1}”jÝ1Kssjë1}”jË1}”jç1Kssjõ1}”jò1}”j 2Kssj2}”jò1}”j2Kssj2}”j2}”j 2Kssjò1}”jË1}”jî1Kssj,2}”j2}”j(2Kssj=2}”j2}”j62KssjD2}”j2}”j@2KssjV2}”jG2}”jR2Kssjg2}”jG2}”j`2Kssjn2}”jG2}”jj2Kssj€2}”jq2}”j|2Kssj‘2}”jq2}”jŠ2Kssj˜2}”jq2}”j”2Kssjï2}”jì2}”j3Kssj3}”jì2}”j 3Kssjú2}”j3}”j3Kssjì2}”jÅ2}”jè2KssjA3}”j>3}”jX3Kssj`3}”j>3}”j\3KssjL3}”j`3}”jX3Kssj>3}”j3}”j:3Kssjx3}”ji3}”jt3Kssj‚3}”ji3}”j{3Kssj‰3}”ji3}”j…3Kssj“3}”j3}”jª3Kssj²3}”j3}”j®3Kssjž3}”j²3}”jª3Kssj3}”ji3}”jŒ3KssjÊ3}”j»3}”jÆ3KssjÛ3}”j»3}”jÔ3Kssjâ3}”j»3}”jÞ3Kssjô3}”jå3}”jð3Kssjþ3}”jå3}”j÷3Kssj4}”jå3}”j4Kssj4}”j 4}”j&4Kssj.4}”j 4}”j*4Kssj4}”j.4}”j&4Kssj 4}”jå3}”j4KssjF4}”j74}”jB4KssjW4}”j74}”jP4Kssj^4}”j74}”jZ4Kssj‹4}”jˆ4}”j¢4Kssjª4}”jˆ4}”j¦4Kssj–4}”jª4}”j¢4Kssjˆ4}”ja4}”j„4KssjÝ4}”jÚ4}”jô4Kssjü4}”jÚ4}”jø4Kssjè4}”jü4}”jô4KssjÚ4}”j³4}”jÖ4Kssj5}”j5}”j5Kssj!5}”j5}”j5Kssj@5}”j+5}”j95KssjG5}”j+5}”jC5Kssjf5}”jQ5}”j_5Kssjm5}”jQ5}”ji5Kssj5}”jw5}”jŒ5Kssjš5}”jw5}”j“5Kssj¡5}”jw5}”j5KssjÀ5}”j«5}”j¹5KssjÇ5}”j«5}”jÃ5KssjÕ5}”j«5}”jÑ5KssjØ5}”j«5}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÛ5}”j«5}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj6}”j6}”j6Kssj'6}”j6}”j#6Kssj6}”j'6}”j6Kssj6}”jÞ5}”j6Kssji6}”jZ6}”je6Kssjp6}”jZ6}”jl6Kssjz6}”jZ6}”js6Kssj6}”jZ6}”j}6Kssj¡6}”j„6}”j6Kssj¨6}”j„6}”j¤6KssjÀ6}”j«6}”j¹6KssjÇ6}”j«6}”jÃ6Kssjæ6}”jÑ6}”jß6Kssjí6}”jÑ6}”jé6Kssj 7}”j÷6}”j7Kssj7}”j÷6}”j7Kssj!7}”j÷6}”j7Kssj37}”j$7}”j/7KssjD7}”j$7}”j=7KssjK7}”j$7}”jG7Kssjc7}”jN7}”j\7Kssjj7}”jN7}”jf7Kssj—7}”jt7}”j“7Kssj¶7}”j¡7}”j¯7Kssj½7}”j¡7}”j¹7KssjË7}”j¡7}”jÇ7KssjÎ7}”j¡7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÑ7}”j¡7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÔ7}”j¡7}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæ7}”j×7}”jâ7Kssj÷7}”j×7}”jð7Kssjþ7}”j×7}”jú7Kssj8}”j8}”j 8Kssj!8}”j8}”j8Kssj(8}”j8}”j$8Kssj:8}”j+8}”j68KssjK8}”j+8}”jD8KssjR8}”j+8}”jN8Kssjd8}”jU8}”j`8Kssjn8}”jU8}”jg8Kssju8}”jU8}”jq8Kssj8}”j|8}”j–8Kssjž8}”j|8}”jš8KssjŠ8}”jž8}”j–8Kssj|8}”jU8}”jx8Kssj¶8}”j§8}”j²8Kssj½8}”j§8}”j¹8KssjÝ8}”jÀ8}”jÙ8Kssjä8}”jÀ8}”jà8Kssj9}”jç8}”jü8Kssj 9}”jç8}”j9Kssj9}”jç8}”j 9Kssj89}”j9}”j49Kssj?9}”j9}”j;9KssjW9}”jB9}”jP9Kssj^9}”jB9}”jZ9Kssj}9}”jh9}”jv9Kssj„9}”jh9}”j€9Kssj’9}”jh9}”jŽ9Kssj•9}”jh9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§9}”j˜9}”j£9Kssj¸9}”j˜9}”j±9Kssj¿9}”j˜9}”j»9Kssj:}”jì9}”jú9Kssj:}”jì9}”j:Kssj:}”jì9}”j:Kssj:}”jì9}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjp:}”jm:}”j:Kssj¥:}”jm:}”j¡:Kssj{:}”j¥:}”j:Kssj«:}”j¥:}”j¡:Kssj†:}”j«:}”j:Kssj±:}”j«:}”j¡:Kssj‘:}”j±:}”j:Kssjm:}”jF:}”ji:KssjÏ:}”jº:}”jÈ:KssjÖ:}”jº:}”jÒ:Kssjõ:}”jà:}”jî:Kssjü:}”jà:}”jø:Kssj ;}”jà:}”j;Kssj ;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj";}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj%;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj(;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj+;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj.;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj1;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj4;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj7;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj:;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj=;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj@;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjC;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjF;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjI;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjL;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjO;}”jà:}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¦;}”j£;}”jÓ;KssjÛ;}”j£;}”j×;Kssj±;}”jÛ;}”jÓ;Kssjá;}”jÛ;}”j×;Kssj¼;}”já;}”jÓ;Kssjç;}”já;}”j×;KssjÇ;}”jç;}”jÓ;Kssj£;}”j|;}”jŸ;Kssj)<}”j<}”j%<Kssj0<}”j<}”j,<Kssj:<}”j<}”j3<KssjA<}”j<}”j=<Kssj˜<}”j•<}”j¯<Kssj·<}”j•<}”j³<Kssj£<}”j·<}”j¯<Kssj•<}”jn<}”j‘<Kssjê<}”jç<}”j=Kssj =}”jç<}”j=Kssjõ<}”j =}”j=Kssjç<}”jÀ<}”jã<Kssj<=}”j9=}”ji=Kssjq=}”j9=}”jm=KssjG=}”jq=}”ji=Kssjw=}”jq=}”jm=KssjR=}”jw=}”ji=Kssj}=}”jw=}”jm=Kssj]=}”j}=}”ji=Kssj9=}”j=}”j5=Kssj>}”j>}”j>Kssj#>}”j>}”j>Kssj>}”j#>}”j>Kssj>}”jÚ=}”jý=KssjV>}”jS>}”jm>Kssju>}”jS>}”jq>Kssja>}”ju>}”jm>KssjS>}”j,>}”jO>Kssj¨>}”j¥>}”j¿>KssjÇ>}”j¥>}”jÃ>Kssj³>}”jÇ>}”j¿>Kssj¥>}”j~>}”j¡>Kssjú>}”j÷>}”j?Kssj?}”j÷>}”j?Kssj?}”j?}”j?Kssj÷>}”jÐ>}”jó>Kssj1?}”j"?}”j-?KssjB?}”(j"?}”j;?Ksj@}”j˜@KsujI?}”j"?}”jE?Kssjv?}”js?}”j?Kssj•?}”js?}”j‘?Kssj?}”j•?}”j?Kssjs?}”jL?}”jo?Kssj­?}”jž?}”j©?Kssj¾?}”jž?}”j·?KssjÅ?}”jž?}”jÁ?Kssj@}”j@}”j>@KssjF@}”j@}”jB@Kssj'@}”jF@}”j>@KssjL@}”jF@}”jB@Kssj2@}”jL@}”j>@Kssj@}”jò?}”j@Kssjd@}”jU@}”j`@Kssju@}”jU@}”jn@Kssj|@}”jU@}”jx@KssjŽ@}”j@}”jŠ@Kssj¦@}”j@}”j¢@Kssj¸@}”j©@}”j´@KssjÂ@}”j©@}”j»@KssjÉ@}”j©@}”jÅ@KssjÓ@}”jÐ@}”jê@Kssjò@}”jÐ@}”jî@KssjÞ@}”jò@}”jê@KssjÐ@}”j©@}”jÌ@Kssj4A}”j%A}”j0AKssj>A}”j%A}”j7AKssjEA}”j%A}”jAAKssjOA}”jLA}”jfAKssjnA}”jLA}”jjAKssjZA}”jnA}”jfAKssjLA}”j%A}”jHAKssjŒA}”jwA}”j…AKssj“A}”jwA}”jAKssj¡A}”jwA}”jAKssj¤A}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§A}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjªA}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­A}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°A}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³A}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶A}”jwA}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjãA}”jàA}”júAKssjB}”jàA}”jþAKssjîA}”jB}”júAKssjàA}”j¹A}”jÜAKssjB}”j B}”jBKssj+B}”j B}”j$BKssj2B}”j B}”j.BKssjDB}”j5B}”j@BKssjUB}”j5B}”jNBKssj\B}”j5B}”jXBKssjnB}”j_B}”jjBKssjB}”j_B}”jxBKssj†B}”j_B}”j‚BKssj˜B}”j‰B}”j”BKssj©B}”j‰B}”j¢BKssj°B}”j‰B}”j¬BKssjÂB}”j³B}”j¾BKssjÓB}”j³B}”jÌBKssjÚB}”j³B}”jÖBKssjìB}”jÝB}”jèBKssjýB}”jÝB}”jöBKssjC}”jÝB}”jCKssjC}”jC}”jCKssj C}”jC}”jCKssj'C}”jC}”j#CKssjFC}”j1C}”j?CKssjMC}”j1C}”jICKssjzC}”jWC}”jsCKssjC}”jWC}”j}CKssj®C}”j‹C}”j§CKssjµC}”j‹C}”j±CKssjÃC}”j‹C}”j¿CKssjÆC}”j‹C}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉC}”j‹C}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÌC}”j‹C}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÞC}”jÏC}”jÚCKssjïC}”jÏC}”jèCKssjöC}”jÏC}”jòCKssjD}”jùC}”jDKssjD}”jùC}”jDKssj D}”jùC}”jDKssj2D}”j#D}”j.DKssjCD}”j#D}”jK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjAK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjDK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjGK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjMK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjPK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjSK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjVK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjYK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\K}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_K}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjbK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjeK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjhK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjkK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjnK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjqK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjtK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjwK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjzK}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}K}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€K}”jK}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’K}”jƒK}”jŽKKssjœK}”jƒK}”j•KKssj£K}”jƒK}”jŸKKssj­K}”jªK}”jÄKKssjÌK}”jªK}”jÈKKssj¸K}”jÌK}”jÄKKssjªK}”jƒK}”j¦KKssjäK}”jÕK}”jàKKssjîK}”jÕK}”jçKKssjõK}”jÕK}”jñKKssjÿK}”jüK}”jLKssjL}”jüK}”jLKssj L}”jL}”jLKssjüK}”jÕK}”jøKKssj6L}”j'L}”j2LKssjGL}”j'L}”j@LKssjNL}”j'L}”jJLKssj`L}”jQL}”j\LKssjqL}”(jQL}”jjLKsjÏL}”jèLKsujxL}”jQL}”jtLKssjŠL}”j{L}”j†LKssj›L}”j{L}”j”LKssj¢L}”j{L}”jžLKssj´L}”j¥L}”j°LKssjÅL}”j¥L}”j¾LKssjÌL}”j¥L}”jÈLKssjÞL}”jÏL}”jÚLKssjöL}”jÏL}”jòLKssjM}”jùL}”jMKssjM}”jùL}”j MKssjM}”jùL}”jMKssj2M}”j#M}”j.MKssjNKssjTN}”jEN}”jPNKssjeN}”jEN}”j^NKssjlN}”jEN}”jhNKssj~N}”joN}”jzNKssjN}”joN}”jˆNKssj–N}”joN}”j’NKssj¨N}”j™N}”j¤NKssj²N}”j™N}”j«NKssj¹N}”j™N}”jµNKssjÃN}”jÀN}”jÚNKssjâN}”jÀN}”jÞNKssjÎN}”jâN}”jÚNKssjÀN}”j™N}”j¼NKssjúN}”jëN}”jöNKssjO}”(jëN}”jýNKsjãO}”jõOKsuj O}”jëN}”jOKssjO}”jO}”j,OKssj4O}”jO}”j0OKssj O}”j4O}”j,OKssjO}”jëN}”jOKssjLO}”j=O}”jHOKssjVO}”j=O}”jOOKssj]O}”j=O}”jYOKssjgO}”jdO}”j~OKssj†O}”jdO}”j‚OKssjrO}”j†O}”j~OKssjdO}”j=O}”j`OKssjžO}”jO}”jšOKssj¯O}”jO}”j¨OKssj¶O}”jO}”j²OKssjÈO}”j¹O}”jÄOKssjÙO}”j¹O}”jÒOKssjàO}”j¹O}”jÜOKssjòO}”jãO}”jîOKssjP}”jãO}”jÿOKssj P}”j P}”j$PKssj,P}”j P}”j(PKssjP}”j,P}”j$PKssj P}”jãO}”jPKssjDP}”j5P}”j@PKssjUP}”j5P}”jNPKssj\P}”j5P}”jXPKssjnP}”j_P}”jjPKssjxP}”j_P}”jqPKssjP}”j_P}”j{PKssj‰P}”j†P}”j PKssj¨P}”j†P}”j¤PKssj”P}”j¨P}”j PKssj†P}”j_P}”j‚PKssjÀP}”j±P}”j¼PKssjÑP}”j±P}”jÊPKssjØP}”j±P}”jÔPKssj÷P}”jÛP}”jóPKssjQ}”jÛP}”jQKssjQ}”jÛP}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj Q}”jÛP}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQ}”jÛP}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQ}”jÛP}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQ}”jÛP}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjQ}”jÛP}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj)Q}”jQ}”j%QKssj3Q}”jQ}”j,QKssj:Q}”jQ}”j6QKssjSQ}”jDQ}”jOQKssjdQ}”(jDQ}”j]QKsjR}”j-RKsujkQ}”jDQ}”jgQKssj}Q}”jnQ}”jyQKssj‡Q}”jnQ}”j€QKssjŽQ}”jnQ}”jŠQKssj Q}”j˜Q}”jœQKssj˜Q}”j•Q}”j¯QKssj·Q}”j•Q}”j³QKssj£Q}”j·Q}”j¯QKssj•Q}”jnQ}”j‘QKssjÏQ}”jÀQ}”jËQKssjàQ}”(jÀQ}”jÙQKsjêQ}”jRKsujçQ}”jÀQ}”jãQKssjùQ}”jêQ}”jõQKssjR}”jêQ}”j RKssj#R}”jR}”jRKssj;R}”jR}”j7RKssjMR}”j>R}”jIRKssj^R}”j>R}”jWRKssjeR}”j>R}”jaRKssjwR}”jhR}”jsRKssj~R}”jhR}”jzRKssj¤R}”jR}”jRKssj«R}”jR}”j§RKssj¹R}”jR}”jµRKssjS}”jæR}”jûRKssj S}”jæR}”jSKssjS}”jæR}”jSKssjZS}”jDS}”jVSKssjaS}”jDS}”j]SKssjvS•}”jdS}”jrSKssj€S}”jdS}”jySKssj‡S}”jdS}”jƒSKssj•S}”jdS}”j‘SKssj˜S}”jdS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjªS}”(j›S}”j¦SKsjê­}”jõ­Ksuj±S}”(j›S}”j­SKsjê­}”jü­Ksuj»S}”(j›S}”j´SKsjê­}”j®KsujÂS}”(j›S}”j¾SKsjê­}”j ®KsujÔS}”(jÅS}”jÐSKsj®}”j®KsujÛS}”(jÅS}”j×SKsj®}”j&®KsujåS}”(jÅS}”jÞSKsj®}”j-®KsujìS}”(jÅS}”jèSKsj®}”j7®KsujT}”jïS}”j TKssjT}”jïS}”jTKssj'T}”jïS}”j#TKssj*T}”jïS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj-T}”jïS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj0T}”jïS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj3T}”jïS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj6T}”jïS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj9T}”jïS}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU}”j;U}”jUUKssj]U}”j;U}”jYUKssjIU}”j]U}”jUUKssj;U}”jU}”j7UKssjuU}”jfU}”jqUKssjU}”jfU}”jxUKssj†U}”jfU}”j‚UKssjU}”jU}”j§UKssj¯U}”jU}”j«UKssj›U}”j¯U}”j§UKssjU}”jfU}”j‰UKssjÇU}”j¸U}”jÃUKssjÑU}”j¸U}”jÊUKssjØU}”j¸U}”jÔUKssjõU}”jíU}”jñUKssjâU}”jßU}”jVKssjV}”jßU}”jVKssjíU}”jV}”jVKssjV}”jV}”jVKssjøU}”jV}”jVKssj#V}”jV}”jVKssjV}”j#V}”jVKssjßU}”j¸U}”jÛUKssj;V}”j,V}”j7VKssjEV}”j,V}”j>VKssjLV}”j,V}”jHVKssjVV}”jSV}”jmVKssu(juV}”jSV}”jqVKssjaV}”juV}”jmVKssjSV}”j,V}”jOVKssjV}”j~V}”j‰VKssj”V}”j~V}”jVKssjžV}”j~V}”j—VKssj¥V}”j~V}”j¡VKssj·V}”j¨V}”j³VKssjÁV}”j¨V}”jºVKssjÈV}”j¨V}”jÄVKssjÒV}”jÏV}”jéVKssjñV}”jÏV}”jíVKssjÝV}”jñV}”jéVKssjÏV}”j¨V}”jËVKssj W}”júV}”jWKssjW}”júV}”j WKssjW}”júV}”jWKssj$W}”j!W}”j;WKssjCW}”j!W}”j?WKssj/W}”jCW}”j;WKssj!W}”júV}”jWKssj[W}”jLW}”jWWKssjeW}”jLW}”j^WKssjlW}”jLW}”jhWKssjvW}”jsW}”jWKssj•W}”jsW}”j‘WKssjW}”j•W}”jWKssjsW}”jLW}”joWKssj­W}”jžW}”j©WKssj·W}”jžW}”j°WKssj¾W}”jžW}”jºWKssjÈW}”jÅW}”jßWKssjçW}”jÅW}”jãWKssjÓW}”jçW}”jßWKssjÅW}”jžW}”jÁWKssjÿW}”jðW}”jûWKssj X}”jðW}”jXKssjX}”jðW}”j XKssjX}”jX}”j1XKssj9X}”jX}”j5XKssj%X}”j9X}”j1XKssjX}”jðW}”jXKssjlX}”jiX}”jƒXKssj‹X}”jiX}”j‡XKssjwX}”j‹X}”jƒXKssjiX}”jBX}”jeXKssj©X}”j”X}”j¢XKssj°X}”j”X}”j¬XKssjÐX}”jºX}”jÌXKssj×X}”jºX}”jÓXKssjðX}”jÚX}”jìXKssj÷X}”jÚX}”jóXKssjY}”júX}”jYKssjY}”júX}”jYKssj5Y}”j Y}”j.YKssj[}”jX[Kssj`[}”j>[}”j\[KssjL[}”j`[}”jX[Kssj>[}”j[}”j:[Kssj~[}”ji[}”jw[Kssj…[}”ji[}”j[KssjŒ[}”ji[}”jˆ[Kssj“[}”ji[}”j[Kssj–[}”ji[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™[}”ji[}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«[}”jœ[}”j§[Kssj¼[}”jœ[}”jµ[KssjÃ[}”jœ[}”j¿[KssjÕ[}”jÆ[}”jÑ[Kssjæ[}”jÆ[}”jß[Kssjí[}”jÆ[}”jé[Kssj\}”j\}”j1\Kssj9\}”j\}”j5\Kssj%\}”j9\}”j1\Kssj\}”jð[}”j\KssjW\}”jB\}”jP\Kssj^\}”jB\}”jZ\Kssj}\}”jh\}”jv\Kssj„\}”jh\}”j€\Kssj®\}”j‘\}”jª\Kssjµ\}”j‘\}”j±\KssjÕ\}”j¸\}”jÑ\KssjÜ\}”j¸\}”jØ\Kssjô\}”jß\}”jí\Kssjû\}”jß\}”j÷\Kssj(]}”j]}”j!]Kssj/]}”j]}”j+]Kssj=]}”j]}”j9]Kssj@]}”j]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjC]}”j]}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU]}”jF]}”jQ]Kssjf]}”jF]}”j_]Kssjm]}”jF]}”ji]Kssj]}”jp]}”j{]Kssj]}”jp]}”j‰]Kssj—]}”jp]}”j“]Kssj©]}”jš]}”j¥]Kssjº]}”jš]}”j³]KssjÁ]}”jš]}”j½]KssjÖ]}”jÄ]}”jÒ]Kssjà]}”jÄ]}”jÙ]Kssjç]}”jÄ]}”jã]Kssj ^}”jñ]}”j^Kssj^}”jñ]}”j^Kssj3^}”j^}”j,^Kssj:^}”j^}”j6^Kssja^}”jD^}”j]^Kssjh^}”jD^}”jd^Kssj^}”jk^}”j}^Kssjˆ^}”jk^}”j„^Kssj ^}”j‹^}”j™^Kssj§^}”j‹^}”j£^KssjÇ^}”j±^}”jÃ^KssjÎ^}”j±^}”jÊ^Kssjí^}”jÑ^}”jæ^Kssjô^}”jÑ^}”jð^Kssj_}”jÑ^}”jþ^Kssj_}”(j_}”j_Ksj Ž}”jŽKsuj%_}”(j_}”j_Ksj Ž}”j$ŽKsuj,_}”(j_}”j(_Ksj Ž}”j.ŽKsujD_}”j/_}”j=_KssjK_}”j/_}”jG_Kssjr_}”jU_}”jn_Kssjy_}”jU_}”ju_Kssj˜_}”j|_}”j‘_KssjŸ_}”j|_}”j›_Kssj­_}”j|_}”j©_Kssj´_}”j|_}”j°_Kssj·_}”j|_}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj#`}”j`}”j`Kssj*`}”j`}”j&`KssjP`}”j4`}”jI`KssjW`}”j4`}”jS`Kssje`}”j4`}”ja`Kssjh`}”j4`}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk`}”j4`}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜`}”j•`}”jº`KssjÂ`}”j•`}”j¾`Kssj£`}”jÂ`}”jº`KssjÈ`}”jÂ`}”j¾`Kssj®`}”jÈ`}”jº`Kssj•`}”jn`}”j‘`Kssjû`}”jø`}”jaKssja}”jø`}”jaKssja}”ja}”jaKssjø`}”jÑ`}”jô`Kssj\a}”jMa}”jXaKssjca}”jMa}”j_aKssjja}”jMa}”jfaKssj‰a}”jma}”j‚aKssja}”jma}”jŒaKssjža}”jma}”jšaKssj¡a}”jma}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤a}”jma}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§a}”jma}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjªa}”jma}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæa}”j×a}”jâaKssjða}”j×a}”jéaKssj÷a}”j×a}”jóaKssjb}”jþa}”jbKssj b}”jþa}”jbKssj b}”j b}”jbKssjþa}”j×a}”júaKssjŒb}”j}b}”jˆbKssjb}”j}b}”j–bKssj¤b}”j}b}”j bKssj½b}”j§b}”j¹bKssjÄb}”j§b}”jÀbKssjãb}”jÇb}”jÜbKssjêb}”jÇb}”jæbKssjøb}”jÇb}”jôbKssjc}”jûb}”j cKssjc}”jûb}”jcKssj7c}”j!c}”j3cKssj>c}”j!c}”j:cKssj^c}”jAc}”jZcKssjec}”jAc}”jacKssj}c}”jhc}”jvcKssj„c}”jhc}”j€cKssj£c}”jŽc}”jœcKssjªc}”jŽc}”j¦cKssj¸c}”jŽc}”j´cKssjÊc}”(j»c}”jÆcKsjEd}”jPdKsjpe}”j{eKsujÑc}”(j»c}”jÍcKsjEd}”jWdKsjpe}”j‚eKsujÛc}”(j»c}”jÔcKsjEd}”j^dKsjpe}”j‰eKsujâc}”(j»c}”jÞcKsjEd}”jhdKsjpe}”j“eKsujúc}”jåc}”jócKssjd}”jåc}”jýcKssjd}”jåc}”j dKssjd}”jåc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjd}”jåc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjd}”jåc}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™d}”j–d}”j°dKssj¸d}”j–d}”j´dKssj¤d}”j¸d}”j°dKssj–d}”jod}”j’dKssjëd}”jèd}”jeKssj e}”jèd}”jeKssjöd}”j e}”jeKssjèd}”jÁd}”jädKssj(e}”je}”j!eKssj/e}”je}”j+eKssj@e}”je}”jh}”j;h}”jUhKssj]h}”j;h}”jYhKssjIh}”j]h}”jUhKssj;h}”jh}”j7hKssjÏh}”jºh}”jÈhKssjÖh}”jºh}”jÒhKssjõh}”jàh}”jîhKssjüh}”jàh}”jøhKssji}”ji}”jiKssj"i}”ji}”jiKssj>i}”j,i}”j:iKssjHi}”j,i}”jAiKssjOi}”j,i}”jKiKssjni}”jYi}”jgiKssjui}”jYi}”jqiKssjƒi}”jYi}”jiKssj†i}”jYi}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰i}”jYi}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶i}”j³i}”jÍiKssjÕi}”j³i}”jÑiKssjÁi}”jÕi}”jÍiKssj³i}”jŒi}”j¯iKssjGj}”j2j}”j@jKssjNj}”j2j}”jJjKssjmj}”jXj}”jfjKssjtj}”jXj}”jpjKssj›j}”j~j}”j—jKssj¢j}”j~j}”jžjKssjºj}”j¥j}”j³jKssjÁj}”j¥j}”j½jKssjÏj}”j¥j}”jËjKssjÒj}”j¥j}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjäj}”jÕj}”jàjKssjõj}”jÕj}”jîjKssjüj}”jÕj}”jøjKssjk}”jÿj}”j kKssjk}”jÿj}”jkKssj&k}”jÿj}”j"kKssj>k}”j)k}”j7kKssjEk}”j)k}”jAkKssjdk}”jOk}”j]kKssjkk}”jOk}”jgkKssjŠk}”juk}”jƒkKssj‘k}”juk}”jkKssj±k}”j›k}”j­kKssj¸k}”j›k}”j´kKssjÓk}”j»k}”jÌkKssjÚk}”j»k}”jÖkKssjùk}”jäk}”jòkKssjl}”jäk}”jükKssjl}”j l}”jlKssj&l}”j l}”j"lKssjEl}”j0l}”j>lKssjLl}”j0l}”jHlKssjll}”jVl}”jhlKssjsl}”jVl}”jolKssj’l}”jvl}”j‹lKssj™l}”jvl}”j•lKssj§l}”jvl}”j£lKssj®l}”jvl}”jªlKssj±l}”jvl}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj´l}”jvl}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjNm}”j5m}”jJmKssjXm}”j5m}”jQmKssj_m}”j5m}”j[mKssjmm}”j5m}”jimKssjm}”jpm}”j{mKssjm}”jpm}”j‰mKssj—m}”jpm}”j“mKssj¯m}”jšm}”j¨mKssj¶m}”jšm}”j²mKssj½m}”jšm}”j¹mKssjÄm}”jšm}”jÀmKssjÇm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÊm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÍm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÐm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÓm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÖm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÙm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÜm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjßm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjâm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjåm}”jšm}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj÷m}”jèm}”jómKssjn}”jèm}”júmKssjn}”jèm}”jnKssj!n}”jn}”jnKssj2n}”jn}”j+nKssj9n}”jn}”j5nKssjKn}”jxKssjLx}”j0x}”jHxKssjkx}”jVx}”jdxKssjrx}”jVx}”jnxKssj‘x}”j|x}”jŠxKssj˜x}”j|x}”j”xKssj¦x}”j|x}”j¢xKssj©x}”j|x}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¬x}”j|x}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¯x}”j|x}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj²x}”j|x}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjµx}”j|x}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÇx}”j¸x}”jÃxKssjØx}”j¸x}”jÑxKssjßx}”j¸x}”jÛxKssjñx}”jâx}”jíxKssjøx}”(jâx}”jôxKsj6y}”jHyKsujy}”jâx}”jûxKssj y}”jâx}”jyKssjy}”j y}”jyKssj,y}”j y}”j%yKssj3y}”j y}”j/yKssjEy}”j6y}”jAyKssjVy}”j6y}”jOyKssj]y}”j6y}”jYyKssjoy}”j`y}”jkyKssj€y}”j`y}”jyyKssj‡y}”j`y}”jƒyKssj™y}”jŠy}”j•yKssjªy}”jŠy}”j£yKssj±y}”jŠy}”j­yKssjÉy}”j´y}”jÂyKssjÐy}”j´y}”jÌyKssjÞy}”j´y}”jÚyKssjáy}”j´y}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjUz}”j8z}”jQzKssj\z}”j8z}”jXzKssjnz}”j_z}”jjzKssjuz}”j_z}”jqzKssjz}”jxz}”j†zKssj”z}”jxz}”jzKssj¢z}”jxz}”jžzKssjäz}”jÏz}”jÝzKssjëz}”jÏz}”jçzKssj{}”jõz}”j {Kssj{}”jõz}”j{Kssj?{}”j"{}”j;{KssjF{}”j"{}”jB{Kssje{}”jI{}”j^{Kssjl{}”jI{}”jh{Kssjz{}”jI{}”jv{Kssj}{}”jI{}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj€{}”jI{}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjƒ{}”jI{}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†{}”jI{}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰{}”jI{}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ{}”jI{}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž{}”j{}”jš{Kssj¨{}”j{}”j¡{Kssj¯{}”j{}”j«{Kssj¹{}”j¶{}”jÐ{KssjØ{}”j¶{}”jÔ{KssjÄ{}”jØ{}”jÐ{Kssj¶{}”j{}”j²{Kssjð{}”já{}”jì{Kssjú{}”já{}”jó{Kssj|}”já{}”jý{Kssj |}”j|}”j"|Kssj*|}”j|}”j&|Kssj|}”j*|}”j"|Kssj|}”já{}”j|KssjB|}”j3|}”j>|KssjL|}”j3|}”jE|KssjS|}”j3|}”jO|Kssj]|}”jZ|}”jt|Kssj||}”jZ|}”jx|Kssjh|}”j||}”jt|KssjZ|}”j3|}”jV|Kssj¯|}”j¬|}”jÆ|KssjÎ|}”j¬|}”jÊ|Kssjº|}”jÎ|}”jÆ|Kssj¬|}”j…|}”j¨|Kssjæ|}”j×|}”jâ|Kssj÷|}”j×|}”jð|Kssjþ|}”j×|}”jú|Kssj+}}”j(}}”jB}KssjJ}}”j(}}”jF}Kssj6}}”jJ}}”jB}Kssj(}}”j}}”j$}Kssjb}}”jS}}”j^}Kssjs}}”jS}}”jl}Kssjz}}”jS}}”jv}Kssj“}}”j}}}”j}Kssjš}}”j}}}”j–}Kssj¬}}”j}}”j¨}Kssj³}}”j}}”j¯}KssjÅ}}”j¶}}”jÁ}KssjÌ}}”j¶}}”jÈ}KssjÓ}}”j¶}}”jÏ}Kssjò}}”jÖ}}”jë}Kssjù}}”jÖ}}”jõ}Kssj~}”jÖ}}”j~Kssj ~}”jÖ}}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj ~}”jÖ}}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~}”jÖ}}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj~}”jÖ}}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj%~}”j~}”j!~Kssj6~}”j~}”j/~Kssj=~}”j~}”j9~Kssj”~}”j‘~}”j«~Kssj³~}”j‘~}”j¯~KssjŸ~}”j³~}”j«~Kssj‘~}”jj~}”j~Kssjæ~}”jã~}”jý~Kssj}”jã~}”jKssjñ~}”j}”jý~Kssjã~}”j¼~}”jß~KssjU}”j8}”jQKssj\}”j8}”jXKssj‚}”j_}”j{Kssj‰}”j_}”j…Kssj°}”j“}”j¬Kssj·}”j“}”j³KssjÏ}”jº}”jÈKssjÖ}”jº}”jÒKssj€}”jà}”jüKssj €}”jà}”j€Kssj*€}”j€}”j&€Kssj1€}”j€}”j-€KssjI€}”j4€}”jB€KssjP€}”j4€}”jL€Kssjw€}”jZ€}”js€Kssj~€}”jZ€}”jz€Kssjž€}”j€}”jš€Kssj¥€}”j€}”j¡€KssjÄ€}”j¨€}”j½€KssjË€}”j¨€}”jÇ€KssjÙ€}”j¨€}”jÕ€KssjÜ€}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj߀}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjâ€}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjå€}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjè€}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjë€}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjî€}”j¨€}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jñ€}”jü€Kssj }”jñ€}”jKssj}”jñ€}”j Kssj}”j}”j=KssjE}”j}”jAKssj&}”jE}”j=KssjK}”jE}”jAKssj1}”jK}”j=Kssj}”jñ€}”jKssjc}”jT}”j_Kssjt}”jT}”jmKssj{}”jT}”jwKssj}”j~}”j‰Kssjž}”j~}”j—Kssj¥}”j~}”j¡Kssj·}”j¨}”j³KssjÈ}”j¨}”jÁKssjÏ}”j¨}”jËKssjü}”jù}”j‚Kssj‚}”jù}”j‚Kssj‚}”j‚}”j‚Kssjù}”jÒ}”jõKssj3‚}”j$‚}”j/‚KssjD‚}”j$‚}”j=‚KssjK‚}”j$‚}”jG‚Kssjx‚}”ju‚}”j‚Kssj—‚}”ju‚}”j“‚Kssjƒ‚}”j—‚}”j‚Kssju‚}”jN‚}”jq‚Kssjê‚}”jÊ‚}”jæ‚Kssjñ‚}”jÊ‚}”jí‚Kssj ƒ}”jô‚}”jƒKssjƒ}”jô‚}”j ƒKssjƒ}”jô‚}”jƒKssj!ƒ}”jô‚}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj3ƒ}”j$ƒ}”j/ƒKssjDƒ}”(j$ƒ}”j=ƒKsjNƒ}”jgƒKsujKƒ}”j$ƒ}”jGƒKssj]ƒ}”jNƒ}”jYƒKssjuƒ}”jNƒ}”jqƒKssjŽƒ}”jxƒ}”jŠƒKssj•ƒ}”jxƒ}”j‘ƒKssjµƒ}”j˜ƒ}”j±ƒKssj¼ƒ}”j˜ƒ}”j¸ƒKssjÔƒ}”j¿ƒ}”j̓KssjÛƒ}”j¿ƒ}”j׃Kssjôƒ}”jåƒ}”jðƒKssjûƒ}”jåƒ}”j÷ƒKssj„}”(jþƒ}”j„Ksj+„}”j@„KsjX„}”jt„KsjÁ…}”jÖ…Ksjî…}”j†Ksj†}”j0†KsjH†}”j]†Ksju†}”jІKsj¢†}”j·†Ksj‡}”j‡Ksuj!„}”jþƒ}”j„Kssj(„}”(jþƒ}”j$„Ksj+„}”jQ„KsjX„}”j…„KsjÁ…}”jç…Ksj†}”jA†KsjH†}”jn†Ksju†}”j›†Ksj¢†}”jȆKsj‡}”j)‡KsujN„}”j+„}”jJ„Kssj‚„}”jX„}”j~„Kssj„}”jX„}”jŒ„Kssj“„}”jX„}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj–„}”jX„}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj™„}”jX„}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjœ„}”jX„}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj®„}”jŸ„}”jª„Kssj¿„}”jŸ„}”j¸„KssjÆ„}”jŸ„}”j„KssjØ„}”jÉ„}”jÔ„Kssjâ„}”jÉ„}”jÛ„Kssjé„}”jÉ„}”jå„Kssjó„}”jð„}”j …Kssj…}”jð„}”j…Kssjþ„}”j…}”j …Kssjð„}”jÉ„}”jì„KssjE…}”jB…}”j\…Kssjd…}”jB…}”j`…KssjP…}”jd…}”j\…KssjB…}”j…}”j>…Kssj|…}”jm…}”jx…Kssj…}”jm…}”j†…Kssj”…}”jm…}”j…Kssj¦…}”j—…}”j¢…Kssj°…}”j—…}”j©…Kssj·…}”j—…}”j³…Kssjä…}”jÁ…}”jà…Kssj†}”jî…}”j †Kssj>†}”j†}”j:†Kssjk†}”jH†}”jg†Kssj˜†}”ju†}”j”†Kssjņ}”j¢†}”jÁ†Kssjò†}”jφ}”jë†Kssjù†}”jφ}”jõ†Kssj&‡}”j‡}”j"‡Kssj?‡}”j0‡}”j;‡KssjF‡}”j0‡}”jB‡KssjX‡}”jI‡}”jT‡Kssj_‡}”jI‡}”j[‡Kssjw‡}”jb‡}”jp‡Kssj~‡}”jb‡}”jz‡KssjŒ‡}”jb‡}”jˆ‡Kssj‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj§‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjª‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj°‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj³‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¶‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¹‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¼‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¿‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŇ}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjȇ}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjˇ}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj·}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjч}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÔ‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjׇ}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÚ‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj݇}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjà‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjã‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjæ‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjé‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjì‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjï‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjò‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjõ‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjø‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjû‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjþ‡}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjˆ}”jb‡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjˆ}”jˆ}”jˆKssj$ˆ}”jˆ}”jˆKssj+ˆ}”jˆ}”j'ˆKssj=ˆ}”j.ˆ}”j9ˆKssjGˆ}”j.ˆ}”j@ˆKssjNˆ}”j.ˆ}”jJˆKssjXˆ}”jUˆ}”jzˆKssj‚ˆ}”jUˆ}”j~ˆKssjcˆ}”j‚ˆ}”jzˆKssjˆˆ}”j‚ˆ}”j~ˆKssjnˆ}”jˆˆ}”jzˆKssjUˆ}”j.ˆ}”jQˆKssjʈ}”j»ˆ}”jƈKssjÛˆ}”j»ˆ}”jÔˆKssjâˆ}”j»ˆ}”jÞˆKssjôˆ}”jåˆ}”jðˆKssj‰}”jåˆ}”jþˆKssj ‰}”jåˆ}”j‰Kssj‰}”j‰}”j‰Kssj(‰}”j‰}”j!‰Kssj/‰}”j‰}”j+‰Kssj9‰}”j6‰}”jP‰KssjX‰}”j6‰}”jT‰KssjD‰}”jX‰}”jP‰Kssj6‰}”j‰}”j2‰Kssjp‰}”ja‰}”jl‰Kssj‰}”ja‰}”jz‰Kssjˆ‰}”ja‰}”j„‰Kssjš‰}”j‹‰}”j–‰Kssj«‰}”j‹‰}”j¤‰Kssj²‰}”j‹‰}”j®‰Kssjĉ}”jµ‰}”jÀ‰KssjÕ‰}”jµ‰}”jΉKssj܉}”jµ‰}”j؉Kssjî‰}”j߉}”jê‰Kssjÿ‰}”j߉}”jø‰KssjŠ}”j߉}”jŠKssj3Š}”j0Š}”jUŠKssj]Š}”j0Š}”jYŠKssj>Š}”j]Š}”jUŠKssjcŠ}”j]Š}”jYŠKssjIŠ}”jcŠ}”jUŠKssj0Š}”j Š}”j,ŠKssj{Š}”jlŠ}”jwŠKssjŒŠ}”jlŠ}”j…ŠKssj“Š}”jlŠ}”jŠKssj¥Š}”j–Š}”j¡ŠKssj¯Š}”j–Š}”j¨ŠKssj¶Š}”j–Š}”j²ŠKssjÀŠ}”j½Š}”jâŠKssjêŠ}”j½Š}”jæŠKssjËŠ}”jêŠ}”jâŠKssjðŠ}”jêŠ}”jæŠKssjÖŠ}”jðŠ}”jâŠKssj½Š}”j–Š}”j¹ŠKssj‹}”jùŠ}”j‹Kssj‹}”jùŠ}”j‹Kssj ‹}”jùŠ}”j‹Kssj2‹}”j#‹}”j.‹KssjC‹}”(j#‹}”j<‹Ksj[}”jtKsujJ‹}”j#‹}”jF‹Kssj\‹}”jM‹}”jX‹Kssjf‹}”jM‹}”j_‹Kssjm‹}”jM‹}”ji‹Kssjw‹}”jt‹}”jŽ‹Kssj–‹}”jt‹}”j’‹Kssj‚‹}”j–‹}”jŽ‹Kssjt‹}”jM‹}”jp‹Kssj®‹}”jŸ‹}”jª‹Kssj¸‹}”jŸ‹}”j±‹Kssj¿‹}”jŸ‹}”j»‹KssjÉ‹}”jÆ‹}”jà‹Kssjè‹}”jÆ‹}”jä‹KssjÔ‹}”jè‹}”jà‹KssjÆ‹}”jŸ‹}”j‹KssjŒ}”jñ‹}”jü‹Kssj Œ}”jñ‹}”jŒKssjŒ}”jñ‹}”j ŒKssjŒ}”jŒ}”j2ŒKssj:Œ}”jŒ}”j6ŒKssj&Œ}”j:Œ}”j2ŒKssjŒ}”jñ‹}”jŒKssjRŒ}”jCŒ}”jNŒKssj\Œ}”jCŒ}”jUŒKssjcŒ}”jCŒ}”j_ŒKssjmŒ}”jjŒ}”j„ŒKssjŒŒ}”jjŒ}”jˆŒKssjxŒ}”jŒŒ}”j„ŒKssjjŒ}”jCŒ}”jfŒKssj¤Œ}”j•Œ}”j ŒKssj®Œ}”j•Œ}”j§ŒKssjµŒ}”j•Œ}”j±ŒKssj¿Œ}”j¼Œ}”jÖŒKssjÞŒ}”j¼Œ}”jÚŒKssjÊŒ}”jÞŒ}”jÖŒKssj¼Œ}”j•Œ}”j¸ŒKssjöŒ}”jçŒ}”jòŒKssj}”jçŒ}”jKssj}”jçŒ}”j Kssjt}”je}”jpKssj~}”je}”jwKssj…}”je}”jKssj}”jŒ}”j¦Kssj®}”jŒ}”jªKssjš}”j®}”j¦KssjŒ}”je}”jˆKssjÆ}”j·}”jÂKssj×}”j·}”jÐKssjÞ}”j·}”jÚKssjð}”já}”jìKssjŽ}”já}”júKssjŽ}”já}”jŽKssjDŽ}”j5Ž}”j@ŽKssjUŽ}”j5Ž}”jNŽKssj\Ž}”j5Ž}”jXŽKssjnŽ}”j_Ž}”jjŽKssjŽ}”j_Ž}”jxŽKssj†Ž}”j_Ž}”j‚ŽKssj˜Ž}”j‰Ž}”j”ŽKssj©Ž}”j‰Ž}”j¢ŽKssj°Ž}”j‰Ž}”j¬ŽKssjÂŽ}”j³Ž}”j¾ŽKssjÉŽ}”j³Ž}”jÅŽKssjÓŽ}”j³Ž}”jÌŽKssjÚŽ}”j³Ž}”jÖŽKssjìŽ}”jÝŽ}”jèŽKssjýŽ}”jÝŽ}”jöŽKssj}”jÝŽ}”jKssj}”j}”jKssj'}”j}”j Kssj.}”j}”j*Kssj@}”j1}”j<KssjQ}”j1}”jJKssjX}”j1}”jTKssjj}”j[}”jfKssj‚}”j[}”j~Kssj”}”j…}”jKssjž}”j…}”j—Kssj¥}”j…}”j¡Kssj¯}”j¬}”jÆKssjÎ}”j¬}”jÊKssjº}”jÎ}”jÆKssj¬}”j…}”j¨Kssjæ}”j×}”jâKssjð}”j×}”jéKssj÷}”j×}”jóKssj}”jþ}”jKssj }”jþ}”jKssj }”j }”jKssjþ}”j×}”júKssj8}”j)}”j4KssjB}”j)}”j;KssjI}”j)}”jEKssjS}”jP}”juKssj}}”jP}”jyKssj^}”j}}”juKssjƒ}”j}}”jyKssji}”jƒ}”juKssjP}”j)}”jLKssj›}”jŒ}”j—Kssj¬}”jŒ}”j¥Kssj³}”jŒ}”j¯KssjÅ}”j¶}”jÁKssjÖ}”j¶}”jÏKssjÝ}”j¶}”jÙKssjü}”jà}”jõKssj‘}”jà}”jÿKssj‘}”jà}”j ‘Kssj‘}”jà}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‘}”jà}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj)‘}”j‘}”j%‘Kssj:‘}”j‘}”j3‘KssjA‘}”j‘}”j=‘Kssjn‘}”jk‘}”j…‘Kssj‘}”jk‘}”j‰‘Kssjy‘}”j‘}”j…‘Kssjk‘}”jD‘}”jg‘Kssj¥‘}”j–‘}”j¡‘Kssj¶‘}”j–‘}”j¯‘Kssj½‘}”j–‘}”j¹‘KssjÏ‘}”jÀ‘}”jË‘KssjÖ‘}”jÀ‘}”jÒ‘Kssjõ‘}”jÙ‘}”jî‘Kssjü‘}”jÙ‘}”jø‘Kssj"’}”j’}”j’Kssj)’}”j’}”j%’KssjH’}”j3’}”jA’KssjO’}”j3’}”jK’Kssjn’}”jY’}”jg’Kssju’}”jY’}”jq’Kssj|’}”jY’}”jx’Kssj†’}”jY’}”j‚’Kssj‰’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssu(j˜’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjž’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¡’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj¤’}”jY’}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj “}”(jû’}”j“Ksjæ•}”jñ•Ksuj“}”(jû’}”j“Ksjæ•}”jÿ•Ksuj"“}”(jû’}”j“Ksjæ•}”j –Ksujˆ“}”(jy“}”j„“Ksjo—}”jz—Ksuj’“}”(jy“}”j‹“Ksjo—}”j—Ksuj™“}”(jy“}”j•“Ksjo—}”j‹—Ksuj£“}”j “}”jÅ“KssjÍ“}”j “}”jÉ“Kssj®“}”jÍ“}”jÅ“KssjÓ“}”jÍ“}”jÉ“Kssj¹“}”jÓ“}”jÅ“Kssj “}”jy“}”jœ“Kssjë“}”jÜ“}”jç“Kssjò“}”jÜ“}”jî“Kssjü“}”jÜ“}”jõ“Kssj”}”jÜ“}”jÿ“Kssj”}”j”}”j”Kssj&”}”j”}”j”Kssj-”}”j”}”j)”KssjZ”}”jW”}”jq”Kssjy”}”jW”}”ju”Kssje”}”jy”}”jq”KssjW”}”j0”}”jS”Kssj‘”}”(j‚”}”j”Ksj¢˜}”j­˜Ksuj¢”}”(j‚”}”j›”Ksj¢˜}”j»˜Ksuj©”}”(j‚”}”j¥”Ksj¢˜}”jŘKsujë”}”jÖ”}”jä”Kssjò”}”jÖ”}”jî”Kssj•}”jü”}”j •Kssj•}”jü”}”j•Kssj&•}”jü”}”j"•Kssj)•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj,•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj>•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjA•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjD•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjG•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjJ•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjM•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjP•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjY•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj_•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssje•}”jü”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj6—}”j3—}”jX—Kssj`—}”j3—}”j\—KssjA—}”j`—}”jX—Kssjf—}”j`—}”j\—KssjL—}”jf—}”jX—Kssj3—}”j —}”j/—Kssj™—}”j–—}”j»—Kssj×}”j–—}”j¿—Kssj¤—}”j×}”j»—KssjÉ—}”j×}”j¿—Kssj¯—}”jÉ—}”j»—Kssj–—}”jo—}”j’—Kssjü—}”jù—}”j˜Kssj˜}”jù—}”j˜Kssj˜}”j˜}”j˜Kssjù—}”jÒ—}”jõ—KssjJ™}”jG™}”ja™Kssji™}”jG™}”je™KssjU™}”ji™}”ja™KssjG™}”j ™}”jC™Kssjâ™}”jÆ™}”jÛ™Kssjé™}”jÆ™}”jå™Kssj÷™}”jÆ™}”jó™Kssjú™}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjý™}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj š}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj š}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjš}”jÆ™}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj“š}”jš}”jªšKssj²š}”jš}”j®šKssjžš}”j²š}”jªšKssjš}”jiš}”jŒšKssj9›}”j6›}”jP›KssjX›}”j6›}”jT›KssjD›}”jX›}”jP›Kssj6›}”j›}”j2›KssjÄ›}”jµ›}”jÀ›KssjÕ›}”jµ›}”jΛKssjÜ›}”jµ›}”jØ›Kssjî›}”jß›}”jê›Kssjÿ›}”jß›}”jø›Kssjœ}”jß›}”jœKssjœ}”j œ}”jœKssj%œ}”j œ}”j!œKssjEœ}”j/œ}”jAœKssjLœ}”j/œ}”jHœKssjrœ}”jOœ}”jkœKssjyœ}”jOœ}”juœKssj™œ}”jƒœ}”j•œKssj œ}”jƒœ}”jœœKssj¸œ}”j£œ}”j±œKssj¿œ}”j£œ}”j»œKssjÛœ}”jÉœ}”jלKssjåœ}”jÉœ}”jÞœKssjìœ}”jÉœ}”jèœKssjúœ}”jÉœ}”jöœKssjýœ}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jÉœ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj0}”j!}”j,Kssj:}”j!}”j3KssjA}”j!}”j=KssjK}”jH}”jbKssjj}”jH}”jfKssjV}”jj}”jbKssjH}”j!}”jDKssj‚}”js}”j~KssjŒ}”js}”j…Kssj“}”js}”jKssj}”jš}”j´Kssj¼}”jš}”j¸Kssj¨}”j¼}”j´Kssjš}”js}”j–KssjÔ}”jÅ}”jÐKssjÞ}”jÅ}”j×Kssjå}”jÅ}”jáKssjï}”jì}”jžKssjž}”jì}”j žKssjú}”jž}”jžKssjì}”jÅ}”jèKssjPž}”jAž}”jLžKssjZž}”jAž}”jSžKssjaž}”jAž}”j]žKssjkž}”jhž}”j‚žKssjŠž}”jhž}”j†žKssjvž}”jŠž}”j‚žKssjhž}”jAž}”jdžKssjçž}”jäž}”jþžKssjŸ}”jäž}”jŸKssjòž}”jŸ}”jþžKssjäž}”j½ž}”jàžKssj9Ÿ}”j6Ÿ}”jPŸKssjXŸ}”j6Ÿ}”jTŸKssjDŸ}”jXŸ}”jPŸKssj6Ÿ}”jŸ}”j2ŸKssjîŸ}”jߟ}”jêŸKssjøŸ}”jߟ}”jñŸKssjÿŸ}”jߟ}”jûŸKssj  }”j }”j  Kssj( }”j }”j$ Kssj }”j( }”j  Kssj }”jߟ}”j Kssj[ }”jX }”jr Kssjz }”jX }”jv Kssjf }”jz }”jr KssjX }”j1 }”jT KssjŸ }”jƒ }”j˜ Kssj¦ }”jƒ }”j¢ KssjÅ }”j° }”j¾ KssjÌ }”j° }”jÈ Kssjë }”jÖ }”jä Kssjò }”jÖ }”jî Kssjù }”jÖ }”jõ Kssj¡}”jÖ }”jü Kssj¡}”j¡}”j¡Kssj#¡}”j¡}”j¡Kssj*¡}”j¡}”j&¡KssjB¡}”j-¡}”j;¡KssjI¡}”j-¡}”jE¡Kssjh¡}”jS¡}”ja¡Kssjo¡}”jS¡}”jk¡KssjŽ¡}”jy¡}”j‡¡Kssj•¡}”jy¡}”j‘¡Kssj´¡}”jŸ¡}”j­¡Kssj»¡}”jŸ¡}”j·¡KssjÚ¡}”jÅ¡}”jÓ¡Kssjá¡}”jÅ¡}”jÝ¡Kssj¢}”jë¡}”j¢Kssj¢}”jë¡}”j ¢Kssj¢}”jë¡}”j¢Kssj¢}”jë¡}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj1¢}”j"¢}”j-¢KssjB¢}”j"¢}”j;¢KssjI¢}”j"¢}”jE¢Kssj[¢}”jL¢}”jW¢Kssjb¢}”jL¢}”j^¢Kssjl¢}”jL¢}”je¢Kssjs¢}”jL¢}”jo¢Kssj’¢}”jv¢}”j‹¢Kssj™¢}”jv¢}”j•¢Kssj¸¢}”j£¢}”j±¢Kssj¿¢}”j£¢}”j»¢KssjÞ¢}”jÉ¢}”j×¢Kssjå¢}”jÉ¢}”já¢Kssj£}”jï¢}”jý¢Kssj £}”jï¢}”j£Kssj£}”jï¢}”j£Kssj£}”(j£}”j£Ksj<£}”j@£Ksjc£}”jg£KsjŠ£}”jŽ£Ksj±£}”jµ£KsjØ£}”jÜ£Ksjÿ£}”j¤Ksj&¤}”j*¤KsjM¤}”jQ¤Ksjt¤}”jx¤KsjϤ}”jÓ¤Ksjö¤}”jú¤Ksuj2£}”j£}”j.£Kssj9£}”j£}”j5£KssjY£}”j<£}”jU£Kssj`£}”j<£}”j\£Kssj€£}”jc£}”j|£Kssj‡£}”jc£}”jƒ£Kssj§£}”jŠ£}”j££Kssj®£}”jŠ£}”jª£KssjΣ}”j±£}”jÊ£KssjÕ£}”j±£}”jÑ£Kssjõ£}”jØ£}”jñ£Kssjü£}”jØ£}”jø£Kssj¤}”jÿ£}”j¤Kssj#¤}”jÿ£}”j¤KssjC¤}”j&¤}”j?¤KssjJ¤}”j&¤}”jF¤Kssjj¤}”jM¤}”jf¤Kssjq¤}”jM¤}”jm¤Kssj‘¤}”jt¤}”j¤Kssj˜¤}”jt¤}”j”¤Kssj¾¤}”j›¤}”j·¤KssjŤ}”j›¤}”jÁ¤Kssjì¤}”jϤ}”jè¤Kssjó¤}”jϤ}”jï¤Kssj¥}”jö¤}”j¥Kssj¥}”jö¤}”j¥Kssj%¥}”(j¥}”j!¥KsjD¥}”jH¥KsjŸ¥}”j£¥KsjÆ¥}”jÊ¥Ksjí¥}”jñ¥Ksj¦}”j¦Ksj;¦}”j?¦Ksjb¦}”jf¦Ksj‰¦}”j¦Ksj°¦}”j´¦Ksjצ}”jÛ¦Ksjþ¦}”j§Ksj%§}”j)§KsjL§}”jP§Ksjs§}”jw§Ksjš§}”jž§KsjÁ§}”jŧKsuj:¥}”j¥}”j6¥KssjA¥}”j¥}”j=¥Kssja¥}”jD¥}”j]¥Kssjh¥}”jD¥}”jd¥KssjŽ¥}”jk¥}”j‡¥Kssj•¥}”jk¥}”j‘¥Kssj¼¥}”jŸ¥}”j¸¥KssjÃ¥}”jŸ¥}”j¿¥Kssjã¥}”jÆ¥}”jߥKssjê¥}”jÆ¥}”jæ¥Kssj ¦}”jí¥}”j¦Kssj¦}”jí¥}”j ¦Kssj1¦}”j¦}”j-¦Kssj8¦}”j¦}”j4¦KssjX¦}”j;¦}”jT¦Kssj_¦}”j;¦}”j[¦Kssj¦}”jb¦}”j{¦Kssj†¦}”jb¦}”j‚¦Kssj¦¦}”j‰¦}”j¢¦Kssj­¦}”j‰¦}”j©¦Kssjͦ}”j°¦}”jɦKssjÔ¦}”j°¦}”jЦKssjô¦}”jצ}”jð¦Kssjû¦}”jצ}”j÷¦Kssj§}”jþ¦}”j§Kssj"§}”jþ¦}”j§KssjB§}”j%§}”j>§KssjI§}”j%§}”jE§Kssji§}”jL§}”je§Kssjp§}”jL§}”jl§Kssj§}”js§}”jŒ§Kssj—§}”js§}”j“§Kssj·§}”jš§}”j³§Kssj¾§}”jš§}”jº§KssjÞ§}”jÁ§}”jÚ§Kssjå§}”jÁ§}”já§Kssjð§}”(jè§}”jì§Ksj¨}”j¨Ksj6¨}”j:¨Ksj]¨}”ja¨Ksj„¨}”jˆ¨Ksj«¨}”j¯¨Ksj©}”j ©Ksj-©}”j1©KsjT©}”jX©Ksj{©}”j©Ksj¢©}”j¦©KsjÉ©}”jÍ©Ksjð©}”jô©Ksjª}”jªKsuj¨}”jè§}”j¨Kssj ¨}”jè§}”j¨Kssj,¨}”j¨}”j(¨Kssj3¨}”j¨}”j/¨KssjS¨}”j6¨}”jO¨KssjZ¨}”j6¨}”jV¨Kssjz¨}”j]¨}”jv¨Kssj¨}”j]¨}”j}¨Kssj¡¨}”j„¨}”j¨Kssj¨¨}”j„¨}”j¤¨KssjȨ}”j«¨}”jĨKssjϨ}”j«¨}”j˨Kssjõ¨}”jÒ¨}”jî¨Kssjü¨}”jÒ¨}”jø¨Kssj#©}”j©}”j©Kssj*©}”j©}”j&©KssjJ©}”j-©}”jF©KssjQ©}”j-©}”jM©Kssjq©}”jT©}”jm©Kssjx©}”jT©}”jt©Kssj˜©}”j{©}”j”©KssjŸ©}”j{©}”j›©Kssj¿©}”j¢©}”j»©KssjÆ©}”j¢©}”j©Kssjæ©}”jÉ©}”jâ©Kssjí©}”jÉ©}”jé©Kssj ª}”jð©}”j ªKssjª}”jð©}”jªKssj4ª}”jª}”j0ªKssj;ª}”jª}”j7ªKssjWª}”j>ª}”jSªKssjaª}”j>ª}”jZªKssjhª}”j>ª}”jdªKssjvª}”j>ª}”jrªKssjˆª}”jyª}”j„ªKssj’ª}”jyª}”j‹ªKssj™ª}”jyª}”j•ªKssj£ª}”j ª}”jºªKssjª}”j ª}”j¾ªKssj®ª}”jª}”jºªKssj ª}”jyª}”jœªKssjàª}”j˪}”jÙªKssjçª}”j˪}”jãªKssjõª}”j˪}”jñªKssj«}”jøª}”j«Kssj«}”jøª}”j«Kssj«}”jøª}”j«Kssj;«}”j"«}”j7«KssjE«}”j"«}”j>«KssjL«}”j"«}”jH«Kssjk«}”jV«}”jd«Kssjr«}”jV«}”jn«Kssj€«}”jV«}”j|«Kssjƒ«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj†«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj‰«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj’«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj•«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj˜«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj›«}”jV«}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj­«}”jž«}”j©«Kssj·«}”jž«}”j°«Kssj¾«}”jž«}”jº«KssjЫ}”jÈ«}”jÌ«KssjÈ«}”jÅ«}”jß«Kssjç«}”jÅ«}”jã«KssjÓ«}”jç«}”jß«KssjÅ«}”jž«}”jÁ«Kssjÿ«}”jð«}”jû«Kssj¬}”jð«}”j ¬Kssj¬}”jð«}”j¬Kssj)¬}”j¬}”j%¬Kssj:¬}”j¬}”j3¬KssjA¬}”j¬}”j=¬KssjS¬}”jD¬}”jO¬Kssjd¬}”jD¬}”j]¬Kssjk¬}”jD¬}”jg¬Kssj}¬}”jn¬}”jy¬Kssj‡¬}”jn¬}”j€¬Kssjެ}”jn¬}”jЬKssj§¬}”j˜¬}”j£¬Kssj±¬}”j˜¬}”jª¬Kssj¸¬}”j˜¬}”j´¬Kssj¬}”j¿¬}”jÙ¬Kssjá¬}”j¿¬}”jݬKssjͬ}”já¬}”jÙ¬Kssj¿¬}”j˜¬}”j»¬Kssjù¬}”jê¬}”jõ¬Kssj­}”jê¬}”jü¬Kssj ­}”jê¬}”j­Kssj#­}”j­}”j­Kssj-­}”j­}”j&­Kssj4­}”j­}”j0­Kssjh­}”je­}”j­Kssj‡­}”je­}”jƒ­Kssjs­}”j‡­}”j­Kssje­}”j>­}”ja­KssjŸ­}”j­}”j›­Kssj°­}”j­}”j©­Kssj·­}”j­}”j³­KssjÏ­}”jº­}”jÈ­KssjÖ­}”jº­}”jÒ­Kssjä­}”jº­}”jà­Kssjç­}”jº­}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS®}”j>®}”jL®KssjZ®}”j>®}”jV®Kssjh®}”j>®}”jd®Kssj¤®}”j•®}”j ®Kssj«®}”j•®}”j§®Kssj²®}”j•®}”j®®KssjË®}”jµ®}”jÇ®KssjÒ®}”jµ®}”jήKssjë®}”jÕ®}”jç®Kssjò®}”jÕ®}”jî®Kssj ¯}”jõ®}”j¯Kssj¯}”jõ®}”j ¯Kssj0¯}”j¯}”j)¯Kssj7¯}”j¯}”j3¯KssjE¯}”j¯}”jA¯KssjW¯}”jH¯}”jS¯Kssjh¯}”jH¯}”ja¯Kssjo¯}”jH¯}”jk¯Kssj‡¯}”jr¯}”j€¯Kssjޝ}”jr¯}”jНKssj®¯}”j˜¯}”jª¯Kssjµ¯}”j˜¯}”j±¯KssjÛ¯}”j¸¯}”jÔ¯Kssjâ¯}”j¸¯}”jÞ¯Kssjé¯}”j¸¯}”jå¯Kssjð¯}”j¸¯}”jì¯Kssjó¯}”j¸¯}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj °}”j°}”j7°Kssj?°}”j°}”j;°Kssj+°}”j?°}”j7°Kssj°}”jö¯}”j°Kssj„°}”jr°}”j€°Kssjް}”jr°}”j‡°Kssj•°}”jr°}”j‘°Kssj´°}”jŸ°}”j­°Kssj»°}”jŸ°}”j·°Kssjɰ}”jŸ°}”jŰKssj̰}”jŸ°}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjù°}”jö°}”j±Kssj±}”jö°}”j±Kssj±}”j±}”j±Kssjö°}”jϰ}”jò°KssjZ±}”jK±}”jV±Kssja±}”jK±}”j]±Kssj‡±}”jd±}”j€±Kssjޱ}”jd±}”jбKssj®±}”j˜±}”jª±Kssjµ±}”j˜±}”j±±KssjDZ}”j¸±}”jñKssjα}”j¸±}”jʱKssjæ±}”jѱ}”jß±Kssjí±}”jѱ}”jé±KssuŒ_Memory__namespace”}”(Œowl”hŒhttp://www.w3.org/2002/07/owl#”…”R”Œrdf”hŒ+http://www.w3.org/1999/02/22-rdf-syntax-ns#”…”R”Œrdfs”hŒ%http://www.w3.org/2000/01/rdf-schema#”…”R”Œxsd”hŒ!http://www.w3.org/2001/XMLSchema#”…”R”Œxml”hŒ$http://www.w3.org/XML/1998/namespace”…”R”Œschema”hŒhttp://schema.org/”…”R”Œsh”hŒhttp://www.w3.org/ns/shacl#”…”R”uŒ_Memory__prefix”}”(jBj?jFjCjJjGjNjKjRjOjVjSjZjWuŒ_Memory__context_obj_map”}”Œ#URIRef:http://datashapes.org/schema”Œ rdflib.graph”ŒGraph”“”hh†”R”sŒ_Memory__tripleContexts”}”Œ_Memory__contextTriples”}”(N”(j«½j£:j⽇”j $j$j$‡”jë$j-Nj/%‡”jbjtj{‡”j:j:j:‡”j€çj˜çjœç‡”jíÉjÊj ʇ”j:-jR-jV-‡”jëùjïùjóù‡”jLyjoyjsy‡”j±:j¡:j·:‡”jñ‹jŒj Œ‡”jÒ¨jø¨jü¨‡”jiÕjmÕjqÕ‡”j„jˆjŒ‡”jÖ jõ jù ‡”jð„j …j󄇔jiFj{FjF‡”jj5j9‡”jBîjFîjJjbj:ïjm‡”jmOj{Oj‚O‡”j+¶j/¶j3¶‡”j×0jé0jí0‡”ji[j~òjt[‡”j´jÂjɇ”joj•j™‡”j¬Fj·Fj»F‡”j›ßj¦ßjªß‡”jJ‡j\‡jc‡‡”je2jZíjp2‡”jyæj’æj™æ‡”j¥jj©jj­j‡”jc²j_²ji²‡”jíej fjf‡”j‰BjBj‘B‡”jÍÕjìÕjðÕ‡”jÖÕj{2jüÕ‡”j Hj?HjCH‡”j‡ jª j® ‡”jŸ¡j£¡j§¡‡”jD<j`<jd<‡”j}Èj›ÈjŸÈ‡”j‘j°j´‡”j†»jŠ»jŽ»‡”jôÌjÍj͇”jÕÍjàÍjä͇”jƒ j‘ j• ‡”jÁhjÌhjÐh‡”j"Oj&Oj*O‡”js˜j˜j“˜‡”j2;j_;jc;‡”jJžjcžjjž‡”j#DjjB‡”júyjzj!z‡”jø®j!¯j%¯‡”jd?jj˜?‡”jç÷jù÷jý÷‡”jü”jœŒjY•‡”jæjêjj:j:j:‡”j%\j)\j-\‡”jxzjzj”z‡”j‘ój£ój§ó‡”j«aj¯aj³a‡”jð©jô©jø©‡”jJÑjNÑjRч”jâ=j>j >‡”j-–jP–jT–‡”jNfjqfjuf‡”jáj áj$ᇔj]j6]j:]‡”j‰j‰j‰‡”j¤³j¨³j¬³‡”j)-j&èj7-‡”jêjêjꇔj/j3j7‡”jÛŽjߎj㎇”jŒj0jYŒ‡”jùLjMjM‡”j7j;j?‡”j‹j–jš‡”jÃjÖïj"Ç”j«9jÃ9jÇ9‡”j+j/j3‡”j¾WjÌWjÐW‡”j=]jA]jE]‡”jÈØjÌØjÐØ‡”jÛ;j×;já;‡”jå;j÷;jû;‡”jPœjhœjlœ‡”jÓ{jù{jý{‡”jççjõçjü燔j̘jטjÛ˜‡”j¯´jØ´jÜ´‡”j×µjúµjþµ‡”jãojÎîjîo‡”jñ}jí}j÷}‡”j3Çj7Çj;LJ”jŒj—j›‡”j¡¹j³¹j·¹‡”jª:jÆ:jÍ:‡”j‘Üj•Üj™Ü‡”j¹j@¹jD¹‡”j·øj»øj¿ø‡”jt%j’%j–%‡”jï?jó?j÷?‡”jì<j=j=‡”jŸÏj¸Ïj¿Ï‡”jêj êjꇔjjj‡”jKjKjK‡”jãjj‡”jöjjù‡”j$Ñj(Ñj,ч”jŸLj£Lj§L‡”j§JjÔJjØJ‡”j¸/jÑ/jØ/‡”j‡j)‡j-‡‡”jEÐjWÐj[Ї”jõ™jZïjš‡”j»AjÉAjÍA‡”jŠ j• j™ ‡”j&jKj)‡”j€Íj™Íj͇”jêšjîšjòš‡”jè-jú-j.‡”jš)jž)j¢)‡”jõ jù jý ‡”j!ûjHûjLû‡”j#×j'×j+ׇ”j`WjyWj€W‡”j_(jc(jg(‡”j©9j¤jÙ9‡”jü4jô4jè4‡”jJRjXRj_R‡”jýjýjý‡”jÄIj¼Ij¥I‡”jljdj‡”j¨VjËVjÏV‡”j³ªj¾ªjª‡”j]%j|%j€%‡”jh*j’ñjs*‡”jBjêj}‡”jæwjêwjîw‡”j¢j¢j ¢‡”j³jj®îj¾j‡”jøMjNjN‡”jZ!jL!j5!‡”jÖj÷j ‡”hªh¿hƇ”j;uj`uj>u‡”j)jLjP‡”jï€jj‡”jÝÛjûÛjÿÛ‡”jùj‚ðj*ù‡”jê¹jø¹jÿ¹‡”j6jôjZ6‡”jþßjàjà‡”j6j6j#6‡”jØ:jÜ:jà:‡”j‰jš‰jž‰‡”jž?j¢?j¦?‡”jŒºjºj”º‡”jRwj]wjaw‡”jL©j8©j,©‡”j)j›)jŸ)‡”jRjRj#R‡”j…j{j‹‡”jKíjOíjS퇔jjj‡”jÿ¦jídjq§‡”j,j,,j3,‡”j«Íj¶ÍjºÍ‡”jðójôj!ô‡”jmãjãjƒã‡”jC÷jG÷jK÷‡”jbGjØj¤G‡”j¹LjÜLjàL‡”jb‡jމj’‡‡”j÷j1÷j5÷‡”jàñjëñjïñ‡”j÷-j2èj.‡”j­»jÚ»jÞ»‡”j%)j0)j4)‡”j¡£jÄ£jÈ£‡”j ôj¤ôj¨ô‡”jñj¨ñj¬ñ‡”j´Pj¤PjºP‡”jB9jZ9j^9‡”j`˜jr˜jy˜‡”jYRjRjƒR‡”jÉÏjÍÏjÑχ”jš^j½^jÁ^‡”jj¨j¬‡”jÏìjÓìj×쇔jèAjöAjýA‡”jl'jŠ'jŽ'‡”jK¼jd¼jk¼‡”jAcjacjec‡”jŸj£j§‡”jÉYjÁYjªY‡”j#j<jC‡”jñjñjñ‡”jFejiejme‡”jpQj~Qj‚Q‡”jþjj‡”j_jŒj‡”j­ajÆajÍa‡”jðjûjÿ‡”jÆj…ÆjyƇ”j®Ejæèj¹E‡”jƒjƒjƒ‡”jiFj‚Fj‰F‡”jÑ^jþ^j_‡”j–ÑjšÑjžÑ‡”jpZjlZjvZ‡”j®jÑjÕ‡”jy¡jôj„¡‡”jIjbji‡”jÏjçj뇔j%Xj)Xj-X‡”j¶©jÙ©jÝ©‡”jj+j2‡”jæfjøfjüf‡”j«•j¯•j³•‡”j•°j °j¤°‡”j>›ja›je›‡”jŽje`j]އ”jÏtjëtjït‡”j"jj‡”jrLj€Lj„L‡”j¸&jÑ&jØ&‡”j»3jÆ3jÊ3‡”jÖTjÚTjÞT‡”j4j4j#4‡”jÔƒj߃jデ”j·jÂjƇ”jÏzjîzjòz‡”jïSj÷jKT‡”j†=j‘=j•=‡”jHjLjP‡”j:.jL.jS.‡”j´¦jͦjÔ¦‡”jH‰j2ïjS‰‡”j~ŽjpŽjdއ”jâ–jí–jñ–‡”jØj¡Øj¥Ø‡”j–¿jš¿jž¿‡”jµÆjÀÆjÄÆ‡”jgj¹gj½g‡”jAj¯Kj¡‡”j+·jD·jH·‡”jÍOjéOjíO‡”jh9jv9j}9‡”j´,jÌ,jÐ,‡”jÉœjMj‡”jdjhjl‡”jqjqj!q‡”jpßjŽßj’߇”jÁj Áj Á‡”j;+jI+jP+‡”jìÊjþÊjˇ”jgjgjg‡”jˆ4j¦4jª4‡”jϤjï¤j󤇔jΨjã¨jꨇ”jH†j]†jd†‡”jOûjvûjzû‡”j8ïj<ïj@jF:ji:jm:‡”jÔj*Ôj.Ô‡”jüÓjÔjÔ‡”je2j‹2j2‡”jƒœjœœj œ‡”je2jˆPj¡2‡”järjýrjs‡”jX›jT›j^›‡”jîj*qj‹î‡”jšjžj¢‡”j…j‰j‡”j¥¥j¾¥jÅ¥‡”jp¨jt¨jx¨‡”jX1jc1jg1‡”j9Xj1Xj%X‡”j*j*j*‡”j¡öj¥öj©ö‡”j’je’jC’‡”j´j<´j@´‡”jÁ§já§j姇”j!jÆj0!‡”jb‡jGŠjˆ‡”jY’jq’ju’‡”jÞjéj퇔jýjÀýjÄý‡”j*ÄjFÄjJć”jÏ¿j;jü¿‡”jy jŽ j• ‡”jÑÖjãÖjêÖ‡”jcËjnËjrˇ”jZj}j‡”j_j(_j,_‡”j«•j¶•jº•‡”j¬dj·dj»d‡”jÄjÞæjχ”j­»jÓ»j×»‡”jAèjEèjI臔jCj Cj$C‡”jLNjPNjTN‡”jÂrjÔrjÛr‡”jdj“dj—d‡”jÓûjáûjèû‡”jüjj‡”j»†jƆjʆ‡”jÍjßj㇔j!ûj3ûj7û‡”jG¹jc¹jj¹‡”jŠMjœMj M‡”jI¢jl¢jp¢‡”jƒ.j.j‰.‡”jšej¥„jße‡”j`{j{j”{‡”j2…j6…j:…‡”j`sjƒsj‡s‡”j·ËjÉËj͡”jÆejÊejÎe‡”jr~j‡~jŽ~‡”jjüj‡”jž(j¶(jº(‡”j¬j"¬j&¬‡”jÆ¥jÊ¥jÎ¥‡”jäGjèGjìG‡”j‰±j±j‘±‡”jŽÒj’Òj–Ò‡”j: j2 j& ‡”ju‚j“‚j—‚‡”j„‘j–‘j‘‡”jKj%€jeK‡”jNjjü>j?‡”jŽj«`j‡Ž‡”j£Zj§Zj«Z‡”jÌþj–sjÿ‡”jæújûjû‡”j¿j“¿j—¿‡”jªjÄj­‡”jq2ju2jy2‡”jRÐjdÐjhЇ”jLÌjWÌj[̇”j¬j°j´‡”j¢þj´þj»þ‡”j„^jˆ^jŒ^‡”jkÖjŠÖjŽÖ‡”j2§jK§jR§‡”j~jhj„‡”jr¯jNôj}¯‡”j‘ójªój®ó‡”jåˆj÷ˆjûˆ‡”jTZj_ZjcZ‡”j;jFjJ‡”j4´j8´j<´‡”jxƒj‘ƒj•ƒ‡”j¤ìj«Cjå쇔jjj‡”jáËjÌj̇”jB…j`…jd…‡”jŠèj‚èjv臔jŽj§j®‡”j­ƒjƃjʃ‡”j>j>j>‡”jÏj Ïjχ”jRjRjR‡”jŒ¬j²¬j¶¬‡”jªˆjÈjʈ‡”j“êj¡êj¥ê‡”jÙjäj臔jÕ.jÍ.jÁ.‡”j6Fj:Fj>F‡”jfjjjn‡”j5çjCçjJ燔j°j3°j7°‡”jàèjéj 釔jwDjŒDjD‡”jåšj÷šjûš‡”j•|j™|j|‡”jKzjmzjqz‡”j÷j j ‡”j[|jp|jw|‡”jGÉjKÉjOɇ”jàj2AjKà‡”jšõjìj¥õ‡”jÎjàj燔jPœj^œjeœ‡”ji™ja™jU™‡”j Hj‡jRH‡”jŒÛjžÛj¢Û‡”j=\j¡%jF]‡”jˆjxjއ”j\j1\j\‡”j9j5j?‡”jÿºj÷ºj뺇”j.ˆj9ˆj=ˆ‡”jc@jn@jr@‡”j4´jF´jJ´‡”jްj’°j–°‡”j j"j)‡”jc³j}³jf³‡”jjj‡”j¯ÇjÒÇjÖLJ”j¤ìjÉCj÷쇔jÙÇjÆjj/ȇ”jŠj°j´‡”jZøj}øjø‡”jÐðjñjñ‡”jG¹jm¹jq¹‡”jŒÙjÙj”Ù‡”jmj†j‡”j'Zj9Zj@Z‡”j¿yj»yjÅy‡”j†j.†j2†‡”j7jVjZ‡”j£Sj§Sj«S‡”j2ÝjUÝjY݇”j4j8j<‡”j¸jªj“‡”j=\jñ%jv]‡”jðßjàjà‡”j§Œj¹ŒjÀŒ‡”j×0jâ0jæ0‡”jÕ’jÙ’jÝ’‡”j§j§j§‡”jQjUjY‡”jIÀjž0jvÀ‡”jÝjöjý‡”jÒÞjäÞjëÞ‡”jt j j” ‡”j«5jÑ5jÕ5‡”j¾WjäWjèW‡”jÊj9Êj=ʇ”j?vj:\jyv‡”jRj–RjšR‡”j`-jd-jh-‡”jˆEj–EjE‡”jb©jf©jj©‡”jõ£j¤j¤‡”jé‹jŒj Œ‡”jã‰jç‰j뉇”j@ºjfºjjº‡”j×µjâµj浇”jåšjþšj›‡”j2ÃjDÃjHÇ”jÒ¨jÿ¨j©‡”j%j*%j1%‡”jd–jo–js–‡”j5®jX®j\®‡”j•4j§4j«4‡”j£/jæjÐ/‡”jî”jêjù”‡”jij®ij²i‡”jLjÊìjW‡”j„:j‚íj:‡”j×`jÛ`jß`‡”jafjYfjMf‡”jyZj‹ZjZ‡”j(«jH«jL«‡”jã?j @j @‡”j˪jãªj窇”jÒ-jø-jü-‡”jI{jLJjƒ{‡”j8©j[©j_©‡”já»j¼j ¼‡”jSj,Sj0S‡”jäkjòkjùk‡”j5sjOsj8s‡”jïßjúßjþ߇”jôYjZj Z‡”jÍj^ìj؇”j`‚jr‚jy‚‡”jކj§†j®†‡”jjч”jøÖj×jûÖ‡”j’žj»žj¿ž‡”jB¢j[¢jb¢‡”jŠ#jº#j¾#‡”j&jæçj˜&‡”jjj‡”jêQjõQjùQ‡”j¥j¾jŇ”jEj^je‡”jA3jE3jI3‡”jÜ jô jø ‡”jgµjrµjvµ‡”jý6jjèj7‡”jagjŠgjŽg‡”jEojaojeo‡”j«½jʽj퇔jÏzjÓzj×z‡”jhÕj‡Õj‹Õ‡”jçŒj j‡”jšejÄjñe‡”jÛüjþüjý‡”jH@ju@jy@‡”jbäjäj…䇔jˆ jŒ j ‡”j âj"âj)⇔j·ËjÚËjÞˇ”jhÿj5Gjªÿ‡”jÐÐjéÐjðЇ”jh7jl7jp7‡”jtSjŒSjS‡”jï j!j!‡”jÌjÐjÔ‡”jjøj쇔j¸dj´dj¾d‡”jI˜jl˜jp˜‡”jj4j8‡”jÄfjñfjõf‡”j"hjåYjgh‡”j{ˆj&/j¯ˆ‡”j‚j ‚j‚‡”j½jÖj݇”jƒjœj ‡”jf;jRj®;‡”j;GjZGj^G‡”j5j$5j(5‡”j!j3j:‡”jLj-Lj1L‡”jjj ‡”j~j‚j†‡”jõjŠõjŽõ‡”j4`jσjk`‡”j5=j9=j==‡”jój÷jû‡”jÝjÝj݇”j+j%+j)+‡”jUˆjtˆjxˆ‡”jìÒj÷ÒjûÒ‡”jšejÃejÇe‡”j×jðj÷‡”j ®j.®j2®‡”j‚[j†[jŠ[‡”j[ jf jj ‡”j?j?j ?‡”j mjmjm‡”j0j0j 0‡”jê"j#j #‡”j)ZjGZjKZ‡”j:¥j6¥j@¥‡”juújyúj}ú‡”jÃjÝjƇ”jÉj Jj ‡”j[³jW³ja³‡”jç¬jù¬jý¬‡”j0xjOxjSx‡”jÌLjÐLjÔL‡”jd–jh–jl–‡”jÁäjääjè䇔j¹Oj½OjÁO‡”j‘*j•*j™*‡”j¸*jØ*jÜ*‡”jšjšjš‡”jR#jV#jZ#‡”jÎKjÜKjàK‡”jZ‡js‡jz‡‡”j2j2j2‡”jë¡jù¡jý¡‡”j»j$»j(»‡”jØ8jÜ8jà8‡”jjj‡”jš+j³+jº+‡”j ljljl‡”jd&jo&js&‡”jrjÂìj}‡”jѱjð±jô±‡”jËöjäöjëö‡”jÓ@j×@jÛ@‡”jjjjjj‡”hªjÊæhµ‡”jë«j¬j¬‡”j,ij:ij>i‡”j)jBjI‡”jl²jw²j{²‡”jøÄjÅjŇ”jæ&jñ&jõ&‡”joj%oj)o‡”jxSj’Sj{S‡”jj>j>‡”jÞÜjéÜjí܇”j?j1?j5?‡”j'Jj2Jj6J‡”jejijm‡”jNhjRhjVh‡”jŽÒjªÒj®Ò‡”jJÙj\Ùj`Ù‡”j ©j©j©‡”jÉ3jÍ3jÑ3‡”jé°j±j ±‡”j\ÝjgÝjk݇”jÎÄjàÄjäć”j–3j’3jœ3‡”j#j'j+‡”jùjýj‡”jÇj5Çj9LJ”j1jQjU‡”jÁijÅijÉi‡”jRŠjdŠjhЇ”jâ†jú†jþ†‡”j¸UjÔUjØU‡”jÐDjóDj÷D‡”jÌLjëLjïL‡”j_BjxBjB‡”jõøjùjù‡”j–j–j–‡”jLÉj^Éjbɇ”jbGjÄj˜G‡”j·jÉj͇”j[¯jf¯jj¯‡”jÆŒjߌj指”jŒ©jž©j¢©‡”jÙjjÝjjáj‡”jjj#‡”jävjàvjêv‡”j˜Cj½Cj›C‡”j1 jC jJ ‡”j çj*çj.燔jÜñjàñjäñ‡”j»µjÔµjÛµ‡”jφj݆jᆇ”j;øjFøjJø‡”jFÊjXÊj_ʇ”jM5ji5jm5‡”jåˆj‰j ‰‡”j<³j_³jc³‡”j»AjëAjïA‡”jþdjej$e‡”j·j·j!·‡”j#Mj5Mj­jB­jF­‡”j‰ZjZj‘Z‡”jjj‡”jœ$j®$jµ$‡”jÿjj7Zj2k‡”j j7 j; ‡”j°jL8jz°‡”jÒ-jÆOj.‡”jCjtSjnC‡”jÉjÁjµ‡”jV}jr}jv}‡”jÙÇj4kjqȇ”jWýjeýjlý‡”jXj*Xj.X‡”j +j%+j,+‡”jÿj.uj@‡”j!cj%cj)c‡”jÚ!jì!jð!‡”jÝ.j/j/‡”jhžj†žjŠž‡”jßijêijîi‡”j4•j8•j<•‡”jÓ jÏ jÙ ‡”jÛjÛj!Û‡”j=\jB%j ]‡”j§çj¹çj½ç‡”j×jâj懔jÜsjçsjës‡”jQjcjj‡”j VjVjV‡”jò j ¡j¡‡”j‡jªj®‡”jQj\j`‡”jl1jˆ1j1‡”jÕjÙj݇”j’j’j"’‡”j…0j¡0j¥0‡”jAjÜKj¼‡”jÊsjísjñs‡”j‘wjœwj w‡”jkj²kjk‡”jÈ€jÓ€j×€‡”j»€jÍ€jÑ€‡”jÊSjóSj÷S‡”j¿§jاjß§‡”j¿6jÑ6jÕ6‡”jï²j#³j'³‡”jˆjˆj!ˆ‡”jpQj…QjŒQ‡”j%AjAAjEA‡”j–‘j¡‘j¥‘‡”j´¸jݸjḇ”j‚ÜjžÜj¥Ü‡”jÅjßjȇ”j« j¶ jº ‡”j*tjjh>jl>‡”jh\j†òjs\‡”jgj=gjAg‡”jZ€jl€jp€‡”j‰®j®j‘®‡”jÔjîjׇ”jÎjÆjº‡”j¨ljÄljÈl‡”jÃjÖijYÇ”j¶èjÁèjÅ臔j_ƒjƒjƒƒ‡”j¹ðjÓðj¼ð‡”jû2j3j3‡”jSÞjoÞjsÞ‡”j<#j@#jD#‡”jßájâj⇔jxj"xj&x‡”j˪jêªj”j sj¤sj¨s‡”j ˜j˜j˜‡”jqQjuQjyQ‡”j$SjGSjKS‡”jNj\j`‡”jˆj¢j‹‡”j¨njºnj¾n‡”jCþjGþjKþ‡”jéj¡éj¥é‡”jl†j&ïjw†‡”jâ†j_j‡‡”j£åj»åj¿å‡”j3jj>jjBj‡”j²j¶jº‡”jÜOjîOjòO‡”jçjçj燔jLnjBnjRn‡”j¥bj©bj­b‡”jÑpj3†jq‡”jƒ_js_j‰_‡”jjj‡”j˜Zj£Zj§Z‡”j)j:)j>)‡”jHjHj!H‡”j¸›jÛjÇ›‡”j=\j¢$j­\‡”jÁ§jÓ§j×§‡”j»cjÉcjÍc‡”j+j6j:‡”jj j‡”jctjtjƒt‡”j·Rj»Rj¿R‡”j>j>j>‡”j¡j¥j©‡”j¤ìj¹ìj½ì‡”j2jDjH‡”jõzj{j{‡”j‚j ‚j‚‡”j¬|jÊ|jÎ|‡”j74j;4j?4‡”jÉjJj‡”j!j®!j²!‡”jkêjŠêjŽê‡”jÉÏjâÏjéχ”jJÙjcÙjgÙ‡”jûsjësjt‡”j¼ÓjßÓjãÓ‡”jwAj{AjA‡”jºhjÖòjÅh‡”jãOjõOjüO‡”jâˆjíˆjñˆ‡”jv¢jœ¢j ¢‡”jn<j‘<j•<‡”jƒjœj£‡”jž4j·4j¾4‡”jßjùj⇔jajaja‡”j]ØjaØje؇”j- j1 j5 ‡”jÉjÍjч”j&j&j&‡”j:MjHMjLM‡”jodj’dj–d‡”jvjnjb‡”j8zjCzjGz‡”jÅ›jÓ›jÚ›‡”jLjdjh‡”jA™jL™jP™‡”jAj AjA‡”jåj åj$凔j>[jX[jA[‡”jÇjåj釔j"Oj4Oj8O‡”jÌþjáþjåþ‡”já¸jÙ¸j¸‡”j·<jÂ<jÆ<‡”j€jš€jž€‡”jDþj]þjdþ‡”j,új7új;ú‡”j÷ j j ‡”j¢þjÅþjÉþ‡”j˪jäªj몇”jx(jvñjƒ(‡”j?ÚjCÚjGÚ‡”jsWjWjvW‡”jæ~jê~jî~‡”jõ®jFôj¯‡”j}ÎjÎj“·”jC jU jY ‡”j`PjyPj€P‡”jç÷jøjø‡”j‹ájáj“ᇔj·øjäøjèø‡”j;½jT½j[½‡”j4`jZ`j^`‡”j­j­j­‡”jÿ¦jej‰§‡”jÏ¿j$;jÀ‡”jgj‰gj“g‡”ja4j}4j4‡”jÅSjÞSjåS‡”jüjj ‡”jŽj—`j{އ”jdj|j€‡”j`‚j|‚j€‚‡”jâ´jÔ´jÈ´‡”j/ j: j> ‡”j— j› jŸ ‡”j­j›­jŸ­‡”jj)j0‡”jåˆjðˆjôˆ‡”jÚj1Új5Ú‡”j ´j´j´‡”jmÛjÛj”Û‡”jrjrjr‡”juIj˜IjœI‡”jõjj‡”jîj>qj—jÙÇj²jj#ȇ”jߟjT5jY ‡”jËj(Ëj/ˇ”j7Zj;Zj?Z‡”j<[j@[jD[‡”j6{jH{jL{‡”jgj%gj)g‡”jòjòjò‡”jú£jþ£j¤‡”j1/j{j^/‡”j®ÃjÊÃjÎÇ”j,>jO>jS>‡”jÖj>ñjᇔjºFj¾FjÂF‡”jŽj¬j°‡”jó¯j÷¯jû¯‡”jnÀjyÀj}À‡”jÝ4já4jå4‡”j]ÇjaÇjeLJ”jå€jý€j‡”jK$j zj–$‡”jìtjðtjôt‡”jêQjüQjR‡”•jŠšj˜šjŸš‡”jñjñjñ‡”j?üjCüjGü‡”j¢©j»©j¿©‡”jkÖj4mjŸÖ‡”jÅjÁjˇ”j¨Þj¬Þj°Þ‡”jj j'‡”j¨éj¬éj°é‡”jqj/qj3q‡”j/j4/j8/‡”jDÀj]ÀjdÀ‡”j"Vj&Vj*V‡”j¨ÖjÄÖjÈÖ‡”jŠCj˜CjŸC‡”jEªjIªjMª‡”jL½jl½jp½‡”jr°jv°jz°‡”jÙÇjîjjGȇ”j°j°j °‡”j™‘j«‘j¯‘‡”jLmjomjsm‡”jÜ´jØ´jâ´‡”j¥j=¥jA¥‡”jû4j 5j5‡”j©j©j#©‡”jÖHjüHjI‡”jt5jŽ5jw5‡”j¨Zj Zj‰Z‡”jmÊj‡Êjpʇ”jŸj¾jŇ”j$`j(`j,`‡”j1CjPCjTC‡”j}ûj™ûjû‡”jL—jP—jT—‡”jf;j’íjq;‡”jªjÈj̇”j2¨j*¨j¨‡”jº—jG3j˜‡”jDj\jx‡”jÿ~j j‡”jì9jð9jô9‡”j©©jÌ©jЩ‡”j­aj¿ajÃa‡”j7žj3žj=ž‡”j?'jQ'jX'‡”j£jÆjʇ”jÞ!jö!jú!‡”jŽzj™zjz‡”jNƒjgƒjnƒ‡”jtžjxžj|ž‡”jiójmójqó‡”jiåjaåjJ凔j£;jÓ;j¦;‡”jdj}j‡”jºj/ºjº‡”jËÈjÖÈjÚȇ”jKcjVcjZc‡”j|jtjh‡”jæfjÿfjg‡”jzjj¡‡”jÈyjáyjèy‡”jm6j6j†6‡”jˆjŒj‡”j¿½jѽjÕ½‡”j@j‘@j•@‡”jë«j¬j¬‡”j`j`j#`‡”ji3jŒ3j3‡”jq¦j{6j±¦‡”jªëjÍëjÑ뇔j˜¬j´¬j¸¬‡”j±"jµ"j¹"‡”ju‚j€‚j„‚‡”jŽj§j®‡”j*$j.$j2$‡”j³jjÁjjÈj‡”jbÔj{Ôj‚Ô‡”jߟjíŸjñŸ‡”jŸ„jª„j®„‡”j“j…“j‰“‡”jijiji‡”j…j—j›‡”j­GjÐGjÔG‡”j*jMjQ‡”jWCjòjbC‡”j±j%±j,±‡”j‰jj›jjŸj‡”j œjÞójœ‡”j$fj=fjDf‡”jÞœjðœjôœ‡”jbjbj b‡”jÐ@jî@jò@‡”jijÞòji‡”jϤjá¤j备”j$ýj ýj*ý‡”jkÖj9mj¢Ö‡”j± j¿ jÆ ‡”j+j6j:‡”jš^j³^jº^‡”j-©j?©jC©‡”jÍxjÉxjÓx‡”jþƒj „j„‡”jmOj“Oj—O‡”jC‹jN‹jR‹‡”j·j ·j ·‡”j…0j—0jž0‡”j=»jA»jE»‡”jNôj`ôjgô‡”jÄUjÝUjäU‡”jê¹jThj º‡”jè%j&j&‡”j¥…j©…j­…‡”jš.j³.jº.‡”jåúj÷újûú‡”j¸/jÃ/jÇ/‡”jÞijéijíi‡”jÔƒjíƒjñƒ‡”j¶j‘¶j˜¶‡”j+j+j +‡”jKjøjJK‡”j®Ej¼EjÃE‡”jäPjïPjóP‡”j{Jj‰JjJ‡”jøMjNjN‡”j¦j9¦j=¦‡”jmhjhj”h‡”j}j}j }‡”j©Hj·Hj»H‡”jž?j·?j¾?‡”jŸnj›nj¥n‡”jj1j5‡”jõbjùbjýb‡”jžíj°íj·í‡”j}j¡}j¥}‡”j+ëjnðj6뇔jm¤je¤jY¤‡”j`šjršjvš‡”jÊ(jíjÕ(‡”jgoj€oj‡o‡”j"yj-yj1y‡”jûbj cjc‡”j:j]ja‡”jדjÓ“jÝ“‡”jàñjäñjèñ‡”j—j¢j¦‡”jagj†gjdg‡”jt­jx­j|­‡”jvoj™ojo‡”jyj#yj'y‡”j jòæj ‡”j§8j²8j¶8‡”jBuj\ujEu‡”j$ƒj6ƒj:ƒ‡”jçRjVjS‡”jÜjîjò‡”jvjrj|‡”jÆ™jå™j陇”jiFjmFjqF‡”jVVjZVj^V‡”jYjqju‡”jôsjtjt‡”jÁdjÓdjÚd‡”jÅ2jè2jì2‡”jæjøjü‡”jÅ¡jÝ¡jᡇ”juYjEWj¥Y‡”jÃjÑijVÇ”jŸIjÂIjÆI‡”jy’je’j8’‡”jâ'jnñjí'‡”jJFjFFjPF‡”j-Öj8Öj<Ö‡”j(j!(j%(‡”j>£ja£je£‡”jV«j_j«‡”jÝ'júçjè'‡”j^;jZ;jd;‡”jïéjóéj÷釔j·jÂjƇ”jc`jjîjn`‡”j­ãjÆãjÊ㇔jÝÌjÍj͇”j."jQ"jU"‡”j mjÃmjÇm‡”j*"j8"j?"‡”jKjójGK‡”jjŸj£‡”j¦djÂdjÆd‡”jjZçj‡”jðójôj ô‡”j)”j4”j8”‡”jCjeSjeC‡”jNjbUjFN‡”jMjMjM‡”jnjnjn‡”jdj\jP‡”j[¯jw¯j{¯‡”jCtj2ójNt‡”j¨€j§ˆj”jk‹j„‹j‹‹‡”j±j™±j£±‡”jÉkjÍkjÑk‡”jTjwj{‡”jë$jï$jó$‡”j¼ËjÎËjÒˇ”j_ƒjcƒjgƒ‡”jj$j(‡”jÿ¦j“dj;§‡”jkêjbðjvꇔjBj#Bj'B‡”jtejxej|e‡”jm÷jq÷ju÷‡”j?ójJójNó‡”jšmj……jÓm‡”j£/jÂ/jÆ/‡”jÞMjéMjíM‡”jÔj Ôj$Ô‡”j€jjxjjlj‡”jXjwj{‡”j”jjš‡”jÅjãj燔jkj&kj*k‡”j¸\jÑ\jÕ\‡”jFÊjQÊjUʇ”j$ôjGôjKô‡”jR»jg»jk»‡”jÓwj×wjÛw‡”jºhjÙhjÝh‡”jØøjñøjøø‡”jp8j“8j—8‡”j4€j~ój?€‡”jŒ¬j«¬j¯¬‡”jÿ7j 8j8‡”jAjEjI‡”jF]ji]jm]‡”jj”j˜‡”j_ëjtëj{뇔j¦j&¦j*¦‡”jwÇjmÇj}LJ”jH@j×Rj|@‡”j=qjAqjEq‡”jj‘j•‡”jÊÂjÎÂjÒ‡”jÍj9Íj=͇”jùj%ùj)ù‡”j¿éjÃéjÇ釔j’j%’j)’‡”j7jIjM‡”jåjðjô‡”jEdjIdjMd‡”j‚]j”]j›]‡”j¶ºjÙºjݺ‡”jÿ“j"”j&”‡”j¿°jѰjÕ°‡”j ãj‚ëj+㇔jÇjÕjÙ‡”j)”jL”jP”‡”jÉœjj‡”jØjÒ?jM؇”j¯GjÒGjÖG‡”j,Pj(Pj2P‡”j‘sj‡sj—s‡”j°qj»qj¿q‡”jJjJjJ‡”j¡¹j‘j釔j^j6^j:^‡”jÄäjÖäjÚ䇔j2jjQjjUj‡”jùmjnjn‡”jÙjüj‡”j ÝjÝj݇”j°Çj»Çj¿Ç‡”jâjôjø‡”jȼjà¼j伇”jR;jd;jh;‡”js·j…·j‰·‡”j,ÞjOÞjSÞ‡”j­j¸j¼‡”j¶jÎjÒ‡”j?/j]/ja/‡”juôj“ôj—ô‡”jAj_Kjq‡”jÒ!jÖ!jÚ!‡”jW“j[“j_“‡”j5j 5j 5‡”j)–jH–jL–‡”j«½jؽjܽ‡”jXjPj9‡”jŸLjÅLjÉL‡”jÆ¿j¼¿jÌ¿‡”jª:j4jý:‡”j§jVìj²‡”jðÎjìÎjö·”j ÝjÝj݇”jyj yjy‡”jå/jÿ/jè/‡”jH)jZ)j^)‡”jj'j+‡”j“¬j¥¬j©¬‡”jÌEjïEjóE‡”jij‡j‹‡”jN˜jY˜j]˜‡”jßUjVjV‡”jâ†jæ†jꆇ”jªúj®új²ú‡”jÌÅjâïj×Ň”jOûjhûjlû‡”jñ€jü€j‡”j©Hj­Hj±H‡”j¶©jÁ©jÅ©‡”j±pjµpj¹p‡”j6*jA*jE*‡”j|jŽj•‡”j3j3j3‡”jåújðújôú‡”j=\jµ%jR]‡”jΨjÒ¨jÖ¨‡”j5®j@®jD®‡”j”’j·’j»’‡”j>€j\€j`€‡”j×(jâ(jæ(‡”j)kjAkjEk‡”j06jI6jP6‡”j_ƒjqƒjuƒ‡”jÉïjãïjÌj0TjLTjPT‡”jѹjܹj็”j_ëj…ëj‰ë‡”j bjbj&b‡”jê¹jhhj,º‡”j@žjcžjgž‡”jxÑj|Ñj€Ñ‡”jƒjƒƒj‡ƒ‡”jΨjÔ6j©‡”jî0j1j 1‡”jÍjÑjÕ‡”júÐjÑjч”jdjojs‡”jž?j°?j´?‡”jÈ?jë?jï?‡”j1/j¶ñj«‡”jî0jù0jý0‡”j äjÞAj'䇔j-¡j;¡jB¡‡”jÙjjçjjîj‡”j–j–j#–‡”jjj‡”j²jËjχ”j³Ìj¾ÌjÂ̇”j;­jT­j[­‡”ju¦j‡¦j‹¦‡”j³jÖjÚ‡”j½FjÁFjÅF‡”jÁùjÓùj×ù‡”j‰Àj¬Àj°À‡”jº—jà—jä—‡”j=\j$j˜\‡”jBäjFäjJ䇔jqXjXjƒX‡”jdj}j„‡”j Çj ÇjLJ”jý j j$ ‡”j™j¸j¼‡”j!©j%©j)©‡”jð©j ªj ª‡”jæfjñfjõf‡”j}ûjŽðjˆû‡”jFZjiZjmZ‡”jGj#Gj*G‡”jtj.ójt‡”j¨Öj³Öj·Ö‡”jm:j¡:j¥:‡”j5Bjºèj@B‡”jj;j?‡”j‘j3‘j:‘‡”j±•jÔ•jØ•‡”j•hj®hjµh‡”jBuj`ujdu‡”jv×jb×jVׇ”j=\j&j‘]‡”jÊ0jÎ0jÒ0‡”jqj.qj2q‡”j¶ñjÏñjÖñ‡”jD²jH²jL²‡”j€ˆj£ˆj§ˆ‡”júšjþšj›‡”j93j=3jA3‡”jÁ¥jÝ¥j᥇”jöjöjö‡”j·RjÖRjÚR‡”j»ej¿ejÃe‡”j°j1°j8°‡”j‹Ÿj Ÿj§Ÿ‡”jø›jœjœ‡”j=\j7&j ]‡”jÐDjéDjðD‡”jÒj)ÒjÒ‡”jÖxjÚxjÞx‡”j–j¨j¬‡”j¦jªj®‡”jCjGjK‡”jØVjÜVjàV‡”j j$ j( ‡”jQjkjT‡”j¤—j¨—j¬—‡”j?;jC;jG;‡”jÿ¦joej¿§‡”jÂjÇ‚jË‚‡”jØéj÷éjû釔jHj$Hj(H‡”jtejxej|e‡”j12jØjh2‡”jIj IjI‡”jëYjãYj×Y‡”j¯jÁjŇ”jïjNçjú‡”jÙ·j¸j ¸‡”j=\jü$jã\‡”jhÿj‡ÿj‹ÿ‡”jSìjvìjz쇔jˆEj Ej¤E‡”jtájjájzᇔjnjnj!n‡”j@jUj\‡”j:Mj>MjBM‡”jPjLjV‡”j=\j‰$jž\‡”jŠPjœPj P‡”jvmj™mjm‡”jÚXjÞXjâX‡”j<=j@=jD=‡”j¼SjÎSjÕS‡”jÉójÁójµó‡”jpßjŠßjs߇”j?•jC•jG•‡”jÎõjîõjòõ‡”j{¹jÞêj†¹‡”jÑ–jã–jç–‡”j§’j²’j¶’‡”jÉæjáæj忇”jŒÛjÛj”Û‡”j<j!<j%<‡”j4Õj?ÕjCÕ‡”jJ‡jm‡jq‡‡”jlYj„YjˆY‡”jÈ jÌ jР‡”j2j=jA‡”j!jK!jO!‡”jLVjÆVjƒV‡”j9jñjD‡”jË jÏ jÓ ‡”jÁ¾j̾jjrj˜jœ‡”j¶”jÏ”jÖ”‡”jF©j<©jL©‡”jM%jQ%jU%‡”jENjINjMN‡”j¢Yj¦YjªY‡”jµŸjØŸjÜŸ‡”jhðjsðjwð‡”jC@jU@jY@‡”jI„jT„jX„‡”jt7j‚7j†7‡”jâjûj‚‡”jÉœjÞœj圇”j§j—j­‡”j~>j>j—>‡”jø3j4j4‡”jÂ9jå9jé9‡”jRŠj]ŠjaЇ”jvjBvjFv‡”jtõjìjõ‡”j†Õj‘Õj•Õ‡”jùbjýbjc‡”jhjljp‡”jEÖjIÖjMÖ‡”jG&jY&j]&‡”jËöjÝöjáö‡”jJ?jN?jR?‡”jbGj¿j•G‡”j)j;j?‡”jàTjäTjèT‡”jž·j¶·jº·‡”j‹jj“‡”jj#j'‡”jÏ jÓ j× ‡”jn jr jv ‡”jrjvjz‡”jþ j¢ìj ‡”j-ýjFýjMý‡”jÞ¶jð¶jô¶‡”j{LjžLj¢L‡”jcsj*ójns‡”jq2jƒ2j‡2‡”j(jGjK‡”j¼;jÀ;jÄ;‡”jk^j„^jˆ^‡”jÙjüj‡”jt¤j†¤jФ‡”j†Új˜ÚjœÚ‡”jD5j<5j05‡”j$Ej=EjDE‡”jvÖjrÖj|Ö‡”jÉIj>òjÔI‡”jåˆjéˆj툇”j%)j>)jB)‡”jÄjÝj䇔j¾ÀjÂÀjÆÀ‡”jv"jz"j~"‡”j1“j)“j“‡”jþ j j ‡”j¿°jʰjΰ‡”j»>jÚ>jÞ>‡”j±ój¿ójÆó‡”jL3jP3jT3‡”jTZjwZj{Z‡”j#IjjLjS‡”j—„j·„j»„‡”jÏLjáLjåL‡”jHéjbéjK釔jJjRìjU‡”jŸjóbjPŸ‡”jRjVòjŒR‡”j;Gj5Tj|G‡”j7wj.‡jdw‡”jVÁjpÁjYÁ‡”jð¸j¹j¹‡”j)jLjP‡”jºrjÓrjÚr‡”jNƒjRƒjVƒ‡”jÿjjFZj;k‡”jùnjojün‡”j¨j¨j¨‡”jφjÓ†j׆‡”j®ÃjÀÃjÇÇ”j¦éj±éjµé‡”jdj'dj+d‡”jj@jD‡”j±^jÊ^jÎ^‡”jTUj_UjcU‡”j¢j´j»‡”j©õjÌõjÐõ‡”j j% j) ‡”j'j@jG‡”jWæj[æj_懔jˆ!jŒ!j!‡”jQJjcJjgJ‡”hh!h*‡”jyZj„ZjˆZ‡”jj(j,‡”j8ÂjPÂjT‡”j]j+]j/]‡”j¡jÀjć”jNƒjqƒjuƒ‡”jð;j<j<‡”jELjâíjPL‡”j‚Tj¥Tj©T‡”jÝ®já®j宇”jf;jãQj“;‡”jíjj ‡”j×YjÛYjßY‡”jïjj‡”jQj,Qj3Q‡”jpj/pj3p‡”jl1j’1j–1‡”j‡jƒ‡j‡‡‡”jÿ¦jGej§§‡”j“—jž—j¢—‡”j0Aj>AjBA‡”jãSjTjT‡”j`j®òj`‡”j-j-j-‡”jj(j,‡”jŸ j£ j§ ‡”jåüjéüjíü‡”jú­j ®j®‡”jˆj$ˆj(ˆ‡”jzMjŒMjM‡”jxåj‘åj˜å‡”jgj¯gj¶g‡”jOœj]œjaœ‡”j›¤jŸ¤j£¤‡”j)j;j?‡”jnj¢nj©n‡”jìjžjj‚]j¥]j©]‡”j¥bj·bj»b‡”j*j/*j3*‡”j§òj£òj­ò‡”jëojpjp‡”jÕjîjõ‡”jÝjèj쇔jÎjÆjº‡”j¢†jÁ†jņ‡”j®8jÀ8jÄ8‡”jŒj-0jkŒ‡”jÅ\j×\jÛ\‡”jÿ¦j)ej•§‡”jŽjajÌŽ‡”j2Ãj=ÃjAÇ”j–gj¹gj½g‡”jfj)fj-f‡”j‘~j¯~j³~‡”jIÀjhÀjlÀ‡”jŒpj¯pj³p‡”j8Âj<Âj@‡”j¾fjÂfjÆf‡”j#Ij.Ij2I‡”j&>j">j,>‡”j¢åj¦åjªå‡”j×êjâêjæê‡”j©[jbîj´[‡”jÿjj‡”jž«j©«j­«‡”j9=jm=jq=‡”jŽjö`j´Ž‡”jg8jc8jm8‡”jcjcjc‡”j7$jB$jF$‡”jâ†j_j‡‡”j sjÃsjÇs‡”jåwj–éjðw‡”j_j{j‚‡”jaŸjsŸjwŸ‡”j2j/2j32‡”jñXj Yj Y‡”jé™j šjš‡”j¸j˜¸jœ¸‡”j¸ÁjÃÁjÇÁ‡”j…j—jž‡”jùŒjj‡”jxƒjƒƒj‡ƒ‡”j»ijÔijÛi‡”j}j}j!}‡”jÎMjÒMjÖM‡”jN‚jj‚jn‚‡”jäPjýPjQ‡”jòÅj ÆjƇ”jÁ…jç…jë…‡”jb‡jp‡jw‡‡”j‘j´j¸‡”jQ jçj\ ‡”jL¢jo¢js¢‡”jí˜jÿ˜j™‡”jŽjŽj!އ”jSjyj}‡”jo—j’—j–—‡”jÌEjåEjìE‡”j-jŠ-jŽ-‡”jwsj{sjs‡”j_(j(j“(‡”j*yj®jB®jF®‡”jC~j?~jI~‡”jk™jv™jz™‡”jðój ôjô‡”j%ëjëj뇔jpj{j‡”juÅj›ÅjŸÅ‡”jâj‚j ‚‡”jïjój÷‡”j=\j¶$j¹\‡”jwDj j»D‡”j“j—j›‡”j‘,j©,j­,‡”jú!jþ!j"‡”jn5j‡5jŽ5‡”j¬#j·#j»#‡”j-j-j-‡”jª:j jñ:‡”jÕJjöTjK‡”j/jIj2‡”j+jNjR‡”j1Fj*òjj7>j;>‡”jjj‡”juTj“Tj—T‡”jëäjïäjó䇔jj(j,‡”jgUjcUjmU‡”j“jžj¢‡”jUHjnHjuH‡”jOªjZªj^ª‡”jTjwj{‡”j¹jý¸jñ¸‡”jajeji‡”j|ôj›ôjŸô‡”jj'j.‡”j°¦jɦjͦ‡”jqjqjq‡”jy¡j‘¡j•¡‡”jÜsjõsjüs‡”jF:jX:j_:‡”jüj6üj:ü‡”js¤j–¤j𤇔j±:jµ:j¹:‡”jGj&Gj*G‡”jŒ_jž_j¥_‡”jÃ$jÝ$jÆ$‡”j!jP!jT!‡”jµj8µj<µ‡”jéðjíðjñð‡”jÈyjÓyj×y‡”j±GjÉGjÍG‡”jL’jP’jT’‡”j§bjÀbjÄb‡”jÖjüj‡”j°=jÂ=jÆ=‡”j HjxjIH‡”j©9jÈ9jÌ9‡”jD‘jg‘jk‘‡”jÁ+jÅ+jÉ+‡”jî…j†j†‡”jÌåj–ëj×凔j:gjEgjIg‡”jÌ jÈ jÒ ‡”jŸjŸjŸ‡”j¼kjÕkjÜk‡”jMâjIâjS⇔j– j¤ j« ‡”j’ËjµËj¹Ë‡”j=\j3%j]‡”jYj5Yj9Y‡”j“èj×BjÃ臔j²šjªšjžš‡”jj/j6‡”jÜ jà jä ‡”jà jÕ jÜ ‡”jç÷j øjø‡”j! j: jA ‡”jnöjjöjtö‡”j5=j@=jD=‡”jGjeji‡”jà­jþ­j®‡”jt7jš7jž7‡”jŠtj¤tjt‡”jž8j–8jŠ8‡”j!zj?zjCz‡”jemjzmjm‡”jÓjöjú‡”j(Dj:Dj>D‡”j¼¿jØ¿jÜ¿‡”jeøjøj…ø‡”jùj‚j‚‡”jî.j/j/‡”j’j’j’‡”j'JjJJjNJ‡”jÿjj-Zj,k‡”jy“j„“jˆ“‡”jì<j=j =‡”jÎjÙj݇”jšj²j¶‡”j%jRjV‡”j.j-.j1.‡”j{jj”‡”j’•j«•j²•‡”j‹1j®1j²1‡”j8ñj[ñj_ñ‡”jÎMjñMjõM‡”jQSj\Sj`S‡”jÉj×jÞ‡”jçBjCjC‡”j|jŸj£‡”jlYjÊ‚j™Y‡”jíejfjðe‡”jXMj\Mj`M‡”jË-jÏ-jÓ-‡”jEdj^djed‡”j@¸jD¸jH¸‡”jJ²jN²jR²‡”jÞjüj‡”j޶j±¶jµ¶‡”j™–j–j¡–‡”jÀ²jã²j粇”jÃj+Ãj/Ç”jÈjÌjЇ”jCjCj C‡”j¸jÊj·”jé|j }j}‡”jhj©hj°h‡”jAjªKjž‡”jŒjZ0j†Œ‡”j~j‰j‡”jÏjÓjׇ”jˆ|jŒ|j|‡”j÷9j :j:‡”j1j#1j'1‡”jåxjž\jy‡”jÉj„tj‡”jÁ)já)jå)‡”jü—j˜j˜‡”j òjòj ò‡”j-j"èj-‡”j?jXj_‡”j Yj?YjCY‡”jÜjÜj܇”jô‚jƒjƒ‡”j×7jú7jþ7‡”jäšjèšj욇”jà©jø©jü©‡”jEGjAGjKG‡”júÈjÉjɇ”jFÒjJÒjNÒ‡”j•4j™4j4‡”jÇçjÒçjÖ燔jSjhjo‡”jM‹jQ‹jU‹‡”hªh¸h¼‡”jÂjÂj‡”jr~jv~jz~‡”jÕajñajõa‡”jä2j3j3‡”j?üjs2jhü‡”j=pj[j}p‡”jç<j=jê<‡”jQSjUSjYS‡”j± jË j´ ‡”jM3j_3jf3‡”j:–j]–ja–‡”j³jÌjÓ‡”jZTj&îjeT‡”jÜj Üj$܇”j¬Tj·Tj»T‡”j;j?jC‡”jŽ7j’7j–7‡”j³wj¯wj¹w‡”j^´jp´jt´‡”jZËjRËjFˇ”j†j:†j>†‡”jRj°Rj´R‡”jÙÇjøjjMȇ”jGÉj`Éjgɇ”jG=jK=jO=‡”jšmjž…jâm‡”jCjCjC‡”jdqj‡qj‹q‡”j~jj¡‡”j ‡j!‡j%‡‡”jÊbjäbjÍb‡”j@©j8©j©‡”jáàjåàjéà‡”j4´jM´jT´‡”jÀjÄjȇ”j¥Þj°Þj´Þ‡”jê"jü"j#‡”jojgj[‡”j9jKjO‡”jà©j–êj멇”j×jâj懔jYj]ja‡”j0^j;^j?^‡”j½2jÈ2jÌ2‡”j@ jR jV ‡”jëùjújú‡”jqj!qj(q‡”júDjþDjE‡”j&j(&j,&‡”jD3j<3j03‡”j¨¼j³¼j·¼‡”jIÚjMÚjQÚ‡”jžKjÄKjÈK‡”jEêjdêjhꇔjèjèj臔jßájãájçᇔjºKjÚíjÅK‡”jŒjªj®‡”j;jWj[‡”jb‡jŠjÚ‡‡”jèpjópj÷p‡”j—Ûj¢Ûj¦Û‡”j jj‡”j•WjWjW‡”jï‘jß‘jõ‘‡”jJ™jN™jR™‡”jü`jî`jâ`‡”j¸±j¼±jÀ±‡”jj¡j¥‡”jËujÖujÚu‡”j߯jÇjLJ”j•>j­>j±>‡”j°`j´`j¸`‡”j÷ÞjûÞjÿÞ‡”j¢jÅjɇ”jà#jþìjë#‡”j rjrjr‡”j‚1j1j‘1‡”jÕjÑjÛ‡”jï¢jôjú¢‡”j˜±jœ±j ±‡”jpPj¤Pj¨P‡”j–jŠ–jŽ–‡”jäðjñj ñ‡”j‹›j›j¡›‡”jØjÜjà‡”jú­j®j®‡”jijejo‡”jÞjðjô‡”j¯ÝjÁÝjÈ݇”jëÛjïÛjóÛ‡”jpj%pj)p‡”j6j-6j46‡”j‘êjœêj ê‡”j2jj@jjGj‡”j2ÝjLÝj5݇”jæújûjû‡”j¼éj´éj¨é‡”j7¶jP¶jW¶‡”jÁ)jÓ)j×)‡”jc²j[²jO²‡”jœ$j $j¤$‡”jd³j€³j„³‡”jôjj ‡”jÛJjþJjK‡”j‹³j´³j¸³‡”j&j2&j6&‡”jé™jšj š‡”júÐjÑj!ч”jØ^jã^jç^‡”jŽÕj Õj¤Õ‡”j.j:.j>.‡”j8ïjTïjXja+jNOj”+‡”jÓíj×íjÛ퇔j‘,jèjœ,‡”jfUjqUjuU‡”jŸIj¸Ij¿I‡”j¶ºjÒºjÖº‡”j@jDjH‡”j6j#6j'6‡”j½žjÁžjÅž‡”jJÜjNÜjR܇”jœ jü j ‡”j×ÿjÛÿjßÿ‡”jvßj•ßj™ß‡”j†ÕjŠÕjŽÕ‡”j½¬jÁ¬jŬ‡”jW$jl$jp$‡”jÚÇjÞÇjâLJ”jµjÇj·”jhÓj‹ÓjÓ‡”jAÿjaÿjeÿ‡”jãejfjf‡”j¢j´j»‡”jåwjw+j!x‡”jf;jòQjœ;‡”jOBjEBjUB‡”jŽjˆ`jrއ”jÛŽjôŽjûއ”jájìjð‡”j5!j9!j=!‡”jzoj~oj‚o‡”jˆój„ójŽó‡”jV«jsj›«‡”jÖ#jÚ#jÞ#‡”j¢˜j´˜j¸˜‡”jøjj‡”j°qjÓqj×q‡”jÿ¦jej§‡”jêQjîQjòQ‡”j0Øjðj;؇”jšäj½äjÁ䇔jxj>xjBx‡”jÀQjãQjçQ‡”j¹j(¹j,¹‡”jb‡jωj¹‡‡”jÝnjõnjùn‡”j«5j¡|jÛ5‡”j-ÖjIÖjMÖ‡”j¦j¸jà‡”j€çjæoj¶ç‡”j Fj$Fj(F‡”j{ZjZjƒZ‡”j¸j¼jÀ‡”j†ÃjŸÃj¦Ã‡”j:MjÎ jwM‡”jÔºjæºj꺇”jEÐj^ÐjeЇ”jìÒjÓj Ó‡”j÷9j:j!:‡”jdj}j„‡”j ÂjÂj‡”j‰UjUj‘U‡”jú8j 9j$9‡”j9jJwj‡”j=pj*[j‰p‡”jšmj€…jÐm‡”j]ØjkØjr؇”j#7j'jV7‡”jÎQjøUjR‡”j j" j& ‡”juj-uj4u‡”jUëjoëjX뇔jqÙj—Ùj›Ù‡”jŒ¬jš¬j¡¬‡”jú j j ‡”j|ÄjŸÄj£Ä‡”j>ÁjBÁjFÁ‡”jÎKjãKjêK‡”j”fjŸfj£f‡”j®»j²»j¶»‡”jªújÐújÔú‡”j½PjÈPjÌP‡”jÛjÛjÛ‡”jÞÜj÷Üjþ܇”j ™j2™j9™‡”j°j°j°‡”j€nj„njˆn‡”j½ÆjÛÆj߯‡”jbGjâjªG‡”j€Wj„WjˆW‡”jõujvjv‡”j MjMjM‡”j¤ìj¦Cjâ쇔jذjû°jÿ°‡”j-–j1–j5–‡”jÅjáj凔jŽj~`jlއ”jr#j˜#jœ#‡”j¿*jÊ*jÎ*‡”jï€jú€jþ€‡”jàÔjòÔjöÔ‡”j¶j¢¶j¦¶‡”jŸIjªIj®I‡”j#7jnèj.7‡”j¼ÓjÀÓjÄÓ‡”j“êjUCjÐꇔjãqjîqjòq‡”jí‘jñ‘jõ‘‡”j\§jx§j|§‡”jkÊj‡Êj‹Ê‡”jRj¦Rj­R‡”j¬j1¬j5¬‡”j¿™jØ™jß™‡”jq¦j—¦j›¦‡”jbGjÎjžG‡”j?j'?j.?‡”jŒjŒjŒ‡”j„jˆjŒ‡”jž›j©›j­›‡”jÉjktj‡”jæljþljm‡”jvj1vj8v‡”j½2jà2jä2‡”jØ^jÜ^jà^‡”jsj…jŒ‡”jvlj£lj§l‡”j(‰j3‰j7‰‡”j2…jJ…jN…‡”jZáj^ájbᇔj_ëj€pj¨ë‡”jQjîjQ‡”j=ojHojLo‡”jZj%Zj)Z‡”jgjkjo‡”j+·jK·jO·‡”j¬zj°zj´z‡”j[¯j~¯j‚¯‡”jÊ(jâ(jæ(‡”jǤjã¤j礇”jýYjZjZ‡”j°¦jЦjÔ¦‡”jöjKöjOö‡”jç8jõ8jù8‡”j)jBjI‡”j"{j4{j8{‡”j­j±jµ‡”jSjKj?‡”j›kjŸkj£k‡”jXŸjTŸj^Ÿ‡”jªj)ªj-ª‡”jEjAjK‡”jÒQjÖQjÚQ‡”jnþjƒþjŠþ‡”jAjAjA‡”j.rjGrjNr‡”jjj¤‡”jƒ(j•(j™(‡”jv«jˆ«jŒ«‡”jðj¿°jɰ‡”jÜ]jÿ]j^‡”j]Ýj€Ýj„݇”j¯OjÕOjÙO‡”j¬”jÅ”jÌ”‡”j£¢j»¢j¿¢‡”j*œjBœjFœ‡”jEjIjM‡”jYj&çjd‡”jO>jS>jW>‡”jþdj‚îj e‡”jCŒjUŒj\Œ‡”j3šjAšjHš‡”j¥…j½…jÁ…‡”j¶[j†éjÁ[‡”j*|j&|j0|‡”jj4j„4jm4‡”jDpjHpjLp‡”j¶jÔj؇”jˆ"j«"j¯"‡”jhÕjlÕjpÕ‡”jfUjjUjnU‡”j-’j1’j5’‡”juÅj”Åj˜Å‡”jÄgjâgjæg‡”jÏ¥jè¥j磊”jïåjýåj懔jNÑj`Ñjgч”jfj0fj4f‡”jc<jn<jr<‡”j¨ƒj΃jÒƒ‡”jäæjèæjìæ‡”j¨Šjå_j늇”jELjZLjaL‡”j=\jQ%j]‡”jNôjYôj]ô‡”jYjdjh‡”j=j5=j9=‡”jµ‰j¹‰j½‰‡”jXBj\Bj`B‡”j"Œj-Œj1Œ‡”j&`j*`j.`‡”jÙGjÝGjáG‡”jØøjûøjÿø‡”js§j“§j—§‡”jÙ¦jñ¦jõ¦‡”jvj.vj5v‡”jhj$hj(h‡”j¸›j¼›jÀ›‡”j€új£új§ú‡”jk¥j€¥j„¥‡”jíjñjõ‡”jæjÿj‡”jãj ãj㇔jctjntjrt‡”j Ùj+Ùj/Ù‡”jæwjøwjüw‡”j5çjMçjQ燔j\jjƒ‡”jijejo‡”ja4j„4jˆ4‡”j„:jª:j®:‡”jú,j-j-‡”jÍOjßOjæO‡”jo.js.jw.‡”jdjBd‡”j:MjÉ jtM‡”j¶ÛjºÛj¾Û‡”j`3j\3jf3‡”jÏÞjÓÞj×Þ‡”jJRjiRjmR‡”jÓjÇ“jË“‡”j‡ j£ j§ ‡”j=oj`ojdo‡”jR;j];ja;‡”j¥Lj©Lj­L‡”jg,j€,j‡,‡”jAÿjSÿjWÿ‡”j0TjSTjWT‡”js÷j÷j“÷‡”j¨jºj¾‡”jgµjkµjoµ‡”jãej fjf‡”jqÙjðj|Ù‡”jº7jÙ7jÝ7‡”j7wjEwjLw‡”jäžjöžjúž‡”j\qjuqj|q‡”j´¦jƦjʦ‡”j¹ðj×ðjÛð‡”jÁDjÓDj×D‡”j“j““j—“‡”j3Ìj7Ìj;̇”j-j-j"-‡”j~rjrj¡r‡”jj#j'‡”j‡Jj‹JjJ‡”j1¯jT¯jX¯‡”jž²j©²j­²‡”j“jžj¢‡”jRKjjKjnK‡”j3jOjV‡”jäÁjèÁjìÁ‡”j1j5j9‡”j$~j(~j,~‡”j.›jQ›jU›‡”jÍ¡jÑ¡jÕ¡‡”jünjojo‡”jajšaj¡a‡”j=\j%jø\‡”j#@j.@j2@‡”jvljªlj®l‡”jXQj\Qj`Q‡”jâjæjꇔj°ÃjÓÃj×Ç”jÜjÇœjËœ‡”j›j›j›‡”jVjVj#V‡”jMjXj\‡”jõ²jù²jý²‡”jhØjsØjw؇”jÀj ÀjÀ‡”j1jz j11‡”j`-jF{j-‡”jÈÖjÄÖjÎÖ‡”j¶6j²6j¼6‡”jQSjcSjjS‡”jbñjmñjqñ‡”jçŒjëŒj”jsíj…íj‰í‡”j‰j¢j©‡”jlYjvòjwY‡”j˜j˜j˜‡”jPìjsìjw쇔jØjÔjÞ‡”j£j§j«‡”j,ÛjEÛjLÛ‡”j¤Ìj¶ÌjºÌ‡”j+Fj„jfF‡”jj¶j½‡”j¨Èj³Èj·È‡”j =j=j=‡”jšj½jÁ‡”jV}ja}je}‡”jWsjSsj]s‡”jd–jv–jz–‡”j—'j›'jŸ'‡”jÙÇj±kj¼È‡”jújÓrj:ú‡”jëþjçþjñþ‡”j’újúj¡ú‡”j'‹j+‹j/‹‡”jÐÐjóÐj÷Ї”jVÈjaÈjeȇ”jê¹jEhjº‡”j¹Ój½ÓjÁÓ‡”j¾j7¾j;¾‡”jê‚j ƒjƒ‡”jÄ¡jÖ¡jÚ¡‡”jùj4ùj8ù‡”jòåjæj懔jdjhjl‡”jD¬j]¬jd¬‡”jî jê jô ‡”jšvjžvj¢v‡”j°jB8jt°‡”jÉœjïœj󜇔jOjkjo‡”jd±jбjޱ‡”jŒjj”‡”j°j=8jq°‡”jSbjlbjsb‡”jî¡j¢j¢‡”j†Új‘Új•Ú‡”jÁ…jÖ…jÝ…‡”jOæjhæjo懔j÷j÷j!÷‡”jä_jý_j`‡”jà:jî:jõ:‡”jšj¥j©‡”jÒ—jÝ—já—‡”j¥j°j´‡”jìjðjô‡”j¨j”j\‡”j1Ÿj^ŸjbŸ‡”jFIjQIjUI‡”jj¦j­‡”jmj{j‡”jˆ jš jž ‡”j2jjêòj=j‡”j¨ÈjËÈjÏȇ”jôþj ÿjÿ‡”j Ìj.Ìj2̇”jºšjÌšjÓš‡”jàhjîhjõh‡”jÇ¢jË¢jÏ¢‡”j¾³j°³j¤³‡”j7wjVwjZw‡”j¹uj½ujÁu‡”jÝ}já}jå}‡”jæËjëjñˇ”jZ*j^*jb*‡”jnj$nj(n‡”j‡ j’ j– ‡”j_ëjmëjq뇔jˆ´j¤´j¨´‡”j_j‚j†‡”jE(jèjP(‡”jºXjÌXjÐX‡”j¼ËjÀËjġ”j$ôj(ôj,ô‡”jt3jŽ3jw3‡”jéhjôhjøh‡”jLNjdNjhN‡”j^j^j^‡”jÄjçj뇔jxzj^ójƒz‡”j¨ŠjÕŠjÙŠ‡”jõªj«j«‡”j;­j?­jC­‡”j6j;6jB6‡”j¨ÞjËÞjÏÞ‡”jDSjVSjZS‡”jê¢j £j£‡”jDþjHþjLþ‡”jJj)Jj0J‡”jTj TjT‡”jjj"‡”jj¹jG‡”j]‘j‚‘j`‘‡”jTjrjv‡”jA™jS™jW™‡”j‹j‹jƒ‹‡”jÍjØj܇”j,új0új4ú‡”j€¾j¦¾jª¾‡”jê j j ‡”jWj¶Wj½W‡”j[¯j€¯j^¯‡”jÉkjìkjðk‡”jÿÕjÖjÖ‡”jWTjqTjZT‡”j‹sj‡sj‘s‡”jB¿jT¿jX¿‡”jË•jñ•jõ•‡”j¢ jš jŽ ‡”jqÉjƒÉjŠÉ‡”jœjFêjœ‡”jüj(üj,ü‡”j[j#[j'[‡”jÒÐjõÐjùЇ”jŒ·j«·j¯·‡”jü”jVŒj/•‡”j¿j ¿j$¿‡”j8ÙjQÙjXÙ‡”jhj0hj4h‡”j‡Tj¦TjªT‡”jöèjéj釔j}j}j}‡”jŒ·j¤·j¨·‡”jWÂjÊïjb‡”j±:jÑ:jÕ:‡”j8Îj<Îj@·”jÑ6jâñjÜ6‡”j{¥j”¥j›¥‡”jWõj[õj_õ‡”j®j˜j´‡”j`3jX3jL3‡”j‘oj­oj±o‡”jµ¯j§¯j›¯‡”j)jAjE‡”jãejÂjÿe‡”j=\j[%j]‡”j1 j5 j9 ‡”j3}j>}jB}‡”j½jÈj̇”j€Vj˜VjœV‡”jåijjj j‡”jKÅjnÅjrŇ”j˜Zj»Zj¿Z‡”jH‰jd‰jk‰‡”jl¢j…¢jŒ¢‡”j÷j#÷j'÷‡”j$.j2.j6.‡”jŽgj†gjog‡”j@hj^hjbh‡”jòjöjú‡”j5mjbmjfm‡”j3’jK’jO’‡”j/íj3íj7퇔j"hjÌYjXh‡”jÁ)jÚ)jÞ)‡”j‚BjBj”B‡”j ãjFãjJ㇔jÔºjغjܺ‡”jtj"tj&t‡”jjjnjr‡”jé*jí*jñ*‡”jmOjqOjuO‡”jÎjçjjAjnKjz‡”jÃ>jß>jã>‡”j6Hj:Hj>H‡”jåxjéxjíx‡”jjÃjM‡”jØjÃ?jD؇”j&ìjIìjM쇔jU9j~èj`9‡”j¹­jË­jÒ­‡”jŸj5Ÿj9Ÿ‡”jQjQj"Q‡”j\qjnqjrq‡”j“êjdCjÙꇔjujŠj‘‡”j»cjácjåc‡”j”j°j´‡”jCjBSjPC‡”jl²jp²jt²‡”jÔÄjØÄjÜć”jž²j¢²j¦²‡”j=\jŽ$j¡\‡”jjŠjއ”jojojo‡”jDÆjgÆjkƇ”j_jcjg‡”j12j52j92‡”jè-jó-j÷-‡”jz{j~{j‚{‡”j•hj™hjh‡”jbÙj{Ùj‚Ù‡”jñŠj ‹j‹‡”j¨jËjχ”jú jZ j ‡”jÓZjöZjúZ‡”jôjôj!ô‡”j1FjMFjTF‡”j#j+#j#‡”jCdjfdjjd‡”j+j#+j'+‡”j„^j^j“^‡”j«jÇj̇”jodjzdj~d‡”jŒºjžºj¢º‡”j0AjVAjZA‡”j€Èj„ÈjˆÈ‡”j%jKjO‡”j(òjGòjKò‡”j+ÈjIÈjMȇ”j:sjKsjRs‡”jŽcj´cj¸c‡”jïåj æj懔j¿ jÔ jÛ ‡”j- jL jP ‡”jvzjE,jœz‡”jÔÄj÷Äjûć”joojsojwo‡”j%§j>§jB§‡”jij.ij2i‡”jcj¡cj¥c‡”j|_j‘_j˜_‡”j°j¨jœ‡”jîjøpjmj Õj(Õj,Õ‡”ji~ja~jU~‡”j“j¬j°‡”jŽDj­Dj±D‡”j'‹j[‹j_‹‡”jîjùjý‡”jÅÚjèÚjìÚ‡”jBjúAjîA‡”jKj$Kj(K‡”j¦£jª£j®£‡”j9jXj\‡”j× jâ jæ ‡”jW-j[-j_-‡”ju¦jy¦j}¦‡”jnQjyQj}Q‡”j×~jÛ~jß~‡”jFIjJIjNI‡”jÏ¥jÚ¥jÞ¥‡”jOöjSöjWö‡”jFYjJYjNY‡”jqXjXj”X‡”j»Ej¿EjÃE‡”jŽjL`jNއ”jS¡ja¡jh¡‡”j·jÚjÞ‡”j+¶jN¶jR¶‡”j›Sj­Sj±S‡”j+jGjK‡”j¥j9djN¥‡”j¿ZjÝZjáZ‡”jº­jà­jä­‡”jþ¦j §j §‡”jjj‡”jšj¬j°‡”jeFjwFj{F‡”jÝîjÙîjãj—÷j©÷j­÷‡”jÈ”jÖ”jÝ”‡”jŠj©j­‡”jvžjzžj~ž‡”jÿ¦j÷djw§‡”j„j§j«‡”j‘j=‘jA‘‡”j j¡ujC ‡”jhRjzRj~R‡”juYj‘Yj•Y‡”jSj%Sj)S‡”jM¤j_¤jc¤‡”j¿|jâ|jæ|‡”jj8j?‡”jC¥jG¥jK¥‡”jVÛj|Ûj€Û‡”j7¶jZ¶j^¶‡”j·<j¯<j£<‡”jnQjrQjvQ‡”jkàj}àjà‡”j¾j®jć”j“j“j “‡”j PjPjP‡”j†j˜jœ‡”jIPjePjiP‡”jÔÏjíÏjôχ”jÄjÒjÙ‡”jU©j`©jd©‡”jÏYjÁYjµY‡”jÌþj¢ðj×þ‡”j£ j® j² ‡”j—÷j›÷jŸ÷‡”jÀjÎjÕ‡”j)ðj-ðj1ð‡”j®8jÇ8jÎ8‡”j£¢j§¢j«¢‡”j„jj“‡”js£jw£j{£‡”j@×jD×jHׇ”jƇjâ‡j采”j•j"•j&•‡”jŽqj™qjq‡”j¢•j‚•jk•‡”jìûjüjü‡”j,ÏjOÏjSχ”j`yjƒyj‡y‡”jFIjiIjmI‡”jFej_ejfe‡”jî.jù.jý.‡”j7jj;jj?j‡”js?j‘?j•?‡”j×jøÖjׇ”jh¬j†¬jЬ‡”j[µj_µjcµ‡”jÑpjójÜp‡”j‘Ej£Ej§E‡”j^j^j^‡”jÖTjáTjåT‡”j#æj1æj5懔j0AjEAjLA‡”j( j, j0 ‡”jåj-åj4凔j°!jÉ!jÐ!‡”jÜ“jÿ“j”‡”jAj‚Kj†‡”jš^j¬^j°^‡”jþjÚðj ‡”jjAjE‡”j.:jQ:jU:‡”j!ûjAûjEû‡”j‹Ÿjrêj–Ÿ‡”j?¿jC¿jG¿‡”(jp]j“]j—]‡”j~…j‚…j†…‡”jÜ´jÔ´j½´‡”j]%jk%jo%‡”j( j3 j7 ‡”jîj j ‡”j$EjGEjKE‡”jÛæj׿jáæ‡”jNjgjn‡”jªòjµòj¹ò‡”j|ðjÆëj‡ð‡”j¿+jâ+jæ+‡”jiåjeåjo凔jÉj#Éj'ɇ”jÓj9Ój=Ó‡”j€ˆj™ˆj ˆ‡”jbGjÉj›G‡”j¼j¸j‡”jî…jü…j†‡”j2;jG;jK;‡”j˜¬j»¬j¿¬‡”jÖjƒÖj‡Ö‡”h€h‹h‡”juYjJWj¨Y‡”j|ÐjŸÐj£Ð‡”j& j* j. ‡”j¢˜j¦˜jª˜‡”jçRj"îjòR‡”jt­j­j”­‡”jçjçj–燔jÃ&jÕ&jÜ&‡”j6yj:yj>y‡”j¿°jذjß°‡”jâ/jô/jø/‡”jvjnjW‡”j 'j.'j '‡”jñ½jõ½jù½‡”jqXjuXjyX‡”jÈojëojïo‡”j¤µj µjªµ‡”jÉYjãYjÌY‡”j)j©)j°)‡”jëïjçïjñj‘j•j™‡”jþˆj‰j‰‡”jKWjgWjkW‡”jÔˆj߈j㈇”jV_jr_jv_‡”jh•js•jw•‡”jû|jó|jç|‡”j¡£j¥£j©£‡”jÊIjÀIjÐI‡”j¸†jÛ†j߆‡”j¢Åj­Åj±Å‡”jÉIjÍIjÑI‡”j%$j=$jA$‡”j@j\j`‡”jV«jPj†«‡”j}ÎjÎj…·”jgj_jS‡”jTOjfOjjO‡”j}Èj—Èj€È‡”j1j1j1‡”jƇjó‡j÷‡‡”jLWjPWjTW‡”j5ÌjGÌjK̇”jÊÂjéÂj퇔jcCjƒCj‡C‡”jÿÍjÎj·”jæËjûËjÿˇ”j3j7j;‡”jZ6j}6j6‡”jž3j¢3j¦3‡”j ŠjŠj”jKjKj"K‡”jæRjôRjøR‡”jEujIujMu‡”jgjšîj)g‡”j$.j:j^.‡”jÒ¨j*ôjݨ‡”jpj“j—‡”jþMjNjN‡”jÊRjâRjæR‡”j²‚j½‚jÁ‚‡”j_PjcPjgP‡”jÿ¦jej}§‡”jWjWj W‡”j’Ój–ÓjšÓ‡”jŽj#ajÏŽ‡”jè%jì%jð%‡”jÌVjäVjèV‡”j·jÉjЇ”j¨âjºâjÁ⇔jž·j¢·j¦·‡”j­{jÅ{jÉ{‡”j¨j<¨j@¨‡”jÔòj ójó‡”jѶjú¶jþ¶‡”jÒ-j¼Oj.‡”jÔ1jæ1jí1‡”jµjÀjć”j1 jC jG ‡”jDüjküjoü‡”j2j6j:‡”jívjwjw‡”jø±jü±j²‡”jLzjWzj[z‡”jî¹jºjº‡”j;øj?øjCø‡”jSjYjЇ”jð;j <j<‡”jÐNjâNjéN‡”j'Jj+Jj/J‡”jÿ¦j8ejž§‡”jXj\j`‡”jÏYjÅYjÕY‡”j"’j4’j8’‡”jQjIj=‡”jñÈjíÈj÷ȇ”j³Žj¾ŽjÂŽ‡”jþdj5ej9e‡”jÕjjøjjüj‡”jŸxjïjªx‡”jÓj×jÛ‡”jìÊjËj ˇ”jêj7êj;ꇔj1/j5/j9/‡”j jø jµ ‡”jLêjPêjTꇔjqÙj%njòÙ‡”jà jÎ jÒ ‡”j‚Tj›Tj¢T‡”jøGjðGjäG‡”jðójþójô‡”jïgjhjh‡”jv"jŽ"j’"‡”jNÑjYÑj]ч”j›?j¦?jª?‡”j‚µj µj¤µ‡”jyTjuTjT‡”jj ju jy ‡”jf[jq[ju[‡”j™³j³j¡³‡”jÈ j’çjÓ ‡”jŠšj¢šj¦š‡”jAàjEàjIà‡”j“žjžžj¢ž‡”jí³jñ³jõ³‡”jÐîjÛîjßjòjòjò‡”jÆ­jÔ­jØ­‡”j×âjéâjí⇔j7$jP$jT$‡”jŸj4cjwŸ‡”jbäjŽëjm䇔jУjÔ£jØ£‡”jcj“jf‡”j)Òj-Òj1Ò‡”jîjùjý‡”jjüj ‡”jPœj[œj_œ‡”j„6j¤6j¨6‡”jÁ)jà)jä)‡”j5|jS|jW|‡”jÓ{jï{jö{‡”jªúj¸új¼ú‡”j0xjSxjWx‡”j¸zj¼zjÀz‡”j†j¢ój&†‡”j_(jºõj–(‡”jy¡j‡¡jŽ¡‡”j&jIjM‡”jâ=jþ=j>‡”jQ j— j~ ‡”jñj¯ñj³ñ‡”jŒøj¦øjø‡”jLOjWOj[O‡”j˪jÖªjÚª‡”jÙÇj*kjkȇ”jø jü j ‡”j?jYjB‡”jqjqjq‡”jé§j¨j ¨‡”jþCjDjD‡”jajaja‡”jüjj‡”jÙÇj»kjÂȇ”j>=jI=jM=‡”jÒ-jJíjÝ-‡”jRÇjVÇjZLJ”j1Òj)ÒjÒ‡”j03j43j83‡”j»cj¿cjÃc‡”jjj‡”jk®j}®j®‡”jj?-j¼‡”j÷œjûœjÿœ‡”j»cjÐcj×c‡”jc<j†<jŠ<‡”j¸j!¸j%¸‡”jj.j2‡”jã[jÿ[j\‡”jòåjcBj懔j—hj©hj­h‡”jÝjïjó‡”jôsjøsjüs‡”j'@j+@j/@‡”jK¼jV¼jZ¼‡”jvœjzœj~œ‡”j yj/yj3y‡”jšSj–Sj S‡”jUj”Uj˜U‡”jÈ”jà”j䔇”jÕ7jÙ7jÝ7‡”j6j6j6‡”j˜&j¶&jº&‡”jukjþòj€k‡”jÓwjòwjöw‡”jj(j/‡”jEÿjIÿjMÿ‡”jšjj ‡”jû’j“j“‡”j%Âj7Âj;‡”jƒ(j¦(jª(‡”j,ùj`ùjdù‡”jïjÛjχ”jÅxj×xjÛx‡”jZ j^ jb ‡”j±êj¿êjÆê‡”jÀšjÙšjàš‡”jSbjWbj[b‡”j;þj1þjAþ‡”j@jzçjK‡”jªëj¼ëjÀ뇔jü”jjŒj;•‡”j“jŒ“j“‡”j 'j2'j6'‡”j°‰j¢‰j–‰‡”j6¨jO¨jS¨‡”jÉkjÔkjØk‡”jˆ´jš´j¡´‡”j:Òj]ÒjaÒ‡”j:`j>`jB`‡”jÑáj“Aj⇔jjýj‡”j#@j<@j@@‡”jS”je”jl”‡”j§8j¹8j½8‡”jÂ5jVèjÍ5‡”j=+j]+ja+‡”j<Ðj4Ðj(Ї”j Íj¿ÍjÆÍ‡”jýãjäj䇔jPjTjX‡”j×j‘×j•ׇ”jy j} j ‡”j¸*jÊ*jÎ*‡”jgjkjo‡”j¶ñjÕñjÙñ‡”jüjj‡”jY3j(jŒ3‡”j¡€jÁ€jÅ€‡”jú jþ j ‡”j‹ŸjªŸj®Ÿ‡”jZçjrçjv燔jÿjj kjk‡”j¨€jŽˆj߀‡”jTõj_õjcõ‡”jåwj‹+j-x‡”jþIjJjJ‡”jhjhj!h‡”jdÒj}Òj„Ò‡”jƒ(jœ(j£(‡”j’j´wj‡”j¿hjÊhjÎh‡”jM‰j9‰j-‰‡”jƒÝj¡Ýj¥Ý‡”jEêj]êjaꇔj«±j¯±j³±‡”jvzj•zj™z‡”jŸ5jÂ5jÆ5‡”jÉ5jå5jé5‡”jx˜j|˜j€˜‡”jBjABjB‡”jäðjýðjñ‡”jDgjOgjSg‡”jüKjLjL‡”j ÉjÃÉjÇɇ”j²‚jÕ‚jÙ‚‡”j[j[j[‡”j• j¯ j˜ ‡”jyjyjy‡”je­ji­jm­‡”jˆäj–äj䇔j…|j—|jž|‡”jV>jZ>j^>‡”j_ƒjxƒj|ƒ‡”j,j*,j.,‡”jŸâj—âj‹â‡”jõøjùjù‡”jˆj%ˆj)ˆ‡”j¬1j°1j´1‡”jªýjÉýjÍý‡”jŽ$j¦$jª$‡”j·]j»]j¿]‡”jŸüjÄüj¢ü‡”jùûjüjü‡”jãejñejõe‡”j‰Ìj¢Ìj©Ì‡”j©jÂjƇ”j÷9j~íj:‡”j­ãjÍãjÑ㇔j,ùjYùj]ù‡”jfKjqKjuK‡”jHUjLUjPU‡”jÑíjñíjõ퇔j<j‘<j•<‡”jçKjõKjùK‡”j]Aj|Aj€A‡”jjj¤‡”jt7jx7j|7‡”j½j½j ½‡”j#MjFMjJM‡”jhÕj€Õj„Õ‡”jîjkqj²î‡”jåcjócjúc‡”j·'jÅ'jÌ'‡”jõjùjý‡”j&jLjP‡”jÍdjëdjïd‡”js)jŒ)j)‡”jÉjöjú‡”jÑ$jÕ$jÙ$‡”j…j¨j¬‡”j 4j*4j.4‡”j Ñj²Ñj¶Ñ‡”jþjj ‡”jmßjißjs߇”jm6jx6j|6‡”j9j=jA‡”j¯j³j·‡”jaŠjlŠjpЇ”jmaj“aj—a‡”j^´ji´jm´‡”j³jjÒjjÖj‡”j.ðj9ðj=ð‡”jP jT jX ‡”j…j …j …‡”j”’jŸ’j£’‡”j¡7j¯7j¶7‡”j=Êj5Êj)ʇ”j:j>jB‡”jŸ5j£5j§5‡”jq\j|\j€\‡”j ¦jE¦j#¦‡”jJ¨j\¨j`¨‡”j¹j ¹j$¹‡”jcsjqsjxs‡”jÏtjÓtj×t‡”jtSj"jªS‡”jb‡jÞ‰j‡‡”j±Øj­Øj·Ø‡”jäðjöðjúð‡”jcjWuj—‡”jøgjhjh‡”jf;j÷QjŸ;‡”jñçjõçjù燔jNjtjx‡”jߟj j  ‡”jòÅjÆjƇ”j¨Jj½JjÄJ‡”jƇjÔ‡j؇‡”jâj âj$⇔jS0js0jw0‡”j¸¶jŠïjö‡”jë÷jï÷jó÷‡”jß›jê›j”jïåjóåj÷凔j«j½jć”jÀ¿j¸¿j¡¿‡”j¡uj³ujºu‡”jMäj_äjc䇔j¿4jÒPjì4‡”jÄjÈj̇”j·1j»1j¿1‡”jדjÏ“jÓ‡”j‰=j¢=j©=‡”j[µjwµj{µ‡”j†»j¦»jª»‡”jšéj¸éj¼é‡”jÇ jà jç ‡”jFXjdXjhX‡”jŠ|jŽ|j’|‡”jŸ3jÂ3jÆ3‡”j«j!«j%«‡”jîUjüUjV‡”jš]j³]jº]‡”jºvjBójÅv‡”j!ujMujQu‡”j*ÄjMÄjQć”j¢j¢j ¢‡”j–¢j¨¢j¬¢‡”júõjöjö‡”jȼj̼j쇔jŸYj£Yj§Y‡”jU~jY~j]~‡”jÝ'jò'jö'‡”je­j]­jF­‡”jN"jJ"jT"‡”j5mj[mj_m‡”jKjýjMK‡”jŠPj­Pj±P‡”jŠsjœsj£s‡”j‰j›jŸ‡”jŒij—ij›i‡”jY’jÄ:j’‡”jþj$þj(þ‡”j‚”j”j‘”‡”j‹Ÿj¤Ÿj«Ÿ‡”jájåj釔jLmjPmjTm‡”j{ˆjˆjƒˆ‡”jJ²j\²j`²‡”j0xjHxjLx‡”j°j$8jb°‡”j½­j¹­j퇔j»šjÆšjÊš‡”jiêj‚êj‰ê‡”jÔEjúEjþE‡”j ‡j@‡jD‡‡”j1&j)&j&‡”j`{j2]j­{‡”j wjwj#w‡”j0j,j6‡”j}ájáj…ᇔjÁjäj臔j2;jŽíj=;‡”jz'j~'j‚'‡”jRwjuwjyw‡”jNj{j‡”jLÆjdÆjhƇ”j—6j›6jŸ6‡”j­ j¿ jà ‡”j6j76j;6‡”j"5j@5jD5‡”jhuj`ujIu‡”j0jPjF0‡”j'j2j6‡”jsj~j‚‡”j*UjMUjQU‡”jµj¹j½‡”j¨àj àj‰à‡”jR(jj(jn(‡”jEjIjM‡”jj"j)‡”j¥j4djK¥‡”jWMjEUj„M‡”jâÁjíÁjñÁ‡”j_j_j_‡”jÔCj÷CjûC‡”j’¸j«¸j²¸‡”jSj€j„‡”jßájñájõᇔj¶j›¶jŸ¶‡”jÒnjÖnjÚn‡”j•™j ™j¤™‡”jºrjÌrjÐr‡”jE>jI>jM>‡”jújújú‡”j` jr jy ‡”j©9jŸjÖ9‡”j\Zj`ZjdZ‡”j+ãj/ãj3㇔jïSjbòjúS‡”j)j)j)‡”jojkju‡”jD^jH^jL^‡”ji€jŒ€j€‡”j7ºj3ºj=º‡”j¸j®j¾‡”j@jƒ@j‡@‡”jÉ„jÔ„jØ„‡”j4`jʃjh`‡”jŸjŸjŸ‡”jêj"êj&ꇔjÉ¢jè¢j좇”j‘'j­'j±'‡”jB¢jF¢jJ¢‡”j*Oj5Oj9O‡”j.õjMõjQõ‡”j8Âjº;jœÂ‡”jrj'rj+r‡”jè-jì-jð-‡”jéjAéjE釔j#j8j<‡”jÀ‘jÄ‘jÈ‘‡”j%aj0aj4a‡”jˆjˆj"ˆ‡”jxjfìjƒ‡”jÛŽjþŽj‡”jDQjVQjZQ‡”jj%j,‡”jú}j~j!~‡”j#jFjJ‡”jZTjoTjvT‡”jl1j|jÈ1‡”j›j2›j6›‡”jõªj«j«‡”j~¼j¼j—¼‡”j-ýj1ýj5ý‡”j j< j@ ‡”jëhjij i‡”jâ†jþ^j‡‡”j…j—jž‡”j ÂjÂj"‡”jŠùj•ùj™ù‡”jÒŽjäŽj뎇”j*j.j2‡”j(Dj3Dj7D‡”j)8j-8j18‡”jÚÇjìÇjðLJ”j' j+ j/ ‡”jÍÕjåÕjéÕ‡”jÎjÙj݇”jHjHj!H‡”jo>js>jw>‡”j,ßj0ßj4߇”jNZjhZjQZ‡”jn¬jЬjެ‡”j}}j}j“}‡”jàAjúAjãA‡”jb‡jʼnj³‡‡”hªhÉh͇”jqÙjHnjÚ‡”jZj^jb‡”jÖ”jõ”jù”‡”j(‰j:‰j>‰‡”j‚ÜjÙ@jØÜ‡”j8ljêjBꇔjV}jZ}j^}‡”j=]jùWjp]‡”j¨ƒj¶ƒjºƒ‡”jÆ™jjš‡”jlšjšj“š‡”jÝÖjáÖjåÖ‡”jëÛjýÛj܇”j¢×j¦×jª×‡”j€jj|jj†j‡”j ´j#´j*´‡”jÙ jä jè ‡”j—¾j°¾j·¾‡”jü”jtŒjA•‡”jŸ¥j¸¥j¼¥‡”jÑ2jê2jñ2‡”jÛŽjíŽjñއ”jÖÝjôÝjøÝ‡”jà:jÃ}jO;‡”j!uj6uj:u‡”j¸³j´³j¾³‡”j™,j®,j²,‡”j¯OjþíjºO‡”j¢j8¢j?¢‡”jo j’ j– ‡”jmjqju‡”jqÙj4njûÙ‡”j.j).j.‡”j`PjƒPj‡P‡”jNôjRôjVô‡”jW“jp“jw“‡”j¿ jà jÇ ‡”jô‚jƒj ƒ‡”jQjtjx‡”jÝŽjöŽjýއ”j¸±jñjDZ‡”jX1jq1jx1‡”j}tjtj–t‡”jÝfjÙfjãf‡”jæ*j+jé*‡”j­jš­jž­‡”j^òjiòjmò‡”jåj#åj'凔j jš-jU‡”j±pjÃpjÇp‡”jJžjNžjRž‡”j}ýj’ýj™ý‡”jÒnjÝnján‡”j]6j€6j„6‡”j±Îjå=jê·”j¹‰jÒ‰jÙ‰‡”j¸\jØ\jÜ\‡”j¦ÖjÀÖj©Ö‡”j‘j¶j”‡”jâ†j_j!‡‡”j@újDújHú‡”jOBjABj5B‡”jBj.Bj2B‡”j8j"8j&8‡”jjñj›‡”jÂÒjÍÒjÑÒ‡”j>£jB£jF£‡”jfhj‰hjh‡”jj˜jŸ‡”j¢Åj»ÅjÂŇ”jØ£jÜ£jࣇ”j—sj‡sjs‡”jÛPjQjQ‡”jÚ,jì,jð,‡”j‹ÆjÆj¡Æ‡”jߟjr5jk ‡”jb‡jí‰jˇ‡”jgjyj}‡”jJejNejRe‡”j¬jÅjɇ”j£j±j¸‡”jËÈjîÈjòȇ”j4òjFòjJò‡”jn`j‘`j•`‡”j¹‰j܉jà‰‡”jL@j>@j2@‡”jx·j¾êjƒ·‡”jnj nj$n‡”jWj[j_‡”j£/j±/j¸/‡”jcj†jЇ”j¶ñjºñj¾ñ‡”j3j3jú2‡”j»3jÞ3jâ3‡”j)Pjîj4P‡”jcËj†ËjŠË‡”j…j¡…j¥…‡”jÕpjÑpjÛp‡”jujyj}‡”jbþj^þjhþ‡”jî”jü”j•‡”j\j(\j,\‡”jØVjêVjîV‡”jï?j@j @‡”jÙ·j’ïjä·‡”jm j j† ‡”j/lj+lj5l‡”jêgjõgjùg‡”jBšjFšjJš‡”jPìjbìjf쇔j]UjUUjIU‡”jMaj_ajca‡”j°qjÂqjÆq‡”j>ªjZªjaª‡”j}/j•/j™/‡”j[³jS³jG³‡”j%§j0§j4§‡”jxüjƒüj‡ü‡”jjj‡”j|j|j|‡”jTjXj\‡”j× j÷ jû ‡”j"j"j "‡”j.j j ‡”j–RjFéj¡R‡”j?üjƒFjrü‡”jhÿj&Gj¡ÿ‡”jãjŸãj£ã‡”j>ªjdªjhª‡”j€ˆj’ˆj–ˆ‡”j¶ºjÁºjꇔjè¥j¦j륇”jÜsjàsjäs‡”j¾j×jÛ‡”jÈ4jÌ4jÐ4‡”j¤ìjØìjÜ쇔jÉ j× jÞ ‡”jKzjá\j‚z‡”jà©jî©jõ©‡”jf&jq&ju&‡”j1Gj5Gj9G‡”jX:j\:j`:‡”jZøjløjpø‡”jdjrjv‡”jà“jü“j”‡”jdjBdjFd‡”jàÿjÊsj‡”jd/jv/jz/‡”jPjujS‡”j“¬jž¬j¢¬‡”jbÖjfÖjjÖ‡”jØ:j;j ;‡”jJjcjj‡”jjj ‡”j€Ïj’Ïj–χ”j!¼jD¼jH¼‡”j$®j9®j=®‡”j«j6«j«‡”jY j] ja ‡”j,·j>·jB·‡”jY’jñ‹j›’‡”jJ•jN•jR•‡”jÀgjÙgjàg‡”j#j'j+‡”j·ljÉljÍl‡”jºšjÅšjÉš‡”jØ»jû»jÿ»‡”jXj\j`‡”j;j^jb‡”j–jšjž‡”jf;jRj¥;‡”j«ëj¶ëjºë‡”j j‹-jL‡”jûjûjû‡”j9j@wj{‡”jIjMjQ‡”j)–j7–j;–‡”jÁjÓjÚ‡”jjj"‡”j¹jÖêj%¹‡”ji[jw[j~[‡”jÖ}jü}j~‡”j”îjŸîj£î‡”j©j´j¸‡”j5ÌjNÌjU̇”jÚÇjýÇjȇ”jH*jS*jW*‡”jðejôejøe‡”j<ÜjVÜj?܇”jÃ&jæ&jê&‡”jß*jã*jç*‡”j¶ÔjÁÔjÅÔ‡”j6rj:rj>r‡”j&j&j &‡”jÌEjÞEjâE‡”j/ïj+ïj5j¬TjÅTjÌT‡”j£j£j£‡”j±•jµ•j¹•‡”j:“jE“jI“‡”jY:jw:j{:‡”jÝŸjèŸj쟇”jSHjWHj[H‡”jNŽjRŽjVއ”jn5j‘5j•5‡”jb‡j$Šj쇇”jYFjrFjyF‡”jŸIj¸Ij¿I‡”jP×js×jwׇ”j}áj áj¤á‡”j,ùjìj7ù‡”jøHjIjI‡”jjj&‡”jœ$j§$j«$‡”jë>jù>jý>‡”jªòj®òj²ò‡”j«j¨«j¬«‡”j\ñjqñjuñ‡”j=jHjL‡”jŽj¿`j“އ”j|j*|j.|‡”j Hj:òjH‡”jË£jÝ£jᣇ”jLjPjT‡”jäkjükjl‡”jÄfjêfjîf‡”jðIjJjJ‡”jV(jR(j\(‡”jÖ}jnójá}‡”jî jæ jÏ ‡”j‰`j›`jŸ`‡”jD‘jH‘jL‘‡”j[çjsçjw燔jV–j|–j€–‡”jgžjžjjž‡”j3³j#³j9³‡”jð;jû;jÿ;‡”jKŽjtŽjxއ”j¹qjÒqjÙq‡”jxåj›åjŸå‡”j*Mj.Mj2M‡”j_ëj{pj¥ë‡”j¢j¡¢j¥¢‡”jßájøájÿᇔj•þj£þj§þ‡”jÜ…jõ…jù…‡”jB…j\…jE…‡”j´$j¸$j¼$‡”jôÉjøÉjüɇ”j ±j¤±j¨±‡”jŠMj£MjªM‡”jj%ju%jy%‡”jàèjéj釔jjj‡”j4€jB€jI€‡”j´j˜´jœ´‡”jû4jÿ4j5‡”jøfj–îjg‡”jK jd jk ‡”jQj%Qj)Q‡”jsjsjs‡”jŽjµ`jއ”jÌþjÐþjÔþ‡”jóÏjþÏjЇ”j®j²j¶‡”jmùjùj”ù‡”jÁjÁj“Á‡”jîjòjö‡”j+j èj+‡”jŠ#j©#j°#‡”jL©j<©jR©‡”jÖÓjÚÓjÞÓ‡”jb¨j|¨je¨‡”jê­j®j ®‡”jÝj!Ýj(݇”j8ÎjTÎjX·”j[qjWqjaq‡”jljpjt‡”jK¼j]¼ja¼‡”jÁùjÅùjÉù‡”j‡ j’ j– ‡”j8j8j!8‡”ju†j›†jŸ†‡”j´¦jצjÛ¦‡”j¸jÃjLJ”j€ój‹ójó‡”j:sjræjEs‡”j1Aj5Aj9A‡”jLVjyVj}V‡”jj jþ ‡”j±Îjù=jö·”jøj j‡”j‰žjžjuž‡”jKÅj]ÅjaŇ”j¸qjÊqjÎq‡”jSsj‡sj‹s‡”jX"jf"jm"‡”jÀj%Àj)À‡”j¾žjbêjÉž‡”j¡öjÄöjÈö‡”jœjœjœ‡”jÛj2Ûj9Û‡”jÀ<jË<jÏ<‡”jÝîjÕîjÉj Hj Hj$H‡”j%:j!:j+:‡”jÇjúðjÒ‡”jÁ)j&íjÌ)‡”j²jªjˆ‡”j(wj:wj>w‡”j»cjÔcjÛc‡”j?vj5\jvv‡”jÝ=jù=jý=‡”jdjdjƒd‡”j"*j&*j**‡”jsOjœOj O‡”j?wjJwjNw‡”jpRjBéj{R‡”j£j•£j‰£‡”jÏìjëìjï쇔jïßjóßj÷߇”jD<jO<jS<‡”j6—j:—j>—‡”j“Øj¯Øj³Ø‡”j jj&jjj‡”jIjTjX‡”jd†jv†jz†‡”j3rjMrj6r‡”j´j]xjꇔjŸÏj±ÏjµÏ‡”jdjvjz‡”jÙÇj­jj ȇ”j¹tjµtj¿t‡”j­j¿jƇ”j–‘jš‘jž‘‡”j¡¹jÀ¹jŇ”jß´jê´jî´‡”j˜Àj£Àj§À‡”j™>j²>j¹>‡”jLyjPyjTy‡”jKýjnýjrý‡”jÅ?jÐ?jÔ?‡”jѹjÕ¹jÙ¹‡”j÷jïj؇”jÙÇjéjjDȇ”jZÇjtÇj]LJ”jExjdxjhx‡”jïSjTjT‡”jÉ@j®èjÔ@‡”jkþjŽþj’þ‡”j«ÍjÎÍjÒ͇”j¦CjªCj®C‡”j"j4j;‡”j?ójCójGó‡”j›ÅjµÅjžÅ‡”jŒlj¤lj¨l‡”jM‹jX‹j\‹‡”jþÏj!Ðj%Ї”j=\j#&j”]‡”jåüjAsjý‡”jçàjájᇔjvõjrõj|õ‡”jZ|jt|j]|‡”jCj[Sj_C‡”jêj"êj&ꇔj¸#j¼#jÀ#‡”j®^jÇ^jÎ^‡”j ®j®j®‡”jÿ¦jãdjk§‡”j_PjqPjxP‡”jâNjÚNjÎN‡”jWjÀWjÄW‡”jjj‡”jOjSjW‡”jemjÂîjpm‡”jφjë†jò†‡”j,j1,j8,‡”j×ajÛajßa‡”j^¯jb¯jf¯‡”jj¡j¥‡”jÚòjåòjéò‡”jyªj‹ªj’ª‡”jçBjùBjC‡”jÄ«jÏ«jÓ«‡”j(òjâëj3ò‡”jU@jx@j|@‡”jU©jn©ju©‡”jÒüjÈüjØü‡”j…9jríj9‡”jp×jf×jvׇ”jbäjpäjw䇔jŠjšŠjžŠ‡”jÒ_jë_jò_‡”jçj…çj‰ç‡”jˆ”jŒ”j”‡”jhjjljjpj‡”jÔãjýãj䇔j3âjOâjS⇔jŒñj¥ñj¬ñ‡”jEaj]ajaa‡”jÂ9jÔ9jØ9‡”j·jÉj͇”jjjxj‡”jÞ¶j÷¶jû¶‡”j~>j‚>j†>‡”jˆrj¤rj¨r‡”j+Fj/Fj3F‡”jFZjXZj_Z‡”j‡j‹j‡”jÜ"jô"jø"‡”j:MjgMjkM‡”jFYjeYjiY‡”j]*jŠ*jŽ*‡”jÏ¿jÝ¿j俇”jµÆjÇÆjËÆ‡”jÛPjéPjðP‡”j<>j.>j">‡”j—¯j›¯jŸ¯‡”jÏÈjíÈjñȇ”jr#j‘#j•#‡”jÌLjùLjýL‡”j:jSjZ‡”j”jŒju‡”j.jHj1‡”j=\j%jæ\‡”jdjïjo‡”j™j™jú˜‡”j»;jÞ;jâ;‡”jŒªj—ªj›ª‡”j+ˆj6ˆj:ˆ‡”jAjAjA‡”jàj0àjà‡”j‘j¦j­‡”j€j‹j‡”j ‰j‰j‰‡”j^jšòj)^‡”jjj‡”jjj‡”jA™jE™jI™‡”jänjànjên‡”jÎgjÙgjÝg‡”jjj"‡”(j˜¯jª¯j®¯‡”jÆjÆj Ƈ”j§Õj«Õj¯Õ‡”jK$jzj$‡”j¬jÅj̇”jº˜j°˜jÀ˜‡”jµájØájÜᇔj^µjVµjJµ‡”jüCjDjD‡”jY3jFjž3‡”j mj¼mjÀm‡”j$.j0jX.‡”j?j?j?‡”j5mj9mj=m‡”jpmjtmjxm‡”j­»j»»j¿»‡”j¹AjËAjÒA‡”jÉj6Éjɇ”jrjdj!‡”jKj›KjŸK‡”jæ¿jê¿j”jë¡jï¡j󡇔ja+jDOjŽ+‡”jÙÇjkj_ȇ”jü„jø„j…‡”jhj5hj9h‡”jR(j`(jg(‡”jŠ'jòçj•'‡”jͱjç±jᇔjJ}jF}jP}‡”jYRj]RjaR‡”jðójôójøó‡”jdqjvqjzq‡”jŒj²j¶‡”j$ j2 j6 ‡”j…j“…j—…‡”j6‰jT‰jX‰‡”jD¬jg¬jk¬‡”jÐÐjÔÐjØÐ‡”jÐîjÔîjØî‡”j/j/j /‡”jü…j†j †‡”j­j0­j4­‡”j12j^2jb2‡”jŸj!Ÿj%Ÿ‡”jjj‡”jÝjj‡”jÉþjãþjÌþ‡”js§j…§j‰§‡”j…j&…j*…‡”jejjZ>j^>‡”j¢YjÅYjÉY‡”j2zj=zjAz‡”j 7j/7j37‡”j®^j²^j¶^‡”jNSjNéjYS‡”jø‘jü‘j’‡”j;hjYhj]h‡”jšej›„jÙe‡”j§HjÃHjÇH‡”jkàjoàjsà‡”j® jÌ jÐ ‡”jcj#cj'c‡”jêŠjâŠjËŠ‡”j8ïj[ïj_j=\jo%j(]‡”jCjVSj\C‡”jY7ju7jy7‡”jî$jò$jö$‡”jY’jö‹jž’‡”jŒ¬j¦êj—¬‡”j€¾j¶ïj‹¾‡”jº_jÓ_jÚ_‡”jD¥jO¥jS¥‡”jg±j_±jH±‡”jì˜j ™j™‡”j¼j ¼j¼‡”j®j²j¶‡”j;¨j^¨jb¨‡”j0^jI^jP^‡”jZ»j^»jb»‡”jdSj‘Sj•S‡”j çjª?j1燔jÁj Áj¤Á‡”jëäj&ðjö䇔j÷ j j! ‡”jjj‡”j˜ÀjœÀj À‡”jœj#œj'œ‡”j¡0j¾ñj¬0‡”j=)jO)jS)‡”jŸj´j¸‡”jb‡j.Šjò‡‡”jüôjõj õ‡”jAžjLžjPž‡”j¤ìjºCjî쇔jëNjOj O‡”jÓ×jò×jöׇ”j·<jÐ<j×<‡”j«½jѽjÕ½‡”j@jB@jF@‡”j„¨j¨j¡¨‡”jMMjQMjUM‡”j¯jÒjÖ‡”j^j ^j^‡”j>j">j&>‡”jO²jS²jW²‡”j¯Oj½OjÁO‡”jâÿjæÿjêÿ‡”jÁjîjò‡”jüj8üj<ü‡”jɰj¿°jϰ‡”jl}jp}jt}‡”jémjåmjïm‡”jŠžj‚žjvž‡”j¢Åj¦ÅjªÅ‡”jñjüj‡”j[ j_ jc ‡”js÷jw÷j{÷‡”jk2jŽ2j’2‡”jO ja je ‡”jAj"Aj&A‡”jƒ j‡ j‹ ‡”jD5j@5jJ5‡”jíj²íj¶í‡”j>ÁjZÁj^Á‡”jë+jï+jó+‡”jÖ#jù#jý#‡”jYijõ„j‰i‡”j¥mj°mj´m‡”jZxj^xjbx‡”j(DjADjHD‡”j´2j¬2j 2‡”j±;jµ;j¹;‡”jóÕjU?j'Ö‡”jFQjQQjUQ‡”jrjvjz‡”jªj0ªj4ª‡”j:MjYMj]M‡”ju†j”†j˜†‡”j]6ja6je6‡”j!ûj:ûj>û‡”jj j$‡”ju>jm>ja>‡”jÇ’jì’jÊ’‡”j+}jE}j.}‡”jþ„j…j…‡”jÞBjÚBjäB‡”jÌj%Ìj)̇”jö¤j¥j¥‡”j¼ËjßËjãˇ”jÀkj¶kjÆk‡”jCmj?mjIm‡”jÄ·jÜ·jà·‡”jýZj[j [‡”jº:jòjÅ:‡”j¦Nj¸Nj¼N‡”hªhÐhÔ‡”jÑpj8†j q‡”j"’jE’jI’‡”jü”j•j•‡”jß/jê/jî/‡”jgjƒj‡‡”j$Žj6Žj=އ”jQSjmSjqS‡”jášj›j䚇”jgj=gjAg‡”jõ—jù—jý—‡”jÉj6çjÔ‡”j£æj§æj«æ‡”j|wj‡wj‹w‡”já<jó<j÷<‡”jáujïujöu‡”j ŠjŠjЇ”jJžjmžjqž‡”j` jk jo ‡”jÝ.já.jå.‡”j?j ?j ?‡”jÉîjÍîjÑj”%jŸ%j£%‡”jŽgjŠgj”g‡”j›™jÈ™jÌ™‡”jÑíjÕíjÙ퇔jµ‰jljjˉ‡”h×höhú‡”j§JjÆJjÊJ‡”jlMjhMjrM‡”j2j*2j.2‡”jŒ_j¯_j³_‡”j·'j»'j¿'‡”j,ˆjEˆjLˆ‡”jÂ`jº`j£`‡”jÿjj‡”j³jÅj̇”j$®jJ®jN®‡”jøjžjž‡”jé™jô™jø™‡”j¾WjÂWjÆW‡”j¼¿jÇ¿jË¿‡”jÁ§jÚ§jÞ§‡”jVljZlj^l‡”j}ûj‹ûjû‡”j/j:j>‡”jÂj Âj$‡”jQ8j`j~8‡”j Šj,Šj0Ї”j†Ãj‘Ãj•Ç”jà‰jŠj㉇”jŒ_j_j”_‡”jÑÖjÜÖjàÖ‡”jÅöjÉöjÍö‡”jH@jV@jZ@‡”j/ÁjAÁjHÁ‡”j0ljój;l‡”j“FjžFj¢F‡”jüjj‡”jäæjçj燔jÎMjÙMjÝM‡”jjƒj‡‡”j\ÚjÚjƒÚ‡”j²·jÒ·jÖ·‡”jÝŽjáŽj厇”j?j&?j-?‡”jÔ‹jØ‹jÜ‹‡”j_BjcBjgB‡”jž4j°4j´4‡”j_j _j _‡”jj4j;‡”j}nj›njŸn‡”jÅxjÉxjÍx‡”j%j)j-‡”j¢EjÅEjÉE‡”j»Aj¿AjÃA‡”jPjHj<‡”jãejçejëe‡”jžj0žj7ž‡”jséjéj“釔jIujMujQu‡”jŒ_j¨_j¬_‡”jùtjýtju‡”jˆEjâèj“E‡”j\qjXqjbq‡”jÖijÎijÂi‡”jd±j^ôjo±‡”jSÞjWÞj[Þ‡”jIÀjÂïjTÀ‡”j Íj¶j¼Í‡”jI÷jb÷ji÷‡”j+ƒjEƒj.ƒ‡”j¨ƒjÕƒjÙƒ‡”jþÏjÐjЇ”jÁj›ÁjŸÁ‡”j'¡j9¡j=¡‡”jb‡j»‰j­‡‡”jApj[pjDp‡”jþêj ëj뇔j©@jÌ@jÐ@‡”j¬dj¾djÅd‡”j“Fj—Fj›F‡”j¦wjîîj±w‡”jij'ij+i‡”j +j+j+‡”j $j0$j4$‡”j‚Bj†BjŠB‡”jRDjuDjyD‡”jß6jþ6j7‡”jŸj9cjzŸ‡”jÎjÙj݇”j÷ j j ‡”j†ÃjŠÃjŽÃ‡”jJjúèj&J‡”j #j%#j)#‡”jÆ;jß;jæ;‡”j Fj#Fj'F‡”jxgjgj”g‡”jŽj j¤‡”j3j 3j3‡”j¶_jº_j¾_‡”jïÚjúÚjþÚ‡”jš8j¬8j°8‡”j™×j‘×j…ׇ”j'j'j'‡”jš7j³7j·7‡”j*cj.cj2c‡”j–gj¡gj¥g‡”jŠyj­yj±y‡”jù5j6j6‡”jOæjZæj^懔jÝnjojo‡”jƇjʇj·‡”j¡j¯j¶‡”jý²j³j³‡”jØjØj؇”j²3jª3jž3‡”jXjjfjjmj‡”j{àj¤àj¨à‡”jŒjŒj#Œ‡”jcpj_pjip‡”jl1j 1j¤1‡”j%Âj)Âj-‡”j|Nj•NjœN‡”jô7jÿ7j8‡”jÁjçj뇔jpQjQj“Q‡”j~£j‚£j†£‡”jµYj¹Yj½Y‡”j*yjCyjJy‡”jqÉjÉj‘ɇ”jZ‡j}‡j‡‡”jŠj©j­‡”jìÊjËjˇ”jߟjêŸj”j>?jV?jZ?‡”jj*j.‡”jÛPj@jQ‡”jeLjˆLjŒL‡”jYjnjr‡”j¸³jʳjѳ‡”jWjWjW‡”jmaj‚aj‰a‡”ja„j„„jˆ„‡”jij.ij5i‡”jéhjûhji‡”j(j@jD‡”j&8jD8jH8‡”j#jPjT‡”juMjŽMj•M‡”jVljhljll‡”j–%j’%jœ%‡”jƒjŽj’‡”j¯ÝjºÝj¾Ý‡”jg;j€;j‡;‡”j,rj(rj2r‡”j“€j—€j›€‡”jKj+Kj2K‡”jBj^je‡”jȱjÓ±j×±‡”jÆ™jüŒj š‡”jŠyjœyj y‡”jUðj`ðjdð‡”jogjsgjwg‡”j†ÚjŸÚj¦Ú‡”jELjdLjhL‡”jNj`jd‡”jØøjãøjçø‡”j%öjAöjEö‡”j‹4j4j“4‡”j_ðjKðj?ð‡”j—+j©+j­+‡”j¨!j³!j·!‡”j£/jõjÙ/‡”jVÛjuÛjyÛ‡”jj j'‡”jˆ j“ j— ‡”jåEjóEjúE‡”j]¸ju¸jy¸‡”jÆ¥jØ¥jÜ¥‡”j|j |j$|‡”j[¯j„¯jˆ¯‡”jij˜ijœi‡”j%bjHbjLb‡”j©jŠ©jŽ©‡”jù‰jý‰jЇ”j:–j>–jB–‡”jÿ~j%j)‡”j/jMjQ‡”j¼àjÖàj¿à‡”já»jH:j¼‡”júRjSjS‡”jN7jêñjY7‡”jókj÷kjûk‡”js)j“)j—)‡”j?ójQójXó‡”j“žj—žj›ž‡”jk®j„®j‹®‡”jëjãjׇ”j  j¤ j¨ ‡”j‹1j1j“1‡”jØ£jñ£jõ£‡”j}ÇjmÇjƒÇ‡”jü”jŒjP•‡”jw5j…5j‰5‡”j çj#çj'燔jÛjÛj#Û‡”jŒjžj¢‡”j=\j%jï\‡”jdqjoqjsq‡”j»;j¿;jÃ;‡”j³=j¾=jÂ=‡”j¤Mj¶MjºM‡”j ×j×j$ׇ”j¶ÿjÙÿjÝÿ‡”jÙÇj„kj¡È‡”juYjYj‘Y‡”j/>j3>j7>‡”j]*jèjh*‡”j#j?jF‡”jq&ju&jy&‡”jÿ¦jÏdj_§‡”ja+j€+j„+‡”jœœj œj¤œ‡”j(jNjR‡”jצjð¦jô¦‡”jHqjLqjPq‡”ji!jm!jq!‡”jo^j‰^jr^‡”j•Qj³Qj·Q‡”jŠj˜jœ‡”jÄjÝj䇔jŠšj:êj•š‡”j¸zjÃzjÇz‡”j_¸jW¸jK¸‡”jžj¢j¦‡”j%)j))j-)‡”jD^jd^jh^‡”jÙÇjpkj•ȇ”j¹jÜjà‡”jÌÅjÚÅjáŇ”jù5jZèj6‡”jñjñjñ‡”jl¢j~¢j‚¢‡”j,ˆj0ˆj4ˆ‡”jívjøvjüv‡”jVújoújvú‡”jhjhjh‡”jï_j`j`‡”jþ`j aj a‡”j+Hj6Hj:H‡”j}bjbj“b‡”j¢Yj¾YjÂY‡”j„j€jЇ”j ^j1^j^‡”jZxj}xjx‡”jJj~j‚‡”jõ™j)šj-š‡”jójój ó‡”jõjj‡”juj«uj¯u‡”j@jfjj‡”j• j™ j ‡”j´´jδj·´‡”jØj¾?jA؇”jÉÔjâÔjæÔ‡”j‘ój•ój™ó‡”jøjøj ø‡”j2”jD”jH”‡”j0jEjL‡”jÿÕj ÖjÖ‡”jJÑjzÑj~ч”je2jyPj˜2‡”jhØj„ØjˆØ‡”jYVjyVj}V‡”j5$j9$j=$‡”j0j,0j00‡”j“êjZCjÓꇔjë¯j°j °‡”jB¢je¢ji¢‡”j…½jþêj½‡”jÔ jØ jÜ ‡”jð«j¬j¬‡”j´ùj×ùjÛù‡”jÝ=jè=jì=‡”jõªjùªjýª‡”j!Yj3Yj7Y‡”jçíjãíjí퇔j9j1j%‡”jУjâ£j棇”jÅ?jÉ?jÍ?‡”jNjÇj ‡”jmÎjqÎju·”jw_js_j}_‡”jŠ•j†•j•‡”jÞ¦jð¦jô¦‡”j—÷j¢÷j¦÷‡”jàèjäèjè臔jŒÛj¯Ûj³Û‡”jZJjyJj}J‡”jv¢jôj¢‡”jq¦jl6j¨¦‡”jÀ‘jÒ‘jÖ‘‡”jÂtjåtjét‡”jN js jQ ‡”jp„j{„j„‡”jGjGj#G‡”j¼BjÕBjÜB‡”jÌ_jÐ_jÔ_‡”j4òjWòj[ò‡”j¸}jå}jé}‡”j3jHjL‡”jy”ju”j”‡”jY’jÎójd’‡”jªˆj͈jш‡”jå„j…j …‡”jlšj…šjŒš‡”jSj=SjAS‡”jjj ‡”j5j@jD‡”j&¤j1¤j5¤‡”jYRjnRjuR‡”jîj j ‡”jB,ja,je,‡”jñŠjõŠjùЇ”jJj JjþI‡”j\”jn”jr”‡”j¬djÏdjÓd‡”jŒ_j—_j›_‡”j4çj8çj<燔j/>jH>jL>‡”jü”j—ŒjV•‡”jQj8Qjj>j)>‡”jÅ2já2jå2‡”jÖjëjò‡”jÑÖjíÖjñÖ‡”joj„j‹‡”jÛj$Ûj(Û‡”jÂ]jÆ]jÊ]‡”jµ1jØ1jÜ1‡”jÁ÷jÓ÷jÚ÷‡”jŸ5j±5jµ5‡”j:¥j2¥j&¥‡”j]%ja%je%‡”j‚j‚j‚‡”jq³ju³jy³‡”j´jÍjÔ‡”jj;j?‡”jüj1üj5ü‡”j¸xj¼xjÀx‡”j&¤j?¤jC¤‡”jb¨j€¨j„¨‡”jU@j`@jd@‡”jå]j^j ^‡”j£¢j¢jÆ¢‡”j)”j;”j?”‡”j¦j´j¸‡”j6‘j:‘j>‘‡”jV–jk–jr–‡”jà jÿ j ‡”j–RjÃRjÇR‡”j¢j¦jª‡”jSÎjlÎjs·”j´˜j¬˜j•˜‡”jd“jv“jz“‡”jðjj‡”j—j —j$—‡”jºÁjÓÁjÚÁ‡”jÕjçj뇔jïßjàjà‡”jõvjívjáv‡”j×jŠ×jŽ×‡”jÙ¦j~ïj䦇”jÚrjýrjs‡”j¬j:¬j>¬‡”jRj7Rj;R‡”jœj j¤‡”j.¹j2¹j6¹‡”jsjkj_‡”jÅ=jÉ=jÍ=‡”j OjœOj¦O‡”jdjPdjTd‡”j¦Šj±ŠjµŠ‡”jƇjú‡jþ‡‡”jGcjRcjVc‡”jAjOjV‡”jÿ¦j˜dj>§‡”jæ¤jê¤j”j6j 6jþ5‡”jµájÀájÄᇔjÁ¯jä¯j诇”jµ1jÑ1jÕ1‡”jâˆjôˆjûˆ‡”j'[jC[jJ[‡”jgOjkOjoO‡”jájój÷‡”jÔ.jÌ.jÀ.‡”jÈ?jÌ?jÐ?‡”jD¬jO¬jS¬‡”jÐ@jê@jÓ@‡”j°ÃjÂÃjÆÃ‡”jÿjñj凔jÉ¢jÍ¢jÑ¢‡”jGj¾íjG‡”jM}jE}j9}‡”jÀj¼jƇ”j£Oj¼OjÃO‡”jHûj`ûjdû‡”jà:j_}j;‡”j"j"j "‡”jtjpjz‡”jEj0Ej4E‡”jwDj¤Dj¨D‡”jcjgjk‡”j%—j0—j4—‡”j}ájáj“ᇔjÿj j‡”jŠ£j•£j™£‡”j(Ðj3Ðj7Ї”jzìjìj¡ì‡”jÒjÖjÚ‡”jÑ6jé6jí6‡”jÿ£j ¤j¤‡”jÊsjÜsjàs‡”j¸\jÃ\jÇ\‡”j"¾jO¾jS¾‡”j§Jj¼JjÃJ‡”jËujäujëu‡”j j j ‡”jšmjžmj¢m‡”j¦cjžcj|c‡”jpjtjx‡”jY’j]’ja’‡”jbj€j„‡”jõ™j/bj3š‡”jº—jQ3j˜‡”jî#jîAj $‡”j€VjŸVj£V‡”jÚÇjåÇjéLJ”jÿ“j”j”‡”jE>jW>j[>‡”jjwj†wjŠw‡”j¼"jÀ"jÄ"‡”j|”jŠ”j‘”‡”jájåj釔j°j[8jƒ°‡”jPjPj P‡”jëjÜ«j㫇”j9qjSqj­ja­je­‡”jùmjnjn‡”jþdj'ej+e‡”jÕëjøëjü뇔jœ™jµ™j¼™‡”jVíjZíj^퇔jœj j¤‡”jj+j/‡”jÚejÒejÆe‡”jÇbjËbjÏb‡”j¥Lj°Lj´L‡”jÎõjçõjëõ‡”j¼çjÇçjË燔jí jñ jõ ‡”jVÈjrÈjvȇ”j™j0™j7™‡”j• j  j¤ ‡”j€ÍjšÍjƒÍ‡”jNGjqGjuG‡”jÏbjÓbj×b‡”j/j#/j'/‡”jPìjTìjX쇔jHéjféjj釔je2j~Pj›2‡”jÄjÄjć”j#ÛjÛj)Û‡”j´$jÓ$jÚ$‡”j%j4%j8%‡”jïSjíjET‡”j«6jÃ6jÇ6‡”j©j©j©‡”j•Œj™ŒjŒ‡”j̘jÞ˜j☇”jc£jn£jr£‡”j‘'j£'jª'‡”jçBjëBjïB‡”jÖ}j~j~‡”jãjb jÿ‡”jÒÀjÊÀj¾À‡”j5BjMBjQB‡”ju jy j} ‡”jL?jh?jl?‡”jÙ|j÷|jû|‡”j¿+jÑ+jÕ+‡”jÏ™jÓ™j×™‡”j\j`jd‡”j>j>j#>‡”jóÕjÖjÖ‡”j™j)™j-™‡”jëujvj v‡”jŒ©j¯©j³©‡”j\ÃjÃjƒÃ‡”j€ˆj„ˆjˆˆ‡”j9j,wjo‡”jÁ¹jÙ¹jݹ‡”j jG jK ‡”j²]j½]jÁ]‡”j)j4j8‡”jݺj÷ºjງ”j•`jº`j˜`‡”júUjöUjV‡”j=\jÙ$jÎ\‡”j8zjXzj\z‡”jZøj^øjbø‡”j›CjŸCj£C‡”jpÊjtÊjxʇ”jCtjQtjUt‡”j‚Üj†ÜjŠÜ‡”j06jB6jF6‡”j+FjGFjNF‡”j·ZjÖZjÚZ‡”jφjä†j膇”j>£jZ£j^£‡”jŠ#j˜#jœ#‡”j[[j{[j[‡”j²j,²j3²‡”jjj‡”j¡ªjºªjÁª‡”jRjwjU‡”jT–jn–jW–‡”j>ªjSªjWª‡”j¨yjÄyjÈy‡”jô jæ jÚ ‡”jxjƒj‡‡”jkjgjq‡”jƒjƒjƒ‡”j£æj»æj¿æ‡”j¥j6¥j:¥‡”j^rjprjtr‡”jNßjRßjV߇”jT¼jw¼j{¼‡”jD‘jV‘j]‘‡”j[¯j_¯jc¯‡”j%j3j7‡”jà:j‘}j1;‡”j¦-jÄ-jÈ-‡”jÀjæjꇔjVéjZéj^釔j¶pjºpj¾p‡”j—uj©uj­u‡”jï jý j!‡”j÷6j7j7‡”jN jw j{ ‡”jtjAtjEt‡”j¡€j³€j·€‡”j\j`jd‡”jÉ jÍ jÑ ‡”j³>j·>j»>‡”j=\jt%j+]‡”j‹^j^j“^‡”jXj1Xj8X‡”jЩjî©jò©‡”jQ¥jj¥jq¥‡”j~Þj‰ÞjÞ‡”jÙÇj¬kj¹È‡”jìéjêjï釔jÙÇj\kj‰È‡”j:gj]gjag‡”jh*j€*j„*‡”j,j,j ,‡”j®^j¹^j½^‡”jŒj¦j‡”j€j£j¨‡”j"„j-„j1„‡”j±Îj>jü·”jÓ@jè@jï@‡”j#aj.aj2a‡”jÄfj’îjÏf‡”jK×jO×jSׇ”jõj j‡”jTj TjT‡”j$àj(àj,à‡”j+j4+j8+‡”jNj'Nj+N‡”jUôj`ôjdô‡”jr#j‡#jŽ#‡”juÅjƒÅjŠÅ‡”j¨yjËyjÏy‡”jJžj\žj`ž‡”jÚjåj釔jèpjìpjðp‡”j}}j—}j€}‡”jn®jŠ®jŽ®‡”jEj"Ej)E‡”j|Dj•DjœD‡”jÛÀjæÀjêÀ‡”já<jú<j=‡”j“èj—èj›è‡”jxjxjx‡”jƒj'ƒj+ƒ‡”jÅj=ÅjAŇ”j£/jÉ/jÍ/‡”j‰PjPj‘P‡”j—j›jŸ‡”j~j/~j6~‡”j¥ìj¾ìjÅ쇔j­»j±»jµ»‡”j#Ij'Ij+I‡”j3šj7šj;š‡”jkàj„àj‹à‡”jÌþj sj ÿ‡”j6jL6jP6‡”jKj>€jtK‡”jIÚj[ÚjbÚ‡”jbGjˆGjŒG‡”jhËjsËjwˇ”jøjj‡”j@ßj<ßjF߇”jÙÇjÝÇjáLJ”j^j)^j-^‡”j·jÐjׇ”j\ÚjnÚjrÚ‡”jÓ,j×,jÛ,‡”j©@jÅ@jÉ@‡”jïjj‡”jÙÇjkkj’ȇ”jöØjÙjÙ‡”jˆjˆj ˆ‡”jxïj|ïj€ï‡”jõ£jù£jý£‡”jñWjXj"X‡”jk¥j&ôjv¥‡”jl²j²j“²‡”j‘µj•µj™µ‡”j»>jÉ>jÍ>‡”j¨j¬j°‡”j]jgƒjC]‡”jqjujy‡”j!"jJ"jN"‡”j˜5j»5j¿5‡”j 0j 0j0‡”jÓØjרjÛØ‡”j×6jï6jó6‡”jïj}ïj‡ï‡”(j*OjCOjJO‡”jLzj^zjbz‡”j¢†j®ój­†‡”j$zj(zj,z‡”j sj¹sjÀs‡”jø3j4j4‡”j@jKjO‡”j]¨j}¨j¨‡”jÎgjñgjõg‡”j¸jÃjLJ”jDQjOQjSQ‡”jT©jf©jj©‡”j¬zjÈzjÌz‡”j4çjBçjI燔jg)jíjr)‡”jõzjùzjýz‡”j+„j’ój6„‡”jáj=ájAᇔjiij{ij‚i‡”jìÒjÓjÓ‡”jYFj|Fj€F‡”j%§j)§j-§‡”j‡"jª"j®"‡”jþƒj„j„‡”jlYj‹YjY‡”jwj‚j†‡”jM5jX5j\5‡”j»cjÚcjÞc‡”jû@jAj"A‡”jïj:çjú‡”j–Æj¹Æj½Æ‡”jÏ¿jB;jÀ‡”j:–jE–jI–‡”jzMj“MjšM‡”j¨ƒj.j⃇”jÜjØj⇔jç«jß«jÓ«‡”jFjBFj F‡”jõjj‡”jÏ¥já¥j奇”jA²j_²jc²‡”j+1j/1j31‡”jöEjFjF‡”jõjõjÿô‡”jÈ”jêjÓ”‡”jÑpj$†jþp‡”j1AjTAjXA‡”jß\jŠòjê\‡”jìÊjðÊjôʇ”jK jn jr ‡”jV–jZ–j^–‡”jrüj€üj‡ü‡”jgEjkEjoE‡”jz€j“€j—€‡”jÅéjáéjå釔jx·j·j”·‡”jWj>WjBW‡”jcpj[pjOp‡”jÓwjáwjèw‡”j?šjbšjfš‡”j+j/j3‡”jÓûjòûjöû‡”jIj[•j_‡”jº7jÈ7jÌ7‡”jW/jo/js/‡”j$ j( j, ‡”jÛjþj‡”jÒjäj臔jNjmjq‡”j·øjîøjòø‡”jÑrjÉrj½r‡”j jø jË ‡”j¨€j“ˆj ”j(«jA«jE«‡”jhcjÂòjsc‡”jAjõKjˇ”j >j.>j >‡”jèj)èj-臔j¹xj½xjÁx‡”jBäj[äj_䇔j€çjNðj‹ç‡”jºkj¶kjÀk‡”jþvjwjw‡”jÿjjkjk‡”jO{jm{jq{‡”jmÛjÛjƒÛ‡”j€j®€j²€‡”jŒj¯j³‡”ji¿jºïjt¿‡”jNGjgGjnG‡”j©×j­×j±×‡”jµ1jÇ1jÎ1‡”j*«j.«j2«‡”j<[jG[jK[‡”j`jdjh‡”jƒ j• j™ ‡”jÆŒjÊŒjÎŒ‡”jû©jªj"ª‡”j&Gj*Gj.G‡”jŸLj´Lj»L‡”j~›j‚›j†›‡”j>j]ja‡”jMDj_DjcD‡”j½ŒjµŒj©Œ‡”j_ÎjyÎjb·”j7wj;wj?w‡”jiijmijqi‡”jŒjU0jƒŒ‡”jž4j©4j­4‡”j$ jü j* ‡”j”j ”j”‡”j/j*/j./‡”jŽcjÆòj™c‡”j©1jÃ1j¬1‡”jºj”j}‡”jÝÈjáÈjåȇ”jí«j¬j¬‡”j„xj§xj«x‡”jÍjðjô‡”jH¯jL¯jP¯‡”jîjEîjIj"¾jA¾jE¾‡”j‰Bj¬Bj°B‡”j–Ñj¡Ñj¥Ñ‡”jµjÊj·”j+1jQjX1‡”jšj8šj<š‡”j_®j‚®j†®‡”j_=jc=jg=‡”jgjrjv‡”jS¦jE¦j9¦‡”jkÖj>mj¥Ö‡”jOAjSAjWA‡”j8ñjQñjXñ‡”jujƒj‡‡”j$j$j $‡”jDÀjHÀjLÀ‡”j¦Nj¿NjÆN‡”j×jéj퇔j ×j×jׇ”jžgj¦îj©g‡”jçÊjËjˇ”j3j>jB‡”jãÜjçÜjë܇”j¯ÇjÈÇjÏLJ”jöìjíj퇔jž j© j­ ‡”jµjÑjÕ‡”j;+jZ+j^+‡”jlîjpîjtjsj sj's‡”j¨€j¢ˆj뀇”jî+jò+jö+‡”j›&jŸ&j£&‡”j$¤j(¤j,¤‡”jåƒjðƒjôƒ‡”j 0j0j"0‡”j‹^j™^j ^‡”jhžj‚žjkž‡”j× jé jí ‡”j‹Xj‡Xj‘X‡”jJ²jm²jq²‡”jh\j‡\j‹\‡”j—j¢j¦‡”j1j1j1‡”jš¡j½¡jÁ¡‡”jà:jZ}j;‡”jJMjdMjMM‡”jV×jZ×j^ׇ”j›j›j”jZTjhTjlT‡”jQ8jrèj\8‡”jÂ<jÛ<jâ<‡”jØjë?j\؇”jˆ|j£,j¼|‡”jÔëj÷ëjû뇔j±Gj2òj¼G‡”j¿hjÃhjÇh‡”jô’jð’jú’‡”j¨Pj¤Pj®P‡”j`PjrPjvP‡”jšjžj¢‡”j³„j·„j»„‡”j˜üj¦üj­ü‡”jؽjöjñ½‡”jâÁjûÁj‡”j‚vj¥vj©v‡”jO jh jo ‡”jŠ8jŽ8j’8‡”jz jv j€ ‡”jÀjÀj!À‡”j+ãjDãjK㇔j”/j¦/jª/‡”j 0j%0j)0‡”j¥j&¥j-¥‡”jyªjœªj ª‡”jNjRjV‡”já»jå»j黇”j¼)jÊ)jÑ)‡”jUj:Uj>U‡”jCWj;Wj/W‡”j)–j-–j1–‡”j§JjÍJjÑJ‡”j0j§bjd‡”jŽj§j®‡”j0lj>ljEl‡”j„j„j„‡”jtSj"j°S‡”j=\j˜$j§\‡”j$Žj/Žj3އ”jmùjùjƒù‡”j1¯j5¯j9¯‡”jÚÃjýÃjć”j}Îj Îj¤Î‡”j+1j[j^1‡”jf[j[j†[‡”j¸ojÒoj»o‡”jWTjuTjyT‡”j?üj^üjbü‡”j[j:[j>[‡”jŸjcj\Ÿ‡”jê¬j­j ­‡”jÇjêjjPœjoœjsœ‡”j®Ýj²Ýj¶Ý‡”jq=jm=jw=‡”jUnjgnjnn‡”j‰j!‰j(‰‡”jÄ«jä«j談”j°qjÉqjÐq‡”j{jwj‡”j}}j}j…}‡”j~jj‚jj†j‡”ji!jw!j~!‡”j¤j¯j³‡”j_BjjBjnB‡”jxKj|Kj€K‡”jº7jYQjî7‡”jr#jv#jz#‡”j‡Tj•Tj™T‡”juÅjyÅj}Ň”j*kjSkjWk‡”j`êj\êjfꇔj¼¿jÀ¿jÄ¿‡”j•j¸j¼‡”jBXjeXjiX‡”jö}j~j~‡”jÇmjåmjém‡”j“ºj¹ºj½º‡”j 7j7j7‡”jWjWj W‡”j·j»j¿‡”j´yjÚyjÞy‡”jçjùj‡”j¬jÊj·”jBjFjJ‡”jŽj Žjö‡”j"hjàYjdh‡”jû1j2j2‡”j–IjŽIj‚I‡”j_=jx=j=‡”jmj‚j†‡”j”%j·%j»%‡”j¼BjÖBj¿B‡”j­ƒj¸ƒj¼ƒ‡”jdj4dj;d‡”jÓvjñvjõv‡”j©Hj¾HjÅH‡”jãjçj뇔j=\jì%js]‡”j“ØjžØj¢Ø‡”jR·jV·jZ·‡”jpUj{UjU‡”jï?j @j@‡”j¦Šj¸Šj¼Š‡”j!j“!j—!‡”j]hjUhjIh‡”jü”j°Œje•‡”jZdj^djbd‡”juj>ujBu‡”jödjúdjþd‡”j«ëj¯ëj³ë‡”j=\jj\jn\‡”jø±j ²j²‡”jPœjbœjfœ‡”j±Îjô=jó·”jë$j %j%‡”j1Íj5Íj9͇”jéÔjûÔjÿÔ‡”j‡Jj™JjJ‡”jšõj¶õj½õ‡”j¿¬jʬjά‡”jØ£jø£jü£‡”j|Äj€Äj„ć”j¨ÞjºÞj¾Þ‡”jŽjGŽjKއ”j˜¯j£¯j§¯‡”jÏLjòLjöL‡”j¦NjªNj®N‡”j_ÌjcÌjġ”j{¹j“¹j—¹‡”j±:j¼:jÀ:‡”jôÑjÿÑjÒ‡”je5j]5jQ5‡”j–¢j¹¢j½¢‡”jã{j|j|‡”jr°j‡°jް‡”jŸj£j§‡”j$˜j6˜j:˜‡”jé°jô°jø°‡”jž(j½(jÁ(‡”jÓvjívjÖv‡”jd³jo³js³‡”jIPj[PjbP‡”jÓNjåNjéN‡”jG¹jÚêjR¹‡”jJÑj“>j‡Ñ‡”j’æj¤æj«æ‡”jq{ji{j]{‡”jØjøjü‡”j(jþçj(‡”jK±jO±jS±‡”jjj!‡”j•j±jµ‡”jàjõjü‡”jàjzój뇔j ¶j*¶j.¶‡”j„6jˆ6jŒ6‡”jߟjãŸj矇”jÆejâejæe‡”j†Oj‚OjŒO‡”js’je’j-’‡”j«aj¶ajºa‡”j3j23j63‡”jójój$ó‡”jxjj{‡”jtjâîjt‡”jÇ’jð’jô’‡”jå3j4j 4‡”jŒÿj¯ÿj³ÿ‡”j¤µjœµjµ‡”j!ujTujXu‡”j«9jvíj¶9‡”j(j j ‡”jáljmjm‡”j’j’j’‡”jí&jñ&jõ&‡”jø‹jŒjŒ‡”jj8j<‡”j†ƒjŸƒj£ƒ‡”jÁ¥jÓ¥jÚ¥‡”jðjKðjð‡”jÔòjâAjðò‡”jj"j&‡”j,Pj$PjP‡”j´$jÝ$já$‡”jëNjöNjúN‡”j«7j½7jÁ7‡”jî¡j¢j¢‡”jüÖjôÖjÝÖ‡”j j•-jR‡”jøjj‡”j¨VjºVjÁV‡”j1•j‚•j4•‡”jë$jíjö$‡”jšej¹„jëe‡”jj¨j¬‡”hEhZh^‡”j¿*jÃ*jÇ*‡”jÇWjÙWjÝW‡”j{¡j—¡j›¡‡”jÖŠjÚŠjÞŠ‡”j©Hj­Hj±H‡”jájj‡”j8’j<’j@’‡”j.:j@:jG:‡”jŠj°j´‡”j1 j5 j9 ‡”j7%jE%jL%‡”j¨…jïj³…‡”j=\j%jò\‡”jJRjbRjfR‡”jþÏjÐjЇ”j"hj:hj>h‡”j·j·j"·‡”j£åjÂåjÆå‡”jüjj‡”jŽ,j’,j–,‡”j'¡j+¡j/¡‡”j jýj‡”j'‚jG‚jK‚‡”j)j)j%)‡”jžgj½gjÁg‡”jk2j}2j„2‡”j3[j+[j[‡”j{¡j¡jƒ¡‡”jÁj3jü‡”jþjj‡”jë«j¬j¬‡”j¨€j¶€jº€‡”jåwj xjx‡”jÇ jÒ jÖ ‡”jÄýjâýjæý‡”j!ýjDýjHý‡”j:jEjI‡”jÎŒjìŒjðŒ‡”jÙ‘jÿ‘j’‡”j_j…j‰‡”j³=jÌ=jÓ=‡”j²"jÄ"jÈ"‡”j‡ÁjÁjsÁ‡”j#j.j2‡”jÓ@jæRjA‡”jó j j ‡”jÆ$jÊ$jÎ$‡”jy’ji’j’‡”j’}j }j§}‡”j>›jW›j^›‡”j®j”jg‡”j"*j0*j7*‡”j j²j¹‡”j (j¤(j¨(‡”j—¥j©¥j­¥‡”jåšj›j ›‡”jÔãj†ëjß㇔jréjŸéj£é‡”j¢Åj´Åj¸Å‡”jgjkjo‡”jÙÇjukj˜È‡”j Fj&òjF‡”jJåjNåjR凔j=±jA±jE±‡”jëùjújú‡”jo—js—jw—‡”jX„j2‰j–„‡”j×âjÛâjß⇔jVÏjyÏj}χ”jîjaqj¬î‡”j•Bj§Bj®B‡”j ôj²ôj¶ô‡”j‘µjœµj µ‡”j jj‡”jàÜjþÜj݇”jNTjqTjuT‡”j8Âj<jχ”j¼wjÕwjÜw‡”jë>jï>jó>‡”jgjgj"g‡”jT£jp£jt£‡”j«jŒ«j–«‡”j =j=j=‡”j¸–jÑ–jØ–‡”j]6jo6js6‡”jM%jX%j\%‡”jÿºjûºj»‡”j¿ƒjŠójʃ‡”j©j­j±‡”jñ]jõ]jù]‡”jS}j^}jb}‡”j µj µjµ‡”jÊRjí!j÷R‡”jñ j j ‡”j.›j@›jD›‡”jŠyjŽyj’y‡”j¡j—j§‡”jÆjéj퇔jLNjÙ jyN‡”jxj|j€‡”jŸ3jª3j®3‡”j“j—j›‡”j0j¬bjg‡”jªÄjµÄj¹Ä‡”j±j±j ±‡”jâNjÞNjèN‡”jÖÕjîÕjòÕ‡”j´$jÂ$jÆ$‡”j–Ñj²Ñj¶Ñ‡”jÑ9jé9jí9‡”jºšj¾šjš‡”jNÑjjÑjnч”jHfjZfj^f‡”jC÷jN÷jR÷‡”j' j2 j6 ‡”j.:jJ:jN:‡”j$Rj2Rj9R‡”jÇjËjχ”jº­j¾­j­‡”jM¦jI¦jS¦‡”jf&jj&jn&‡”jÂÊjÔÊjØÊ‡”j«j«j «‡”jAjAj A‡”jàhjÚòjëh‡”jðŒjûŒjÿŒ‡”j0j90j=0‡”jì—jè—jò—‡”jTj_jc‡”jB¿jb¿jf¿‡”j yjyj"y‡”jüOjîjP‡”j1Aj3j\3j`3‡”j?2jC2jG2‡”jKzj{zjz‡”jo—jz—j~—‡”jo,jz,j~,‡”jl1jï{j°1‡”jÿjj"‡”jö¯j°j°‡”j޳j§³j®³‡”jOœjkœjrœ‡”jöj"öj&ö‡”jš)j¥)j©)‡”jã?jç?jë?‡”j´˜j°˜jº˜‡”jžWjºWj¾W‡”j“ºj—ºj›º‡”j*j"j‡”jÎjÒjÖ‡”j|_j©_j­_‡”j‘^j‰^j}^‡”j6‰jP‰j9‰‡”j…jj¨jj¬j‡”jjj ‡”j Õj-Õj1Õ‡”jèj0èj7臔jÀj3Àj:À‡”j± jÉ jÍ ‡”jCÉj;Éj/ɇ”j™>j¤>j¨>‡”j j j ‡”j´-j¸-j¼-‡”jÞàjájáà‡”jbjˆjŒ‡”j“‡j‡j™‡‡”jXëj\ëj`뇔jšej¹ej½e‡”jÖHj‹Tj I‡”j-j"-j&-‡”jÁojäojèo‡”jB\jZ\j^\‡”j°j¬j¶‡”j-j¤-j¨-‡”j äjäj䇔j%ðjðjð‡”j²j®j¸‡”j´j¸j¼‡”jRDj]DjaD‡”jã?jÿ?j@‡”j™«j«j¡«‡”jÖjþïj*Ö‡”j²]jÄ]jÈ]‡”jàjîjò‡”jÍ“jÉ“jÓ“‡”jœajªaj±a‡”jCíj?íjI퇔jî$jù$jý$‡”j§j!§j(§‡”jÀ<jã<jç<‡”j©ãjÌãjÐ㇔jŽqj qj¤q‡”j>«j:«jD«‡”j‡ j™ j ‡”jÑ9jß9jæ9‡”j ájájᇔj1Ÿj?ŸjCŸ‡”j|Nj€Nj„N‡”j«j¯j³‡”jƒdj‡dj‹d‡”jK$jåyj~$‡”j1j31j:1‡”jÄ]j’òjÏ]‡”joÐjzÐj~Ї”jÆ™j jš‡”j!j,j0‡”jžXj¬Xj°X‡”j$˜jG˜jK˜‡”jS€je€ji€‡”j€Ïj„ÏjˆÏ‡”jâjæjꇔj7¸jV¸jZ¸‡”j=\jc\jg\‡”j‰Bj›BjŸB‡”j]*jy*j€*‡”j j+ j2 ‡”j$ j;Ij[ ‡”jØjæ?jY؇”joj2çjz‡”jJ;jN;jR;‡”jv’j’j…’‡”jÇjájʇ”j~Þj—ÞjžÞ‡”jk™jŽ™j’™‡”jBšj[šjbš‡”jžfj¬fj³f‡”j“jžj¢‡”j`#jd#jh#‡”j·àjÚàjÞà‡”jÉ%jì%jð%‡”jž$j¬$j³$‡”jrLj˜LjœL‡”jƒÃj¡Ãj¥Ã‡”j¸'jÖ'jÚ'‡”jd+jŠ+jŽ+‡”j j´ j] ‡”jȱjÚ±j᱇”jàj4àj8à‡”jˆ"jš"jž"‡”jraj‹aj’a‡”jcCj|Cj€C‡”jg™j™j‘™‡”jϰjá°jè°‡”jÓj!Ój Ó‡”j'‹jM‹jQ‹‡”jÜ“jî“jò“‡”j½ŠjâŠjÀЇ”j=\jè$j×\‡”jÉ jè jì ‡”j¹Lj½LjÁL‡”j6j>6jB6‡”jlYj’Yj–Y‡”jœ[jµ[j¼[‡”jñŠj‹j‹‡”jc_jg_jk_‡”jÝ.jè.jì.‡”jïåjæj 懔jå]jé]jí]‡”j½FjËFjÏF‡”jþjj‡”j8Âjˆ;j~‡”jpj%pj,p‡”j€:j„:jˆ:‡”jj$j+‡”jókjljl‡”jI˜j[˜j_˜‡”jbjwj{‡”jKj€j_K‡”jÁjÚjᇔjSjWj[‡”jæ•jñ•jõ•‡”jÙ jõ jù ‡”jþ(j)j)‡”j´j©´j­´‡”jKj5Kj9K‡”j<jGjK‡”jB9jP9jW9‡”j@&j_&jc&‡”jtŒjŒj”Œ‡”j¿+jÊ+jÎ+‡”jd†j}†j„†‡”j0Àj4Àj8À‡”jãOjîOjòO‡”j$fj(fj,f‡”jUójoójXó‡”j£—jÆ—jÊ—‡”jìjj‡”jv±j’±j–±‡”jhRjsRjwR‡”jÖ”jî”jò”‡”jêšj ›j›‡”jƒKj‡Kj‹K‡”jGÉjYÉj]ɇ”jl1j|jÅ1‡”jÔˆj÷ˆjûˆ‡”j- jvjp ‡”j:"j>"jB"‡”júÈjÉj ɇ”jŽj’j–‡”j¶ºjȺjϺ‡”j¡öj¬öj°ö‡”jwXj{XjX‡”jdjhjl‡”jV«jKjƒ«‡”j'j.'j5'‡”jtJjxJj|J‡”jjj‡”j”àj˜àjœà‡”jªj¦j°‡”jYÓjwÓj{Ó‡”jDgj`gjgg‡”jÒÐjÝÐjáЇ”jMâjEâj9⇔j@žjRžjYž‡”j%aj7aj;a‡”jEajSajZa‡”jÞ.jâ.jæ.‡”jWj¯Wj³W‡”j¹ÜjÄÜjÈ܇”j'j3'j7'‡”jqÙjÁmj¶Ù‡”j—ùj©ùj­ù‡”j·,jÏ,jÓ,‡”j´Êj¬Êj Ê‡”j(ÐjKÐjOЇ”j¡¨j¶¨j½¨‡”jˆjˆjˆ‡”jû2j3j"3‡”jÁdjädjèd‡”jÈ”jç”j딇”jÄ«jÈ«jÌ«‡”jE>j^>je>‡”j` jd jh ‡”jžžj©žj­ž‡”jÿjj2Zj/k‡”jÒQjäQjëQ‡”j8Âjû;jÇ”jt j jƒ ‡”jÏ™jî™jò™‡”jÊÑjÜÑjàч”j6j46j86‡”jÊÑjãÑjêч”jðj"ðj&ð‡”jHûjVûj]û‡”j±êjfðj¼ê‡”jhËjËjˆË‡”jŽ$jíj™$‡”j>­jP­jW­‡”jŠsj­sj±s‡”jŠ#jŽ#j’#‡”jCj_jc‡”j¦ÐjªÐj®Ð‡”jçjj‡”j×|jÛ|jß|‡”jp¡j‰¡j¡‡”jkjojs‡”j[!jp!jt!‡”jKIjVIjZI‡”jš¡jž¡j¢¡‡”jG™ja™jJ™‡”j|”j””j˜”‡”jj9j"‡”jö~jî~jâ~‡”j:“j]“ja“‡”jêjj‡”j>ªjLªjPª‡”jÅj9Åj"Ň”jïcjócj÷c‡”j¸Uj¼UjÀU‡”jôj j‡”j%j)j-‡”jÉjïjó‡”j<j˜<jœ<‡”j5®jG®jK®‡”jç²j³j겇”j$Ñj/Ñj3ч”jKj €jVK‡”j8j˜jœ‡”jÁujäujèu‡”j!ujä†j@u‡”jþ`jaja‡”j=\j÷$jà\‡”jÉåj×åjÞ凔j­ jÐ jÔ ‡”jôj Žjއ”jŸj*cjqŸ‡”jñŠjüŠj‹‡”j8Âjç;j·Â‡”jÆ¥jæ¥jꥇ”jÿ¦jüdjz§‡”jNj¤j‹‡”jHj HjH‡”jj“j—‡”j_®jx®j®‡”jºKjÙKjÝK‡”j:°j]°ja°‡”jƒFj°Fj´F‡”jY’jç‹j•’‡”j?'j['j_'‡”j]AjkAjoA‡”jJ¨jN¨jR¨‡”jš j½ jÁ ‡”jSjSj"S‡”jdjvjz‡”jÙÇjkjžÈ‡”jJÅjNÅjRŇ”je­jp­jt­‡”j0j4j8‡”jØjûjÿ‡”j×êj÷êjûꇔjAjÈKj°‡”jxjdj,‡”j¿+jØ+jß+‡”jd“jh“jl“‡”jY’j‚’j†’‡”jKYj]YjaY‡”j4´j?´jC´‡”jÊÉjãÉjêɇ”jM5jQ5jU5‡”j*j:*j>*‡”j¿‹jÊ‹j΋‡”jª:jjî:‡”jüÓjÔj Ô‡”jýj2ñj‡”j.›j9›j=›‡”j‰jjjj‘j‡”j¹‰jĉjȉ‡”jHDjVDj]D‡”jšéj´éj釔jáuj:ójìu‡”j¨Šj½ŠjÄŠ‡”jMj#Mj'M‡”jª:j%jô:‡”jýj¨ýj¬ý‡”jfnjqnjun‡”jàÿj¦ðjëÿ‡”jÞjÞjÞ‡”jtõj“õj—õ‡”jÚ,jó,j÷,‡”jŽÜj¨Üj‘܇”j/9jN9jR9‡”j‹‰j–‰jš‰‡”jtžj—žj›ž‡”jrjrjr‡”jˆäj§äj«ä‡”j6yjHyjLy‡”jŘjטjÞ˜‡”j½­jµ­j©­‡”jÿ¦j§j"§‡”jîÞjêÞjôÞ‡”jå„jé„j턇”jY3jj†3‡”jAÊjZÊjaʇ”jßtjö[ju‡”jî¡jò¡jö¡‡”jÞ÷jÊ÷j¾÷‡”je½jp½jt½‡”j¸j©¸j­¸‡”jïjïj#jùwjxjx‡”j6{jY{j]{‡”jNj&Nj*N‡”jsj"sj)s‡”jà jä jè ‡”jÁäjÓäj×䇔j+j=jD‡”j)Êj-Êj1ʇ”j6›jP›j9›‡”jªýj¸ýj¼ý‡”j߉jŠjЇ”jê¹jchj)º‡”jêgjügjh‡”jÆejÊejÎe‡”j yjyjy‡”j#‹j5‹j9‹‡”j*j2íjŒ*‡”jœ[j§[j«[‡”j=\jj%j%]‡”jSj^jb‡”jG«jK«jO«‡”jí‘j’j’‡”j•j†•j–•‡”j/ jH jO ‡”jåDjÿDjèD‡”j{ˆj¡ˆj¥ˆ‡”j[j_jc‡”j5mjimjmm‡”j2zj6zj:z‡”jênjànjðn‡”jj j‡”jÎjçjjZ`jJ`j``‡”jÙÇjkjbȇ”jíÉjÿÉjʇ”jåújûj û‡”j@&jD&jH&‡”j*j*j*‡”jñjñjôð‡”j #j#j"#‡”j=jVj]‡”jàÒjÓjÓ‡”jP×jb×jiׇ”jÆjßj懔j”îj·îj»î‡”jWÂjlÂjs‡”j,j,j,‡”j“ºj:jѺ‡”j=]jU]jY]‡”jŠWj>îj•W‡”jjÈjP‡”jmajþƒj§a‡”jvojˆojo‡”jÓzjízjÖz‡”jD‘j`‘jd‘‡”j>?jžèjI?‡”jƒ@j›@jŸ@‡”j}}j–}jš}‡”jÆ™jÊ™jΙ‡”j$j6j:‡”jÊÉjíÉjñɇ”j.õjþëj9õ‡”j×6jfèjâ6‡”j*£jM£jQ£‡”jKojiojmo‡”j£j#£j'£‡”j½ÌjãÌjç̇”j‹1j–1jš1‡”j‘Ãj•Ãj™Ã‡”j`{jj j|{‡”jcËj|ËjƒË‡”jÏ¥jò¥jö¥‡”jwjšjž‡”jº j¬ j  ‡”jn‘jr‘jv‘‡”jë¾jö¾jú¾‡”j>jVjZ‡”jYj†jЇ”j‘µj´µj¸µ‡”j„6j6j“6‡”jÓj×jÛ‡”j$j $j$‡”jCjQSjYC‡”j UjûTjU‡”j†qjŠqjŽq‡”j,Ûj7Ûj;Û‡”j$fjGfjKf‡”j3j`jd‡”j–-j²-j¶-‡”jçØjãØjíØ‡”jôOjPjP‡”jÖjîjò‡”jmãjqãju㇔jH^jL^jP^‡”j‘GjœGj G‡”j–Šj¡Šj¥Š‡”jÞMjâMjæM‡”jVjZj^‡”jÞÂj÷Âjþ‡”jNjRjV‡”jÙjÙjÙ‡”jðMjNjN‡”j|jxj‚‡”jhXjdXjnX‡”jh9j‡9j‹9‡”jœœjµœj¹œ‡”júâjãj㇔j³Ÿj·Ÿj»Ÿ‡”j§ójÅójÉó‡”jñ jõ jù ‡”j ™j+™j/™‡”j&j!&j%&‡”j¸qjÃqjÇq‡”jF¡jX¡j\¡‡”jÃj³ijDÇ”j}ìjìj…쇔j¸j¼jÀ‡”jYjgjn‡”jìûjðûjôû‡”jàÙjòÙjöÙ‡”jL½jW½j[½‡”j (jÃ(jÇ(‡”jßUjVjâU‡”jôjøjü‡”jÿj"ÿj)ÿ‡”jb©jm©jq©‡”j˜j¦j­‡”jŽj j¤‡”jÜ j j ‡”jåxjyjy‡”jöìjíjù쇔j…Gj‰GjG‡”j|ÇjtÇjhLJ”jL~jo~js~‡”j1jRíj)1‡”jS0je0ji0‡”jáËjåËj顔jµŸjΟjÕŸ‡”j£bj§bj«b‡”jà­jú­jã­‡”jÙÇjÈj ȇ”jˆjtjh‡”jxfjfj”f‡”jŽj j§‡”jÊôjíôjñô‡”(jZxjlxjpx‡”j„Ýj¢Ýj¦Ý‡”jv0jˆ0jŒ0‡”jQJj\Jj`J‡”jgj…gjyg‡”j•*j™*j*‡”jŽÒj™ÒjÒ‡”jè)jì)jð)‡”jFejJejNe‡”j€Äj™Äj Ä‡”j/zj3zj7z‡”jâj'âj+⇔jüjj ‡”jƒjƒjƒ‡”jy j} j ‡”j"„jB„jF„‡”jcjujy‡”j£¤j§¤j«¤‡”j€7jš7jƒ7‡”jHvjdvjhv‡”j’j±jµ‡”j@´jp´jC´‡”jØVjñVjøV‡”j€jŒ€j€‡”jŽqj’qj–q‡”jѱjbôjܱ‡”j5BjXBj\B‡”jÚ=jì=jó=‡”jcCjnCjrC‡”jLjkjo‡”j0j;j?‡”j¸j¸j¸‡”jcj yj‡”j%^j)^j-^‡”j#j5j9‡”jÜ]jç]jë]‡”j†Ãj©Ãj­Ã‡”jÚjÒjƇ”jÀjÀjñ¿‡”j3[j/[j9[‡”j Çj"Çj)LJ”jÔºjߺj㺇”j½PjÏPjÓP‡”jxüj›üjŸü‡”jD3j@3jJ3‡”j}Îj–Îj·”j5çjTçjX燔j¦‹j±‹jµ‹‡”jØjǘj˘‡”j1¯jJ¯jQ¯‡”jëujvjv‡”jN`jF`j$`‡”j jÚj6 ‡”jÁj”Áj˜Á‡”jÿ¦j«ej㧇”jY’jì‹j˜’‡”ju>jq>j{>‡”jë+j,j ,‡”j0”jB”jI”‡”jÔˆj؈j܈‡”j =j.=j2=‡”jçBjòBjöB‡”jÅ\jÐ\jÔ\‡”jêj êj ꇔj|xjf‡jµx‡”jÓãjìãjó㇔jO—jr—jv—‡”jjjfjp‡”j%j:j>‡”j\Új`ÚjdÚ‡”jŽj/Žj6އ”jj“j—‡”jUãjYãj]㇔j¾„jׄjÛ„‡”jsj–jš‡”jUjUj#U‡”j j j# ‡”jÙ=jÕ=jß=‡”jóIj÷IjûI‡”jÉžjnïjÔž‡”jW-ji-jm-‡”j¹OjÄOjÈO‡”jî¡jù¡jý¡‡”jâ'jú'jþ'‡”j½FjÒFjÙF‡”j»wjÍwjÑw‡”j÷>j?j?‡”jYj|j€‡”jUðjYðj]ð‡”j¸&j¼&jÀ&‡”j {j{j"{‡”j»EjÆEjÊE‡”j0Cj(CjC‡”j´TjáTjåT‡”jçKjLjL‡”j‰`j©`j­`‡”jøjj‡”jVƒjgƒjnƒ‡”j_ëjcëjg뇔jçRjõRjùR‡”j‚ˆjzˆjcˆ‡”j‘*jœ*j *‡”jÊbjèbjìb‡”j&j1j5‡”jmojeojYo‡”jnj>njn‡”j’Êj¬Êj•ʇ”j_j*_j1_‡”j06j46j86‡”jEjAjK‡”jÿj"j&‡”jƒj#ƒj'ƒ‡”j°jÂjƇ”jÒÐjÖÐjÚЇ”jLVj6îjWV‡”jÄj¼j°‡”j5×j9×j=ׇ”juj7uj;u‡”j`[j\[jf[‡”j$RjCRjGR‡”jHfjkfjof‡”jÚjìjð‡”j›¤j°¤j´¤‡”jŠžj†žjž‡”jKJjjJjnJ‡”j§jÍjч”jxgj|gj€g‡”jé§jí§jñ§‡”j3jVjZ‡”j®"jÓ"j±"‡”jcj‰j‡”juj¡uj¨u‡”j?wjQwjXw‡”jájåj釔jŸ3j£3j§3‡”j=\j§$j°\‡”j TjÃTjÇT‡”jú’jì’jà’‡”jÅ?j×?jÛ?‡”juj²uj¶u‡”jÓWj×WjÛW‡”jÆj=ÆjAƇ”jp×jb×jKׇ”jèAjìAjðA‡”jn¬j€¬j‡¬‡”jœ"j®"j²"‡”jb‡jf‡jj‡‡”jÄfjÒfjÖf‡”jñôjõjôô‡”j´yjÓyj×y‡”jÓ«j׫jÛ«‡”jÆ¥jߥj㥇”jygj}gjg‡”j»kjfæjÆk‡”j¡¹jžïj¬¹‡”jÏìjòìjö쇔j›j›j›‡”jE'jh'jl'‡”jY3j]3ja3‡”j¸ˆjшj؈‡”jÛùjõùjÞù‡”jÞjþj€‡”j1•j†•jŠ•‡”jÄäjÝäjá䇔j*±jM±jQ±‡”jÀgjËgjÏg‡”jëDjEj E‡”jœaj aj¤a‡”jj&j*‡”jtJj†JjŠJ‡”jOj…Oj‰O‡”j}bj–bjb‡”j­j±jµ‡”jVÏjoÏjvχ”jx$j|$j€$‡”jY+jnjŒ+‡”j³jÑjÕ‡”jÂ9jÛ9jâ9‡”j$.j(.j,.‡”jÆÅjÊÅjÎŇ”jšõj¯õj³õ‡”j¡öj³öj·ö‡”j|xjW‡j¬x‡”jb¦jm¦jq¦‡”jL’j^’jb’‡”jõ£j¤j¤‡”j,©j0©j4©‡”j`ùjƒùj‡ù‡”j%j%j&%‡”jšUj¬Uj°U‡”jUj`jd‡”j?jbjf‡”j´TjÂTjÆT‡”j­j­j ­‡”j??jC?jG?‡”jÙÇj¼jj)ȇ”j©Xjs#jÜX‡”jËCj½Cj±C‡”jUãjnãju㇔j*j)*j0*‡”jë$j2Nj2%‡”j1ÚjKÚj4Ú‡”jSjWj[‡”jž€j¢€j¦€‡”jºj¾j‡”jh£jl£jp£‡”jš+j¥+j©+‡”jÌÞjêÞjîÞ‡”jñ¤j¥j¥‡”j ‡j9‡j=‡‡”jí jÿ j!‡”jwAjm~j¤A‡”jÉjÅjχ”jÞj÷jþ‡”jy—j’—j™—‡”jvjvj v‡”jÜjàj䇔j°CjÆèj»C‡”j Ýj.Ýj2݇”j:–jL–jP–‡”jj3j:‡”jpijtijxi‡”j§jÆjʇ”j(«j3«j7«‡”j=\j&jŽ]‡”j¸–jÊ–jΖ‡”j1Cjòjjm>jV>‡”jÆejÑejÕe‡”j$ƒj=ƒjDƒ‡”jâajÏXjb‡”jj"j ‡”j1j5j9‡”j¶ñjÄñjËñ‡”jMäjfäjj䇔jÿ¦j±djM§‡”j˜±jª±j®±‡”jsjwj{‡”j™–j¤–j¨–‡”jávjåvjév‡”j=\j»$j¼\‡”j ;j$;j(;‡”j--jF-jM-‡”jj°j´‡”jü”jˆŒjM•‡”j¥mj¾mjÅm‡”jË£jî£jò£‡”jÌEjÐEjÔE‡”jf—jX—jL—‡”jªjªj"ª‡”jÈ`jº`j®`‡”j8ËjRËj;ˇ”j òj-òj1ò‡”jÞ¶jâ¶j涇”jLíjWíj[퇔j©[jÏ[jÓ[‡”jxïjŠïjŽï‡”jOªjaªjhª‡”jõ£j¤j ¤‡”j;Lj?LjCL‡”jÅßjÞßjå߇”juj&uj*u‡”j'‹jC‹jJ‹‡”jVâjZâj^⇔jIBjABj*B‡”jxÁjtÁj~Á‡”j‘µj£µj§µ‡”j¯jÈjχ”j:qjXqj\q‡”j j&j-‡”j—¥j¢¥j¦¥‡”jù5j6j6‡”jEljaljel‡”jõujvjv‡”jUHjxHj|H‡”jm÷j†÷j÷‡”jbÿjfÿjjÿ‡”jëojýojp‡”j=\jÅ$jÂ\‡”j{Jj¡Jj¥J‡”jptjttjxt‡”j,_j>_jB_‡”jdjhjl‡”jô¡j¢j¢‡”j Ij:Ij#I‡”jýãjäj䇔jH†jL†jP†‡”j¢7jš7jŽ7‡”jâxjûxjy‡”j!j!j¤!‡”jó%j&j &‡”jæ¬j­j­‡”j×þjÛþjßþ‡”j•hj¸hj¼h‡”jð¸jû¸jÿ¸‡”jWajiajma‡”j„‡j‡j“‡‡”jŽ–j –j¤–‡”jÎMjàMjäM‡”jñ½jü½j¾‡”j¡j¹j½‡”jE…jI…jM…‡”j¸j¸j¸‡”jàjAàjEà‡”j×6jå6jì6‡”j$oj(oj,o‡”jŸxj·xj»x‡”jV–jç2j–‡”ja+jo+jv+‡”j§j+§j/§‡”j@&jN&jU&‡”j VjVjV‡”jW–j[–j_–‡”j½rjÁrjÅr‡”j‰Ÿj¬Ÿj°Ÿ‡”jä_jè_jì_‡”jW-jp-jw-‡”j+·j6·j:·‡”jõjõjõ‡”j0^jB^jF^‡”jT"jJ"jZ"‡”j\¦jg¦jk¦‡”jã'jõ'jù'‡”j¼ËjÇËjˡ”jø¼j½j½‡”j}HjˆHjŒH‡”j[0jf0jj0‡”jC4jU4j\4‡”jÎj}Îj‡Î‡”jðMj NjóM‡”jd&j‡&j‹&‡”jdÒjhÒjlÒ‡”jjj!‡”jIjIjI‡”jVˆjyˆj}ˆ‡”jtÅjÅjƒÅ‡”j=\jÉ%j^]‡”j!~j;~j$~‡”j×âjðâj÷⇔j%îj)îj-jdj&dj*d‡”jÆj3Æj:Ƈ”jºJjJòjÅJ‡”jj6j:‡”j÷j¡÷j¥÷‡”jkj”kj˜k‡”jj~j~j‘~‡”jw5j{5j5‡”j@ºjæêjKº‡”jk^j}^j^‡”jÙÇjakjŒÈ‡”j«~j£~j~‡”j=\j«%jL]‡”j¾/jÂ/jÆ/‡”jåjojL凔jmojiojso‡”jôjøjü‡”j6‚jO‚jV‚‡”j=,jA,jE,‡”j†Vj‘Vj•V‡”jò@jî@jø@‡”jH)jS)jW)‡”j›SjŸSj£S‡”j8èj<èj@臔j½ÆjׯjÀƇ”j0j/0j30‡”jôj j‡”jñFjGjG‡”j“—j¥—j©—‡”j²]jÕ]jÙ]‡”j¹j½jÁ‡”j¼{jÇ{jË{‡”j³&jÁ&jÈ&‡”jÚXjìXjðX‡”jh\j€\j„\‡”jdjvjz‡”j…òjŸòjˆò‡”j³=jÖ=jÚ=‡”jZ…js…jw…‡”jxEj›EjŸE‡”j¾îjÂîjÆî‡”j¢†j°†j´†‡”jfYjbYjlY‡”jkxjyxj}x‡”jˆ|j§|j«|‡”j²·jÄ·jÈ·‡”jÀšjÒšjÖš‡”j(HjFHjJH‡”jåüjUsjý‡”j€çjŸçj£ç‡”j´jÌjЇ”j¶jºj¾‡”jŸjýbjVŸ‡”j-“j?“jC“‡”j`{jd{jh{‡”jº—j.3jñ—‡”j4¯jF¯jM¯‡”jY jd jh ‡”jAjZKjn‡”j-³j#³j3³‡”j+j+jô*‡”jÙÇj¢kj³È‡”j(j,j0‡”jåwjr+jx‡”j,Wj:îj7W‡”jŸ„j±„jµ„‡”jˆEj§Ej«E‡”jK$jj$jn$‡”jAjæKj‡”j[Aj_AjcA‡”jukjkj‘k‡”jdjŠjއ”j¸jŸ¸j¦¸‡”jnöjföjZö‡”j”WjWjšW‡”j¼¿jß¿j㿇”j’•j¤•j¨•‡”jžj:žj>ž‡”jŽjÉ`j™Ž‡”jÚ?jÖ?jà?‡”jj1j‡”jÆ™jèŒjý™‡”jÀ jÄ jÈ ‡”jïÚjÛjÛ‡”já"j×"jç"‡”j]AjrAjyA‡”jCÛjUÛjYÛ‡”j¨Öj¬Öj°Ö‡”jˆej„ejŽe‡”jïSjTjT‡”jTjTj&T‡”j]"ja"je"‡”jà:jd}j;‡”jX„j…„j‰„‡”j¯ÝjÒÝjÖ݇”j´j‘´j•´‡”jT¼jX¼j\¼‡”j!±j3±j7±‡”jÄjºjʇ”jùjLùjPù‡”jÄ¡jÀ¡jÊ¡‡”j†Çj©Çj­Ç‡”jïcjdjd‡”jëùjújú‡”j&j-&j1&‡”jC4jN4jR4‡”jvßjŽßj’߇”j˜<j£<j§<‡”jÍjåj釔júljmj m‡”j 2j 2j2‡”jàÙjëÙjïÙ‡”jâ†j+_j*‡‡”j¥j©j­‡”jWj…Wj‰W‡”jdj`jj‡”jñ(j )j)‡”j\§j§jƒ§‡”jrfj•fj™f‡”j¨nj¬nj°n‡”j¨ƒj.j߃‡”jÓ{jè{jì{‡”jGjajJ‡”jAjYj]‡”jøj!øj%ø‡”j«jßj㇔jÝ=j>j>‡”j7j…7j‰7‡”j¢j#¢j'¢‡”jÔjÔjÔ‡”j¼ðjÀðjÄð‡”jê¹jYhj#º‡”jDÀjOÀjSÀ‡”jæRjêRjîR‡”j äjäj䇔j.9j<9jC9‡”jÉœjÍœjÑœ‡”jwDj“DjšD‡”jŸ¡j·¡j»¡‡”jF¡ji¡jm¡‡”jüajbjÿa‡”jnujdujtu‡”jFejQejUe‡”jç¬j­j­‡”jÏ™jç™j뙇”jTujXuj\u‡”j Ïj>ÏjBχ”j{j“{j—{‡”j¯j³j·‡”j1Ÿj5Ÿj9Ÿ‡”jÒ jÈ jØ ‡”jº7j¾7jÂ7‡”jËjËjˇ”jD jV jZ ‡”j$Ñj2Ñj9ч”j›¤jÁ¤jŤ‡”j²·jË·jÏ·‡”jí«jÿ«j¬‡”jÔjùjׇ”j›Åj¹Åj½Å‡”j ~j<~j@~‡”jSìjeìjl쇔jž²j·²j¾²‡”j8jƒ8j‡8‡”jAJjLJjPJ‡”jZjeji‡”jOœj|œj€œ‡”ja„je„ji„‡”j>ÁjaÁjeÁ‡”j˜Òj±Òj¸Ò‡”jCj(CjC‡”jp]jt]jx]‡”j¦–jÀ–j©–‡”j}HjHj…H‡”j£j0£j4£‡”jŽjajÃŽ‡”j‘'jœ'j '‡”j ‚jÂjÇ‚‡”jwAj~j°A‡”jµ®jÇ®jË®‡”j5j'5j+5‡”jžžj¢žj¦ž‡”jmãj†ãjŠã‡”j0xj4xj8x‡”j¸jÒj»‡”jÆ;jÑ;jÕ;‡”jJ jX j_ ‡”j–šj¨šj¬š‡”jCŒj_ŒjcŒ‡”j{Lj”Lj›L‡”j¸\j¼\jÀ\‡”jñ€j j‡”j! j, j0 ‡”j Šj ŠjЇ”jÔjÔjÔ‡”j›­jµ­jž­‡”jŒñj¯ñj³ñ‡”j?jCjG‡”j‰j§j«‡”j÷j8÷j?÷‡”jî.j/j/‡”jß*jÿ*j+‡”jŒºj¯ºj³º‡”jhÿj+Gj¤ÿ‡”jàjüj€‡”jSÚjKÚj?Ú‡”jpIjŒIjI‡”j,+jèj7+‡”jÕijÍijÁi‡”jŒljºîj—l‡”j˜9jœ9j 9‡”jÑ9jð9jô9‡”j†»j˜»jœ»‡”jîjÐpjUj\ÃjgÃjkÇ”jY’jÓ‹j‰’‡”jÙÇjžjjȇ”j[µjmµjtµ‡”jÝnjënjòn‡”jdj8dj?d‡”jü…j†j†‡”j j j! ‡”jΨjÏ6j©‡”jI4jc4jL4‡”j7jOjS‡”j[j”[j˜[‡”jÚqjìqjðq‡”jž j¢ j¦ ‡”jî¾j¿j¿‡”j߉jñ‰jõ‰‡”jÿ¦j3ej›§‡”jjj‡”jJ²jc²jj²‡”j.j0.j7.‡”j'‚j@‚jD‚‡”j™NjµNj¹N‡”j j¥ jT ‡”jèj èj$臔jrfj‹fj’f‡”j7¼j;¼j?¼‡”j~Zj‚Zj†Z‡”jÍjÌjó‡”j€ëj£ëj§ë‡”jàj¢‹j‘‡”jH‰j_j†‰‡”jè¥j¦j ¦‡”j,sj>sjEs‡”j™,j¢ñj¤,‡”j_jjjn‡”jž²jÁ²jŲ‡”jÑpj÷pjûp‡”jEljPljTl‡”j_ÌjqÌju̇”j\Ýj`Ýjd݇”jd°j‡°j‹°‡”j²‚j¶‚jº‚‡”j¶ÙjºÙj¾Ù‡”j˪jñªjõª‡”j #j#j#‡”jKéjOéjS釔j/jRjV‡”j&¥j*¥j.¥‡”jÎjñjõ‡”jë¾jï¾j󾇔jeqjpqjtq‡”jñj j‡”j/j²ñj/‡”jŸIjªIj®I‡”j6*jH*jL*‡”jºrj¾rjÂr‡”jjj‡”jnj¬nj°n‡”jZ`jF`j:`‡”j0jfïj;‡”jUj•Uj‰U‡”j]%jr%jy%‡”j®ÝjÑÝjÕ݇”j3j(3j/3‡”j±j»±j¿±‡”jƒjŽj’‡”jæÓj Ôj Ô‡”jNGjRGjVG‡”j6‘jA‘jE‘‡”jCj CjC‡”j”cjcjšc‡”j-–jI–jM–‡”j¸¯jƯjʯ‡”jü”j •j•‡”j2j2j#2‡”j|_jªòj‡_‡”j« jΠjÒ ‡”j›¯jŸ¯j£¯‡”j j¤-j[‡”j+¶j6¶j:¶‡”j¿j*¿j.¿‡”jŸ5j¸5j¿5‡”jÁ¹jç¹j빇”jŠj„/jOЇ”jœßjrëj§ß‡”jÜOjàOjäO‡”jY+jèjd+‡”jÀjÀj"À‡”jÜjØœjßœ‡”jÂÊjåÊjéʇ”j;GjoGjsG‡”jGcjccjgc‡”jÀ~jË~jÏ~‡”j¦&jª&j®&‡”j{bj†bjŠb‡”j`-jx-j|-‡”j§¦j²¦j¶¦‡”jÈWjÌWjÐW‡”jRDjdDjhD‡”jeijiijmi‡”jš÷jÎ÷jÒ÷‡”j·œj»œj¿œ‡”jVÞjZÞj^Þ‡”jA²j=²jG²‡”jwójsój}ó‡”jþ¦j§j§‡”jBîjeîjij¼j%¼j)¼‡”jUj"Uj&U‡”jšej–„jÖe‡”jeøjiøjmø‡”jIÔjMÔjQÔ‡”jQJjjJjqJ‡”jL~jW~j[~‡”j ‡jöéj‡‡”jƇjÛ‡j߇‡”jIj.Ij2I‡”j2”jK”jR”‡”jN˜jg˜jn˜‡”jX›j\›j`›‡”j j  j ‡”jÚXjåXjéX‡”j?pjCpjGp‡”j ™jC™jG™‡”jªj¾ªjȪ‡”j¾WjÝWjáW‡”jyåj}åj凔jljlj#l‡”j;¦jF¦jJ¦‡”jÙ‘jç‘j둇”jÓj%Ój)Ó‡”j«:j¡:j±:‡”j“j—j›‡”j°`j»`j¿`‡”j–Šj²Šj¶Š‡”j>ªjBªjFª‡”jmÛjxÛj|Û‡”j j¯ jZ ‡”jž jÁ jÅ ‡”j‹ájáj¤á‡”jÖj.çjᇔjªÄjÃÄjÊć”j-Öj?ÖjFÖ‡”jÉIjÛIjâI‡”jSÎjvÎjz·”j( jA jE ‡”j×7jé7jí7‡”jxTj|Tj€T‡”jjj jjj‡”jÎjñjõ‡”j¥j>¥jB¥‡”jýZj[j[‡”jŠÎjªÎj®Î‡”jî…jò…jö…‡”jjj‡”j³~j¯~j¹~‡”jÑ-j.èjÜ-‡”j+°j/°j3°‡”jB(jF(jJ(‡”j0j"0j)0‡”j¯âj³âj·â‡”jÍj"ëj%͇”jVÛjdÛjkÛ‡”jôTjøTjüT‡”j½ØjÁØjÅØ‡”jˆäjBj¾ä‡”j„ij|ijpi‡”jšmjŠ…jÖm‡”jÖ jü j¡‡”jÏjÚjÞ‡”jŸ¥jª¥j®¥‡”jCtjltjpt‡”jhËjzËj~ˇ”jÝnjÇZj o‡”j—¾j¢¾j¦¾‡”j3jþ2jò2‡”jôjøjü‡”jÝVjáVjåV‡”j°=jÉ=jÐ=‡”j.jLjP‡”jt‹j’‹j–‹‡”jëÛjÜj ܇”j_=j‚=j†=‡”j±ŽjÔŽjØŽ‡”j…9j“9jš9‡”j1j5j9‡”j0”jS”jW”‡”jŸ‹j£‹j§‹‡”jà*jä*jè*‡”j ÙjCÙjGÙ‡”j Hj'Hj.H‡”j_=jq=ju=‡”jt­j—­j›­‡”jétjujìt‡”jß³jý³j´‡”jàÿjÅsj‡”jË…jø…jü…‡”j FjFj F‡”j+8j/8j38‡”jýIjJjJ‡”jgjâðjr‡”jó[j\j \‡”jæújûjû‡”j!Yj:YjAY‡”je­j­jh­‡”jRj{j‡”jajljp‡”js˜j…˜jŒ˜‡”jØéjþéjꇔjA‰j=‰jG‰‡”jG\jj\jn\‡”jj j$‡”j–pj²pj¶p‡”jP"j^"je"‡”j3…jS…jW…‡”j–j¢–j¦–‡”j`˜jd˜jh˜‡”j×ajóaj÷a‡”j}/jBèjˆ/‡”jöbjcjùb‡”j¢6j¦6jª6‡”jï jòìjú ‡”jùjj#‡”jú,jþ,j-‡”j·~j§~j½~‡”jQ¡jc¡jg¡‡”jbþjZþjNþ‡”j>kjakjek‡”jàjõjù‡”jŠ‘j‚‘jk‘‡”jÊmjÎmjÒm‡”jŽDjœDj£D‡”jÌFjòFjöF‡”j5®j9®j=®‡”j”jŸj£‡”jBjeji‡”jËöjÖöjÚö‡”jïSjTj T‡”jZj5ZjZ‡”jÛùjùùjýù‡”jÂûjÍûjÑû‡”jYij]ijai‡”jÆŒjÑŒjÕŒ‡”jŒij¨ij¬i‡”j_ëjgpj™ë‡”jY’jg’jn’‡”jJjhjl‡”j·¨jɨjͨ‡”j^!jz!j~!‡”jájåj釔jXjj\jj`j‡”jÄ+jÈ+jÌ+‡”j³4j·4j»4‡”jÜêjçêjëꇔj.Èj2Èj6ȇ”jjj‡”j/j/j/‡”j¸}j¾éjÃ}‡”jj4jˆ4jŒ4‡”jL1je1ji1‡”j5=j1=j;=‡”jîjqjvj3Ìj>ÌjḂ”jôYjZjZ‡”jµ“jÓ“jד‡”jCtjstjwt‡”jiêjmêjqꇔj™ j j¡ ‡”jj6j:‡”j¶ÿjÁÿjÅÿ‡”jÞjéj퇔jñljílj÷l‡”jŽj’j–‡”j‘\j£\j§\‡”j2qjUqjYq‡”jÇ0jç0jë0‡”j—¾j©¾j­¾‡”jªjÈj̇”jõ<jù<jý<‡”jzAjvAj€A‡”jiij…ij‰i‡”já{j|j|‡”j8jJjN‡”j+j6j:‡”jyªj}ªjª‡”jxj|j€‡”jõAjBjB‡”j¦HjÄHjÈH‡”j¨…j½…jÁ…‡”jñ!jé!jÝ!‡”jj-j1‡”j*œjJêj5œ‡”jžfj½fjÁf‡”jh js jw ‡”j ÕjÕjÕ‡”j`jƒj‡‡”j¸jÔj؇”jd.jh.jl.‡”jV_jh_jo_‡”jU¹jm¹jq¹‡”jO“jS“jW“‡”j¡òj™òjò‡”j…j+…j/…‡”jߟjõ4j  ‡”jèÆjÇjLJ”j“èj«èj¯è‡”jõbjcjc‡”j¸ŸjÊŸjΟ‡”j(j,j0‡”j£“j§“j«“‡”j½ÊjÏÊjÓʇ”j|ôjòëj‡ô‡”j.j!.j%.‡”j¯j ¯j'¯‡”jmj‰j‡”j¢jÀjć”j9jQjU‡”jrjvjz‡”jc#j#j…#‡”j¤jÀ¤jĤ‡”jM‰j=‰jS‰‡”júj újú‡”j¦jzêj¦‡”j$ jJ jN ‡”j$ƒj(ƒj,ƒ‡”jÊjïj͇”jà‰j Šj Ї”jKjéjK‡”jXjçjc‡”jªÄjÍÄjÑć”j¶.jº.j¾.‡”j?wjCwjGw‡”j$Ej6Ej:E‡”j¤Qj¶QjºQ‡”jmOj…Oj‰O‡”jØjΘjÒ˜‡”j¦j@¦jD¦‡”j­j7­j;­‡”j` jƒ j‡ ‡”jœfj¿fjÃf‡”jëùjìjöù‡”jÚÃjåÃjéÇ”jK$jùyjŠ$‡”j­j”­j˜­‡”j1j*1j.1‡”j&j@&jD&‡”jpj‰j‡”jLAjjAjnA‡”jn<jr<jv<‡”jâqjûqjr‡”jåj8åj<凔jjB‡”j+Hj/Hj3H‡”j0jOjS‡”jÕ7jà7jä7‡”j‘?j­?j±?‡”jÔòjñDjó‡”j#aj'aj+a‡”j5rjGrjKr‡”j3jOjS‡”jú,j}Oj'-‡”jïßjàjà‡”jú,j-j-‡”jû4j5j"5‡”j¾¯jÚ¯jÞ¯‡”j‹›j®›j²›‡”j9‰j=‰jA‰‡”jg,jk,jo,‡”jýj ýj ý‡”(jN"jF"j/"‡”j}áj–ájᇔj®®j²®j¶®‡”j†jŠjއ”j™j`vjЇ”jzìj…ìj‰ì‡”j¢Yj­Yj±Y‡”j=]jfîjH]‡”jø`jajû`‡”j_®jj®jn®‡”j¾DjÂDjÆD‡”j=\j<&j£]‡”jr#jj¦#‡”j¬#jÅ#jÌ#‡”jDþjVþjZþ‡”jDÀjVÀjZÀ‡”jk™j}™j™‡”j‘?j£?jª?‡”jÅWjãWjçW‡”jSjWj[‡”j"½jE½jI½‡”j”%j˜%jœ%‡”jÇcjËcjÏc‡”jAàjLàjPà‡”jê¹jwhj5º‡”j´j´jü³‡”jÆjÑjÕ‡”jŽcj¦cjªc‡”j»ˆj͈jш‡”j·øj~ðjÂø‡”j&j&j&‡”j%“j)“j-“‡”jÑájßájæá‡”jï?j¦èjú?‡”jß›jê›j”jê·j ¸j ¸‡”jZ‘jl‘jp‘‡”jKjNòjK‡”j¹LjÒLjÙL‡”jžjžj ž‡”j j0yj? ‡”j8­ja­je­‡”j'Sj2Sj6S‡”jŸLjêíjªL‡”jåwjh+jx‡”j 'j'j'‡”jb j^ jh ‡”j~j¡j§‡”jJÙjjÙjnÙ‡”jÍxjÅxj¹x‡”js¢j~¢j‚¢‡”jØ{jÔ{jÞ{‡”jgUj_UjSU‡”joåjaåjU凔jš^j¥^j©^‡”jéjßjjà jÇ jË ‡”j¯—j³—j·—‡”jP×jl×jpׇ”hEhkho‡”j_(jíjj(‡”jÙjj²îjäj‡”jþƒj$„j(„‡”j˜ƒj±ƒjµƒ‡”jæ_jÜ_jì_‡”jކj †j¤†‡”jrj‘j•‡”jŸÈj›Èj¥È‡”jN`jY`j]`‡”jÓjïjó‡”jsÁjwÁj{Á‡”j0j(j‡”j· j³ j½ ‡”jij"ij&i‡”jî…j †j†‡”j8ºjJºjNº‡”jÛPjßPjãP‡”jãqjrj r‡”jYj]ja‡”jSj|j€‡”jУjé£j𣇔jâjôjø‡”j Ùj$Ùj(Ù‡”jžj"žj&ž‡”jØ:j†íjã:‡”j j2 j ‡”jí˜j™j ™‡”jÀgjÒgjÖg‡”jš¡j¬¡j°¡‡”jÕ“jø“jü“‡”jDgjqgjug‡”jÓõjÞõjâõ‡”j*yj5yj9y‡”jØjêjjìrjðrjôr‡”j§ÕjµÕj¼Õ‡”j€ój„ójˆó‡”j߯jêÆjîÆ‡”jÿjj‡”j±Îj¿ÎjÆÎ‡”jè¯jì¯j𯇔j—ùjºùj¾ù‡”jëNjOjO‡”jTZjfZjmZ‡”j³÷j·÷j»÷‡”jÞjÞj"Þ‡”j€çjŽçj•燔j®øjÀøjÄø‡”jµŸj¹Ÿj½Ÿ‡”jy—j}—j—‡”j—ùj°ùj·ù‡”jKIjOIjSI‡”ju¼j€¼j„¼‡”hEhrhv‡”jqCjuCjyC‡”jžj¢j¦‡”jò jý j¡‡”jZdjvdjzd‡”jŸj*çjª‡”jjj‡”jRjpjt‡”jp8j‰8j8‡”j@ºj_ºjcº‡”jKj¢Kj¦K‡”jBjMjQ‡”jðj!ðj%ð‡”jØj×?jP؇”j¼•jÕ•jÜ•‡”juYj‡YjŽY‡”j9jKjO‡”j3Vj7Vj;V‡”jÞÂjðÂjô‡”jÉjJj‡”jú j j ‡”jà:j›}j7;‡”j£SjÆSjÊS‡”jêjîjò‡”jC5ja5je5‡”j#‹j'‹j+‹‡”jtSj"j¡S‡”jËpjÏpjÓp‡”j0j0j0‡”j’2j¬2j•2‡”j’ÓjÓj¡Ó‡”jêZj [j [‡”jrjrj r‡”jnþj|þj€þ‡”j¬cj¢cj²c‡”jõj õj$õ‡”j©ðj´ðj¸ð‡”j"DjÒèj-D‡”j³ªjŪjɪ‡”j´ijÎij·i‡”jÄUjÈUjÌU‡”j0Cj,Cj6C‡”jë«jù«jý«‡”j[µjfµjjµ‡”j”îj¦îj­î‡”j•þj™þjþ‡”j!uj%uj)u‡”jkžjožjsž‡”j Žj$Žj+އ”j™ j¼ jÀ ‡”jÓ“jÉ“jÙ“‡”jJ}jB}j6}‡”jÏCjáCjåC‡”jäFjGj G‡”jÔòjýòjó‡”jñXjYjY‡”jƒj¦jª‡”jÒ-jÿ-j.‡”j÷ j j ‡”j{jžj¢‡”jK¼jC¼j7¼‡”j8j08j78‡”j©ãj­ãj±ã‡”jn®j‘®j•®‡”jUHjYHj]H‡”jÊÑjÎÑjÒч”jv’jz’j~’‡”j,Þj0Þj4Þ‡”jöjlEj_ö‡”jv0jz0j~0‡”jLVjaVjhV‡”jòVjWjW‡”j‘GjªGj®G‡”j­j*­j1­‡”j[j+[j[‡”jOªjrªjvª‡”j‡6j’6j–6‡”j±:jÊ:jÎ:‡”jó[jþ[j\‡”j·'jÏ'jÓ'‡”j½Ñj×ÑjÀч”jQ5jp5jt5‡”j¥j°j´‡”j|”j›”jŸ”‡”jÉIjåIjéI‡”jëhjiji‡”jþjþjþ‡”jÒQjõQjùQ‡”jŒjs0j•Œ‡”j*Äj<ÄjCć”j´jXxj燔jSjvjz‡”j×|jú|jþ|‡”jûHjÿHjI‡”j j j ‡”j­jÐjÔ‡”j’j¹wjŇ”j€¾j޾j’¾‡”j|jý{jñ{‡”jF­jJ­jN­‡”jd6j`6jj6‡”j||jt|jh|‡”jv0j0j…0‡”j×jÛj߇”jÿ¦j‰dj5§‡”ji—jt—jx—‡”j¹jÄjȇ”j¸j2¸j6¸‡”jšj‚çj¥‡”j2qjKqjRq‡”j øjøjø‡”jÉœjkj‡”j—nj°nj´n‡”j×GjÛGjßG‡”jK¼jG¼jQ¼‡”j(j&(j*(‡”jíÉjñÉjõɇ”j Íj‘=já͇”jvj vjv‡”jRj‘Rj•R‡”j£bj¿bjÃb‡”j•4j 4j¤4‡”j:ÒjSÒjZÒ‡”j·=jÕ=jÙ=‡”jj(j,‡”já»jC:j¼‡”j«½j¯½j³½‡”jÁ+jä+jè+‡”jªKjÄKj­K‡”j“ºj¡ºj¥º‡”j Íj®Íj²Í‡”j—¯jº¯j¾¯‡”js j– j𠇔jæ•jê•j”j—uj°uj·u‡”j}juj^‡”jjwjwj‘w‡”j¡€j¥€j©€‡”jæfj gj g‡”jÁj…Áj‰Á‡”jp.j“.j—.‡”jÛJjôJjûJ‡”j»ijÞijâi‡”jž­j¢­j¦­‡”j2…jæéj=…‡”ju¼j‡¼j޼‡”j_jcjg‡”jáj,áj3ᇔjY7j]7ja7‡”jìûjþûjü‡”j_ËjWËjKˇ”j(j6j=‡”j‡j"‡j&‡‡”j,Ïj>ÏjBχ”jdjæAj5d‡”j ŠjŠj#Ї”jpj‚j‰‡”j¼çjßçjã燔j3…j>…jB…‡”jsj*sj.s‡”j®jÇj·”jAžj=žjGž‡”jË1jÏ1jÓ1‡”j˜üj·üj»ü‡”jjææj‡”j¨nj³nj·n‡”jmOj!j O‡”jŒÙj¯Ùj³Ù‡”j¸j¼jÀ‡”jÐ>jâ>jé>‡”jÿjj"kj&k‡”ju†jІj‘†‡”j°òjÓòj×ò‡”jg;jk;jo;‡”j8QjQQjUQ‡”j¢åj­åj±å‡”jÉjtj ‡”j_ïjyïjbj­ûjÅûjÉû‡”jrüj’ðj}ü‡”j…Çj—Çj›Ç‡”jŒjû/jMŒ‡”jÒ—jÖ—jÚ—‡”j>­jZ­j^­‡”jM%j_%jf%‡”j¨Šjê_j”j„ªjˆªjŒª‡”júîj ïjj‹sjƒsjas‡”jƒ jŽ j’ ‡”j”Jj¬Jj°J‡”j™ÐjÐj¡Ð‡”j‘j‘j‘‡”jàj àjþ߇”jhkj‹kjk‡”jbGjµjG‡”jöØjÙjÙ‡”jÿjçj ‡”jÙÇjÕjj8ȇ”j9<jK<jO<‡”jJ~jN~jR~‡”j©Öj­Öj±Ö‡”j,ˆjOˆjSˆ‡”jñ¤jõ¤jù¤‡”j-¡jL¡jP¡‡”jÆejéejíe‡”jàÙjäÙjèÙ‡”j=\jÀ$j¿\‡”j<åjaåj?凔j‚9j†9jŠ9‡”j°`jÉ`jÍ`‡”jõjíjᇔj©‚j¡‚j•‚‡”jî$j%j%‡”jH.jL.jP.‡”j—Ûj›ÛjŸÛ‡”jÄ(jê(jî(‡”j;j;j;‡”j=]jôWjm]‡”jR·jq·ju·‡”jkxjoxjsx‡”jj9j=‡”jŒjn0j’Œ‡”jìjìj#쇔jÄ+jç+jë+‡”j‘oj´oj¸o‡”j`{j(]j§{‡”j·øjÓøjÚø‡”j´$jä$jè$‡”jº—jV3j ˜‡”j˜<jœ<j <‡”j=\jâ%jm]‡”jnDjyDj}D‡”jEj_jH‡”j8ÂjFÂjM‡”jVÛjbëjaÛ‡”jØ•jò•jÛ•‡”juIj‡Ij‹I‡”jOœjdœjhœ‡”j'j9j=‡”jOkjSkjWk‡”j\ÃjnÃjuÇ”j°Új»Új¿Ú‡”jœ‚j¼‚jÀ‚‡”j–Æj¡Æj¥Æ‡”j‚TjTj‘T‡”j‚Üj»@jÆÜ‡”jòmjnj n‡”j£ZjZîj®Z‡”jŒèj¯èj³è‡”jLyj^yjby‡”j'‚j9‚j=‚‡”j93jR3jV3‡”jŠùj­ùj±ù‡”jžíjºíj¾í‡”jߟjc5jb ‡”jå;jé;jí;‡”jùQjRjüQ‡”jÊ‚jÕ‚jÙ‚‡”jB¾j\¾jE¾‡”jšj¬j°‡”j j$j(‡”jö¤jú¤jþ¤‡”jØ»jñ»jø»‡”jÜ jê jñ ‡”j •j•j#•‡”jnájfájOᇔj”JjFòjŸJ‡”jŸj¸j¿‡”jÉójÅójÏó‡”j#sjsjs‡”j•j§j®‡”jfj~çjq‡”j$ïjGïjKj¨!jº!jÁ!‡”jjj‡”jóßj÷ßjû߇”jý6j7j 7‡”jXj;Xj?X‡”jM3jQ3jU3‡”jvmjmj…m‡”jÕmjÙmjÝm‡”j(jšj[‡”j•þj´þj»þ‡”j?ijCijGi‡”jçKjëKjïK‡”j6¨jV¨jZ¨‡”jøÄjüÄjŇ”jÁ…jÏ…jÓ…‡”jbñj…ñj‰ñ‡”jÐ>jó>j÷>‡”jøjøjø‡”jîj“qjÊj%5j)5j-5‡”jè3jä3jî3‡”j 'j'j'‡”jctjgtjkt‡”jöžjŸj Ÿ‡”jcjgjk‡”jý6j 7j7‡”j’†jlåj†‡”j„j–jš‡”j;øjMøjQø‡”j wj&wj-w‡”jªújÆújÍú‡”jÓIjöIjúI‡”j/jHjO‡”jG†jK†jO†‡”jÔˆjæˆjꈇ”j{Zj¤Zj¨Z‡”jÉjèj쇔j¨Vj¬Vj°V‡”jqÙjÆmj¹Ù‡”jObjhbjob‡”j=pjRpjYp‡”jü_j`j`‡”j`-jªñjk-‡”jÉjáj凔j7ŠjIŠjMЇ”jC@jN@jR@‡”j©NjÌNjÐN‡”jÉÐj»Ðj¯Ð‡”jùŒjýŒj‡”jÞj$Þj(Þ‡”jéhjíhjñh‡”jI{jM{jQ{‡”jG«jc«jg«‡”j°j´j¸‡”j]AjaAjeA‡”jîjpqjµî‡”j.j2j6‡”jÓIjÞIjâI‡”j\j`jd‡”j•*j *j¤*‡”jÍÕjÛÕjâÕ‡”jYEjUEj_E‡”jÈ4jÓ4j×4‡”j =j$=j+=‡”jªÏj¼ÏjÀχ”j0j,j6‡”j7ŠjPŠjWЇ”j›™jÁ™jÅ™‡”j£ZjÉZjÍZ‡”jxôj|ôj€ô‡”jZ|jx|j||‡”jCmj;mj/m‡”jvßjzßj~߇”jq&j|&j€&‡”j*MjIMjMM‡”jj*j.‡”jCj.SjDC‡”j¾j&¾j*¾‡”jÁDjÅDjÉD‡”jÿ£j¤j¤‡”j8ƒjJƒjNƒ‡”jîUjòUjöU‡”jߟjë4j ‡”jÒ_jõ_jù_‡”j)”j-”j1”‡”jšj³jº‡”j¿4j×Pjï4‡”jCj¶íjC‡”j Pj(Pj,P‡”j…âj—âjžâ‡”jÊ(jØ(jß(‡”jjj ‡”j× jé jí ‡”jk­ja­jq­‡”jR-j*èj]-‡”j… j j‹ ‡”jžfj¢fj¦f‡”j=]jïWjj]‡”jaj„jˆ‡”juôjôjxô‡”jQ5jÒñj\5‡”jj¯j³‡”j¾j¾j¾‡”jbñj{ñj‚ñ‡”jÍ¡jð¡jô¡‡”j§ÎjÃÎjÇ·”h×hÛh߇”jhÓjÓjˆÓ‡”jãjõjù‡”jÓ©jשjÛ©‡”j¼RjÕRjÜR‡”j¹j½jÁ‡”jmùjqùjuù‡”jBXjTXj[X‡”jýIjJjJ‡”j,#jD#jH#‡”j5=jN=jU=‡”jö}j~j~‡”jsjsj s‡”jsíjwíj{퇔ja+je+ji+‡”j®j²j¶‡”jÜj!Üj(܇”j¡j¥j©‡”jbij€ij„i‡”j÷rjûrjÿr‡”jYFjkFjoF‡”j­üj±üjµü‡”jÖTjùTjýT‡”jqj$qj+q‡”ja¶jy¶j}¶‡”jÏ¿j ëjÚ¿‡”j­ûjÌûjÐû‡”jùèjýèj釔j¿6jÊ6jÎ6‡”jÐUjÔUjØU‡”j=\jk$jŒ\‡”jÊjÎjÒ‡”j¬j¬j"¬‡”jµ›jÇ›jË›‡”jBšjTšjXš‡”j•®j§®j«®‡”j%Xj)Xj-X‡”j°jÉjЇ”j0‡jS‡jW‡‡”jå€jé€j퀇”jùj‚jü‡”jÓIjìIjóI‡”jU@jg@jk@‡”j*£j.£j2£‡”j¶j ¶j¶‡”jAžjSžjZž‡”j”j)”j-”‡”j|jtjR‡”jb¦jf¦jj¦‡”j¶ÙjÁÙjÅÙ‡”j2j@2jD2‡”j Çj,Çj0LJ”jöEjFjF‡”jT`jF`j/`‡”jwAj–AjšA‡”j×jújþ‡”jæRjSjS‡”jöEjFjF‡”jNjgjn‡”j®jþ­j®‡”jÈojÚojáo‡”jÀšjÄšjÈš‡”j jø jÀ ‡”j ïj'ïjj„¨jˆ¨jŒ¨‡”j«j«j«‡”j2Ój=ÓjAÓ‡”j-“j1“j5“‡”j¹LjËLjÏL‡”jƒAj©Aj­A‡”jI÷jM÷jQ÷‡”jˆ jöæj“ ‡”j£j§j«‡”j¸ŸjÑŸjÕŸ‡”jujƒjЇ”j¸¯j¼¯jÀ¯‡”jË…jà…jä…‡”j¾j¾j¾‡”jŸ„j£„j§„‡”jçRjSjS‡”j<jŸ<j£<‡”j lj)lj-l‡”jU@jY@j]@‡”jñj/ñj3ñ‡”jCj`SjbC‡”jOj²Oj¶O‡”j|”j€”j„”‡”j@j0@j4@‡”j=\j±$j¶\‡”jÿ¤j ¥j¥‡”jfhjhj†h‡”j¶ÿjºÿj¾ÿ‡”jƒj•j™‡”j|jtjh‡”j0áj,áj6ᇔjÒ-j£Oj.‡”jJjbjf‡”jøjžjž‡”j@þjZþjCþ‡”j>Éj:ÉjDɇ”jZ€je€ji€‡”jOXjkXjrX‡”jªýj®ýj²ý‡”jk jv jz ‡”jáýjåýjéý‡”j]¸ja¸je¸‡”j3jAjH‡”j½pjÛpjßp‡”j(µj µjµ‡”jÁhjÓhj×h‡”j÷>j?jú>‡”jÔëjßëjã뇔jXBjqBjxB‡”jbÿjtÿjxÿ‡”j– jµ j¹ ‡”j.:j2:j6:‡”j?jšèj#?‡”jNj©jއ”jɰj»°j¤°‡”j…j$…j(…‡”j¦dj¸dj¿d‡”jåµj÷µjþµ‡”jj2j6‡”j.ˆjQˆjUˆ‡”jRÐjuÐjyЇ”j™lj•ljŸl‡”j°¦j»¦j¿¦‡”jÌLjîíj×L‡”jËCjÁCjÑC‡”jMjQjU‡”jø‹j ŒjŒ‡”jX‰jP‰jD‰‡”jnAjfAjZA‡”j¸±jʱjᇔjMfjQfjUf‡”jŸj+Ÿj2Ÿ‡”jäkjèkjìk‡”j°Õj¾ÕjÅÕ‡”j*±j<±j@±‡”j6˜j:˜j>˜‡”jÖxjáxjåx‡”jÇjíjñ‡”jD<jH<jL<‡”jÛŽjæŽjꎇ”j lj ójl‡”jû©jªj ª‡”j¾/já/jå/‡”jÓ@jžíjÞ@‡”jŸMj£Mj§M‡”jsj…j‰‡”j|xja‡j²x‡”jÖHj†Tj I‡”j.jj*jj4j‡”j€:j‹:j:‡”j¥j¥j ¥‡”juMj€Mj„M‡”jQ¥jU¥jY¥‡”jŒj(Œj/Œ‡”jŽj±jµ‡”j¤ìjÂëj¯ì‡”jujuju‡”jtŒjŒjƒŒ‡”jïSj#Tj'T‡”j/j:j>‡”jçj j‡”j˜¬j£¬j§¬‡”ja¶je¶ji¶‡”j·jÓjׇ”jD jH jL ‡”jvjvjv‡”jàñjùñjò‡”j… j— j› ‡”jNSj\SjcS‡”j­aj¸aj¼a‡”jjÒæj ‡”jpPj PjsP‡”jÆÅjßÅjæÅ‡”jÔ1jð1jô1‡”jRjRjR‡”jAj¥Kj›‡”j‡ÁjƒÁjÁ‡”jŒ·jŽïj—·‡”jUjAUjEU‡”j›vj¾vjÂv‡”j ÑjÃÑjÇч”j0áj(ájᇔjŽ#j™#j#‡”jº—j=3jú—‡”jtÅj†ÅjŇ”jjj ‡”jÏjîjò‡”j'‹j<‹j@‹‡”j°Cj¾CjÅC‡”j=,jH,jL,‡”j#j6ñj.‡”jùjbìj‡”j°j8j_°‡”jê¹jrhj2º‡”jnûjyûj}û‡”j€ëj’ëj–뇔jëDjöDjúD‡”j=,jO,jS,‡”jkÖj‘Öj•Ö‡”jdzjÙ³jೇ”j2jNjR‡”j"'j&'j*'‡”jjÚìj&‡”jÖj¢Öj¦Ö‡”j·'jÖ'jÚ'‡”jKWj]WjdW‡”jîjËpjRj¯j)¯j0¯‡”j¨j*¨j¨‡”jJRjNRjRR‡”j¯j¯j¯‡”jùÎj Ïjχ”jäÝjèÝjì݇”ji€jt€jx€‡”jÊjÊjʇ”j@žj\žj`ž‡”j.9jníj99‡”j'ÀjÀj-À‡”jnjrjv‡”jƒ j¢ j¦ ‡”jAj`jd‡”jÁdjÌdjÐd‡”j]ÝjoÝjv݇”jb‡jè‰jȇ‡”jV–jì2j“–‡”jbEjEj…E‡”jZ*jl*jp*‡”jãqjõqjüq‡”j jÊðj ‡”jŒj2Œj6Œ‡”j5þj-þjþ‡”jȼjÖhjõ¼‡”j™‘j¼‘jÀ‘‡”jAèjdèjh臔j‰¦j”¦j˜¦‡”j<j=<jA<‡”j£œjœjÆœ‡”jˆ'j„'jŽ'‡”j®jú­jî­‡”jë$jæj%‡”jæjñjõ‡”j"j4j;‡”jîjj‡”j'|jªéj2|‡”jØjÈ?jG؇”j`ùjyùj€ù‡”j·œjœjÆœ‡”jöj3öj7ö‡”j½ÌjêÌjî̇”jm j j” ‡”jöEjúEjþE‡”jÄ¡j¼¡j°¡‡”jáZjÙZjÍZ‡”jsj›sjŸs‡”jr~j˜~jœ~‡”j j1j5‡”jþëjìj쇔jÁ¯jÓ¯jׯ‡”jÿjjkjk‡”j-“jP“jT“‡”jÌEj×EjÛE‡”jcj¯cj¶c‡”j™Nj«Nj²N‡”jajsjw‡”jvj#vj'v‡”j jj"jj)j‡”j|Šj€Šj„Ї”jZ€js€jw€‡”j`{j‰{j{‡”jÄcjÞcjÇc‡”j±6jµ6j¹6‡”j´j ´j´‡”jÙÇjMkj€È‡”jÜjéœj휇”jâqjæqjêq‡”j4`jS`jW`‡”jbGjzGj~G‡”jhkjlkjpk‡”j8ÂjWÂj[‡”jŠ#jr j¦#‡”jÉIjïIjóI‡”jöžjŸjŸ‡”j=\jÞ$jÑ\‡”jŠjjMjÁ‡”j"OjEOjIO‡”jÓ{j¦éjÞ{‡”jú,j -j$-‡”j ‚j²‚j¶‚‡”jú j j ‡”j¬j3¬j:¬‡”jZjljp‡”j ejeje‡”j‡6j 6j§6‡”jkþjvþjzþ‡”j0xj>xjEx‡”j0ØjEØjL؇”ja+jy+j}+‡”jP…jT…jX…‡”júîjïj!jÐDjâDjæD‡”j…’ji’j‹’‡”jöj{Ejhö‡”jy‘j}‘j‘‡”júìj íj퇔j>Éj6Éj*ɇ”j ‘j‘j‘‡”j=\jL%j]‡”j½ÌjëjÈ̇”jà:j òjë:‡”j}j}j"}‡”jôYjÿYjZ‡”j÷jj!‡”jÞùjâùjæù‡”jçjãj퇔j_jtjx‡”j…#j}#jq#‡”jsÄjoÄjyć”j-³j³j³‡”jòmjömjúm‡”jbGjpGjwG‡”jLnj>nj2n‡”jºÁj¾ÁjÂÁ‡”jb‡jʉj¶‡‡”jÓjøjÖ‡”j´Tj¸Tj¼T‡”jÓzjñzjõz‡”jïÚjÛjÛ‡”j¥:j¡:j«:‡”jÞ5jâ5jæ5‡”jøjj‡”jFj$Fj(F‡”j.¹jN¹jR¹‡”jŠ j­ j± ‡”j³jjËjjÏj‡”jmjqju‡”jájìjð‡”jÁujÓuj×u‡”jÑjΑjÒ‘‡”j‹°j¿°jð‡”jÏCjòCjöC‡”jùnjojo‡”jYjj‘‡”jÑHjôHjøH‡”jj j ‡”jÉ¢já¢j墇”j³ijÑijÕi‡”jt­j†­j­‡”jß6jã6jç6‡”jRj§Rj«R‡”jÙÇjÀkjÅȇ”jÿ¦j¬djJ§‡”jÜjÿj‡”jº&j¶&jÀ&‡”jâÁjôÁjøÁ‡”j¢ÅjÅÅjÉŇ”jM%ji%jm%‡”j!¼j:¼jA¼‡”j¾¯jɯjͯ‡”jÓjÓjÓ‡”jSÚjOÚjYÚ‡”j-j?jF‡”j +j+j"+‡”jCtjÆjzt‡”j‚µjœµj…µ‡”jChjGhjKh‡”j ¦j¦jö¥‡”jõ™j šjš‡”jºFjÌFjÐF‡”j×`jé`jí`‡”jž4j¢4j¦4‡”jëjÕ‡”j›™j°™j´™‡”jý j ¡j$¡‡”jõujùujýu‡”j4Oj,Oj O‡”j(jGjK‡”jîjj‡”j lj'ljl‡”jl1j|j¼1‡”jÉMjåMjéM‡”j’•j¤•j¨•‡”jrj•j™‡”j€j €j€‡”jÏ¿jç¿j뿇”jxzj†zjz‡”j ÕjÕj%Õ‡”j7„jI„jM„‡”jÅj×jÞ‡”j…j¡j¥‡”jÕ“jÙ“jÝ“‡”jaŠjzŠj~Ї”j>ÂjPÂjT‡”j¸zjÛzjßz‡”jë«jï«j󫇔j±ÄjµÄj¹Ä‡”jç;j×;jí;‡”jgj6gj:g‡”jlj!lj%l‡”jœœj¼œjÀœ‡”j">j&>j*>‡”jXj\j`‡”jÖHj•TjI‡”j7jPjW‡”jà:ji}j;‡”jqÙj njïÙ‡”jÃj=ÃjAÇ”jëäjýäj凔jH°ja°jh°‡”jm‹jq‹ju‹‡”jýjj‡”jû©jªjª‡”jŒj2ŒjŒ‡”jÿ°j±j!±‡”j$˜j/˜j3˜‡”jRDjVDjZD‡”jjj‡”jødjeje‡”j~j¡j¥‡”jµÆj¹Æj½Æ‡”j4`jI`jP`‡”jîjýpjpjkxj˜xjœx‡”j~rj[j·r‡”jïÚjÛjÛ‡”jcsj{sjs‡”jÄ{jÈ{jÌ{‡”jTOj_OjcO‡”jijªij“i‡”j|j‡j‹‡”jpj=pjAp‡”jyjyjy‡”jÍ“jÅ“j®“‡”je¬jw¬j{¬‡”j‡=j=js=‡”jAj¾Kjª‡”jmujxuj|u‡”jŽj™j‡”jïjýj‡”jôÌjÍj ͇”j·<jÚ<jÞ<‡”jœ jø jŸ ‡”j¡jöðj¬‡”jUjgjn‡”jÜjÑœjÕœ‡”jXÄj\Äj`ć”jÕ*jÙ*jÝ*‡”jކj±†jµ†‡”jAÊjLÊjPʇ”jø±j²j²‡”jœ‚j®‚j²‚‡”j[BjiBjmB‡”j…’je’jN’‡”jÿ¦jLejª§‡”jwAjòj‚A‡”jj/jƒ/jŠ/‡”jš.j¬.j°.‡”j=¸jW¸j@¸‡”jájójú‡”jTjfjj‡”j#j'j+‡”jÌFjÚFjáF‡”j¢j*¢j.¢‡”j¾’jÉ’jÍ’‡”j޶j§¶j®¶‡”jmjxj|‡”j[!j!j“!‡”(jçžjëžj”jR#jd#jh#‡”jü”j’ŒjS•‡”j%aj)aj-a‡”j- jÎðj8 ‡”jFnjBnjLn‡”jJÑj˜>jŠÑ‡”jãj‘ãj•㇔j"Œj&Œj*Œ‡”jœ•j‚•j`•‡”jÃ>jÎ>jÒ>‡”j‚áj~ájˆá‡”j>êjXêjAꇔj-ej1ej5e‡”jžfj¶fjºf‡”jG jK jO ‡”j‘êj£êj§ê‡”j¯jjÈjjÏj‡”jX›jf›jm›‡”jEljhljll‡”jZ^j^^jb^‡”j#VjVjV‡”j¦–jÄ–jÈ–‡”j;¦j?¦jC¦‡”j30j70j;0‡”jߟjO5jV ‡”j|j"|j |‡”j½ÊjÁÊjÅʇ”jñjõjù‡”j=\jØ%jg]‡”j jj‡”j>j >j>‡”jéjéj釔jUjUjU‡”j¥Ãj¡Ãj«Ã‡”jðŠjæŠjöЇ”jIßjeßji߇”jåjéj퇔j·ljÐlj×l‡”jR$jj$jn$‡”jå;jþ;j<‡”jçjëjj&j4j;‡”jgj|j€‡”jDgjYgj]g‡”jãqjÿqjr‡”j¤Qj¨Qj¬Q‡”j»îjÙîjÝjKjR€j€K‡”jÔCjæCjêC‡”jSjKj4‡”j)j-j1‡”jKj)Kj-K‡”j<j=<jA<‡”jj¯j³‡”j`{j]jž{‡”jØÃjÜÃjàÇ”j·jÂjƇ”jÈ®jº®j®®‡”jÎQjÜQjàQ‡”j3VjRVjVV‡”jgjj‘‡”j >j>j>‡”jȼjç¼j뼇”j_(j~(j…(‡”jßtjítjôt‡”jÁ jê jî ‡”jÔ1jß1jã1‡”jS€jl€jp€‡”jÁÛjÅÛjÉÛ‡”j¿§jѧjÕ§‡”jÏjÓjׇ”j©9jÏ9jÓ9‡”jÐ>jì>jð>‡”jæúj ûjû‡”j5BjGBjKB‡”j`{j{j†{‡”jNÑjqÑjuч”j—uj¢uj¦u‡”j?üj6ìjJü‡”j>j>j>‡”jŸüjÈüjÌü‡”j øjøjö÷‡”jºnj¾njÂn‡”jh›jl›jp›‡”j©ðjÌðjÐð‡”j¯jjºjj¾j‡”j‹°j»°jް‡”jžj9žj"ž‡”j{ js j\ ‡”j#7jB7jF7‡”j­Kj±KjµK‡”jâ`jæ`jê`‡”j÷jj‡”jå3jé3jí3‡”jûejÿejf‡”j`#jk#jo#‡”j"Dj0Dj7D‡”jïæjóæj÷懔j€¾jij¾¾‡”jPÍjHÍj<͇”jf;jRj¨;‡”jãSjçSjëS‡”j`{jn{jr{‡”j«5jÃ5jÇ5‡”j.j j‡”jsíj~íj‚퇔jîjWqj¦î‡”jàhjÿhji‡”jˆ|j®|j²|‡”j?üjˆFjuü‡”jj"j&‡”j-¡jE¡jI¡‡”j[ jm jq ‡”jùQjRjR‡”j@žjKžjOž‡”j"3j@3jD3‡”jjhjl‡”j}ÕjyÕjƒÕ‡”jcjgjk‡”jšj¬j°‡”j$ j( j, ‡”jïSj TjT‡”jéhj iji‡”j>j>j>‡”j§çjÀçjÄ燔j‘ójœój ó‡”jŽj™j‡”jPÍjLÍjV͇”jpÚjŠÚjsÚ‡”j× jÛ jß ‡”jx˜j‘˜j˜˜‡”j{¹jšïj†¹‡”jtjtj t‡”jþÏj Ðj Ї”j÷ÃjóÃjýÇ”jº˜j¬˜j ˜‡”jÉ@jï@jó@‡”jäFjýFjG‡”jp.jt.jx.‡”j`ÍjrÍjv͇”jž(j¬(j³(‡”jŠÎj•Îj™Î‡”j âj,âj0⇔jñ×jØj؇”jƒ(jŽ(j’(‡”jü`jò`ja‡”j™½j®ïj¤½‡”jñ(j)j)‡”jÑHjíHjñH‡”j°òj´òj¸ò‡”jJj\j`‡”j‘^j^j—^‡”jj˜jœ‡”j(òj@òjDò‡”j Íj¤Íj¨Í‡”jÄ‘jÈ‘jÌ‘‡”jÌjÈjÒ‡”jŽj j¤‡”jMÈjEÈj9ȇ”j‘ˆj£ˆj§ˆ‡”j›Sj¾SjÂS‡”j|xjR‡j©x‡”jŠ£jª£j®£‡”j›™j©™j­™‡”júj%új)ú‡”j0j;j?‡”jjfj|fjƒf‡”jB¢jM¢jQ¢‡”j|_j›_jŸ_‡”jö}j~j~‡”jå„jð„jô„‡”jäFjïFjóF‡”jEjIjM‡”j=\j>$jq\‡”j jŸ-jX‡”jÜ jà jä ‡”j¥tj©tj­t‡”j¥…jîéj°…‡”j±:j:j‘:‡”j¥zjÈzjÌz‡”j;LjMLjQL‡”jÑ’jô’jø’‡”j?vjlvjpv‡”j?jL?jS?‡”jð¸j¹j¹‡”jšjšj"š‡”jY3j-j3‡”j¨€jÇ€jË€‡”jðœjj‡”jHjHjH‡”jb‡jò‰j·‡”jòjj‡”jéùjíùjñù‡”jØjÎ2j-؇”jåüjýjý‡”jSÎj^Îjb·”jŒj0jbŒ‡”j©ðj­ðj±ð‡”jn`jŠ`jŽ`‡”j™Nj¼NjÀN‡”j{¥j¥jƒ¥‡”jæj j ‡”j¥ÞjÈÞjÌÞ‡”jgojyoj}o‡”jmOj!jšO‡”j¶j¶j"¶‡”j--j1-j5-‡”jNjqju‡”j j/ j6 ‡”j“j“j“‡”jZ‘js‘jz‘‡”j÷ j j ‡”jLyjeyjly‡”jp j~ j… ‡”j€j"€j&€‡”j‰ŸjŸj‘Ÿ‡”jò4j 5j5‡”j`šjkšjoš‡”j™jÒðj¤‡”jY¤j]¤ja¤‡”jE.j_.jH.‡”j6{jO{jV{‡”jÜ9jø9jü9‡”jŒjñ/jGŒ‡”j'äj+äj/䇔jŽ›j±›jµ›‡”j~j‚j†‡”jé+jô+jø+‡”jtžjžjƒž‡”j,j6,j:,‡”j8Âj¡;j‡”j®Pj¤Pj´P‡”j9ájUájYᇔjìj€jjÊj‡Êj{ʇ”j¸jÊj·”jàj ‘j‘‡”jŘjИjÔ˜‡”j¿j.¿j5¿‡”j‚9j9j‘9‡”jžj/žjž‡”j]ŠjUŠj>Ї”jñÈjéÈjÝȇ”jš)j³)j·)‡”j3VjKVjOV‡”j°qj´qj¸q‡”jm±j_±jS±‡”j8j:8j>8‡”j‡ j¬ jŠ ‡”jW”jq”jZ”‡”jj‘j•‡”jtjxj|‡”joj´j¦‡”jŒ4jˆ4j’4‡”jêšj›j ›‡”jÉœjלjÛœ‡”j“!j—!j›!‡”jºFjÓFjÚF‡”jAjðKjȇ”jîjÁpjLjÿ7j8j8‡”j! j3 j7 ‡”j{ÊjÊjƒÊ‡”jÖGjôGjøG‡”j'ZjCZjGZ‡”j¼j´j¨‡”jÌj²ðjׇ”jJjNjR‡”jŠWjŸWj£W‡”jšej‚„jÊe‡”jÿjj"‡”jà#jø#jü#‡”j)Pj>PjEP‡”j1j>1jB1‡”jŽÍj’Íj–͇”jª„j¢„j–„‡”jR{jV{jZ{‡”j9j=jA‡”j)Zj-Zj1Z‡”jœfjµfj¼f‡”jë$jÎçjö$‡”jLÆjZjjƇ”jåƒjéƒj탇”j%j;%j?%‡”j¾¯j¯jƯ‡”jNjÌj£‡”j*Bj.Bj2B‡”j´j$´j(´‡”j|j|j|‡”jµ1jÀ1jÄ1‡”jß´jñ´jø´‡”jÔj:ëj'Ô‡”jbGjöèjmG‡”jv¤jœ¤j ¤‡”j}tj™tjt‡”j¢j¨¢j¬¢‡”jÓwjòîjÞw‡”j¦£j¸£j¼£‡”j¾DjáDjåD‡”jojoj"o‡”jyæj‹æj懔j.ðj@ðjDð‡”j¥j©j­‡”jemjuZj™m‡”jxŒj|Œj€Œ‡”jZj ZjZ‡”jžej¢ej¦e‡”jAjÞìjL‡”jèÆjúÆjþƇ”jZj^jb‡”j¨ŠjÛ_j劇”j<j_jc‡”jÙ‘jÝ‘jᑇ”j0jSjW‡”jÊÂjÒïjÕ‡”jþêjëj뇔jŠ jœ j£ ‡”j$j=jD‡”jïöjóöj÷ö‡”jtÅj—Åj›Å‡”j|j|j|‡”jUj0Uj7U‡”j*Oj.Oj2O‡”júõjöjýõ‡”jùÎjÏjχ”jè%j &j&‡”j«½j¹½j½½‡”jÑpjB†jq‡”jDjHjL‡”jwöj‰öjö‡”j—¯j¢¯j¦¯‡”j€Íj’Íj–͇”jÍj#Íj'͇”j=,jO,jS,‡”j”%j¦%jª%‡”jtSjšSjžS‡”j¢ôj¾ôjÅô‡”jÁ÷jÝ÷já÷‡”j‘*jª*j®*‡”jÙjjñjjõj‡”jrj}j‡”j³rj«rj”r‡”j,ùjRùjVù‡”j5jÊñj5‡”j|8jš8jž8‡”jH¯jk¯jo¯‡”j1j 1j1‡”jy”jq”je”‡”j?j?j?‡”jdjdj#d‡”jréj€éj„釔jX…jp…jt…‡”jaVjeVjiV‡”jÁojÓoj×o‡”j­j­j­‡”jqÙjømj×Ù‡”jg.j_.jS.‡”jøªjüªj«‡”j•Bj™BjB‡”jX jr j[ ‡”jªújìjµú‡”j;j?jC‡”jÜ…jî…jò…‡”j\jjƒ‡”jXrjwrj{r‡”jìbjèbjòb‡”jΨj’êjÙ¨‡”jÅ«jã«j竇”jßj<ßj@߇”jHj$Hj(H‡”jÅvjÉvjÍv‡”j}ýj‹ýjý‡”jtjtjt‡”j2j 2j'2‡”jƒ@j‡@j‹@‡”jŒjj”‡”jdjÁ‡”jÄ+jÝ+jä+‡”jd+j|+j€+‡”jÓjüj‡”jßijøijÿi‡”j¡€jº€j¾€‡”j­µj±µjµµ‡”jjjˆjŒ‡”jK$jêyj$‡”j5j5j!5‡”j¿¬jѬjج‡”j`j-`j1`‡”j[!j·Mjœ!‡”jÁdjÝdjád‡”jájáj"ᇔjJjmjr‡”jàÿjÞsj#‡”j]¸jº9jЏ‡”jKjKjK‡”jÓZj×ZjÛZ‡”jCtj¯†jXt‡”j̘jИjÔ˜‡”jðÅjôÅjøÅ‡”j?üj¦?jeü‡”j[Bj_BjcB‡”j‘Gj•Gj™G‡”jÀ¢jË¢jÏ¢‡”j9qjWqj[q‡”jJÑjŽ>j„ч”jMjfjm‡”jŸIjÂIjÆI‡”jê–j—j —‡”jàÒjëÒjïÒ‡”j"«jO«jS«‡”j±ÎjÉÎjÍ·”jRwjdwjhw‡”jfjfjûe‡”jÑjÕjÙ‡”jÙÇjßjj>ȇ”jÒgjÖgjÚg‡”j:Mj"éjEM‡”jcj:cj>c‡”jMIjpIjtI‡”jÇjíjñ‡”j¯j3¯j7¯‡”jxfj—fj›f‡”jsjwj{‡”jÄ¡jÈ¡jÌ¡‡”j'äj5äj<䇔jåƒj÷ƒjûƒ‡”j¦djÉdjÍd‡”j‡=jƒ=j=‡”j£/jðjÖ/‡”jí«j¬j ¬‡”jÿ¦jBej¤§‡”jQj'Qj.Q‡”jeLjwLj{L‡”j_j_j_‡”jÁDjÌDjÐD‡”j)kj-kj1k‡”jûƒj„j „‡”j}ûjªûj®û‡”jfkjjkjnk‡”j?vjMvjQv‡”j…jj”‡”jMj MjM‡”jåújþújû‡”jQJjUJjYJ‡”jšej¯„jåe‡”jؽjô½jø½‡”j·´j»´j¿´‡”jâjûjÿ‡”júìjíj 퇔j ~j2~j9~‡”j‘oj£ojªo‡”jsjsjs‡”jVÁjtÁjxÁ‡”j¨Zj¤Zj®Z‡”jT¼j_¼jc¼‡”je2jƒPjž2‡”jÔj,Ôj0Ô‡”jRjRj%R‡”j¿¬jÙ¬j¬‡”jkàjŽàj’à‡”jo,js,jw,‡”jÖÕjúïjáÕ‡”jUôjgôjkô‡”jUHjnHjuH‡”j˜j*˜j.˜‡”j»ijÍijÑi‡”jEÖjðjPÖ‡”j²´j¶´jº´‡”jZ…je…ji…‡”j´j¿jÇ”jÓ×j××jÛׇ”j9›j=›jA›‡”jü”jeŒj8•‡”jã[j\j\‡”j=,jH,jL,‡”jÖGjðGjÙG‡”j«-j½-jÁ-‡”jLAjfAjOA‡”jÙjjòjjùj‡”j@jXj\‡”jÍj2Íj6͇”j.ój@ójGó‡”j£;j×;jÛ;‡”j¢˜j»˜j˜‡”j+ãjNãjR㇔jXBjjBjnB‡”j jü j ‡”jŸj!Ÿj(Ÿ‡”jq\j”\j˜\‡”jÏtjÚtjÞt‡”j«½j­:j轇”j‹Æj®Æj²Æ‡”jƒ j‡ j‹ ‡”j°j)°j0°‡”jîjHqjjHjbjK‡”jIÀj^ÀjeÀ‡”jÓjÓjÓ‡”jçj çj¤ç‡”jÑ`jÕ`jÙ`‡”j7¸j;¸j?¸‡”jbj~j‚‡”jr°j€°j„°‡”j™‘j¤‘j¨‘‡”jÏbjÚbjÞb‡”j jj‡”jãLjçLjëL‡”j3jAjE‡”j-²j1²j5²‡”j)¼jC¼j,¼‡”jg±jc±jm±‡”jˆ"jŒ"j"‡”j„xjˆxjŒx‡”juj&uj-u‡”jWæj}æj懔j¼j¼j¼‡”j{jjƒ‡”ja‰je‰ji‰‡”j¨àj¤àj®à‡”jƒj•jœ‡”jê¬jî¬jò¬‡”jvyjyj…y‡”jφj²ójÚ†‡”jŠWj°Wj´W‡”j^ÜjZÜjd܇”jnQj‘Qj•Q‡”jŸjÈj̇”jGjKjO‡”jÁjÅjɇ”jj~jn~jr~‡”jËj9Ëj=ˇ”jؽjê½j”jWæj>ðjb懔j,Ïj0Ïj4χ”j¯jA¯jE¯‡”jIjljp‡”jxKjKj”K‡”j‚ÜjÀ@jÉ܇”jýj ýj$ý‡”jjøj쇔jØjú?je؇”jt jx j| ‡”j´¸jÙ¸j·¸‡”j‰j‰j‰‡”jk•j‹•j•‡”jK$jzj™$‡”jónj÷njûn‡”jõAjùAjýA‡”j$"j("j,"‡”j»>jjè>‡”jÉMjÛMjâM‡”júDjEj!E‡”j1µjCµjGµ‡”j—oj°oj·o‡”j=j`jd‡”j`êjXêjLꇔjåüjšðjðü‡”jPjPjP‡”j›¤j"ôj¦¤‡”j½¬jà¬j䬇”jÓûjëûjïû‡”jn j‘ j• ‡”jNSjfSjjS‡”j-j1j5‡”j¿ZjÙZjÂZ‡”j©©j­©j±©‡”jj$j(‡”jÏCjÚCjÞC‡”j‘j†‘j–‘‡”jHjHjH‡”j¸jÃjLJ”j$JjDJjHJ‡”j,ajFaj/a‡”j\ÝjÝjƒÝ‡”jU¶jx¶j|¶‡”j‰ÌjÌj‘̇”j«-jÄ-jÈ-‡”jÉ`jò`jö`‡”j¨j³j·‡”j¸*jÑ*jÕ*‡”jªYj®Yj²Y‡”jû–j—j"—‡”jŒijžij¥i‡”j¨ÈjÄÈjÈȇ”j)Îj;Îj?·”j8ÂjëjC‡”jc@jg@jk@‡”jFjFj!F‡”jmajôƒj¡a‡”j_(jˆ(jŒ(‡”jEjPjT‡”j¡j¯j¶‡”j +j6+j:+‡”jk‹jŽ‹j’‹‡”jï_j `j`‡”jýNjOjO‡”jMj_jc‡”jjj‡”j)bj4bj8b‡”j€új‹újú‡”j¼•jß•j㕇”jØj÷jû‡”jÛ;jÓ;j±;‡”jË1jÃ1j·1‡”jÇj.Çj2LJ”j¡7jÇ7jË7‡”jšmj”…jÜm‡”jÄ jÈ jÌ ‡”jà“jò“jù“‡”jŒpj¨pj¬p‡”j ¦jI¦jM¦‡”jujuj#u‡”jfkjxkjk‡”jŒñjžñj¢ñ‡”jXòj\òj`ò‡”j“êj¨êj¯ê‡”j¿ïjÃïjÇj ´j´j ´‡”jí j !j!‡”jç¬j ­j­‡”jùHjIj I‡”jUˆjcˆjjˆ‡”j¹jËjÒ‡”j¿§jʧjΧ‡”jÉæj¢ëjÔæ‡”j=,jV,j],‡”j#‹j.‹j2‹‡”jÍ jð jô ‡”jŸLj¾LjÂL‡”j§ájÀájÇᇔj"Oj;OjBO‡”jR-jj-jn-‡”jŽjØ`j¢Ž‡”jåijjjj‡”j¬0jÊ0jÎ0‡”j´yj¸yj¼y‡”j®xj²xj¶x‡”jXAjvAjzA‡”j?2jW2j[2‡”jÉj‰tj‡”jÕ"jô"jû"‡”jj‘j•‡”jÜ1jú1jþ1‡”jWj¡Wj¥W‡”j¬]j°]j´]‡”j1AjMAjQA‡”jVƒjÖéjdƒ‡”jÈ®j¾®jή‡”jÕëjçëjë뇔jfj#fj'f‡”jççj°Bj臔j´jlxjó‡”jj˜jŸ‡”jU:jo:jX:‡”j1CjICjMC‡”j\jnjr‡”jÚòjÞòjâò‡”jâxjíxjñx‡”jšejŒ„jÐe‡”j\j\j\‡”j‡Žj’Žj–އ”j)bjBbjIb‡”j8jQjU‡”jçJjKjK‡”js½jªïj~½‡”jœ[j [j¤[‡”j¦DjÉDjÍD‡”jî#j $j$‡”j¿½jýjǽ‡”j3Çj>ÇjBLJ”j9j-9j19‡”júŠj‹j ‹‡”j®jBôjI®‡”j|wjŸwj£w‡”j[!jÆMj¥!‡”jHjŠHjŽH‡”j“¬j—¬j›¬‡”jLNjÞ j|N‡”jòåjæj懔j$®jX®j\®‡”jšmjÀmjÄm‡”jÒjëjò‡”jïsjësjõs‡”j‰jj”jj˜j‡”jKjîjDK‡”jöÿjîÿjâÿ‡”jÉœjHjýœ‡”jsj”sj˜s‡”jOXjuXjyX‡”j,ùjFjjù‡”js)jw)j{)‡”j j j ‡”jðj j‡”jjj‡”j¹æj׿jÛæ‡”j8Âjj;jl‡”j&j!&j%&‡”jºj¾j‡”jcj6cj*c‡”jij°ij´i‡”jk jo js ‡”jtžjžj”ž‡”jø‘j’j’‡”jøíjîjjç8jü8j9‡”j›™jŸ™j£™‡”jšSj’Sj†S‡”jî¹jù¹jý¹‡”jåwj|+j$x‡”j‰j¬j°‡”j°¦j´¦j¸¦‡”jñ€jõ€jù€‡”j9=ji=j<=‡”jD<jV<jZ<‡”jM j j… ‡”jj¯j³‡”j¥zj¾zjÅz‡”j·=jÑ=jº=‡”j„¨j€¨jЍ‡”jìÀj÷ÀjûÀ‡”jCjoSjkC‡”j; j3 j' ‡”j¢ôjÏôjÓô‡”jª:jHj ;‡”jŠCj¢Cj¦C‡”jÜ jîæjç ‡”j0jIjP‡”jYj$Yj+Y‡”j¿±j·±j«±‡”jÕjjÙjjÝj‡”j|j1|j5|‡”jõvjñvjûv‡”j³BjÅBjÉB‡”j€új„újˆú‡”j†Pj Pj‰P‡”j~Vj‚Vj†V‡”jšmj¨mj¯m‡”jZdjldjsd‡”jlsjpsjts‡”j=\j—%j@]‡”jZjtj]‡”jo j j… ‡”jŒjK0j}Œ‡”j„ÓjˆÓjŒÓ‡”j%§j7§j;§‡”j»€j¿€jÀ‡”j?vjD\jv‡”j-¡j1¡j5¡‡”jÖ´jÒ´jÜ´‡”jÆjEÆjIƇ”(j‘\j•\j™\‡”jÙj1Ùj5Ù‡”j¹­jÕ­jÙ­‡”j jj‡”jèXjúXjþX‡”j0ŠjYŠj]Ї”jš8j¥8j©8‡”j?¬jC¬jG¬‡”j¼~jØ~jÜ~‡”j€ˆj‹ˆjˆ‡”jôTjUj U‡”jj“j—‡”jþdjeje‡”j¸ejÖejÚe‡”j ïj+ïj/jë$j%j%‡”jTjmjt‡”j=pj [jwp‡”jOªjkªjoª‡”jZjxj|‡”jµŸjÇŸjËŸ‡”jÎ3jÙ3jÝ3‡”jŽ#j’#j–#‡”jE'jW'j^'‡”jeŸj„ŸjˆŸ‡”j£Äj½Äj¦Ä‡”jAjxKj€‡”jÚjójú‡”jž(j¢(j¦(‡”jæÓjñÓjõÓ‡”jV¾jh¾jl¾‡”j mj$mj+m‡”j¹‰jˉjω‡”jÁ)jÖ)jÝ)‡”j|Nj‡Nj‹N‡”jÖHjTjI‡”jÝnjÌZjo‡”j:gjVgjZg‡”jÎgjàgjäg‡”jjjnjr‡”j$®j®êj/®‡”j ljljl‡”j§Œj«Œj¯Œ‡”j\”j`”jd”‡”j' jC jG ‡”jË£jä£j룇”jœj”jˆ‡”j¥bj¾bjÅb‡”j€j€j€‡”jõ j!j!‡”jC4j_4jc4‡”jÄäjÏäjÓ䇔jêQj RjR‡”jªj¢j–‡”jñâjíâj÷⇔jgÜjŠÜjŽÜ‡”jà#jÿ#j$‡”j¥jj½jjÁj‡”jî¹jºjº‡”j¹ÜjÜÜjà܇”jy“j‹“j’“‡”j jø jÖ ‡”jB%jF%jJ%‡”jßtjuj u‡”jmuj†uju‡”j€j €j €‡”jÉjutj‡”jr~jÂéj}~‡”jÒj-Òj1Ò‡”jWMj}MjM‡”jij8ijj¿>jÃ>‡”jréjvéjz釔jü”joŒj>•‡”j¡j¡j¡‡”j¡j ¡j$¡‡”j°jÖjÚ‡”jÕ"j#j #‡”jMÈjIÈjSȇ”jê¬jü¬j­‡”jO“jZ“j^“‡”j2@j6@j:@‡”j'‹j®/jb‹‡”jÃ>jÇ>jË>‡”j‹Ÿj™ŸjŸ‡”j÷jB÷jF÷‡”jŽjŽjއ”jE>jP>jT>‡”jãjøjü‡”jùŒj j‡”j¿ jÍ jÑ ‡”j©Xjf#jÏX‡”j1`j5`j9`‡”j–‘j¹‘j½‘‡”jØj­Øj±Ø‡”jÞ÷jÎ÷jä÷‡”j(‰j,‰j0‰‡”jD¬jV¬jZ¬‡”jJÑj‰>jч”j0TjBTjFT‡”jå;jð;jô;‡”jÜ9jî9jõ9‡”j9Èj=ÈjAȇ”j€j€j€‡”jØjÖðj㇔j‹j‡j‘‡”j± jµ j¹ ‡”jÆ[jÑ[jÕ[‡”jgj"gj&g‡”jšej‡„jÍe‡”j,Zj0Zj4Z‡”j j¡ j¥ ‡”jÍjØGjö‡”jÚòjóòjúò‡”jÚ4jô4jÝ4‡”jlŠjŠj“Ї”jÏ‘jÓ‘jב‡”jý j¡j¡‡”j3|jE|jL|‡”jؽjܽjཇ”j:.j].ja.‡”jjj†jЇ”jË•jà•j畇”j.4j&4j4‡”j•>j™>j>‡”je­jw­j{­‡”j×GjúGjþG‡”j@jîðjK‡”j6j^èj*6‡”j’j–jš‡”jCj=CjAC‡”jõ™jšjš‡”jqÙjémjÎÙ‡”j‘j ‘j‘‡”j!±j:±jA±‡”jÓjÞj⇔j:0j>0jB0‡”jÄ^jÏ^jÓ^‡”jngjrgjvg‡”j¸/j¼/jÀ/‡”j1 j< j@ ‡”j˜5j±5j¸5‡”jŒ¬j_7j¹¬‡”j”Xj˜XjœX‡”j{¹j‰¹j¹‡”j¹j9¹j=¹‡”j j<j@‡”j\§jn§ju§‡”jj1j‡”jà jæ jê ‡”jÞijjjj‡”jÉÏjÔÏjØÏ‡”jêj0êj4ꇔjpQjQj¡Q‡”j†ÇjŸÇj¦Ç‡”jð(j )j )‡”jžj©j­‡”j¿§jçjǧ‡”j+¶j=¶jA¶‡”jzjzjz‡”j 7j%7j,7‡”j!ýj:ýjAý‡”jÚjøjü‡”jwnj‚nj†n‡”j Vj VjV‡”ji¿j¿j…¿‡”jšmj…jÙm‡”j™j)™j-™‡”j‚vj”vj˜v‡”jíjíj퇔jâjâj⇔jŽ/j±/jµ/‡”jX„j7‰j™„‡”jq\ju\jy\‡”j‹_j_j“_‡”jBjMjQ‡”jJ‡jN‡jR‡‡”jöjj‡”j8ÂjÉ;j¥Â‡”j&jÿ%jó%‡”jߟjw5jn ‡”j›2j¦2jª2‡”jNajJajTa‡”jŠj¡Šj¥Š‡”jD¥jV¥jZ¥‡”jÕ“jç“j듇”j×(jé(jí(‡”jm±jc±js±‡”j«ÍjÄÍjË͇”jü”j•j•‡”j3}j7}j;}‡”j®"j×"jÛ"‡”j4¯j8¯j<¯‡”jpj,pj3p‡”jýIjJj!J‡”jAjÃKj­‡”j·,j»,j¿,‡”jú}j~j ~‡”jW”ju”jy”‡”jé¬jí¬jñ¬‡”jO jZ j^ ‡”jujyj}‡”jv¢j•¢j™¢‡”j j0j4‡”jL~j^~je~‡”j°j²êj °‡”jÚjýj‡”j©@jÂ@jÆ@‡”j#GjAGjEG‡”j MjéjM‡”jâ&j'j '‡”jÃÐj»Ðj¤Ð‡”jî)j*j*‡”j~rj¤rj¨r‡”j12jW2j[2‡”jm¾jx¾j|¾‡”jŒj0j_Œ‡”j“j¥j©‡”jMjgjP‡”jÿ¦jÅdjY§‡”jbñjtñjxñ‡”jajzj‡”j5jNjU‡”jfwj„wjˆw‡”jj&j-‡”jâjæjꇔj–‰jš‰jž‰‡”j‚Bj—BjžB‡”j[9jm9jq9‡”j.¦j2¦j6¦‡”j„ij€ijŠi‡”jîj9qj”jëjçjñ‡”jÃ&jÎ&jÒ&‡”jÚjÞj⇔jqj5qj9q‡”jùÎjÏj χ”jÙ‚j÷‚jû‚‡”j–gjšgjžg‡”j6ÕjAÕjEÕ‡”j¢©j©jÆ©‡”j‡"j’"j–"‡”jâ´jØ´jè´‡”jb‡j±‰j§‡‡”j¬j=¬jA¬‡”jŽ“j “j§“‡”jÐsjÔsjØs‡”j¨¼jÁ¼jż‡”jþj$j(‡”jÙ‚jó‚jÜ‚‡”jBIj>IjHI‡”j\j%\j,\‡”jŒjêjŒ‡”jºjºj º‡”jbjbj b‡”jÉ¢j×¢jÞ¢‡”jHjƒHj‡H‡”jØj0Øj4؇”jÁ+jÚ+já+‡”jljjpjjtj‡”jÿjj‡”j‡Tj‹TjT‡”jÀšjËšjÏš‡”j‘ˆj•ˆj™ˆ‡”j«j¶jº‡”jV–j†–jŠ–‡”j–²j¨²j¬²‡”jbïjfïjjjÓdjídjÖd‡”j:aj>ajBa‡”jRNjkNjrN‡”j³BjÌBjÓB‡”j¬vjÈvjÌv‡”jI˜jb˜ji˜‡”jš^jž^j¢^‡”j¾„jЄjÔ„‡”jq=ji=jG=‡”j„¨j¨j“¨‡”jO—jS—jW—‡”jd³j‡³j‹³‡”hh;hB‡”jâˆjþˆj‰‡”jmïjqïjuj³j·j»‡”j‘\j±\jµ\‡”jZ^jl^jp^‡”jõj‘õj•õ‡”j|xjŠxj‘x‡”j³&jjà&‡”jVÈjZÈj^ȇ”jÂÀjÛÀjâÀ‡”jÐ jÌ jÖ ‡”jµtjÀtjÄt‡”jj&j*‡”j#7j;7j?7‡”jLŒjPŒjTŒ‡”jõøjùøjýø‡”j8j$8j(8‡”j‹’je’jY’‡”j¬j·j»‡”jøMj NjN‡”jÛæjÓæjÇæ‡”jÒ¨jà¨j䨇”jUjUjU‡”j˜±j±±jµ±‡”jhÕjBëjsÕ‡”jh|jl|jp|‡”jJµjNµjRµ‡”j²"j½"jÁ"‡”jd³jv³j}³‡”jýãjäj䇔j^´j´j…´‡”jfj‚j‰‡”jœßjÂßjÆß‡”jèPj QjQ‡”jº—j83j÷—‡”j”fj°fj´f‡”jäÍjÎj ·”j˜ jœ j  ‡”j¡¹jº¹j¾¹‡”jM}jI}jS}‡”jð;jû;jÿ;‡”jjD-j¿‡”j“èjáBjÉ臔jrLj‡LjŽL‡”jqj¨qj¯q‡”jL?jo?js?‡”jU8jg8jn8‡”j¢jÅjɇ”j³Ÿj¾ŸjŸ‡”jšj¥j©‡”jmjj”‡”jËŠjÏŠjÓŠ‡”jŠ•j‚•j?•‡”jrj˜jœ‡”j•j)•j0•‡”jŒÔj—Ôj›Ô‡”j„»jˆ»jŒ»‡”j#7j17j87‡”jwDj{DjD‡”jcjÀcjÄc‡”j~…jž…j¢…‡”j—j©j­‡”j_ëjŒëj뇔jò©jî©jø©‡”j³„j¾„j„‡”j»ˆjÞˆj∇”j-‰j1‰j5‰‡”j;jFjJ‡”j/~j3~j7~‡”j\Ãj`ÃjdÇ”jºšjÖšjÚš‡”j1µj5µj9µ‡”jÂ5jÐ5jÔ5‡”jEtjctjgt‡”jnÀjrÀjvÀ‡”jìjj‡”jƒKjŸKj£K‡”jeqj~qj…q‡”j‹j®j²‡”j±j±j±‡”j=\j&j‹]‡”jB,jF,jJ,‡”jÃj%Ãj,Ç”jjj#‡”jj(j,‡”jA™jE™jI™‡”jzj'zj.z‡”jCj\j`‡”jé°jí°jñ°‡”j—hj°hj·h‡”j•íj‘íj›í‡”j’j ’j’‡”j)bj;bj?b‡”j-j1j5‡”j‰újújuú‡”jwnj{njn‡”j­Gj¿GjÃG‡”j@ºjNºjRº‡”jUj™Uj£U‡”j‚[j¢[j¦[‡”j­~j±~jµ~‡”j@!jD!jH!‡”jǤjê¤j”j?vjevjiv‡”jhjljp‡”j8Âj;j‡”jAÿjEÿjIÿ‡”j,#j0#j4#‡”j3j3j 3‡”j j+j/‡”jº8jÚ8jÞ8‡”j$Rj(Rj,R‡”jí¥jø¥jü¥‡”jò²jö²jú²‡”jòÅjöÅjúŇ”jôejfjf‡”j–‘j¯‘j¶‘‡”j ˜j¤˜j¨˜‡”j¾j>¾jB¾‡”jÝnjünjo‡”j™°j°j¡°‡”jqvj|vj€v‡”j8ÂjeÂji‡”jÞ¦jâ¦j榇”j~¼j¡¼j¥¼‡”j¼çjÎçjÕ燔jîj‰qjÄjG™je™ji™‡”j„j j¤‡”j¢`j¾`jÂ`‡”j>=jZ=j^=‡”j]¨ja¨je¨‡”j¸*jÃ*jÇ*‡”jðjðjð‡”j޳j™³j³‡”j«ëj½ëjÁ뇔j‡j‡j ‡‡”jAjLjÔ‡”jöjújþ‡”j8Âj—;j‡Â‡”jJÑj2ëjUч”jö˜j™j™‡”jx´jt´j~´‡”j”/j·/j»/‡”j 0jÃ0jÇ0‡”j“ij—ij›i‡”jUnjqnjvn‡”jC jf jj ‡”jCtjetjit‡”j˜Òj»Òj¿Ò‡”jv0j0j–0‡”j°òjÂòjÆò‡”jEÖj]ÖjaÖ‡”j¬zj·zj»z‡”j¼ljßljãl‡”jÔƒj؃j܃‡”jhØjlØjp؇”jn<j‘<j•<‡”j74jB4jF4‡”j’új–újšú‡”jÚÚjýÚjÛ‡”j¾„jÞ„jℇ”j8Âj <j̇”jqCj”Cj˜C‡”j!¼j,¼j0¼‡”jª:j×:jÛ:‡”jvmjzmj~m‡”j:4j24j&4‡”j1 jJ jN ‡”jù¥jý¥j¦‡”jÇjæjꇔjÜjVêjΜ‡”j­aj±ajµa‡”j8j 8j8‡”jÒ¨jî¨jõ¨‡”j·øjÌøjÐø‡”j~Vj¡Vj¥V‡”j?^j5^jE^‡”jŠMj­Mj±M‡”jš j¶ jº ‡”j yj%yj,y‡”j¬j0¬j7¬‡”j•‹j®‹jµ‹‡”jŠCjŽCj’C‡”j>kjWkj^k‡”jI¤jb¤ji¤‡”jj j‡”jëùjújú‡”j:ÒjLÒjPÒ‡”jFjFjF‡”jŠj·j»‡”jŸ%j£%j§%‡”j%bj0bj4b‡”j’kj–kjšk‡”j…½j½j¡½‡”jß´jµjµ‡”j#×jRëj.ׇ”j#Ïj'Ïj+χ”j‘EjªEj±E‡”jðœjþœj‡”jצjâ¦j榇”j¿j®¿j²¿‡”j·Zj»Zj¿Z‡”j® j² j¶ ‡”jðj$j(‡”jwujuj—u‡”j4,j,,j ,‡”j3j7j;‡”j mj.mj2m‡”jájìjð‡”jÿ¦jej†§‡”j°ÀjÊÀj³À‡”j„jˆjŒ‡”jôej fjf‡”jf[jj[jn[‡”jQbjUbjYb‡”j…j¡j¥‡”j®ÝjÀÝjÄ݇”jüjüjü‡”jô jê jú ‡”jÇjàj燔jdj“dj£d‡”j5j 5j$5‡”j'‹jêj2‹‡”j Hj‚jOH‡”jpjpj"p‡”jÇçjÙçjÝ燔j j/ j3 ‡”j,ij0ij4i‡”jõ™j"šj&š‡”j ,j$,j(,‡”j*Äj5Äj9ć”jdjAYjWd‡”j¸j¼jÀ‡”j‰¦j©¦j­¦‡”jê>j?j ?‡”j¹Aj½AjÁA‡”jÑ`jí`jñ`‡”j†rj«rj‰r‡”j°jÓjׇ”jŽ›j’›j–›‡”jÏ¿j8;jÀ‡”jó,j÷,jû,‡”j¡j'¡j+¡‡”jKj=j1‡”jøªj«j«‡”jó,j-j -‡”j&4j*4j.4‡”jƒFj¢Fj¦F‡”jK$jO$jS$‡”j¨ƒj¬ƒj°ƒ‡”j9tj\tj`t‡”j×|jð|j÷|‡”jÔƒjæƒjꃇ”jx`j›`jŸ`‡”jZ…jz…j~…‡”h€h™h ‡”jõ™jCbj?š‡”j`|jr|jy|‡”j¢ïj¦ïjªï‡”jêgjîgjòg‡”j,j0j4‡”j&jÿtjV‡”jšjªšj“š‡”jÖjäj뇔j jCjG‡”jšj¸j¼‡”jËÑjÏÑjÓч”jú£j¤j!¤‡”j¨j$¨j(¨‡”j+ëj@ëjD뇔j,_j7_j;_‡”j¬#jÏ#jÓ#‡”jB¿jF¿jJ¿‡”j~ŽjtŽj„އ”j©×j´×j¸×‡”jÔj"Ôj)Ô‡”j÷-j .j.‡”jFjJjN‡”j‚”j””j˜”‡”jŒèj—èj›è‡”jê j jí ‡”jTZjpZjtZ‡”jñ³jõ³jù³‡”jmhjhjƒh‡”jÛj÷jû‡”j؇jê‡j”jy j˜ jœ ‡”ja1j„1jˆ1‡”jîj„qjÁj·sjësjïs‡”jEdjhdjld‡”j)Ój!ÓjÓ‡”j!ûj%ûj)û‡”jO ja je ‡”jæjêjjüQjRjR‡”jj‘j•‡”j#VjVj)V‡”jdj‡j‹‡”j±jÃjLJ”j$ôj=ôjDô‡”jfej€ejie‡”j<j,<j0<‡”jk2j‡2j‹2‡”h×hýj‡”jåxjyjy‡”jjj ‡”j j j ‡”jÝ,já,jå,‡”j#Dj.Dj2D‡”jŸ}j›}j¥}‡”j#>j>j>‡”jŠèj†èj臔j›ŒjµŒjžŒ‡”j Oj$Oj(O‡”jÐNjóNj÷N‡”jþzj{j{‡”juYjyYj}Y‡”j†j†j†‡”j|_jŠ_jŽ_‡”jùjýj‡”j¹j½jÁ‡”jƒj¦jª‡”jŠyj•yj™y‡”jAjáKj¿‡”j‚%j†%jŠ%‡”jKzjOzjSz‡”j¸jÊj·”jŠ#jŸ#j£#‡”jy jŸ j£ ‡”jƒjyj‰‡”j!ûj,ûj0û‡”jN‚jn‚jr‚‡”jÔòjójó‡”jKcjgcjkc‡”jŠ#j³#j·#‡”jÀ~jÜ~jà~‡”j9<jD<jH<‡”j‡Tj­Tj±T‡”j€çj×oj­ç‡”j®8j²8j¶8‡”j%Aj)Aj-A‡”jMãj_ãjc㇔jˆˆj~ˆjŽˆ‡”j–j&–j*–‡”j3šjKšjOš‡”j&¤j8¤j<¤‡”jQ8ji8jm8‡”jàjäj臔jæljêljîl‡”j`#jƒ#j‡#‡”jÊ’jÎ’jÒ’‡”j¤3j¶3jº3‡”j@ÍjKÍjO͇”jƒjŽj’‡”jóÏjÐjЇ”jÕ“jà“j䓇”j– jŸIjÆ ‡”j bjbjb‡”jzj“jš‡”j.9jT9jX9‡”jº j° jÀ ‡”jQ8jw8j{8‡”jÎQjÒQjÖQ‡”jÖ]jÎ]j·]‡”j<jNjU‡”jòj¶ðjý‡”jQ ji jm ‡”j!uj³†j=u‡”jE(j®j€(‡”j8Âjâ;j´Â‡”jm¾j†¾j¾‡”j4j64j:4‡”j $j&$j-$‡”jž·j½·jÁ·‡”j6*jO*jS*‡”jœjœjœ‡”j«YjÎYjÒY‡”jmOj.éjxO‡”j¥Þj·Þj¾Þ‡”jIÔj[Ôj_Ô‡”jOXjSXjWX‡”jÒjõjù‡”jÞ5jú5jþ5‡”j«jˆ«j|«‡”jÿjjkjk‡”jïýjþjþ‡”j…Gj¨Gj¬G‡”j¨ljºljÁl‡”jåxj ïjðx‡”jd“jo“js“‡”jYj.Yj2Y‡”jLWj^WjeW‡”jVÛj{@j‰Û‡”jrj„jˆ‡”jN‚jq‚ju‚‡”jLNj&éjWN‡”j_jxj‡”j4¯jW¯j[¯‡”jˆ jŒ j ‡”jæýjÞýjÒý‡”jtSj‚Sj‰S‡”j· j¯ j£ ‡”jpj pjýo‡”jŸj cj_Ÿ‡”j™«j¼«jÀ«‡”j9j'wjl‡”jˆäjŒäj䇔j12jNèj<2‡”jllj•lj™l‡”jZ…j^…jb…‡”jj¦j­‡”j4`ja`je`‡”j¦j³j݇”j Uj÷TjëT‡”jjj"‡”jîj\qj©î‡”jDüj]üjaü‡”j£`j§`j«`‡”j‹CjÕ~jÉC‡”jçRjüRjS‡”j©]jÎ]j¬]‡”j§2j«2j¯2‡”jÅéjèéjì釔j—TjTjƒT‡”jÒ-jà-jä-‡”j×(jð(jô(‡”jD‘jO‘jS‘‡”j(oj,oj0o‡”jÆjÊj·”jÇjãjꇔj¨QjºQj¾Q‡”j#7jI7jM7‡”j—+j›+jŸ+‡”jF@j>@j'@‡”jë$jFNj>%‡”jžXj¢Xj¦X‡”jõ—j˜j˜‡”jççjÿçj臔jì2j3jï2‡”j ÂjÂj‡”jS0j^0jb0‡”jÖôjõôjùô‡”j ˜j%˜j,˜‡”j…âj¨âj¬â‡”jhðjðjˆð‡”j{Uj•Uj~U‡”jMajQajUa‡”jkgj‰gjg‡”j)j-j1‡”j:ÒjEÒjIÒ‡”jôj ôjô‡”jijŒj‡”jeujiujmu‡”jeFjiFjmF‡”j—÷jº÷j¾÷‡”j¦jÓjׇ”jÒjîjò‡”jÙjëjjÀ jÒ jÖ ‡”j¨Jj¬Jj°J‡”j‹›j¤›j«›‡”j2j2j2‡”j;­j^­jb­‡”jð[jû[jÿ[‡”j‰®j¢®j©®‡”j(Ðj:Ðj>Ї”jPj1Pj5P‡”jŸ°jŰjɰ‡”jîj>îjBj>ÁjIÁjMÁ‡”j°Õj´Õj¸Õ‡”j±Øj©Øj؇”j$®jQ®jU®‡”jqÙjnjæÙ‡”jü”jƒŒjJ•‡”jïjj‡”jÞjÞj!Þ‡”jª:j¿:jÃ:‡”j{¡jž¡j¢¡‡”jZ^js^jz^‡”jÜ9jç9jë9‡”jcj6cjc‡”jækjøkjÿk‡”jFYjròjQY‡”j2:jN:jR:‡”j jø jª ‡”j2:j=:jA:‡”j!íj?íjC퇔j5®jN®jU®‡”jáýjìýjðý‡”jt¨jx¨j|¨‡”jduj`ujju‡”j4j8j<‡”jsj3sj7s‡”j'bj@bjGb‡”jÆfjßfjæf‡”jô0j1j1‡”j¿j¾ïjš¿‡”j.ðjGðjKð‡”jýNj#Oj'O‡”jÛÀjþÀjÁ‡”jé§jþ§j¨‡”jPj#Pj'P‡”jÑ-jð-jô-‡”j 0j¤0j¨0‡”jÆ‹jä‹j苇”jÂ5j×5jÛ5‡”jÏ¿j3;j À‡”j®j&®j*®‡”j™½j¸½j¼½‡”jߟj  j ‡”j(j7(j;(‡”j"„j;„j?„‡”j8ƒj<ƒj@ƒ‡”jµ‰j؉j܉‡”j‰Àj¥Àj©À‡”j‹Ÿj–ŸjšŸ‡”j:j?:jC:‡”jsj…j‰‡”j´,jÓ,j×,‡”j¼ŒjÚŒjÞŒ‡”jYj]ja‡”jx´jp´jN´‡”jŽjajÆŽ‡”jÕTjÙTjÝT‡”joNjzNj~N‡”jŒÙjžÙj¢Ù‡”jH8jL8jP8‡”jé™jû™jÿ™‡”jrfjvfjzf‡”jáýjýýjþ‡”jÆÅjéÅjíŇ”j¼ËjÕËjܡ”jŸâj›âj¥â‡”jhÿj!Gjžÿ‡”jš8jž8j¢8‡”jšj¥j©‡”jÇjÜjà‡”jsj1sj5s‡”j³j$³j+³‡”jÆtj¾tj²t‡”j8ºj[ºj_º‡”jªëjÃëjÊ뇔j8Âj<jÕ‡”jÿ¤j¥j¥‡”j©9jÁ9jÅ9‡”j›ßj­ßj±ß‡”jÝjáj凔j`{j<]j³{‡”jŸ¡j¾¡j¡‡”jàÛjäÛjèÛ‡”jö¤j¥j ¥‡”jž4jÁ4jÅ4‡”j[|j_|jc|‡”jAjsKj}‡”jqÙjómjÔÙ‡”jà_jØ_jÁ_‡”jÜ9jà9jä9‡”jŸIj£Ij§I‡”jœ‚jµ‚j¹‚‡”jÇjÒjÖ‡”jw×j•×j™×‡”j²‚jÄ‚jË‚‡”j’•j•j¡•‡”jb‡jŠjׇ‡”j$Ñj=ÑjDч”j¡j“j|‡”jbÔjmÔjqÔ‡”jáZjÝZjçZ‡”jNjNj$N‡”j,Kj:KjAK‡”jâ–jû–j—‡”j8ÂjÝ;j±Â‡”jÔòjóòjúò‡”jõÈjÉjɇ”jËj°Ëj´Ë‡”jÝjÕjɇ”jS>jq>ju>‡”j7œjIœjMœ‡”j„ÝjžÝj‡Ý‡”jÑHjÜHjàH‡”jÜsjÿsjt‡”j?¿jëjJ¿‡”j^pjVpjJp‡”jU¹jc¹jj¹‡”jY’jØ‹jŒ’‡”jY´j]´ja´‡”jpjtjx‡”j¿ƒjÞƒj⃇”jøÝjðÝjä݇”jÑ®jô®jø®‡”j¬j¬j¬‡”j#j.j2‡”jÈjÈjȇ”jxj‘j˜‡”j$7j/7j37‡”jÑ–jÕ–jÙ–‡”jãjãj㇔jX„jt„j{„‡”jh›j‡›j‹›‡”jPjTjX‡”j#j=j&‡”jE jW j[ ‡”jƒjäjŠƒ‡”j[j¨[j¬[‡”jA™jd™jh™‡”jRÐjVÐjZЇ”j j" j) ‡”j*tj.tj2t‡”jУjó£j÷£‡”jZçjyçj}燔j00jN0jR0‡”je¬j…¬j‰¬‡”jîj%qjˆî‡”jÁ¥jä¥j襇”jƒœj•œj™œ‡”jñ~jõ~jù~‡”j_®jc®jg®‡”j•Bj¸Bj¼B‡”jj-j4‡”jYFj]FjaF‡”jšj³jº‡”j¡jÀjć”jߟj15jD ‡”jq¦jž¦j¢¦‡”j~Új‚Új†Ú‡”jqvjuvjyv‡”jÛJjßJjãJ‡”j“¿j¸¿j–¿‡”jj'j+‡”jãLjõLjùL‡”jZ*je*ji*‡”j¸j‘¸j•¸‡”jájájᇔjcj—j›‡”jϰj»°j¯°‡”jåwjówjúw‡”j3j"3j&3‡”j¯jºj¾‡”j]AjŠAjŽA‡”j$‚j6‚j:‚‡”jÅÄj½Äj±Ä‡”jjŒj„ŒjmŒ‡”jd°jh°jl°‡”jÊRjðRjôR‡”(j¦‹jÉ‹jÍ‹‡”j1jÂñj 1‡”jNj5Nj9N‡”j°j*°j.°‡”j&jOjS‡”jQj1Qj5Q‡”jÿ•j–j–‡”jI{jh{jl{‡”jå¯j°j°‡”jxgj—gj›g‡”j!jqyj[!‡”jú*jð*j+‡”jߟjY5j\ ‡”jçjßjÓ‡”j5Bj@BjDB‡”jÎjÒjÖ‡”jI{jW{j[{‡”jß›jœjœ‡”j´ïj¸ïj¼ï‡”j†ÚjŠÚjŽÚ‡”jZJjoJjvJ‡”jÿjjAZj8k‡”j_j_j _‡”jëÛjïÛjóÛ‡”jŠ‘j†‘j‘‡”jExjIxjMx‡”j޶j ¶j¤¶‡”j•àj§àj®à‡”jtwjxwj|w‡”jBj Bj$B‡”jO jS jW ‡”jeªj~ªj‚ª‡”j2Ýj=ÝjA݇”jºšjÝšjᚇ”jB6j\6jE6‡”j–Rj¤Rj¨R‡”j-õj8õj<õ‡”j»cj¿cjÃc‡”jµÆjØÆjÜÆ‡”j‡Žj Žj§Ž‡”jgpjkpjop‡”jpejtejxe‡”jìÀjðÀjôÀ‡”jÕKjçKjîK‡”j"Nj;NjBN‡”jž·jÂêj©·‡”j_ëjbpj–뇔j_j%_j)_‡”jô0j 1j1‡”jD<jH<jL<‡”j·j»j¿‡”j޳j±³jµ³‡”j˜ÊjªÊj®Ê‡”jäžjèžj잇”jlŠj…ŠjŒŠ‡”jDgjjgjng‡”jü4jø4j5‡”jBIj:Ij.I‡”j”j”j&”‡”j>jBjF‡”j‰Ìj›ÌjŸÌ‡”j>0jB0jF0‡”jYj¤Hj”‡”jª:j9j;‡”jÔ1jØ1jÜ1‡”jb‡jBŠjþ‡‡”jH)jh)jl)‡”jƒjšƒjžƒ‡”jÿ¦jÔdjb§‡”j1/jW/j[/‡”jk‘j…‘jn‘‡”jüOjPjP‡”jf³jj³jn³‡”jmj“j—‡”jÙjjëjjïj‡”jG¹jt¹jx¹‡”jäžjïžj󞇔j2§j6§j:§‡”jVÈjhÈjoȇ”jÉj×jÛ‡”j*±j.±j2±‡”j_zjczjgz‡”jÏzjbójÚz‡”jÕjjîjjõj‡”jY+jx+j|+‡”jLíjPíjT퇔jAÅj9Åj-Ň”j@j)@j-@‡”j:±jc±jg±‡”j8Âj¦;j‡”j~jvjj‡”jYjrjy‡”j¿j;¿j?¿‡”jðœjj‡”jÿ¦j¶djP§‡”jkÖjoÖjsÖ‡”j“ºj¯ºj¶º‡”j$.j5j[.‡”jT!jP!jZ!‡”jYjkjo‡”jÁ÷jä÷jè÷‡”jÃj¸ijGÇ”j=\jp$j\‡”j/j:j>‡”jbÎjfÎjj·”j¬jÏjÓ‡”jqÙj‰ÙjÙ‡”jŠ jŽ j’ ‡”jŠtj¨tj¬t‡”j@žjDžjHž‡”jj"j ‡”jØj&Øj*؇”j•°j¸°j¼°‡”j' jJ jN ‡”j‰žj…žjž‡”jTÖjnÖjWÖ‡”jëhjöhjúh‡”j3’j7’j;’‡”jùjùjù‡”j¨ŠjÖ_j⊇”j‹âjâj“⇔j¶”jÈ”jÌ”‡”jÉ@j×@jÛ@‡”j]6jh6jl6‡”j²rj¶rjºr‡”jÛüj÷üjûü‡”j/ j3 j7 ‡”jIŠjMŠjQЇ”jnjBnjFn‡”j6j&6j*6‡”j/ïj'ïjj§jÆjʇ”jLÆjPÆjTƇ”j·Zjý#jäZ‡”j“žj¶žjºž‡”jÊ‚jí‚jñ‚‡”j9(j=(jA(‡”j}j }j}‡”jýjj ‡”j[j/[j3[‡”j}ýjýj…ý‡”jCÛjfÛjjÛ‡”jKj €jbK‡”jH‰j|‰j€‰‡”j©Xj­Xj±X‡”j]kjSkjck‡”jçjùj‡”jØjÐjć”j‘j‚‘jv‘‡”j´TjwVjîT‡”j¯GjËGjÏG‡”jË1jÝ1jä1‡”jžWj©Wj­W‡”jeLj~Lj…L‡”jѶjé¶jí¶‡”jQ5ji5jm5‡”j¯jj³jj·j‡”jj§j«‡”jÝŽjj‡”jjñj‡”jSÎjeÎji·”jónjþnjo‡”j×jÛj߇”j•°j™°j°‡”j*Ujjwч”jXŸjPŸjDŸ‡”j‘Gj£Gj§G‡”jÿ¦j§djG§‡”jˆej€ejte‡”j ‡j2‡j6‡‡”j›ßj´ßj»ß‡”j¸jƸjʸ‡”jh9j€9j„9‡”jÅöjÞöjåö‡”jQjmjq‡”jÙjÙjÙ‡”j@~jD~jH~‡”je¬ji¬jm¬‡”j®jªj´‡”jåƒj„j„‡”jOåjråjv凔j÷9j:j:‡”j,+jA+jH+‡”jžj¼jÀ‡”j½¬jÖ¬jݬ‡”jZ jšìje ‡”j}j¨}j¬}‡”j$Wj(Wj,W‡”jc£ju£jy£‡”jIj Ij$I‡”j"j#"j'"‡”j=,j`,jd,‡”j\j5\j9\‡”jgj,gj0g‡”j&jútjS‡”j}=jm=jƒ=‡”jÕÍjîÍjõ͇”j\jgjk‡”j£Zj»Zj¿Z‡”jŽ›jòj§›‡”jf;j~;j‚;‡”j>RjIRjMR‡”j9j!9j%9‡”jóÕjÖjÖ‡”jFQjXQj\Q‡”jý j j ‡”j•j™j‡”jF]j_]jf]‡”jrýjŒýjuý‡”jøgj hjh‡”j"?j&?j*?‡”j¬j%¬j)¬‡”j‹Ÿj±ŸjµŸ‡”j£œj»œj¿œ‡”j}jj“‡”jTjTjñS‡”j mjmjm‡”jÏ¿j;jÿ¿‡”jªˆj¼ˆjÀˆ‡”jÆj&Æj*Ƈ”jAÊjdÊjhʇ”j.›jG›jN›‡”jÒj‹Òj•Ò‡”j©Ôj­Ôj±Ô‡”j‡ûj¦ûjªû‡”jª‰j¢‰j‹‰‡”j²šj®šj¸š‡”j«¨j¯¨j³¨‡”j§Hj«Hj¯H‡”jΨjÙ6j ©‡”jÜñjÚëjçñ‡”jp]j{]j]‡”j›\j­\j±\‡”jú jçj ‡”j¸}j×}jÛ}‡”jÿ¼j$½j½‡”jkþj}þjþ‡”jžWjÁWjÅW‡”jñXjWjY‡”j©–j­–j±–‡”jDjcjg‡”j"hjÂYjRh‡”j«“j½“jÁ“‡”j|j–j‡”jŽj¡`jއ”jô‚jƒjƒ‡”jðŠjâŠjÖŠ‡”jõ—j˜j˜‡”j’}j±}jµ}‡”j•j:•j>•‡”j€âj„âjˆâ‡”jº7jà7jä7‡”j¦Ðj±ÐjµÐ‡”jº—j)3jî—‡”jýõjöjö‡”j\ñjjñjnñ‡”jvyj™yjy‡”jzj1zj5z‡”j?ðjCðjGð‡”jÄjãj燔j`jF`j`‡”j6‘jR‘jV‘‡”j=pjKpjOp‡”jÕJjêJjñJ‡”jtjlj`‡”j?2j^2jb2‡”jqj6qj:q‡”jþj j ‡”jÍbjÑbjÕb‡”jVâjaâje⇔jߟjãŸj矇”jCdjUdj\d‡”jØ÷jÎ÷jÞ÷‡”j¹tj±tj¥t‡”jøÖj×jׇ”jüOj"Pj&P‡”j¶èjºèj¾è‡”jÐ>jÛ>jß>‡”jÊ0jÕ0jÙ0‡”jðÅjûÅjÿŇ”j0‘jI‘jP‘‡”jõj'õj+õ‡”jëjëj뇔j¦Dj¿DjÆD‡”jê¹jOhjº‡”jX›jw›j{›‡”j~Ìj‚Ìj†Ì‡”j=jAjE‡”j•®j®®j²®‡”j0ŠjUŠj3Ї”j¡öjºöjÁö‡”jð5j6j6‡”jŠÎj£Îj§Î‡”jgojŠojŽo‡”j Ýj'Ýj+݇”j•™j¸™j¼™‡”j: j6 j@ ‡”j^rjirjmr‡”jð;jô;jø;‡”j„j–j‡”jŒÔjžÔj¢Ô‡”jõjñj‡”jÅöjÐöjÔö‡”jÂÊjÆÊjÊʇ”jï‹jë‹jõ‹‡”j"j&j*‡”jm¾j¾j”¾‡”jTUjpUjtU‡”jI¤jT¤jX¤‡”j•®j™®j®‡”j?ej[ej_e‡”jŽ/j§/j®/‡”j2½j$½j½‡”jކj™†j†‡”j~j~j~‡”j:qjTqj=q‡”jîjj‡”j=\jœ%jC]‡”jLÉjoÉjsɇ”jº:jÒ:jÖ:‡”js§j~§j‚§‡”jqvjŠvj‘v‡”jt²jx²j|²‡”jë´jµjµ‡”j(j(j(‡”jiFjtFjxF‡”jHvjZvjav‡”j° j´ j¸ ‡”j~jdj7‡”jÑHjÕHjÙH‡”jŸjMcj†Ÿ‡”jÛ"j×"já"‡”j.Ij2Ij6I‡”j=\jG%j]‡”j‡ûj‹ûjû‡”jH^jZ^ja^‡”jïåj6ðjú凔jÌFjëFjïF‡”jØ{jÐ{jÄ{‡”j!j4!j8!‡”jñ‹jü‹jŒ‡”jjj#‡”ji'jm'jq'‡”jKj7Kj;K‡”j´ùjÐùjÔù‡”jœßjªßj±ß‡”jk‹jv‹jz‹‡”jÁ¾jÓ¾j×¾‡”j äj äj$䇔j…0j0j”0‡”jÀNjÞNjâN‡”jArjErjIr‡”j7j“7j—7‡”j$ÑjGÑjKч”jÏjëjjÁj®Áj²Á‡”jÕjjçjjëj‡”jذjã°jç°‡”jªj®j²‡”jG³jK³jO³‡”jbEjfEjjE‡”j`{ju{jy{‡”jJjzjM‡”jÿjj‡”j$7j=7jD7‡”j´PjÂPjÆP‡”j48j88j<8‡”j>cj:cjDc‡”jmÒj‡ÒjpÒ‡”jà jÕ jÙ ‡”jª:j jå:‡”j×j ×jׇ”j\jzj~‡”j2½j(½j8½‡”j jj‡”jÂj'Âj.‡”j¯j¯j¯‡”jÁojÚojáo‡”jLÉjeÉjlɇ”jȼj¦ïjÓ¼‡”j|Äj˜ÄjœÄ‡”jrfj}fjf‡”j 0j¹0jÀ0‡”jë$jKNjA%‡”jÙ¦jç¦j”j~yj—yjžy‡”jš.jž.j¢.‡”jíj«íj¯í‡”jGjGj G‡”jpjŒj‡”jVsjZsj^s‡”jÉj'Jj‡”jùLjýLjM‡”j›2j´2j»2‡”jNj`jd‡”j0ljHljLl‡”j{ˆjêj†ˆ‡”jJjÏGjp‡”jT±jp±jt±‡”jŘjá˜j嘇”jƒ j© j­ ‡”j­VjÇVj°V‡”j ‘j/‘j3‘‡”j]=ja=je=‡”jÀŠjÄŠjÈŠ‡”j]Øj|Øj€Ø‡”j¢j¾j‡”jBjojs‡”j–ÆjšÆjžÆ‡”jm¥j¥j”¥‡”jzMj…Mj‰M‡”jt¤j¤jƒ¤‡”jcCjgCjkC‡”j’je’j’‡”j©j©j©‡”j„´jp´jd´‡”j7%j;%j?%‡”jªÏjÃÏjÊχ”jmäjŒäj䇔jÑ`jô`jø`‡”jÆ™jj š‡”jj*j.‡”jk™j„™j‹™‡”j js jg ‡”j0ØjOØjS؇”j Tj«Tj¯T‡”jÎ0jÊ0jÔ0‡”jìÀjÁj Á‡”j1 jM jQ ‡”j&j)&j&‡”jìÊj÷Êjûʇ”j)jíj)‡”jEjEj E‡”jç8j9j9‡”jvjAvjEv‡”j‘ej£ejªe‡”jÈ´jÌ´j䇔j¥mj·mj»m‡”jm÷j÷jƒ÷‡”j$7j67j:7‡”jQZjUZjYZ‡”jH±jL±jP±‡”jIŒjgŒjkŒ‡”js=jw=j{=‡”jj!j%‡”jðfjûfjÿf‡”jÜjâœj朇”j!íj3íj:퇔j@þj^þjbþ‡”jþj¦vj8‡”jÞ.jý.j/‡”jjj‡”jðŒjj‡”j£/j»/j¿/‡”j7œjBœjFœ‡”jÉjÔj؇”j¹­jÄ­jÈ­‡”j·j»j¿‡”jžj–jЇ”jš]j½]jÁ]‡”j»µj¿µjõ‡”j­ÿj¸ÿj¼ÿ‡”j+Fj/Fj3F‡”jv«j«j“«‡”j¹j½jÁ‡”j÷j…j$ ‡”jQj?QjCQ‡”jîj-îj4jÖj›ÖjŸÖ‡”j-ýj8ýj<ý‡”j¶}jÈ}jÌ}‡”j[!jw!j~!‡”jgojkojoo‡”j¸†j¼†jÀ†‡”jÞÂjÃjÇ”jn®jr®jv®‡”j,ªj0ªj4ª‡”j©Xj}#jâX‡”jŠj Šj$Ї”j]j!]j%]‡”j¬Fj°Fj´F‡”j{Uj™UjU‡”j¿|jØ|jß|‡”jïåjæj懔jqQj6éj|Q‡”j©õj­õj±õ‡”j·ij»ij¿i‡”jžÅj¢Åj¦Å‡”j°ÃjÉÃjÐÇ”jæ&jø&jü&‡”jêZj[j [‡”j£/jëjÓ/‡”j«9j¹9jÀ9‡”já;jÓ;j¼;‡”jújØrj=ú‡”j(ÐjAÐjHЇ”jÃjÃjÇ”j=\j.%j]‡”j´yjÂyjÉy‡”j0”jL”jP”‡”j.ˆjJˆjNˆ‡”jÌ jÄ j¢ ‡”jæ&jê&jî&‡”j<j@jD‡”jîjj‡”jeFjpFjtF‡”j j—uj= ‡”jÏèjÚèjÞ臔j¾jÂjƇ”j ÚjÚjÚ‡”jßtj\ju‡”j\¦j`¦jd¦‡”jÆj,Æj0Ƈ”j jj‡”jm6j6j”6‡”j—j.—j5—‡”j·RjîjÂR‡”jEj=j&‡”jÉþjçþjëþ‡”j|ÄjŽÄj•ć”jjjjj"j‡”j.ÍjLÍjP͇”j j' j+ ‡”j@ jK jO ‡”j’£jŠ£js£‡”jñFjGjG‡”ju‚jy‚j}‚‡”j/œjAœjEœ‡”jQ j_ jf ‡”jØujÐujÄu‡”jÍOjØOjÜO‡”j¡òjòj§ò‡”j‹njnj“n‡”j¹j'¹j+¹‡”j_ÌjjÌjṅ”j+FjQFjUF‡”jX"jw"j{"‡”jj!j%‡”ja+j‡+j‹+‡”jÁj–ÁjÁ‡”jp jt jx ‡”j—Tj“TjT‡”júVjWj!W‡”j¦HjÀHj©H‡”j]Øjðjh؇”jÉjÆìjÔ‡”j¢×jVëj­×‡”j ŠjŠjЇ”jFIjXIj\I‡”jÍjæj퇔jlYjbYjrY‡”j€j€jú‡”j1/jI/jM/‡”jxj›jŸ‡”j¾üjÐüjÔü‡”jë¾j¿j¿‡”jKj€jYK‡”jNjlUjLN‡”jSðjOðjYð‡”jxåj|åj€å‡”jõjƒõj‡õ‡”jL?jW?j[?‡”j‡‚j¡‚jŠ‚‡”j´yj˜‡jáy‡”j¢×j°×j·×‡”jÄfjàfjçf‡”jój8ój<ó‡”jmjòðjx‡”j†jA†jE†‡”jƒ‹j‡‹j‹‹‡”jôjÿj‡”jŸ°j­°j´°‡”j;j?jC‡”j3ÇjVÇjZLJ”jšmjv…jÊm‡”jõj)j-‡”jE`j=`j1`‡”jö¯j°j°‡”j‚Üj¬@j½Ü‡”já»j¼j¼‡”j =j=j=‡”jŒ.j¯.j³.‡”jþƒj„j„‡”já<jì<jð<‡”jk¥j‘¥j•¥‡”joj8ojEjBE‡”jNjƒNj‡N‡”jžj)žj-ž‡”jr°jVôj}°‡”j7¶jB¶jF¶‡”j€çj¦çjªç‡”j}tj tj¤t‡”jöjqEjbö‡”jµtjÎtjÕt‡”j9\j5\j?\‡”jL4jP4jT4‡”j$oj/oj3o‡”jmºj{ºj‚º‡”jÆŒjéŒj팇”jlŠjwŠj{Ї”jíjíj퇔j ãj5ãj<㇔j_ŽjcŽjgއ”j[[jf[jj[‡”jš+j½+jÁ+‡”j j@ jD ‡”jptjŒtjt‡”jbjmjq‡”j& jB jF ‡”j~j‚j†‡”jO>jh>jl>‡”jì9jòj÷9‡”j©j&©j*©‡”jÜÎjàÎjä·”j9áj\áj`ᇔjÈojÌojÐo‡”jX‰jT‰j^‰‡”j¦Uj±UjµU‡”j$ßjGßjK߇”j9j6wju‡”jÊÂjØÂj߇”j‘ˆjœˆj ˆ‡”jŽj§j®‡”j×jÛj߇”jkàjvàjzà‡”j×j»—j¤—‡”j)j))j-)‡”jWj0Wj4W‡”jwDjjµD‡”j>kjBkjFk‡”j/aj3aj7a‡”jèÆjìÆjðÆ‡”j%—j)—j-—‡”j‘pjªpj®p‡”jZjljp‡”j“j¶jº‡”jgÓjkÓjoÓ‡”jí¥jñ¥jõ¥‡”jmÒj‹ÒjÒ‡”jq«ju«jy«‡”jœaj»aj¿a‡”j>«j6«j*«‡”j|Ðj•ÐjœÐ‡”jþÄjÅjŇ”j2Ýj6Ýj:݇”j?vjTvj[v‡”j ôj«ôj¯ô‡”jº—j¾—j—‡”j|ŠjŸŠj£Š‡”jï˜jó˜j÷˜‡”jåˆjþˆj‰‡”j8jA8jE8‡”j=Òj9ÒjCÒ‡”jŸnj—nj‹n‡”j:MjÄ jqM‡”jÃ#jÇ#jË#‡”jÅßjÉßjÍ߇”j»;jÆ;jÊ;‡”jn`jy`j}`‡”jIjnjL‡”júìjíj!퇔j¯j¯j¯‡”jÉj"Jj‡”j¸“j¼“jÀ“‡”jâjûj‘‡”j"«jH«jL«‡”j‘j‰‘j“‘‡”jÔEjØEjÜE‡”j¿ƒj׃jÛƒ‡”j<åjeåji凔j¶ñjÈñjÌñ‡”jj)j0‡”jÌüjÈüjÒü‡”j¦‹jª‹j®‹‡”j—…j›…jŸ…‡”jVjòUjæU‡”jf;jRj·;‡”jï_jú_jþ_‡”jÒójÖójÚó‡”j%$jD$jH$‡”jw5j5j¡5‡”jœ[j®[j²[‡”j†jŸj£‡”j ŸjŸj Ÿ‡”jþ¦j§j§‡”jÿëjìj쇔j>€jX€jA€‡”jjéjbéjV釔jbèjfèjj臔jAájfájDᇔj5Pj@PjDP‡”jµ¼j¹¼j½¼‡”j)j7j>‡”jî^j_j_‡”j0j30j70‡”jq¦ju¦jy¦‡”jÊÂjâÂjæÂ‡”jÝÌjöÌjý̇”jÒjäj뇔jç~jj ‡”jjj„jm‡”j jÀ jÄ ‡”jˆjˆj ˆ‡”jšejª„jâe‡”j74jP4jW4‡”j×ÒjÏÒjÃÒ‡”j‰rjrj‘r‡”jÁj(Áj,Á‡”j*Mjòíj5M‡”j=EjVEj]E‡”jŒlj«lj¯l‡”jüÐjÑjч”jjj‡”juÞjmÞjaÞ‡”j¨jÁjȇ”jB,jh,jl,‡”jâxjyj y‡”j¾÷jÂ÷jÆ÷‡”jB¾j`¾jd¾‡”jb‡j“‰j•‡‡”jBGjFGjJG‡”j3jKjO‡”j­ƒj̓jу‡”jï‘jÛ‘jÏ‘‡”jsj³sj·s‡”jî)jü)j*‡”j€Vj„VjˆV‡”j¨njÁnjÈn‡”jæ•jê•j”j’ðj®ðj²ð‡”jsj"ójs‡”jj)j0‡”jd6j\6jP6‡”jÖÓj6ëjáÓ‡”j±PjÊPjÑP‡”jNfjYfj]f‡”jÿÍj"Îj&·”j¶jÈj̇”j çjçj燔jŽj ajÀއ”jKj€j\K‡”j€:j’:j–:‡”jfj“j—‡”jÔÿjîÿj×ÿ‡”j³Àj·Àj»À‡”jÖj7Öj;Ö‡”j ÇjÇjLJ”jþCj!Dj%D‡”j¥j·j»‡”jnj”nj˜n‡”jx$j$j”$‡”jj,j0‡”j œjœjœ‡”jAájjájnᇔj2”j6”j:”‡”jfkj‚kj†k‡”j:sj&ójHs‡”j06j;6j?6‡”jmOj!jO‡”jm¾j¾jƒ¾‡”jfnj‰njn‡”jÖCjîCjòC‡”j|Ðj‡Ðj‹Ð‡”j&¤jF¤jJ¤‡”j¨Pj Pj”P‡”jË…j¡.j†‡”jÁ#jÏ#jÓ#‡”j_(jm(jq(‡”jš˜j¸˜j¼˜‡”j/Wj3Wj7W‡”jî$j%j%‡”jòojöojúo‡”jùÐjÑjüЇ”j°ÚjÂÚjÆÚ‡”jÙ jÝ já ‡”jLj²Lj¶L‡”jÈjÈj ȇ”j9jGjN‡”j‘;j£;j§;‡”j Ÿj#Ÿj'Ÿ‡”j5PjGPjKP‡”jx˜jƒ˜j‡˜‡”j†j|jŒ‡”jBj[j_‡”j¿ jà jÇ ‡”jû‡”j‚Bj²íjB‡”jÉIjÔIjØI‡”j¡j¡j#¡‡”j!±j±j ±‡”jBjvjz‡”jjŒjˆŒjŒŒ‡”jƒAj‘Aj•A‡”jNjqUjON‡”j“žj¬žj³ž‡”jàj'jB'‡”j`ùjrùjvù‡”j{JjšJjžJ‡”jž8jš8j¤8‡”j?—jQ—jU—‡”jþˆj‰j‰‡”jEªjWªj[ª‡”jhØj‹Øj؇”jëhjýhji‡”jÏmjòmjöm‡”jK¤ji¤jm¤‡”j$õjõj*õ‡”j¡¿j¥¿j©¿‡”jY+jij‰+‡”jejÜj9e‡”j¾%já%jå%‡”j›ÉjŸÉj£É‡”j+„jJ„jN„‡”jöjöj"ö‡”j@jcjg‡”jƒTj‡Tj‹T‡”j£ jÆ jÊ ‡”jÁjÁjÁ‡”jþˆj‰j‰‡”jlj4ljl‡”jŽj±jµ‡”ji3jm3jq3‡”j­j¢­j¦­‡”jmZj‹ZjZ‡”jlšj~šj‚š‡”j=\j\$jƒ\‡”jê¹jî¹jò¹‡”jnþjrþjvþ‡”jÁ÷jÅ÷jÉ÷‡”jð(jô(jø(‡”j€Ïj‹Ïjχ”jâ†j&_j'‡‡”jT£j_£jc£‡”já jó jú ‡”jë$j%j%‡”j@ÍjDÍjH͇”jLjšLjžL‡”jL0jo0js0‡”j5Ìj9Ìj=̇”j¦UjÂUjÆU‡”jA*jL*jP*‡”jÏìjÚìjÞ쇔j—ùj¢ùj¦ù‡”jÁäjÅäjÉ䇔jÊjój÷‡”jÜsjîsjòs‡”jóÕjZ?j*Ö‡”j¶}jÁ}jÅ}‡”jjwj|wjƒw‡”jÅjDÅjHŇ”jŠj“Šj—Ї”j¨j.¨j2¨‡”j†j0†j7†‡”jôjj ‡”jyj»yj¿y‡”jÁ¹jà¹j乇”jojzj~‡”jÂjÜ‚jà‚‡”j›Új´Új»Ú‡”jZ‡j^‡jb‡‡”j‹^jª^j®^‡”jj+j/‡”j/9j=9jD9‡”jxïj›ïjŸï‡”jÍ jÑ jÕ ‡”j¶ÙjÏÙjÖÙ‡”jª„j¦„j°„‡”j¤Qj¯Qj³Q‡”j%aj>ajBa‡”jUHjgHjkH‡”jÔ jþæjß ‡”j·j ·j·‡”jŸ~j£~j§~‡”j"hj0hj7h‡”jÓjåj쇔j¡7jß|jÑ7‡”j%›j›j+›‡”j{jsjg‡”j#j?jC‡”jî0j1j1‡”jÿj)uj=‡”j*Mj?MjFM‡”jÏzjÝzjäz‡”jàèjRðjë臔jh›jv›j}›‡”jN`jq`ju`‡”jçRj SjS‡”jÙÇj>kjwȇ”jCdjNdjRd‡”jWkjOkj8k‡”j¦;jª;j®;‡”j8ljJljNl‡”j[!jˆ!jŒ!‡”jO“ja“je“‡”jqÙjßmjÈÙ‡”jj%j)‡”j»cjÞcjâc‡”jŽj°`jŠŽ‡”jjþj‡”jöjgEj\ö‡”jqÙjËmj¼Ù‡”jã{jý{jæ{‡”jejw„jCe‡”j?'jC'jG'‡”j„Ój§Ój«Ó‡”jkÊjoÊjsʇ”ji€jm€jq€‡”j\”ju”jy”‡”jß6jí6jô6‡”jÒÞjîÞjòÞ‡”jÄjÖjÚ‡”j“êjPCjÍꇔj[!j¼MjŸ!‡”jÖj>ÖjBÖ‡”j„jˆjŒ‡”jUˆjmˆjqˆ‡”j4çjFðj?燔j]ØjuØjy؇”j›vj·vj»v‡”j§bj²bj¶b‡”jaŸjeŸjiŸ‡”jtej—ej›e‡”j³„jÅ„jÌ„‡”j$¤j6¤j=¤‡”j”cjŒcj€c‡”j%)jE)jI)‡”jl1jê{j­1‡”jÄ(jã(jç(‡”jô0j1j 1‡”j!j=!jA!‡”j8èjQèjX臔j_rjcrjgr‡”jfjAfjEf‡”jåDjEjE‡”jK$jq$ju$‡”jv¤jޤj’¤‡”jüFjGj G‡”jÉ—j¿—jÏ—‡”jW-jz-j~-‡”jLjLj#L‡”jÝŸjáŸj埇”jeFj…Fj‰F‡”j‚9j”9j˜9‡”jÌKjÈKjÒK‡”j¸}jì}jð}‡”jöEjFjF‡”jž$jÊçj©$‡”jd+jƒ+j‡+‡”jtejej”e‡”j •j•j•‡”j`[jX[jL[‡”jBjFjJ‡”jkÆj…ÆjnƇ”j"«j0«j4«‡”jü”j[Œj2•‡”jáËjìËjðˇ”jåwjm+jx‡”jò?jý?j@‡”jè)jó)j÷)‡”jû2jÿ2j3‡”jH^jS^jW^‡”jØj¹?j>؇”j MjMjM‡”j¨ÈjºÈjÁȇ”j±ÎjÐÎjÔ·”jùŠj‹j ‹‡”j«ÓjÉÓjÍÓ‡”jÌïjÐïjÔjhÿj0Gj§ÿ‡”jG¹jU¹jY¹‡”j¹‰j½‰jÁ‰‡”jŠj¢j¦‡”j0xjBxjFx‡”jjjujy‡”j--j?-jC-‡”j®àj¤àj´à‡”jq¦jv6j®¦‡”jȶjĶj懔jÂ5jò5jö5‡”jMDjpDjtD‡”j4¯jP¯jT¯‡”joNjˆNjN‡”jÑ®jÜ®jஇ”jMnjfnjmn‡”j6ñjDñjKñ‡”jzjzjz‡”j‘wj¯wj³w‡”jƒ(j‡(j‹(‡”j|j&|j*|‡”jÎ3jñ3jõ3‡”jªýj¿ýjÆý‡”jû’j“j “‡”j¹{j½{jÁ{‡”j™j0™j7™‡”jˆ|j²éj“|‡”jG«jj«jn«‡”jøjGøjKø‡”jÚ=jö=jú=‡”j_jcjg‡”jG~ja~jJ~‡”jé°j ±j±‡”jÅxjÞxjâx‡”j•?j‘?j›?‡”jVxjZxj^x‡”jŸ¥j¿¥jÃ¥‡”jm’je’j"’‡”h€h’h–‡”jl1jp1jt1‡”j¯Uj«UjµU‡”joNjsNjwN‡”j’cj–cjšc‡”jrüj‘üj•ü‡”jKßjißjm߇”jz jr jf ‡”j¶j¶j!¶‡”jx˜jŠ˜jŽ˜‡”j‚Üj±@jÀ܇”j·œjלjÛœ‡”je”ji”jm”‡”j½ÌjËÌjÏ̇”jèÑjúÑjÒ‡”jÂrjÞrjâr‡”j…jj”‡”jŠjŽj’‡”j.rjQrjUr‡”jè’j “j“‡”jŸj+Ÿj/Ÿ‡”h×j#þj ‡”j–šjššjžš‡”j¦éj¸éj¼é‡”j…òj£òj§ò‡”jÓjñjõ‡”jxEjŠEjŽE‡”j$Jj=JjAJ‡”jRNjdNjhN‡”jåƒj„j „‡”j+j6j:‡”jÁjõjù‡”jÍUjöUjúU‡”jv0j™0j0‡”jœ$j¸$j¼$‡”jz0j“0j—0‡”j*Uj5Uj9U‡”jV‰jr‰jv‰‡”j¬jÊj·”jQbjjbjqb‡”j$7j(7j,7‡”jÉ©jÍ©jÑ©‡”jþ j j! ‡”jÇjôjø‡”jˆj¦jª‡”jñ¸jõ¸jù¸‡”j¼)jÀ)jÄ)‡”j’ðjµðj¹ð‡”j×`jð`jô`‡”jŒ¬jd7j¼¬‡”jsjsjs‡”j² j½ jÁ ‡”jb¦jt¦jx¦‡”ja.j„.jˆ.‡”jd?jŠ?jŽ?‡”j=jOjS‡”jŒ©j©j”©‡”j]Øj2jƒØ‡”já jå jé ‡”jR$jV$jZ$‡”j}ÇjiÇj]LJ”jt‹jŽ‹jw‹‡”j†ÃjŠÃjŽÃ‡”j0j$PjI0‡”jñ×jü×j؇”j8ïjJïjQj›ejµejže‡”jZTjyTj}T‡”jð;j<j<‡”jªëjµëj¹ë‡”ja¶jo¶jv¶‡”jjj‡”j$ojGojKo‡”jd'jh'jl'‡”jú8jjíj9‡”jjŠjއ”júj3új7ú‡”j¢j¯¢j¶¢‡”jr°j˜°jœ°‡”jØjñjø‡”j¾Aj×AjÞA‡”j©[j¾[jÂ[‡”j“êjÀêjÄꇔjϰj¿°jÕ°‡”j8ÂjÓ;j«Â‡”jÚrjÞrjâr‡”j"²j&²j*²‡”j­~jÉ~jÍ~‡”jƒÑj‡Ñj‹Ñ‡”jEajIajMa‡”j'j+j/‡”jذjê°jñ°‡”jwëjsëj}뇔j—ÛjºÛj¾Û‡”j¤3j¨3j¬3‡”j¸ejÒej»e‡”j]%jÚçjh%‡”jèj:èj>臔jBjFjJ‡”jëÛjÜj܇”jSjOjY‡”jбjÔ±jر‡”jÄ+jÏ+jÓ+‡”jü”jLŒj)•‡”j‚j~jˆ‡”j#j?jC‡”jì9j6}j:‡”j0jBjF‡”j¢åj»åjÂ凔j*jCjJ‡”jöØjÙjÙ‡”jÝŽjèŽj쎇”jyªj}ªjª‡”j2ÜjKÜjR܇”j±êjÐêjÔꇔjÆ­jå­jé­‡”jÿÿjj‡”j‘?j•?j™?‡”jYjkjo‡”j¤j*¤j.¤‡”j6‘jH‘jO‘‡”jÜ…jç…jë…‡”j¼kjÀkjÄk‡”jLjLjL‡”j ‰j=‰jA‰‡”j_PjjPjnP‡”j´TjÚTjÞT‡”jk‘j‰‘j‘‡”jŸjîbjMŸ‡”ja¶j‡¶j‹¶‡”jCj%Cj,C‡”jšmj¹mj½m‡”j¦jÅjɇ”jDÆj`ÆjdƇ”j¥ÃjÃj‘Ç”jžgjÄgjÈg‡”jÑHjÕHjÙH‡”jÓõjöõjúõ‡”jÊj0Êj7ʇ”j–3jŽ3j‚3‡”j' j+ j/ ‡”j›öj¾öjÂö‡”jâ=jæ=jê=‡”jHvjLvjPv‡”jp„j„j”„‡”jWýjoýjsý‡”jdj‘j•‡”j¢ïjÅïjÉj¦ŠjªŠj®Š‡”jT!jL!j*!‡”j¨€j‰ˆjÜ€‡”j?ijXij_i‡”j¦ÄjªÄj®Ä‡”j×µjðµj÷µ‡”jȼjî¼jò¼‡”jbjmjq‡”j*j§*j«*‡”j”%jŸ%j£%‡”jLÆjrÆjvƇ”j1jTjX‡”jbºj{ºj‚º‡”jË•jÙ•jÝ•‡”jÁhjÅhjÉh‡”jäðjèðjìð‡”j¨âj¬âj°â‡”j­{j±{jµ{‡”j"j¦çj"‡”j˪jϪjÓª‡”jßÑj×ÑjËч”j}j,}j0}‡”jSjWj[‡”jqÙjnjàÙ‡”j’ÚjŽÚj˜Ú‡”j (j(j(‡”jjj‰j‡”jækjljl‡”j ’j²’j¹’‡”jÀjØj܇”jbGjGj…G‡”jtjØ[j6t‡”j[BjpBjwB‡”j5PjXPj\P‡”jºÁjÅÁjÉÁ‡”jS}jW}j[}‡”j÷ j j ‡”jbjfjj‡”jõ~jù~jý~‡”j8ÂjÄ;j¢Â‡”j¯Gj³Gj·G‡”jšmjój¥m‡”jÅ2jÉ2jÍ2‡”jRj Rj R‡”jpj:ñj{‡”jµ‰jΉjÕ‰‡”jÿÍj Îj·”j;jMjT‡”jNj4Nj;N‡”j9j;wjx‡”j¨•j‚•jv•‡”j:j':j+:‡”j&j9&j=&‡”j–j–j–‡”jÏjÝj䇔jr™j}™j™‡”jFXj`XjIX‡”jàAjþAjB‡”j³Žj·Žj»Ž‡”j¢j;¢j?¢‡”j(Ðj,Ðj0Ї”j±6jÐ6jÔ6‡”jšej¾„jîe‡”j«5jÊ5jÎ5‡”j*j*j*‡”j–¢j¡¢j¥¢‡”jo)j})j„)‡”j”WjŒWj€W‡”jß´jã´jç´‡”j.Äj@ÄjGć”jŸ°jZôjª°‡”jfAjjAjnA‡”jájýj‡”jçØjߨjÈØ‡”jU•jY•j]•‡”jîjŽqjÇj°j8jP°‡”jÂ<jÔ<jØ<‡”jaŠjeŠjiЇ”jš‡”jV_jZ_j^_‡”j×jôÖjèÖ‡”j/>j:>j>>‡”jåƒj÷ƒjþƒ‡”jèXj YjY‡”jU™jY™j]™‡”jljljl‡”jäæjïæj󿇔j¬Tj¾TjÂT‡”jÀkj²kj¦k‡”jd/j‡/j‹/‡”j3j3j3‡”j…½j“½j𽇔jèPjóPj÷P‡”jej+ej/e‡”j<;jZ;j^;‡”jÙÇjòïjäLJ”j( jH jL ‡”j±ïjÏïjÓjÔòjâòjæò‡”jC jG jK ‡”jËj‘Ëj•ˇ”jj%j%j‘%‡”j‹jj¡‡”j9jEwj~‡”jª:jMj ;‡”j ujuju‡”jþ(j )j )‡”jkhj}hjh‡”jÂrjÍrjÑr‡”jG2jj2jn2‡”jS}jl}js}‡”jÅj6Åj:Ň”j9Xj5Xj?X‡”jû‚j÷‚jƒ‡”j¼j¼j ¼‡”jÝnjánjån‡”jÀQjÙQjàQ‡”j«j£j—‡”j¨ÞjÁÞjÈÞ‡”jÝBjöBjýB‡”jÚ„jô„jÝ„‡”j Yjnòj+Y‡”jà:j¹}jI;‡”jk•j„•jˆ•‡”j+ƒjIƒjMƒ‡”j„ÂjˆÂjŒÂ‡”j'Sj@SjGS‡”jî¡j¢j¢‡”j«‘jß‘j㑇”j6{j:{j>{‡”jTàjXàj\à‡”jÙ jë jò ‡”jþÏjÐjЇ”jÓ,jÞ,jâ,‡”j ÌjÌj̇”jQbj\bj`b‡”jÇWjêWjîW‡”j2j2j2‡”jõzjfój{‡”j#‹jF‹jJ‹‡”jþêjëj!뇔jSbj^bjbb‡”j,ªj>ªjBª‡”j`{jA]j¶{‡”j"?j-?j1?‡”j«6j¹6jÀ6‡”jþƒjŽój „‡”jfj"fj&f‡”jãj¦ãjªã‡”jZjZjZ‡”j„j–j‡”j¸–jÖjÇ–‡”jÍj Íj͇”j2¨j.¨j8¨‡”j'[j5[j9[‡”j,új>újBú‡”jž«j¢«j¦«‡”j+1jJèj61‡”jÑíjãíjç퇔jÕJjãJjçJ‡”jø‘j’j’‡”jü„jô„j脇”j%›j›j›‡”jŒOjOj”O‡”j3j!3j%3‡”jX…j\…j`…‡”joljsljwl‡”jV–j.êja–‡”j™jjvjÖ‡”j­ãj±ãjµã‡”j×7jâ7jæ7‡”(j«¨j¶¨jº¨‡”jëojöojúo‡”jS}j^}jb}‡”j…âj‰âj⇔j\qjTqjHq‡”jŒj„jx‡”j$ j¦ìj/ ‡”jb‡jü‰jÔ‡‡”j›jŸj£‡”j'‹jT‹jX‹‡”j³j³j³‡”jýIjJj J‡”jZJj€Jj„J‡”j’új¤új¨ú‡”jœj®jµ‡”j9ƒj=ƒjAƒ‡”jî‰jò‰jö‰‡”j9áj=ájAᇔjV–jñ2j––‡”j=\j°%jO]‡”jÂj¡Âj¥Â‡”j?ejQejXe‡”j’æjµæj¹æ‡”já8jå8jé8‡”j¢¡j¼¡j¥¡‡”j¿4jå4jé4‡”j"hjêYjjh‡”jAjúKj·”j´j5´j9´‡”j@j"@j&@‡”j;øjTøj[ø‡”jßtjþtju‡”j¸¶jжjÔ¶‡”j‚ÜjÞ@jÛ܇”j±Îj×ÎjÛ·”j?°j;°jE°‡”j‘ˆjªˆj±ˆ‡”jÀ8jÙ8jÝ8‡”j˜j ˜j˜‡”j|Dj‡Dj‹D‡”j²|j½|jÁ|‡”jøjüj‡”jðíjûíjÿ퇔jybj„bjˆb‡”jbèjtèjx臔j*j*j¤*‡”jäØjöØjú؇”j0‘jB‘jF‘‡”jyªj•ªj™ª‡”jŽ&j§&j®&‡”joÐj’Ðj–Ї”j~ÞjÞj”Þ‡”jïSjãj?T‡”jN`jR`jV`‡”j7wjJójBw‡”jü”j«Œjb•‡”jðWjûWjÿW‡”j=)j`)jd)‡”jÖHjIjI‡”j©[j£Wjç[‡”j‘,jŸ,j¦,‡”j<³j@³jD³‡”j—jºj¾‡”jqj+qj/q‡”j]‘j†‘jŠ‘‡”jYVjkVjoV‡”j>®j]®ja®‡”jÿ£j¤j¤‡”jˆ|j–|jš|‡”j;¦jM¦jQ¦‡”j“ºjÀºj凔j¢j¢j¢‡”jòVj WjW‡”jò4j5j5‡”jŠ˜jŽ˜j’˜‡”jŽ“j±“jµ“‡”jòj j ‡”j»3j¿3jÃ3‡”j$Sj(Sj,S‡”j§Îj«Îj¯Î‡”jëäjåj 凔jjj"‡”j“êj_CjÖꇔjÙÇjkjVȇ”jÉœjfj‡”jqÙj9njþÙ‡”jüj!üj%ü‡”j‹áj®áj²á‡”jìj¾ìj÷‡”j¯´jÔ´j²´‡”j›öj´öj»ö‡”jȲjä²j貇”jAàjdàjhà‡”j¬vj¾vjÅv‡”j|j |j|‡”jË1jç1jë1‡”j‚Tj”Tj˜T‡”jÚ=jý=j>‡”jÊRjØRjßR‡”j‰j¡‰j¥‰‡”j(j>(jB(‡”jTXjXXj\X‡”jWsjOsjCs‡”jÓNjöNjúN‡”j˪jîªjòª‡”jÆ™jíŒjš‡”jž$j½$jÁ$‡”jâjâj ⇔j­(jÆ(jÍ(‡”jîj qjyjókjljl‡”j_jcjg‡”jÄ.jÈ.jÌ.‡”jìjðjô‡”j8j)8j-8‡”jøj(øj,ø‡”j¾¯já¯j寇”j& j1 j5 ‡”j}ýj£ýj§ý‡”jë¯jö¯jú¯‡”j‡6j™6j6‡”j²"jË"jÒ"‡”j¶ÛjÈÛjÏÛ‡”j5Bj9Bj=B‡”jº­jÈ­jÏ­‡”j—¥j°¥j·¥‡”jxKj—Kj›K‡”jÁjäj臔j|NjŸNj£N‡”j#Dj5Dj9D‡”j…9j¤9j¨9‡”jòåjöåjú凔jC¥j\¥jc¥‡”j8Âj’;j„‡”jŽ,jœ,j£,‡”jƒAj‡Aj‹A‡”jÎõjàõjäõ‡”j@j˜@jŸ@‡”jØjܘj㘇”j›kj¦kjªk‡”jgj¨gj¬g‡”jjBjF‡”j™j®jµ‡”jŒFjFj”F‡”jð[jô[jø[‡”jú8j9j9‡”jÓ×jù×jýׇ”jÆÅjÑÅjÕŇ”j\ÃjxÃj|Ç”j”fj˜fjœf‡”j•j3•j7•‡”jNjÚæjY‡”já»júêj컇”jzìj~ìj‚쇔jÌFjHjùF‡”jxjÜGjž‡”jø›jü›jœ‡”j)–j*êj4–‡”j'j'j'‡”j«-jË-jÏ-‡”jAjÍKj³‡”jájúj‡”jMnjQnjUn‡”j%—jH—jL—‡”jÂajÍajÑa‡”jL)jW)j[)‡”jZdj}djd‡”jèPjQjQ‡”jÁjÝjᇔjNjqju‡”jG&jj&jn&‡”jžij¢ij¦i‡”jÎgjçgjîg‡”j¿¬jݬjᬇ”j£ÄjÁÄjÅć”jYEjQEjEE‡”j%æj>æjE懔jà jÜ jã ‡”jxKjéjƒK‡”jjj‡”j1jJjQ‡”jÿ‡”jåijðijôi‡”jjj‡”jò?j@j@‡”jãjrçjjL¢jW¢j[¢‡”jjj‡”jR·jºêj]·‡”jObjSbjWb‡”j{jjƒ‡”jÛjíjô‡”j¸ÁjÊÁjÎÁ‡”jqöjuöjyö‡”jj!j%‡”j…âj¡âj¥â‡”jÔjðjô‡”j×#jÓ#jÝ#‡”jûÖjÿÖjׇ”j!jšçjš!‡”jeøjpøjtø‡”jm jx j| ‡”jùûjüjü‡”jj#j'‡”jÒjÒjÒ‡”j ‚j%‚j,‚‡”jƒjŸj£‡”jÌjÐjÔ‡”jz{jžéj…{‡”jL§je§ji§‡”jŒjö/jJŒ‡”jUjYj]‡”jÍjÍj͇”jÒŽjÖŽjÚŽ‡”jLzjPzjTz‡”jÏbjábjèb‡”jÑíjêíjî퇔jHj HjH‡”jî#jò#jö#‡”j/j#/j'/‡”jW$je$ji$‡”j±j¼jÀ‡”jlšjwšj{š‡”j."j9"j="‡”júŠjþŠj‹‡”jEÐjIÐjMЇ”j–„jš„jž„‡”j0j]ja‡”j¡7j¥7j©7‡”j^?jZ?jd?‡”j Éj«Éj¯É‡”jh*j‡*j‹*‡”j•Œj±ŒjµŒ‡”jˆrj“rj—r‡”j…jj‰jjj‡”jQLjULjYL‡”j½žjÏžjÖž‡”j1 jT jX ‡”j rjrj%r‡”j'Lj2Lj6L‡”j=Zj9ZjCZ‡”jœfj§fj«f‡”jøj/øj6ø‡”jKYjnYjrY‡”jUˆjYˆj]ˆ‡”jv?jz?j~?‡”jI„ji„jm„‡”jÁj§Áj«Á‡”jwAj|~j­A‡”jç÷jò÷jö÷‡”j¦j2¦j6¦‡”j+j=jA‡”jûsjçsjÛs‡”jùŠj‹j‹‡”jߟjvêjꟇ”jÇjËjχ”j Ùj9Ùj@Ù‡”jdjdj!d‡”j@ÍjRÍjV͇”jjŸj£‡”j¢`j¦`jª`‡”j¨€j˜ˆj倇”jçjòjö‡”j-ýj?ýjCý‡”jájójú‡”jb‡j˜‰j˜‡‡”jKŽjpŽjNއ”j®øjªøj´ø‡”j;Gj+TjvG‡”j,€j7€j;€‡”jl¢jp¢jt¢‡”jB9ja9je9‡”jæBjêBjîB‡”ji!jˆ!jŒ!‡”j1Fj^FjbF‡”jYRjxRj|R‡”jjj‡”j´j¸j¼‡”jbhj^hjhh‡”jÎjÎj·”j½PjÖPjÚP‡”j»wjÞwjâw‡”jÜ1jö1jß1‡”j%j0%j4%‡”j•‹j§‹j«‹‡”jRKj`KjgK‡”jF]jQ]jU]‡”jùójôjô‡”j¹jÕjÙ‡”jjj‡”jÞjéj퇔j,>j0>j4>‡”jîjßpj^jvljV…j´l‡”jfj{j‡”j×|jâ|jæ|‡”jd–j}–j„–‡”j±PjÔPjØP‡”j©HjÆíj´H‡”jÌåjÚåjá凔jqÙj¼mj³Ù‡”j=pjcpjgp‡”jØjÐj¹‡”jV«jZ«j^«‡”j°`jÐ`jÔ`‡”jUj÷TjàT‡”jjj|jƒ‡”j¿4jÃ4jÇ4‡”jÆj>ÆjBƇ”jŽ,j>íj™,‡”jR(jq(ju(‡”j)j)j#)‡”j¢j­j±‡”j£¢jôj®¢‡”j÷ jû jÿ ‡”j´´jÒ´jÖ´‡”j*œjIœjMœ‡”jÑ^jð^jô^‡”jú8j'9j+9‡”j»ˆj¿ˆjȇ”j¨€jˆj耇”jqÙjžmj¡Ù‡”j 4j&4j4‡”jîj qj…j)Pj»Uj]P‡”jÍÕjÑÕjÕÕ‡”jæfjêfjîf‡”j”6j²6j¶6‡”jjj‡”jÂrjÆrjÊr‡”jùŽjj‡”jtSj'"j¶S‡”j§j¿jÇ”jê¢jõ¢jù¢‡”jÁDjÚDjáD‡”jwÇjiÇjRLJ”j÷jûjÿ‡”jWæjeæji懔j&j*j.‡”j@~jY~j`~‡”jÆÅjØÅjÜŇ”j¢†jȆj̆‡”jÕÍjçÍjë͇”j —j—j—‡”j².jÐ.jÔ.‡”jºKjÈKjÌK‡”jÄ$jä$jè$‡”jKzjczjjz‡”j7%jV%jZ%‡”jájåj釔j~…j…j”…‡”jåšjðšjôš‡”j+„jQ„jU„‡”j¨˜j¬˜j°˜‡”jKýjgýjký‡”jÿ•j–j–‡”jujkj©‡”jì˜j™j”jd?jr?jv?‡”jvj·†j#v‡”j‚j‚j‚‡”jì—jä—jØ—‡”jwÄjoÄjcć”jújúj"ú‡”j7„jP„jW„‡”jKojeojNo‡”jë>j–èjö>‡”jsíj‘íj•퇔j.ójQójUó‡”j"«j&«j*«‡”j¯ÝjËÝjÏ݇”jh9j%}j•9‡”jµ#jÓ#j×#‡”jðj ðjð‡”j·jÚjÞ‡”jýIjJjJ‡”j!íj=íjA퇔jÒÞjÝÞjáÞ‡”j»>jÐ>j×>‡”jºjÔj½‡”jñ]j–òjü]‡”jó j÷ jû ‡”jÕjjàjjäj‡”jÅxjÐxjÔx‡”j¡¨j¥¨j©¨‡”jõöjùöjýö‡”j‚Bj¨Bj¬B‡”jk jŽ j’ ‡”jî0j1j1‡”jqXjFîj|X‡”j˜Êj»Êj¿Ê‡”jZ jh jo ‡”jCj,Cj0C‡”jÉj:Éj>ɇ”j jj‡”j¬j8¬j<¬‡”jtSj,"j¹S‡”j|ðj¢ðj¦ð‡”jüŽjj‡”jà:j¾}jL;‡”jtJjJj‘J‡”jßtjñ[j u‡”j^jTjd‡”jŒÔj¯Ôj³Ô‡”j‰`j¢`j¦`‡”j7wj]wjaw‡”j§j §j§‡”j1µj<µj@µ‡”jÅsjÉsjÍs‡”jX"j\"j`"‡”j±Îj>jÿ·”jKcj]cjdc‡”j4òjMòjTò‡”jõ1jù1jý1‡”jšvj¬vj°v‡”j…j …jþ„‡”jÇj>ïjÒ‡”j({j,{j0{‡”jøjìEjWø‡”jº­j>ôjÅ­‡”j1 jC jG ‡”jƒ jœ j  ‡”j:°jE°jI°‡”j¦éjªéj®é‡”j»kjÖkjÚk‡”jAj¢íjA‡”jë$j %j%‡”jt¨j“¨j—¨‡”j=\j¬$j³\‡”jºvjÒvjÖv‡”j2ÓjDÓjKÓ‡”jUÄjsÄjwć”j÷6j7j7‡”jËXjãXjçX‡”jS}je}ji}‡”j1ŸjMŸjTŸ‡”j;¦jT¦jX¦‡”j§áj¹áj½á‡”jçj'çj+燔jëjïjó‡”j|_j¢_j¦_‡”jA¬jE¬jI¬‡”j‰j2‰j6‰‡”j6ñjNñjRñ‡”j¡¹j¥¹j©¹‡”jÆ™jÛ™j♇”jj3j7‡”jsj,sj0s‡”jEÐjPÐjTЇ”jW/j>èjb/‡”jYjrjy‡”j3jRjV‡”jü”j•j•‡”jËj˜ËjœË‡”jÖÓjäÓjëÓ‡”jÏLjÓLj×L‡”j?2jVíjJ2‡”j‚j‚j‚‡”jçKj LjL‡”j?%jY%jB%‡”jÀj=ÀjAÀ‡”j•‹j ‹j¤‹‡”jKjM€j}K‡”jð¸jô¸jø¸‡”jÉœjpj‡”j÷6j7j!7‡”j¯jjÒjjÖj‡”j0j0j0‡”jöjìj)ö‡”jj/j3‡”jã?j–íjî?‡”j8sj¨‡”jÉœjRj‡”jÎQjûQjÿQ‡”jStjWtj[t‡”jtIj’Ij–I‡”j.jQjU‡”j§çj«çj¯ç‡”j$®jž7jb®‡”jÙÇjÚjj;ȇ”jý j j ‡”jpjpj"p‡”jo—j—jˆ—‡”jŽj``jZއ”jl¢j¢j“¢‡”jPj8Pj?P‡”jŠ£jœ£j £‡”jOájSájWᇔj Šj%Šj)Ї”jiijtijxi‡”jê"jõ"jù"‡”j"’j-’j1’‡”jÜ"jê"jñ"‡”j:0jL0jP0‡”jÀQjËQjÏQ‡”jX„jŒ„j„‡”jžj°j·‡”jžíj©íj­í‡”jb©jt©jx©‡”jåšjéšj횇”jáujvjv‡”jÝ=jï=jö=‡”j¯Uj§Uj›U‡”jªòjÃòjÊò‡”jüj j ‡”jÉ`jî`jÌ`‡”jSHjlHjsH‡”j·œjМjÔœ‡”jµ®jÀ®jÄ®‡”jçj j‡”j8kjLjBL‡”jˆ¯j„¯jޝ‡”j©@j»@j¿@‡”jb‡j8Šjø‡‡”jk2jo2js2‡”jÑáj÷ájûᇔj_rjjrjnr‡”jDþjOþjSþ‡”jÁ¯jůjɯ‡”j¤ìjÊìjÎ쇔j;j ;j$;‡”jÃ&jß&jã&‡”jd+jh+jl+‡”jÂûjåûjéû‡”jâ†j0_j-‡‡”jÁjÅjɇ”jH°jL°jP°‡”j§’jÊ’jÎ’‡”j°ÇjÓÇj×LJ”j¼¸jÀ¸jĸ‡”jˆ j– j ‡”jwj{j‡”jt7jîñj7‡”jAÿjLÿjPÿ‡”j8©jC©jG©‡”jÚejÖejàe‡”jÏ™jÝ™j䙇”jNEjqEjuE‡”j­ûj±ûjµû‡”j]Øj†ØjŠØ‡”j%j"çj0‡”j–pj¹pj½p‡”j×6jö6jú6‡”jJjsjw‡”j­ÿj¿ÿjÆÿ‡”jÖj-Öj4Ö‡”jø‹jü‹jŒ‡”j3j7j;‡”júìjþìj퇔jv•jz•j~•‡”j|xj€xj„x‡”jvojzoj~o‡”j$®j¨7jh®‡”jvj)vj0v‡”j‘ j j— ‡”jñWjõWjùW‡”jï¢j£j £‡”j/œjHœjLœ‡”jðHjèHjÜH‡”j,Ûj>ÛjBÛ‡”jVújyúj}ú‡”jË£jÏ£jÓ£‡”jôïjøïjüjEjEjE‡”j…jâéj…‡”j)”j!”j”‡”j'Zj+Zj/Z‡”já»jR:j¼‡”jj¶ì•jš‡”jŠCj©Cj­C‡”jðjôjø‡”jÛjæjꇔjPFjBFj6F‡”jò?j@j @‡”jÔj3Ôj7Ô‡”jîj j ‡”jG2jR2jV2‡”jÉ'jÔ'jØ'‡”j:sjUsjYs‡”jpIj‚Ij‰I‡”jášj›j›‡”j\ÜjjÜjq܇”j¿oj·oj«o‡”jYjkjr‡”jüjôjÒ‡”j«½jÀ½jǽ‡”j8Âjö;jÀ‡”j”Xj³Xj·X‡”j’ðj¤ðj«ð‡”j³pjÑpjÕp‡”jô‚jø‚jü‚‡”jÛPjJjQ‡”jBäjMäjQ䇔j® jÈ j± ‡”jKjäj>K‡”jÎ|jÊ|jÔ|‡”jS¡jk¡jo¡‡”jϤjÓ¤jפ‡”j=+jH+jL+‡”jÊTjÎTjÒT‡”j LjLjL‡”jvzjŸzj£z‡”j©XjÒXjÖX‡”j¤Mj¯Mj³M‡”jÿjj‡”j~rj…[j±r‡”jS}je}ji}‡”j;+j?+jC+‡”j¾%jÂ%jÆ%‡”jËj¦Ëj­Ë‡”jË•jê•j”jCsjGsjKs‡”jujšujžu‡”j!íj,íj0퇔jùÎjÏjχ”jAžjdžjhž‡”j bjbj b‡”j(»jK»jO»‡”j>=ja=je=‡”jA™j`™jd™‡”jj´jD‡”jZxjsxjzx‡”jùjj‡”j9<j\<j`<‡”j ‡j(‡j/‡‡”jkgj…gjng‡”j÷-j.j .‡”jájújއ”jÔòjØòjÜò‡”jjjnjr‡”j`ájzájcᇔjœYjÅYjÉY‡”jo jˆ j ‡”j)ìj;ìj?쇔j_ÓjWÓjKÓ‡”j¬j¾j‡”jj3j7‡”jjj ‡”j£ j» j¿ ‡”jbèj…èj‰è‡”j€j…€j‰€‡”jÔj÷jû‡”jõdjñdjûd‡”j¸qjÛqjßq‡”j£j£j£‡”jÉfjÍfjÑf‡”jïSjÀj*T‡”j8ÎjJÎjQ·”j‰=j›=jŸ=‡”jæ¸jê¸j”j€Äj„ÄjˆÄ‡”jàj:àj>à‡”j9ÇjiÇj<LJ”j}ájˆájŒá‡”j¾j¶jŸ‡”j¡¹jǹj˹‡”j½ÌjÒÌjÖ̇”jãj‘ãj•㇔joNjNj…N‡”j j*j.‡”j jÃjLJ”jž›j¢›j¦›‡”jeÁjƒÁj‡Á‡”jAjgjk‡”jÄ^jÝ^jä^‡”jRNj]NjaN‡”j(Dj,Dj0D‡”jVxjnxjrx‡”j]j]j]‡”jKÓjOÓjSÓ‡”jé§jô§jø§‡”j5ŽjGŽjKއ”j…j‰j‡”jØujÔujÞu‡”jž j¢ j¦ ‡”jD¥j]¥ja¥‡”j.jj&jjj‡”jeqjwqj{q‡”j“j¤“j¨“‡”j&j*j.‡”jë>j ?j?‡”jØjðjô‡”jptj‚tj‰t‡”jñôjõjõ‡”j'[j+[j/[‡”j‘j­j±‡”j)j¢)j¦)‡”jƒFj‡Fj‹F‡”j rj(rj,r‡”jÿ¦jÊdj\§‡”jŽj`juއ”j¨j¬j°‡”j=,jV,j],‡”jÊj"Êj&ʇ”jkxj‘xj•x‡”jÇ0jÙ0jÝ0‡”jôYjìYjàY‡”j7ŠjBŠjFЇ”jÒ}jÖ}jÚ}‡”jr¯j‘¯j•¯‡”j>=jP=jW=‡”jd/jo/js/‡”jX1jj1jn1‡”jZJjhJjlJ‡”j^jbjf‡”jŽjì`j®Ž‡”jcj¹cj½c‡”jÓ“jÅ“j¹“‡”jij‘ij•i‡”j{£j™£j£‡”jHjfjj‡”j¼újßújãú‡”jÆ™jÚójÑ™‡”j­j#­j'­‡”jšej´„jèe‡”j®Ýj¹Ýj½Ý‡”jYjrjy‡”jüj=üjAü‡”jNj]UjCN‡”j'Zj2Zj6Z‡”j„:j£:j§:‡”j/RjRRjVR‡”jpjpjp‡”j+ˆjNˆjRˆ‡”jƒjƒj—ƒ‡”jíØjãØj󨇔j:j]ja‡”jòyjöyjúy‡”jvœj„œj‹œ‡”j•<j¯<j˜<‡”jj¡j¥‡”jdjhjl‡”jjŠjއ”jj/j3‡”j÷j j ‡”j¸?jÖ?jÚ?‡”jºJjÙJjÝJ‡”j2”jU”jY”‡”jÇjÙjà‡”jÌþjùþjýþ‡”jÅßjÐßjÔ߇”jL¢je¢jl¢‡”j9jOwj„‡”jb‡j=Šjû‡‡”j‚1j”1j›1‡”jj²j¶‡”j˜ƒjªƒj®ƒ‡”j¨!j¬!j°!‡”jöjîj⇔j|wj•wjœw‡”jôÑjÒjÒ‡”jÒÞjÖÞjÚÞ‡”jÄ$jÈ$jÌ$‡”j´j°´j´´‡”j­j4­j8­‡”j?wjbwjfw‡”jâqjrj r‡”jŒ©j¥©j¬©‡”j3#jR#jV#‡”jBj`jd‡”jWMjJUj‡M‡”jx`jŠ`jŽ`‡”jþjj‡”j—'j©'j­'‡”j6j-6j16‡”jCŒjfŒjjŒ‡”j“èjÒBjÀ臔jU8jx8j|8‡”jÉjptj‡”j‘'j•'j™'‡”jô7jø7jü7‡”jŒj!Œj%Œ‡”jߟjûŸjÿŸ‡”j“j—j›‡”jJjXj_‡”jƒXj‘Xj˜X‡”jð(j)j)‡”jŒjF0jzŒ‡”jDjYj`‡”j߉jê‰j”jͱjë±jﱇ”j€j3€j7€‡”jôjôjô‡”jäFjöFjúF‡”jægjâgjìg‡”jrvjvvjzv‡”j¿éjÑéjÕ釔jSìjWìj[쇔j6ŸjTŸjXŸ‡”j%$j3$j:$‡”j‚]jž]j¢]‡”j9j9j9‡”(jõbjcjc‡”j³j5³j9³‡”j|ÐjŽÐj’Ї”jj˜jœ‡”jI÷jT÷jX÷‡”jÿ¦jdjA§‡”je£jŠ£jh£‡”jê¬jõ¬jù¬‡”j« jÇ jË ‡”j¨ljËljÏl‡”j²j½jÁ‡”j3âj>âjB⇔jy jŠìj„ ‡”jdjŸdj£d‡”jú˜jþ˜j™‡”j~´jt´j„´‡”jSÞjqÞjuÞ‡”jM5j_5jf5‡”jPj[j_‡”j=\j2&j]‡”jOæjaæje懔jäyjïyjóy‡”jMDjQDjUD‡”jŸj<Ÿj@Ÿ‡”jUj§UjU‡”jÁujÅujÉu‡”j…µj‰µjµ‡”j`‚jd‚jh‚‡”jœ"j "j¤"‡”jjÍjS‡”jÙÇj%kjhȇ”j¨yjºyjÁy‡”j$Ej/Ej3E‡”j{ÓjwÓjÓ‡”ja/j]/jg/‡”jQ»jI»j=»‡”jþj-þj þ‡”jd+j {j—+‡”jlŠjpŠjtЇ”jJÑj_Ñjfч”jõõjöjö‡”j°òj»òj¿ò‡”j£j&£j-£‡”jkÖj€Öj‡Ö‡”jfnjnj†n‡”j™lj‘ljzl‡”jºjÈjχ”j`|jd|jh|‡”j‹›j›j“›‡”j,újOújSú‡”j¡ujÄujÈu‡”jmßjeßjY߇”j[[j_[jc[‡”j¢j¦jª‡”jî)j *j*‡”j"Åj&Åj*Ň”j9âj=âjA⇔j–gj¯gj¶g‡”jçj.çj2燔jhj+hj2h‡”jÞ¦jé¦jí¦‡”jýjj‡”j‘EjœEj E‡”j–-jš-jž-‡”j8ºjCºjGº‡”j•)jµ)j¹)‡”j/9j39j79‡”jžXj³XjºX‡”jЊjóŠj÷Ї”jDÆjOÆjSƇ”jqQj—Qj›Q‡”jˆäj äj¤ä‡”j:“jL“jP“‡”jWMjoMjsM‡”jê‚jõ‚jù‚‡”j¬vj·vj»v‡”jÚªjìªj𪇔j j3 j ‡”jÒ-j²Oj.‡”jj)j-‡”j'Jj@JjGJ‡”jë´jµj µ‡”jj¢j¦‡”jm6j‰6j6‡”j•j•j•‡”jj*j1‡”j¦ŠjÉŠjÍŠ‡”j¶jÁjŇ”jâ†j_j‡‡”js½j’½j–½‡”j0‡j;‡j?‡‡”j´j´j!´‡”jC|jG|jK|‡”j™>j«>j¯>‡”jeªjwªj{ª‡”jùCjDjD‡”j²3j®3j¸3‡”j#Mj?MjCM‡”j[!j²Mj™!‡”j!éj%éj)釔j=jHjL‡”jXrj\rj`r‡”j!Éj?ÉjCɇ”j2jUjY‡”j„8j8j“8‡”j' j9 j@ ‡”j‰¦j›¦jŸ¦‡”j=\j&j‚]‡”jÉkjÛkjßk‡”j6wj2wj®jV®jZ®‡”jÊRjÎRjÒR‡”j'¡j2¡j6¡‡”jŸjþžjòž‡”jôÌjøÌjü̇”j³„jÖ„jÚ„‡”j´PjÚPjÞP‡”j­j­j#­‡”jBîj^îjbj¸jÊjч”j´$jâjÐ$‡”j#j.j2‡”j9tjKtjOt‡”jÚj*Új.Ú‡”j³ŽjÅŽjÉŽ‡”j'[j<[j@[‡”jdjyj}‡”jCj/Cj3C‡”jŠPjŽPj’P‡”jèAj¶èjóA‡”j‹jƒjw‡”j¸j9¸j=¸‡”jqj²qj¶q‡”jb‡jºójm‡‡”jXj®ðjc‡”jNjÂj‡”j´ùjÆùjÍù‡”jÚ=jÞ=jâ=‡”jGj4Gj8G‡”jÝ.jï.jó.‡”j»kjójÉk‡”jß³jù³jⳇ”jY3jRèjd3‡”jemjzZjœm‡”jÓIj×IjÛI‡”j¶jÈj̇”j(«j:«j>«‡”j£—j§—j«—‡”jAjëKjŇ”jÉåjáåjå凔j$¤j@¤jD¤‡”j°j°j°‡”j§tj«tj¯t‡”jÎNjÒNjÖN‡”jFIj_IjfI‡”jgj¡gj¥g‡”jEdjWdj[d‡”jD^jO^jS^‡”jxgj†gjg‡”jäÁjýÁj‡”jÄ(jÈ(jÌ(‡”jŠïj•ïj™ï‡”jÐvjÔvjØv‡”j¿+jÃ+jÇ+‡”j!cj,cj0c‡”jyåj„åjˆå‡”jÿTj÷TjÕT‡”j5mjCmjGm‡”jë¯jý¯j°‡”jx$jÆçjƒ$‡”jË…jÙ…jÝ…‡”jÏLjèLjïL‡”jj=jA‡”jdjƒj‡‡”j„:j’:j–:‡”jO—jh—jo—‡”jfYj^YjGY‡”jûbjcjc‡”jW$j[$j_$‡”jàÔjäÔjèÔ‡”jN‚jg‚jk‚‡”jvljzlj~l‡”j×jâj懔jŒpjžpj¥p‡”jŒj_0j‰Œ‡”jïcjdjd‡”j<µjZµj^µ‡”j„^j–^jš^‡”j¶ÛjÙÛjÝÛ‡”j=ojVoj]o‡”jR(jV(jZ(‡”jrjrj$r‡”j¤Qj½QjÄQ‡”jÞ5jé5jí5‡”j­µj¸µj¼µ‡”jd…j\…jP…‡”jû®jÿ®j¯‡”jN`jg`jn`‡”jnj5nj9n‡”júŠj ‹j$‹‡”j7ÔjUÔjYÔ‡”j¤j8¤j?¤‡”júâjþâj㇔j¦wjÅwjÉw‡”jfkjqkjuk‡”jäØjèØjìØ‡”j=j.=j2=‡”jðÂjÃjÇ”júUjòUjÛU‡”ju†jy†j}†‡”j|j|j|‡”j½ÌjÙÌjà̇”jǤjÙ¤jइ”jÊÉjÕÉjÙɇ”j)j‘)j•)‡”j~ßj‚ßj†ß‡”j~yj¡yj¥y‡”jëùjúj#ú‡”jt¤jx¤j|¤‡”jD•jH•jL•‡”j.ÄjQÄjUć”j½ÊjÖÊjÝʇ”jÉåjÍåjÑ凔j´$j íj¿$‡”j®j¾®jÈ®‡”j=]jþWjs]‡”jÉj×jÞ‡”j¢©j¦©jª©‡”j=\jÝ%jj]‡”j‘j£jª‡”j¶{jÔ{jØ{‡”j¢†j·†j¾†‡”j˜j1˜j5˜‡”jâqjíqjñq‡”j;GjIGjMG‡”j¢j1¢j5¢‡”jYjujy‡”j×êjÛêjßꇔjÝBjáBjåB‡”j€çjÜoj°ç‡”jl1jz1j~1‡”jÁùjÚùjáù‡”jDjqju‡”jãjçj뇔jV«j|«j€«‡”jÜ…jà…jä…‡”jàjàj#à‡”jE j^ je ‡”jßjãj燔jV«jd«jk«‡”jV_ja_je_‡”jÏmjÚmjÞm‡”j‡j™j‡”jzjŒj‡”jájój÷‡”jû/jÿ/j0‡”jÖxjïxjöx‡”j` jr jv ‡”jï?j@j@‡”jÅj½j±‡”j=\j)%jþ\‡”j3jEjL‡”j!j3!j:!‡”jÙ·jÿ·j¸‡”j¢×jÁ×jÅׇ”j sj«sj¯s‡”j½ÌjI,jñ̇”jïSjÊj0T‡”j¼újÎújÒú‡”j‡ j‹ j ‡”jÞjøjᇔjxj|j€‡”jm÷jx÷j|÷‡”jÿjj‡”jUj7Uj;U‡”j„xjxj“x‡”j«j¯«j³«‡”ju‚j•‚j™‚‡”j%“j>“jE“‡”j0jbj60‡”jÊ0jí0jñ0‡”jj1j5‡”jC´jG´jK´‡”jó/j÷/jû/‡”j³®j¾®j®‡”j]Øjqmj؇”j3 jS jW ‡”j†:jŠ:jŽ:‡”jàÒjòÒjùÒ‡”jsjwj{‡”jê‚jƒjƒ‡”jñj”ñj˜ñ‡”jGÉjRÉjVɇ”jjj‡”jENjPNjTN‡”jçRj)Vj!S‡”jôejøejüe‡”j"*jŽñj-*‡”jSj3Sj:S‡”j%$j)$j-$‡”j‡ŽjªŽj®Ž‡”jËjËj ˇ”jÿ¦jzdj,§‡”jïjój÷‡”juIj€Ij„I‡”j‡Žj‹Žjއ”jåj>åjB凔jÄ·jã·jç·‡”jœßj´ßj¸ß‡”j“jš“j¡“‡”jgpjƒpj‡p‡”j=ÓjWÓj@Ó‡”j»3jÍ3jÑ3‡”jWýj[ýj_ý‡”jôþjøþjüþ‡”jÒŽjõŽjùއ”jÿj j‡”j¹jÜjà‡”jÞjújþ‡”jÿ~jj‡”j–4jš4jž4‡”jü”j"•j&•‡”j)ÎjBÎjI·”jߟj j ‡”jBjPjT‡”j]ŠjYŠjcЇ”j[†jS†jG†‡”jí¥j¦j ¦‡”jÖôjÚôjÞô‡”j°j`8j†°‡”jfnjxnj|n‡”jë>j?j?‡”jÁ.jÅ.jÉ.‡”j…ÇjžÇj¥Ç‡”jŠjeMj¾‡”jø&jü&j'‡”júéjþéjꇔj”’j˜’jœ’‡”j«j «j«‡”jTyjwyj{y‡”jc³j³j…³‡”jôjBïjÿ‡”j=EjAEjEE‡”jï j!j !‡”j¸¯jì¯j𯇔j¨yj¬yj°y‡”jÎjÒjÖ‡”jfUj‚Uj†U‡”jÉ©jÔ©jØ©‡”jn<j‡<jŽ<‡”jšj³jº‡”jÝjáj凔jצjÛ¦jߦ‡”j‰®j”®j˜®‡”j)j4j8‡”jßijñijõi‡”j—ojºoj¾o‡”j,ajJajNa‡”jØjÜjà‡”j{ÓjsÓjgÓ‡”júljmjm‡”j·øjÃ"jëø‡”jÂtjÔtjÛt‡”j,Kj0Kj4K‡”j`{jïjk{‡”j#×jI×jMׇ”jmZj‡ZjpZ‡”j–¢jš¢jž¢‡”jìj j‡”j Új&Új*Ú‡”jV‰ja‰je‰‡”j8Âjœ;jŠÂ‡”j$ïj6ïj:j+„j@„jG„‡”jš)j¬)j°)‡”j#æj'æj+懔jB\jF\jJ\‡”jE6jI6jM6‡”jjüj‡”jáujùujýu‡”jÇ jÙ jÝ ‡”jÖTjïTjöT‡”j¾DjÚDjÞD‡”j;j';j.;‡”jžj3žj7ž‡”jÃÉjÜÉjãɇ”jybj}bjb‡”jW/jv/jz/‡”j ÕjÕjÕ‡”jujj‘‡”jüÓjÔjÔ‡”j8©j<©j@©‡”j.Äj9Äj=ć”j j j'‡”j.jGjN‡”jŸ°j·°j»°‡”jæújôújøú‡”j÷SjïSjØS‡”j®Ãj²Ãj¶Ã‡”jõbjcjc‡”jè/jì/jð/‡”jŒ.j.j”.‡”jrj‘j•‡”jÝ®jè®j쮇”jÕ"jã"jç"‡”jºØjãØjçØ‡”jcjnjr‡”jqCjCj‘C‡”j.ÄjJÄjNć”j§ÎjÊÎjη”jSjaje‡”j~rjŠ[j´r‡”jêZjîZjòZ‡”j…jžj¢‡”jÌjÄj¸‡”jbj{j‚‡”jëïjãïj×jEj,Ej0E‡”jÊôjÕôjÙô‡”jЊjéŠjðŠ‡”j%XjHXjLX‡”j^òjòj…ò‡”jdj‡j‹‡”j޳j ³j¤³‡”jo)jŽ)j’)‡”j-“j8“j<“‡”jYÔjUÔj_Ô‡”jÉ@jÞ@jâ@‡”jùmjnj n‡”jLjPjT‡”jNTjjTjnT‡”ji€j{€j‚€‡”jùwjýwjx‡”j,Ïj7Ïj;χ”jDŸjHŸjLŸ‡”jûƒj„j„‡”j{Zj Zj~Z‡”j`jJ`jN`‡”jÈHjÄHjÎH‡”jÈ×j¢?jîׇ”jâjíjñ‡”jLWjhWjlW‡”jeŸjsŸjzŸ‡”jÏVjËVjÕV‡”juTjTjxT‡”jÄjÈj̇”j¬zj¾zjÅz‡”jÄ«jÖ«jÚ«‡”jÔCjíCjôC‡”jø`jaja‡”jí jø jü ‡”jà©jÿ©jª‡”j¸?jÒ?j»?‡”jÎjàj䇔jÊŒjÎŒjÒŒ‡”jÉœjêójÔœ‡”jMãjQãjU㇔j‹‰j‰j“‰‡”jðójîëjûó‡”jbÔjtÔjxÔ‡”jÈyjÚyjÞy‡”j–j›–jŸ–‡”jÍZjÑZjÕZ‡”jªjªjª‡”jŒèjžèj¢è‡”j¶©jÈ©jÌ©‡”jÔÏj÷Ïjûχ”jÁojÌojÐo‡”j!j!j!‡”jÙ‘jî‘jõ‘‡”jè‹jä‹j”jÍ—jÑ—jÕ—‡”jŸjrïj(Ÿ‡”j #j#j#‡”jÑájéájíᇔjëäjåj凔jzìjŒìj쇔j§Hj¹HjÀH‡”jµájÑájÕᇔj1Ÿjjêj<Ÿ‡”j0‡jB‡jF‡‡”jº7jfíjÅ7‡”j^!jb!jf!‡”jæRjSj S‡”jÕ7jç7jë7‡”jÁ¥jÅ¥jÉ¥‡”j±£jÑ£jÕ£‡”jÖjj‡”j{¥jž¥j¢¥‡”jj‘j•‡”jP×j[×j_ׇ”j2Üj6Üj:܇”jvÉj™Éjɇ”j¨Šj¬Šj°Š‡”j¡£j¬£j°£‡”j|cj€cj„c‡”j§Îj²Îj¶Î‡”jbij|ijei‡”j¨Šjà_j芇”jãojñojõo‡”jqÙj\njÚ‡”j$®j£7je®‡”jÁojÅojÉo‡”jcsj‚sj†s‡”j—oj›ojŸo‡”jhkjkjˆk‡”jfj;fj?f‡”jT±j_±jc±‡”j'$jA$j*$‡”j•‚j™‚j‚‡”jSjTj‡‡”j®øj¦øj𸇔j,rj$rjr‡”j³.jÑ.jÕ.‡”j¸j°¸j´¸‡”jY3jKj¡3‡”j…j—jž‡”jùj-ùj1ù‡”j0xjNój;x‡”j¡uj¥uj©u‡”jÆ;jÊ;jÎ;‡”jÇjËjχ”jïSjÏj3T‡”j~>j¡>j¥>‡”jK$jôyj‡$‡”jæîjøîjÿjyåj‹åj凔jIßj[ßjb߇”jÉ'jÍ'jÑ'‡”jËXjÏXjÓX‡”j² jË jÒ ‡”jj&j*‡”j‚3j†3jŠ3‡”jeøjwøj~ø‡”jîj/qjŽî‡”jjj‡”jNïjqïjujNïjYïj]jÂj΂jÒ‚‡”j¥mjÈmjÌm‡”j÷j5xj$‡”j;j^jb‡”j‘jºj¾‡”jñXjõXjùX‡”jO>ja>je>‡”jö}jú}jþ}‡”jýSjïSjãS‡”jjj‡”jÚrjårjér‡”järjïrjór‡”j›j“jq‡”jÆ3jä3jè3‡”jŸIj±IjµI‡”j™½j±½jµ½‡”jWÂjeÂji‡”jÍjÍj ͇”j[ jt j{ ‡”j1j<j@‡”j›j›j›‡”jÚ jÞ jâ ‡”j˜tjœtj t‡”j’}j–}jš}‡”jYÍjdÍjh͇”jrjKjŸ‡”jxüj|üj€ü‡”jÚrjìrjór‡”jŽj9Žj=އ”jg?jŠ?jŽ?‡”j"4j44j;4‡”j|ôjŠôj‘ô‡”j¬0jÆ0j¯0‡”j·jÉj͇”jÅÚjÉÚjÍÚ‡”j@~jc~jg~‡”j¨yj³yj·y‡”jL€jP€jT€‡”jªj ªjª‡”j=pjApjEp‡”j67jA7jE7‡”j¡¹j¶¹j½¹‡”jîjžjž‡”jê­jü­j®‡”jŒljµlj¹l‡”jCtj[tjbt‡”j€çjáoj³ç‡”jº_jÌ_jÐ_‡”j`PjdPjhP‡”jôïjðjð‡”jj j| j€ ‡”jêšjüšj›‡”jê"jî"jò"‡”j©j'©j.©‡”j¾AjÐAjÔA‡”j jj!‡”jù—j˜j˜‡”jÕJjÙJjÝJ‡”jùŒjj ‡”jc`jq`jx`‡”jè„jì„jð„‡”jP"jT"jX"‡”ji[jˆ[jŒ[‡”j=+jV+jZ+‡”jŽ“j’“j–“‡”j=)jA)jE)‡”jŽzj§zj®z‡”j “jÅ“j£“‡”jQ jp jt ‡”jc<ju<jy<‡”jW4j[4j_4‡”jðßj àjó߇”j¹‰jĉjȉ‡”j•+j¸+j¼+‡”j:gjLgjSg‡”j)j-j1‡”j0‡j4‡j8‡‡”jÑíjÜíjà퇔jZ‘je‘ji‘‡”jcjqju‡”j3šjYšj]š‡”jÈ?já?jè?‡”j?j…?j‰?‡”j+j+j+‡”jUj)Uj-U‡”j…jjjj”j‡”j©@j­@j±@‡”jªýjÕFjÞý‡”jìéj êjꇔjå¯jÿ¯j诇”j‰Bj¢Bj©B‡”j8Ùj<Ùj@Ù‡”jFvj`vjIv‡”jD^j]^ja^‡”j ‘j‘j"‘‡”jÁjÅjɇ”j¿4jÞ4jâ4‡”jm:j:jp:‡”jo>js>jw>‡”jãej†îjîe‡”jŒjžj¥‡”j¢j­j±‡”jjÒjV‡”j‘Aj•Aj™A‡”jI{j‡j€{‡”ja„jl„jp„‡”j»AjáAjåA‡”jŽ›j ›j¤›‡”jX›j>êjc›‡”jœfj®fj²f‡”jæÓjÿÓjÔ‡”jíÉjÊjʇ”jó%j÷%jû%‡”j[jwj{‡”jÜjàj䇔j¢ jž j¨ ‡”jVâjrâjv⇔j(j6j=‡”jsj~j‚‡”jæîjïjj>ªj.ôjIª‡”jj>jB‡”jà:j }j:;‡”jÆ™jòŒjš‡”jy jœ j  ‡”ja.js.jw.‡”j;!jT!jX!‡”jÄjÝj䇔j|jxj‚‡”j¶ÔjÏÔjÖÔ‡”jÖjïjö‡”jï?j@j@‡”j j6 j: ‡”j!ýj%ýj)ý‡”ju¼jy¼j}¼‡”júŠj‹j‹‡”jÞÜjðÜjô܇”j’•j•j¡•‡”jÂajÛajßa‡”jPjPjP‡”jSHjvHjzH‡”jâjíjñ‡”jqÙj¨mj§Ù‡”jô0jÿ0j1‡”j8ïjCïjGj j«j¯‡”jj)j-‡”jµ!jÃ!jÊ!‡”jÑ®jÕ®jÙ®‡”jL@jB@jR@‡”jî…jžójù…‡”j©©jÅ©jÉ©‡”jã'jç'jë'‡”jñâjéâjÝ⇔j¸*j¼*jÀ*‡”jþƒj„j!„‡”j¢ôj¦ôjªô‡”j?wj[wj_w‡”j¸³jójdz‡”j„‡j–‡jš‡‡”jÆ™jÔ™jØ™‡”jµjØj܇”jÀgjãgjçg‡”j•Bj Bj¤B‡”jÅj"Åj&Ň”jC÷jU÷j\÷‡”jôjæðjÿ‡”jó%j÷%jû%‡”jñ]j^j ^‡”jèmjìmjðm‡”jjj"‡”j)Îj-Îj1·”jJ jN jR ‡”ja%j]%jg%‡”jÂj¼ÂjÀ‡”jî^j_j_‡”jÆ­jÊ­jέ‡”j[BjˆBjŒB‡”j÷9j+:j/:‡”j$Žj@ŽjDއ”jÞ!jâ!jæ!‡”j·ZjÅZjÌZ‡”jxjƒj‡‡”j7jŒ7j7‡”jÓ jË j¿ ‡”jp¡j“¡j—¡‡”jcj‰j‡”j<'j.'j"'‡”j…|j¡|j¥|‡”joNj’Nj–N‡”j›jºj¾‡”jùCjDjD‡”j²€jª€jž€‡”j^j^j^‡”jž j· j¾ ‡”jI„jb„jf„‡”jn5jy5j}5‡”jŸjªj®‡”j yj¤yj¨y‡”j€j€j"€‡”j Ìj$Ìj+̇”jëäjåj凔j”îj°îj´î‡”j1j5j9‡”jà“jë“j”jæSjêSjîS‡”jƒXj¢Xj¦X‡”jŽÜj¬Üj°Ü‡”jSj^jb‡”jõ™j4bj6š‡”jÐðjñjÓð‡”jh\jjŽ\‡”jÆ­jì­j𭇔jQj=QjAQ‡”jT£jX£j\£‡”j†ƒj¦ƒjªƒ‡”jObjrbjvb‡”j§j§j§‡”jðIj JjóI‡”jqj¡qj¥q‡”jçŒjòŒjöŒ‡”jçRj$VjS‡”jŒjˆj’‡”jajljp‡”jú,jFíj-‡”jŸÏj£Ïj§Ï‡”jH¯ja¯jh¯‡”jxj)xj-x‡”j+j+j+‡”jijiji‡”jøj@øjDø‡”jdqj}qj„q‡”jÖjß–jã–‡”jò4jö4jú4‡”j$Rj‡”ji!j–çjt!‡”j¤°j¨°j¬°‡”jšõj¨õj¬õ‡”j ®j®j!®‡”jj%jƒ%jŠ%‡”jÂ<jÍ<jÑ<‡”jÞMj÷MjþM‡”j¸–j¼–jÀ–‡”jrcjŒcjuc‡”j‹³j°³j޳‡”jÑpj.†jq‡”jÏtjòtjöt‡”jð©jªjª‡”jðjj ‡”jŒFj—Fj›F‡”jbÔj…Ôj‰Ô‡”j)j6)j:)‡”j\ÝjxÝj|݇”jbj~j…‡”jþÄjÅjŇ”joåjeåju凔j€ëj‹ëj뇔jg?jk?jo?‡”jA²j9²j-²‡”j‘vjvj—v‡”j ÝjÝj$݇”jÆ'jÊ'jÎ'‡”j4(jN(j7(‡”j¤j¡¤j¥¤‡”j/mj3mj7m‡”jÙÇj˜kj­È‡”j¼~jß~jã~‡”jØjÕ˜jÙ˜‡”jHéjaéjh釔j|;j˜;jœ;‡”j"j&j*‡”j·jÐjׇ”j ½j½j½‡”jÎ0jÆ0jº0‡”júîjþîjh€h„hˆ‡”j |j|j|‡”j˜jœj ‡”jÅj,Åj3Ň”jZâjtâj]⇔j]"jh"jl"‡”j?šjXšj_š‡”j7j;j?‡”j}jj…‡”j0jÿ/jó/‡”j¨…jÄ…jË…‡”jmhjxhj|h‡”jà:jU}j ;‡”jrjÎìj}‡”j;½jM½jQ½‡”jâÁjæÁjêÁ‡”j«~j§~j±~‡”jaŸjlŸjpŸ‡”jj j$‡”júj†ðjú‡”jÀ8jË8jÏ8‡”j›Œj¹Œj½Œ‡”jpj6pj:p‡”j$ j9 j@ ‡”jç<j=j =‡”j´jù³jí³‡”jÉjõIjÿ‡”jN‚jR‚jV‚‡”jR»jV»jZ»‡”jtj‘tj•t‡”jzìj˜ìjœì‡”j¢jB¢jF¢‡”jÉ@jujA‡”j¯j ¯j¯‡”j_BjqBjuB‡”j"‰j&‰j*‰‡”jˆwj„wjŽw‡”jGjeji‡”j›j&›j-›‡”jÓZjìZjóZ‡”jÕ"jf jñ"‡”jctjutj|t‡”j‚jœj…‡”jþCj Dj D‡”j³&j·&j»&‡”j=\jK&j¬]‡”je2j„2jˆ2‡”jЩjê©jÓ©‡”jQ8j_8jf8‡”j ™j<™j@™‡”jR0jJ0j>0‡”j!j!j!‡”jÒjõjù‡”j)jBjI‡”j©9j‚èj´9‡”jL§jW§j[§‡”j`sjysj€s‡”j ±j±j±‡”j´Tj|VjñT‡”jEêjIêjMꇔj©©j»©j©‡”j¥zj·zj»z‡”jj*j.‡”jqÙjÙj”Ù‡”j=OjOOjVO‡”j_Pj{PjP‡”jApj_pjcp‡”j’Êj°Êj´Ê‡”jžjžjú‡”jþˆj!‰j%‰‡”jÚ„jø„jü„‡”jÇ>jÃ>jÍ>‡”jÞpjâpjæp‡”j j j" ‡”j¬âjÊâjÎ⇔j Šj0Šj4Ї”j¡ªjĪjȪ‡”jMnj_njcn‡”j0‘j;‘j?‘‡”jÆjÊj·”jCjLSjVC‡”jdzjê³j”jVljaljel‡”jñ×j Øj؇”jajaj a‡”j˜5jœ5j 5‡”já<jå<jé<‡”jpUjtUjxU‡”jNTjYTj]T‡”jvWjzWj~W‡”j¼kjÇkjËk‡”j4çjLçjP燔j<†j@†jD†‡”jsjojy‡”j¿¬jìjǬ‡”jœ•j†•j¢•‡”j,sjOsjSs‡”jjj‡”j¼•jΕjÒ•‡”jãj j‡”jÚÃjìÃjðÇ”jj#j'‡”j¼ÓjÎÓjÒÓ‡”jžœj¢œj¦œ‡”jjdj“dj—d‡”j:±j_±j=±‡”j mjmjm‡”já{jý{j|‡”j¾%j×%jÞ%‡”jg™jƒ™jŠ™‡”jíjíj 퇔jtSjRéjS‡”jõ j!j!‡”jb¦j{¦j¦‡”j¢Yj´Yj»Y‡”jÈj'Èj+ȇ”jI{jo{js{‡”jpQjtQjxQ‡”jÛ±jß±j㱇”jxKj†KjK‡”j|âjtâjh⇔jbGjÝj§G‡”jYj]ja‡”j<£jU£jY£‡”(j\qjqjƒq‡”j¶[jË[jÒ[‡”jŸj±jµ‡”j‘*j£*j§*‡”jK jV jZ ‡”j}j$}j(}‡”jïdjçdjÛd‡”jýjïj㇔jN‚j`‚jd‚‡”j9(jD(jH(‡”j¯j³j·‡”j¥mj©mj­m‡”j­µjƵj͵‡”jŽDj´Dj¸D‡”j7ŠjZŠj^Ї”j±6j¿6jÆ6‡”j ’j¼’jÀ’‡”ji—j‚—j‰—‡”jÉÔjÍÔjÑÔ‡”jô7j8j 8‡”jk®jo®js®‡”jrLjvLjzL‡”jijajU‡”jT£jf£jm£‡”jY’jû‹j¡’‡”jŒ©j—©j›©‡”j¬j°j´‡”jè%jú%j&‡”jž?jÁ?jÅ?‡”j²·j½·jÁ·‡”j&jÞçj&‡”jSjrjv‡”jzj˜jœ‡”jÝnjÂZj o‡”je5ja5jk5‡”j¤ìjµCjë쇔jߟjñŸjøŸ‡”jÓ{já{jå{‡”j÷-j.j!.‡”jGj-Gj1G‡”jÓZjåZjéZ‡”j7 j3 j= ‡”j®`j²`j¶`‡”j- jvjm ‡”j Mj"Mj)M‡”jmÛjqÛjuÛ‡”jÝjÙj㇔jƒœj‡œj‹œ‡”j]hjYhjch‡”jäyjzj z‡”jà#j$j $‡”j1ŸjFŸjJŸ‡”jbäjzäj~䇔jçàj ájᇔjj'j+‡”jmäjqäju䇔jŽÒj Òj§Ò‡”jJjëGj}‡”j¥j7¥j;¥‡”j·øjÝøjáø‡”júlj mjm‡”jÕajçajîa‡”j{JjJj—J‡”j=Êj9ÊjCʇ”jªëj®ëj²ë‡”jÎj1Îj5·”jAjdKjt‡”j<[jN[jR[‡”j°jÅj̇”j"„j&„j*„‡”jçjòjö‡”j¸/jÛ/jß/‡”jé§j¨j¨‡”jÛPjRòjæP‡”jãLjîLjòL‡”j¦dj±djµd‡”j!TjTj'T‡”jAcjLcjPc‡”jƒÝjÝj†Ý‡”jøjžjž‡”j>®jd®jh®‡”j 7j7j7‡”jðÂjôÂjøÂ‡”jU:js:jw:‡”jIÀjyÀj}À‡”j—‹j“‹j‹‡”jQJjtJjxJ‡”j*OjMOjQO‡”j.ójJójNó‡”jÿj¾ðj ‡”jù¥j¦j¦‡”jÑpjßpjæp‡”jx$j—$j›$‡”j³_jØ_j¶_‡”jjjü‡”jo>j‡>j‹>‡”jUrjMrjAr‡”j»ˆjÔˆjÛˆ‡”j¦ÐjÉÐjÍЇ”j—ùj›ùjŸù‡”jë«j¬j¬‡”jöjbEjYö‡”jÑpjðpjôp‡”j j„-jB‡”j˜Éj¶ÉjºÉ‡”jgµjеj޵‡”j.j$j4‡”j#j'j+‡”j ®j$®j+®‡”jgojrojvo‡”jéÔjÕjÕ‡”j¸xjÛxjßx‡”jѱjé±jí±‡”j]j(]j,]‡”jË…jÏ…jÓ…‡”j§áj«áj¯á‡”jåcjécjíc‡”j‡­j­js­‡”j+jDjK‡”jj¨j¬‡”jÅ›jä›j蛇”jïgjhjh‡”júXjYjY‡”jŸjébjJŸ‡”j¸ŸjßjÇŸ‡”j£jµj¼‡”j…j>…jB…‡”j[j)[j0[‡”j»ˆjƈjʈ‡”j!cj:cj>c‡”j3jjEjjLj‡”jÅjÐjÔ‡”j3VjVéj>V‡”jîjRqj£î‡”jx(j†(j(‡”jtžj†žjŠž‡”jemjsmjwm‡”jÕjÍjÁ‡”jLíjhíjl퇔jh¸j¸jˆ¸‡”jXj\j`‡”jG jR jV ‡”jz0jŒ0j0‡”jë+jö+jú+‡”j©@j­@j±@‡”j´jbxj퇔jËÈjäÈjëȇ”jž$j¶$jº$‡”jyæj}æj懔jDjtjG‡”jàÙjÚjÚ‡”j"„j4„j8„‡”jÕ jÙ jÝ ‡”jtSj"j­S‡”jƒj¦jª‡”j8ñj<ñj@ñ‡”j•þjžðj þ‡”jyªj„ªjˆª‡”j­~j¸~j¼~‡”jæRjûRjS‡”jUHjxHj|H‡”j!uj6ój,u‡”jt'jx'j|'‡”j±Îjà=jç·”jj j$‡”jé|jí|jñ|‡”jh•j‹•j•‡”j`j&`j*`‡”jj#j'‡”jÁjÌjЇ”jûj jþ‡”jmajqajua‡”jÅ¡jä¡j衇”jRYjVYjZY‡”jÉ¢jôjÔ¢‡”j©j1©j5©‡”jŽjŽj"އ”jÄjÏjÓ‡”jónjojo‡”jê²jî²jò²‡”jIÔjTÔjXÔ‡”j×jújþ‡”jàjþj‡”j´TjÓTj×T‡”j Mj,Mj0M‡”jõj˜õjŸõ‡”jö¤j¥j¥‡”j:“jS“jZ“‡”jü…jîj†‡”jŒŒj„ŒjxŒ‡”j‹áj–ájšá‡”jc@ju@jy@‡”júXjþXjY‡”jÙjõjù‡”j·j%·j)·‡”j»šj¿šjÚ‡”j·njànjän‡”j jùj퇔j\”jg”jk”‡”jvzjzzj~z‡”jÝ'jù'j(‡”jõWjùWjýW‡”jÝŸjïŸjöŸ‡”jüÓjÔjÔ‡”jt¤j¤j‘¤‡”jy j‡ j‹ ‡”j½j½j ½‡”j~ÌjÌj¡Ì‡”j¨Šj¶ŠjºŠ‡”jѹjã¹j繇”jjôj臔jâ†j_j‡‡”jZ!jP!j`!‡”j»jÕj¾‡”j?—jX—j_—‡”jj7j;‡”jiÔjmÔjqÔ‡”jsíjíjv퇔jj0j4‡”jƒj ƒj$ƒ‡”järjsj s‡”j©Åj­Åj±Å‡”jª:j®:j²:‡”jjj$‡”jçjj‡”jÎKjûKjÿK‡”jÏ}jí}jñ}‡”j&jBjF‡”j7 j/ j# ‡”j•2j™2j2‡”j)ìjBìjI쇔j¥jjËjjÏj‡”jŠj4Šj8Ї”jšj½jÁ‡”j7EjQEj:E‡”jÌLjáLjèL‡”j@j¢@j¦@‡”hEhahh‡”jýãj äj$䇔jýYj Zj$Z‡”j›\j¾\jÂ\‡”j_zjqzjuz‡”j3#j+#j#‡”jÿ~jj"‡”jf;j…;j‰;‡”jU8jq8ju8‡”jƒj•j™‡”jÖ jî jò ‡”já"jÓ"jÇ"‡”j  j  j ‡”j¸ j¼ jÀ ‡”jÍj*Íj.͇”jv"j„"j‹"‡”jÊ*jÎ*jÒ*‡”jˆjzjc‡”jˆ j« j¯ ‡”j­ j± jµ ‡”jŸIj±IjµI‡”jè§jó§j÷§‡”jÖjŠÖjŽÖ‡”j;¨jF¨jJ¨‡”j6˜jA˜jE˜‡”jïjýj‡”jØjØj؇”j"jj(‡”jÔj;Ôj?Ô‡”jY3j3jƒ3‡”jR-jx-j|-‡”j•jÐjA•‡”j$ŽjGŽjKއ”j+ˆjÖjDˆ‡”jÃj6Ãj:Ç”jiÔj{ÔjÔ‡”jmÊj‹Êjʇ”jË1jî1jò1‡”jvlj•lj™l‡”jï±jë±jõ±‡”jã?j@j@‡”j£Qj§Qj«Q‡”j rj(rj,r‡”jÖ jÚ jÞ ‡”jUj&Uj-U‡”j2”j=”jA”‡”j,j>jE‡”j mj²mj¹m‡”jÂûjÛûjâû‡”j¿éjÊéjÎ釔jWCj„CjˆC‡”j/»jM»jQ»‡”j5jXj\‡”jjéjféjp釔j°ÕjÏÕjÓÕ‡”jAcjZcj^c‡”jTjTjT‡”jµój¹ój½ó‡”jo>jˆ>j>‡”j]ÇjaÇjeLJ”j†§jЧjާ‡”jXjmjt‡”jðíjîjj=\jƒ%j4]‡”j1¯j<¯j@¯‡”jFejXej\e‡”j"jEjI‡”jé|jû|jÿ|‡”jEj3Ej7E‡”jóÏjÐj Ї”j™djdj¡d‡”j›¤j·¤j¾¤‡”jŠsj¦sjªs‡”j8ljQljXl‡”júîjïjjŽjt`jfއ”jj(j,‡”je2ji2jm2‡”jEmjImjMm‡”jÀ<jÒ<jÙ<‡”jÖ#já#jå#‡”jÑÖjÕÖjÙÖ‡”jÖjÕ–jÜ–‡”jz€j…€j‰€‡”jtj)tj-t‡”jžKj³KjºK‡”jÑjæ‘jꑇ”jê<jî<jò<‡”jRjRj¤R‡”jäFjèFjìF‡”jêZj[j[‡”jõjj‡”jÊ0jÜ0jà0‡”jÁjàj䇔jß/j0j0‡”jø±j²j²‡”jDQjHQjLQ‡”j“ºj¨ºj¬º‡”jH8j@8j48‡”jvljQ…j±l‡”j–ŠjšŠjžŠ‡”jÒ-j·Oj.‡”jó,jþ,j-‡”j¬#j°#j´#‡”jOkjúòjZk‡”jÙÇjøÇjüLJ”jLíjoíjs퇔jL0j^0jb0‡”jÑájÕájÙᇔj©1jÇ1jË1‡”j ‡jó.jG‡‡”j™–j¼–jÀ–‡”jºØjÅØjÉØ‡”jþvjwjw‡”juVjmVjaV‡”jT±jw±j{±‡”j‘pj•pj™p‡”jÄujÈujÌu‡”jJ‡jU‡jY‡‡”j¼újÕújÜú‡”jÿ¦jÀdjV§‡”jXQjcQjgQ‡”jëjÕ«jÙ«‡”jÕ"jÙ"jÝ"‡”jÚj8Új?Ú‡”j'Lj9Lj=L‡”jVÛjv@j†Û‡”j£ j§ j« ‡”jnj³nj·n‡”jÿÕjÖjÖ‡”jÐîjóîj÷j6¨jA¨jE¨‡”jµ®j¹®j½®‡”jµjÃjLJ”jM‹jp‹jt‹‡”jK¼jn¼jr¼‡”jÉ—j»—j¯—‡”j[jmjq‡”jŽj™j‡”jXjpjt‡”j]Øjvmj؇”j)jA)jE)‡”jØjÜjà‡”j±•jÕjÊ•‡”j§2j¹2j½2‡”jVújZúj^ú‡”jøj“øj—ø‡”j"j'"j+"‡”jÏbjòbjöb‡”jYijqijui‡”jÛsjßsjãs‡”jçKjÞíjòK‡”jÃjÃjÇ”jHDj`DjdD‡”j°!j´!j¸!‡”jéj0éj4釔j»fjÕfj¾f‡”jNj•j‚‡”jŠj/jLЇ”jꇔjcjÂðjn‡”jbhjZhjNh‡”jÉjáj凔j’†j*ïj †‡”jàvjøvjüv‡”j#ajj‰>j>‡”j«j¡j±‡”j§jµj¼‡”j"Vj;VjBV‡”jÇjÙjà‡”jI{jjójT{‡”j?_jo_jB_‡”j%æj7æj;懔j[jmjt‡”jÅ\jÞ\jå\‡”jÓïjÏïjÙjÑ’jê’jñ’‡”jxüj”üj˜ü‡”j#j'j+‡”jà jÇ jË ‡”jùŒjj‡”j´jvxjù‡”j Tj²Tj¹T‡”jN´jR´jV´‡”j™j"™j&™‡”jÿ¦jŽdj8§‡”jë´jý´jµ‡”jžWj¢Wj¦W‡”jW$j€$j„$‡”j&j/&j3&‡”j´Pj¸Pj¼P‡”jîUj2îjùU‡”jùj#ùj'ù‡”j¼{jÎ{jÕ{‡”jg™j”™j˜™‡”j*œj8œj?œ‡”jñyjíyj÷y‡”jdOj~OjgO‡”jzj zj$z‡”j>UjBUjFU‡”j¶ujÔujØu‡”j§bj¹bj½b‡”jàÔjÕjÕ‡”jžfjŽîj©f‡”jM¤jQ¤jU¤‡”jáËjóËj÷ˇ”jN‚jR‚jV‚‡”jí‘j ’j ’‡”jˆÞjŒÞjÞ‡”j¥ÞjÁÞjÅÞ‡”jÕ®jî®jò®‡”jlYjzYjY‡”jHvjSvjWv‡”j äj;äj?䇔j9³jS³j<³‡”j8jCjG‡”jàñjòjò‡”jž j° j´ ‡”jÙjòjö‡”jw_jo_jM_‡”jjj!jj(j‡”jÛüjßüjãü‡”jU¶jY¶j]¶‡”h×jÎæh⇔jàÿjÿÿj‡”j‹^j£^j§^‡”j´jÆjʇ”jõjùjý‡”jD•j]•ja•‡”jij%ij)i‡”jÙ·jç·jë·‡”jñjj‡”j „j&„j„‡”jÖ”jÚ”jÞ”‡”jCjjSjhC‡”jj j‡”ja+j:íjl+‡”jûëjìjþ뇔j¡jjìj¬‡”j¥…j³…jº…‡”jVjVjV‡”jž«j°«j·«‡”jf;jíQj™;‡”jKzjë\jˆz‡”j®Ej²Ej¶E‡”jÚÞjÞÞjâÞ‡”j‚1j¥1j©1‡”jÿ•j –j–‡”j¸j¼jÀ‡”jèmjómj÷m‡”jtjtj"t‡”j&>j>j>‡”jìàjðàjôà‡”jëojïojóo‡”j]âjaâje⇔jÅ\jè\jì\‡”jö÷jú÷jþ÷‡”jÖôjîôjòô‡”jSÞj^ÞjbÞ‡”jd'jƒ'j‡'‡”jËj!Ëj%ˇ”jå€jÎéjð€‡”j2§j=§jA§‡”jÿ¦jejŒ§‡”j3jjOjjSj‡”jÁÛjäÛjèÛ‡”jØjñjõ‡”j“j¥j¬‡”j%“jH“jL“‡”jŠšj°šj´š‡”j{j«{j¯{‡”jþzj {j {‡”j€ój£ój§ó‡”jøjüj‡”jæjÿj‡”jçíjßíjÓ퇔jÇjÕjÙ‡”jÑpj=†j q‡”jJHjFHjPH‡”jF:jJ:jN:‡”j˜j#˜j'˜‡”jrj€j‡‡”jY3jx3j|3‡”jÇ;jË;jÏ;‡”j¢˜jŘjɘ‡”j}j}j}‡”j‘ej•ej™e‡”j}ÕjuÕjiÕ‡”jÜêjàêjäꇔj£jFçj®‡”j¦Uj¸Uj¿U‡”j7¶jI¶jM¶‡”j߉jã‰j片”jÙÇjÅkjÈȇ”jI‡jT‡jX‡‡”j«ëjÄëjË뇔jÃNjÇNjËN‡”jújj‡”jKIjdIjkI‡”jľjȾj̾‡”j\Ój`ÓjdÓ‡”ju¼j˜¼jœ¼‡”j†Ãj˜ÃjœÃ‡”j=j¬=j°=‡”j•àj™àjà‡”j."j@"jD"‡”jã?jø?jü?‡”j j j# ‡”j¤Ðj¨Ðj¬Ð‡”jQ¥jc¥jg¥‡”jŽcjœcj£c‡”j|”jêj‡”‡”jt4j4jƒ4‡”jñjñjñ‡”j,sj7sj;s‡”jrj„jˆ‡”jÉjìjð‡”jÇjÇj!LJ”j»µjƵjʵ‡”j;­j?­jC­‡”j½žjÈžjÌž‡”j*OjD‡”j½pj×pjÀp‡”jd±jy±j}±‡”jêZj [j[‡”j ?j?jø>‡”j—¥jº¥j¾¥‡”j$¤j/¤j3¤‡”j«‘jÛ‘j®‘‡”jãjüj‡”j]jaje‡”jŒ~j~j”~‡”jþzj!{j%{‡”jŸ}j—}j‹}‡”j³4jÖ4jÚ4‡”jŸ¥j±¥jµ¥‡”jÒ¨jç¨j먇”j5j5j5‡”j<#j_#jc#‡”jB\jP\jW\‡”jØ:jô:jû:‡”j›Új¾ÚjÂÚ‡”jfj*fj1f‡”jA*jS*jW*‡”jn jŠ jŽ ‡”j˜ÒjªÒj®Ò‡”jÖ}jä}jè}‡”j¨•j†•j®•‡”jCjUjY‡”jäÍjïÍjó͇”jìjj‡”j3’jA’jH’‡”j2j!2j%2‡”j|Ðj€Ðj„Ї”j¾³j´³jij‡”jKÏjVÏjZχ”j9<j=<jA<‡”jÁpjÅpjÉp‡”jš§j¥§j©§‡”jH°jZ°j^°‡”j³.jÍ.j¶.‡”jéÔjíÔjñÔ‡”jñ×jõ×jùׇ”j‰Bj”Bj˜B‡”jßjßj!߇”jÔˆjíˆjôˆ‡”jã?j@j@‡”j§jµj¼‡”jTàjwàj{à‡”j‚1j†1jŠ1‡”jpj~j…‡”j¦£j±£jµ£‡”jq2jŠ2j‘2‡”j$Ej(Ej,E‡”jÂajÔajØa‡”jŒj}0j›Œ‡”j‰=j”=j˜=‡”jôïjðj ð‡”jbljfljjl‡”jÙÇjËjj2ȇ”jk2jv2jz2‡”j£¢j±¢j¸¢‡”ja¶j†ïjl¶‡”j¬tj¤tj˜t‡”j°j;°j?°‡”jhj”hj˜h‡”j}_jo_jX_‡”jmjjƒ‡”j+Fj_FjcF‡”jÄ$jÖ$jÚ$‡”jÝj+Ýj/݇”jGjKjO‡”j£¤jƤjʤ‡”j˜j¡˜j¥˜‡”j¨njËnjÏn‡”jWjWj"W‡”jS±jW±j[±‡”j²ijªijži‡”jý±j²j²‡”jõjxj0‡”j”’j¦’jª’‡”jª:jjë:‡”j«xjÅxj®x‡”jû4j5j 5‡”jojŽj’‡”j‰àjàj‘à‡”jr#j¾çj}#‡”jZj‹Zj•Z‡”j$7jG7jK7‡”jøfjgjg‡”j¾WjëWjïW‡”jšjžj¢‡”jj)j-‡”j j jü‡”j7jQj:‡”jÎjàj䇔j8Âjy;ju‡”j«½j·:j”j°j)8je°‡”ji[j*ƒj–[‡”jÌVjÐVjÔV‡”jÒj‡Òj{Ò‡”jWjjéj#W‡”jJRj>éjUR‡”jÌjÌj"̇”j9tjDtjHt‡”jX›jp›jt›‡”jEUjcUjgU‡”jY+jq+ju+‡”jH†jV†jZ†‡”jßijãijçi‡”jÖjΖjÒ–‡”j¥j/djH¥‡”j#‹j<‹jC‹‡”jõªj«j«‡”jœ™j¿™jÙ‡”jnˆjrˆjvˆ‡”j߯jÛÆj寇”j—hjºhj¾h‡”jBîjMîjQj„ÂjÂj“‡”jåüjPsjý‡”j\ñj‰ñjñ‡”js?j?jv?‡”jIjgjk‡”jU_ju_jy_‡”jfKjjKjnK‡”jIßjTßjX߇”jNïjgïjnj]*jƒ*j‡*‡”jÔÏjßÏjãχ”j'TjTjT‡”j„¨j–¨jš¨‡”j@jŠ@jŽ@‡”jÔãjÚAjð㇔jŒj70jqŒ‡”jA€jE€jI€‡”jšvj¥vj©v‡”j…j…j#…‡”jOûjoûjsû‡”j?_js_jw_‡”j;Gj?GjCG‡”jçJjùJjýJ‡”j¯jÈjχ”jó[j \j\‡”jççjëçjï燔j=ojAojEo‡”j±pjÊpjÎp‡”j«j§j±‡”jxƒjŠƒjŽƒ‡”jqÙjfnjÚ‡”jðjj‡”jþ`jaj"a‡”j6‚jH‚jL‚‡”jšõjžõj¢õ‡”jÄjçj뇔jE jh jl ‡”jñFjõFjùF‡”j=pj\pj`p‡”jÚÚjÞÚjâÚ‡”jÞàjáj ᇔj7¸jO¸jS¸‡”jõ®j ¯j¯‡”jç2jë2jï2‡”jâ)jô)jø)‡”j£bj®bj²b‡”j·lj»lj¿l‡”jjj‡”jåxjúxjy‡”js÷j…÷jŒ÷‡”jÜ]jõ]jü]‡”jvoj’oj–o‡”j÷SjóSjýS‡”jj3j7‡”j•®jº®j˜®‡”j8èj[èj_臔jk•j}•j•‡”jœj§j«‡”jùj©rjZù‡”jÖvjÚvjÞv‡”jÿëjìj쇔j=\je%j"]‡”j±6jbèj¼6‡”jn<jy<j}<‡”j«YjÇYjËY‡”j!íj%íj)퇔jãj˜ãjœã‡”j…jwjk‡”jŽ&j &j¤&‡”jKjKj!K‡”jn<j€<j‡<‡”jŽj~j”‡”j$Ñj(Ñj,ч”jIŒjcŒjLŒ‡”jÊôjÜôjãô‡”jÎjÊjÔ‡”jqÉj|Éj€É‡”jlpjpj“p‡”jkj¶kjºk‡”jPœjTœjXœ‡”jýjýjý‡”jÏmjÓmj×m‡”jJejmejqe‡”hEhShW‡”j؇jã‡j燇”jÕJjûJjÿJ‡”j lj"lj&l‡”j·RjÌRjÓR‡”j+j+j"+‡”jtjjƒ‡”j·nj»nj¿n‡”j÷j j! ‡”jåƒjéƒj탇”j£Oj®Oj²O‡”jG&j`&jg&‡”j§jjÔ‡”jé+j ,j,‡”jž j© j­ ‡”jÏ¥jÓ¥j×¥‡”ja.jl.jp.‡”j]¸jk¸jr¸‡”j6ñj:ñj>ñ‡”j˜ÊjœÊj Ê‡”jLjPjT‡”j+j+j+‡”j«j¶«jº«‡”jÞMjðMjôM‡”jè%jì%jð%‡”j×µjÛµjßµ‡”jÄjÄj ć”j£ j§ j« ‡”jW$j‡$j‹$‡”j5Žj@ŽjDއ”j~Vj‰VjV‡”jÆ?jÊ?jÎ?‡”j!cj:cjAc‡”jòjöjú‡”j2ÜjDÜjH܇”jš jž j¢ ‡”jÇTj÷TjÊT‡”j‰Ÿj›ŸjŸŸ‡”jŽ“jª“j®“‡”jänjÜnjÅn‡”jÁ¯jÚ¯jᯇ”j=\jH$jw\‡”jQ jw j{ ‡”j4çjSçjW燔jâÁjÂj ‡”j—oj©oj­o‡”jíjÊíjÎ퇔j +j +j+‡”jâajbj b‡”jJjæGjz‡”jöÿjòÿjüÿ‡”jY3j#j‰3‡”jŽDj’Dj–D‡”j)Ój%Ój/Ó‡”j`jyj€‡”j¢þj­þj±þ‡”h×jþj ‡”jðœjôœjøœ‡”j2ÜjUÜjY܇”j¢Ej»EjÂE‡”j1j1j 1‡”jÒYjìYjÕY‡”jøgjhjh‡”jÃÉjæÉjêɇ”j,ijAijHi‡”jñ!jí!j÷!‡”jÃÉjÎÉjÒɇ”jBÏj:Ïj.χ”jeFj~Fj‚F‡”j©j‘©j•©‡”jûbjÿbjc‡”j #j"#j)#‡”j'nj+nj/n‡”jfej„ejˆe‡”j·Qj¯Qj£Q‡”jî)jò)jö)‡”j+jì*jà*‡”jObjZbj^b‡”jÒnjänjën‡”j:'jE'jI'‡”jîÞjæÞjÚÞ‡”j"yj4yj8y‡”jÓûj.ìjÞû‡”jmãjxãj|㇔jxzj—zj›z‡”jTOjXOj\O‡”j j9 j= ‡”j±Gj¿GjÆG‡”j»Ajw2jèA‡”jxåjŠåjŽå‡”j:jSjZ‡”j BjBjB‡”jEjÿDjóD‡”jVƒjxƒj|ƒ‡”j%¯j!¯j+¯‡”j*UjCUjJU‡”jb‡jŠj采”jâajvîjía‡”jBjhjl‡”jàvjävjèv‡”jŒjŒ0j¤Œ‡”jÝ,jõ,jù,‡”j[j[j[‡”j›¤j©¤j­¤‡”jBGj[Gj_G‡”jhj&hj-h‡”j¸ˆjÛˆj߈‡”j¹qjÄqjÈq‡”jà jä jè ‡”jÁ#jÅ#jÉ#‡”jº_j¾_jÂ_‡”jñ€jj ‡”j2Ój6Ój:Ó‡”j^ j j… ‡”j¯j:¯j>¯‡”j¿™jÑ™jÕ™‡”jnj+nj2n‡”jYijgijni‡”j»ij¿ijÃi‡”jÕëjàëjä뇔jØYjÜYjàY‡”jÁÛjÓÛj×Û‡”jÌþjÿjÿ‡”jôÌj Íj͇”jë«jžêjö«‡”jŸ„j„jÆ„‡”jpjpjp‡”j>ujBujFu‡”j=\jÄ%j[]‡”jbEjzEj~E‡”jJ ji jm ‡”jÏyjíyjñy‡”jejwj~‡”j%ðj!ðj+ð‡”jD¥jH¥jL¥‡”j:'j]'ja'‡”jNEjYEj]E‡”j¸&jÊ&jÎ&‡”j Pj$Pj P‡”jU_jn_jr_‡”jÞàjÖàjÊà‡”j9YjbYjfY‡”js j… j‰ ‡”j©j´j¸‡”j– jš jž ‡”jšej²ej¶e‡”jè§jì§j𧇔j«Yj¯Yj³Y‡”jDjHjL‡”jB,jZ,j^,‡”jw5j{5j5‡”jŸIj£Ij§I‡”jÚqjÞqjâq‡”jjj‡”j1Cj?CjFC‡”j|xj\‡j¯x‡”j´jý³j´‡”jöj öjö‡”jÄ¢jí¢jñ¢‡”jªj%ªj)ª‡”jljpjt‡”j–šj¡šj¥š‡”j»cjÍcjÑc‡”jj%j|%j€%‡”jí‘jø‘jü‘‡”jû–j—j—‡”j9†jS†j<†‡”jój'ój+ó‡”jâajÙXjb‡”jyZjœZj Z‡”jª:j*j÷:‡”jœYjÁYjŸY‡”jm…j†…j…‡”jÚjÞj⇔j_ŽjqŽjuއ”j¢ïj´ïj»ï‡”jV–jÚ2jƒ–‡”j(»j:»j>»‡”jÜ“jà“j䓇”j(DjKDjOD‡”j ®j®j®‡”jhÿjlÿjpÿ‡”j8Âjñ;j½Â‡”j.ðj2ðj6ð‡”j¿4jæPjø4‡”jÒ-jç-jî-‡”jÀ jÄ jÈ ‡”j× jÛ jß ‡”jJÞjFÞjPÞ‡”j¨j¨j¨‡”jíjñjõ‡”(j|wjŽwj’w‡”jC4jG4jK4‡”j$.jC.jG.‡”j¸³jÔ³jس‡”j¶jºj¾‡”jl1j |jÂ1‡”jñljéljÝl‡”ja„js„jz„‡”j'Lj@LjGL‡”jjùj퇔jŒj0jPŒ‡”jj*j1‡”jïoj pjp‡”jZöj^öjbö‡”jðŒjèŒjÜŒ‡”j!Éj;Éj$ɇ”j™–j«–j¯–‡”j°òjÉòjÐò‡”jšej¨ej¯e‡”jZjeji‡”jpj pjp‡”j;½j^½jb½‡”jªój®ój²ó‡”jIvjMvjQv‡”j]j]j]‡”j•*j±*jµ*‡”jò j¡j¡‡”j„‡jˆ‡jŒ‡‡”jâ†jô†jø†‡”j­”j£”j³”‡”jÔëjØëjÜ뇔jš]jž]j¢]‡”j^ÕjbÕjfÕ‡”jãjãj ㇔jþdj\Yjj>j¡>‡”j"yj;yjBy‡”jÁ¹jŹjɹ‡”jù—j˜jü—‡”jL0je0jl0‡”j jø já ‡”jºØjÌØjÐØ‡”j/Rj:Rj>R‡”j {j/{j3{‡”jHéjZéj^釔jMjMj M‡”jónjojo‡”jc@j|@j€@‡”j£j®j²‡”j ^j5^j9^‡”jjÜj\‡”jl1jà{j§1‡”j=\jã$jÔ\‡”jb‡j)Šj”j)j ñj4‡”j{JjJjƒJ‡”jÖjõjù‡”j[jfjj‡”j§Õj¿ÕjÃÕ‡”j+j*+j1+‡”j—…j©…j°…‡”jájýj‡”jÒYjðYjôY‡”j>ªjkªjoª‡”j‚ÜjÔ@jÕ܇”jV«jnj˜«‡”h€h£h§‡”j¸›jØ›jÜ›‡”j‚Üj¨Üj¬Ü‡”jÏjñjÚ‡”jë$j#Nj)%‡”je2joPj’2‡”j|j˜jœ‡”jõøjùjù‡”jâjæjꇔjQ¥jt¥jx¥‡”jTUjwUj{U‡”jC‹jf‹jj‹‡”j†ÝjŠÝjŽÝ‡”j€ jž j¢ ‡”jQj Qj$Q‡”j”fj·fj»f‡”jRjRj“R‡”jh›j^ïjs›‡”jè÷jøj ø‡”jKJjOJjSJ‡”j¯|j³|j·|‡”jà:jŒ}j.;‡”j1 j5 j9 ‡”júNjþNjO‡”jxGjŠGjŽG‡”j+ãj=ãjA㇔jê¢jü¢j£‡”jç¬jò¬jö¬‡”j¥zj©zj­z‡”j°Ãj´Ãj¸Ã‡”jS}jv}jz}‡”j~jj—jj›j‡”jÎMjçMjîM‡”jïæj¦ëjú懔jÜjîjò‡”jå]j^j^‡”j®ªj²ªj¶ª‡”j”%j­%j´%‡”j¥LjÈLjÌL‡”jh j j… ‡”j£œj§œj«œ‡”j§Œj²Œj¶Œ‡”jMjQjU‡”j¹æjÓæj¼æ‡”j’ðjðj¡ð‡”jRj-Rj4R‡”jwœj‰œjœ‡”j`‚jk‚jo‚‡”jãejfj f‡”j«“j¶“jº“‡”j©j ©j©‡”j_Ìj‚Ìj†Ì‡”jcjBñjn‡”jcj|jƒ‡”j~j9~j=~‡”jÖÝjðÝjÙ݇”j$ j’ìj/ ‡”jJÅj\Åj`Ň”j"jj‡”jp.j{.j.‡”jÍ‹jç‹jЋ‡”j®øjÑøjÕø‡”j‘êjªêj®ê‡”j j j‡”jqÙjÙj†Ù‡”jãAjçAjëA‡”jJ¨jc¨jj¨‡”j¹OjÜOjàO‡”j/œj:œj>œ‡”jû@jAj A‡”j+ÈjEÈj.ȇ”jù¥j¦j ¦‡”j4`jB`jF`‡”j1jCjG‡”jè§j¨j¨‡”jÿÿjj‡”jl¿j~¿j…¿‡”jZAj^AjbA‡”j&j?jF‡”jþ`jaja‡”j„jj“‡”jõ™j9bj9š‡”j¼)jÛ)jß)‡”j¼wjÇwjËw‡”j÷jŒj. ‡”jµ j¹ j½ ‡”jµ1j¹1j½1‡”järjörjúr‡”j¬tj¨tj²t‡”jS¡jW¡j[¡‡”jºvjÈvjÏv‡”j3šjRšjVš‡”j>ŠjBŠjFЇ”jZj"Zj&Z‡”jýNj OjO‡”j Íj&ëj«Í‡”jSjrj™‡”jp„j‰„j„‡”j[!j­Mj–!‡”jåcj\„jd‡”jZ”j^”jb”‡”j Žj.Žj2އ”j Íj×ÍjÛ͇”jãOjçOjëO‡”jã[jñ[jõ[‡”j\juj|‡”j¾AjÂAjÆA‡”jÜjçj뇔jêZjøZjÿZ‡”j±pj¼pjÀp‡”j)jEjI‡”j}jj…‡”j*kjOkj-k‡”j¿ jÞ jâ ‡”jCj*Cj.C‡”jÜ j–ìjç ‡”jŒ.j—.j›.‡”jÑ^jæ^jí^‡”j*jµ*j¹*‡”jqjqj"q‡”jõjj ‡”j›?j´?j»?‡”j6'j.'j'‡”jšej±jÀe‡”jOåjhåjo凔j05j45j85‡”j¾j-¾j4¾‡”jõõjøjö‡”jÙ=jÑ=jÅ=‡”jséjwéj{釔jmäj…äj‰ä‡”jK jO jS ‡”j9\j1\j%\‡”jÆ‹jà‹jÉ‹‡”jÈ`j¾`jÎ`‡”jìÒjðÒjôÒ‡”j¶[jÜ[jà[‡”j$ßj(ßj,߇”jgjŒjj‡”j>kjPkjTk‡”j‹‰j‰j¡‰‡”jáljåljél‡”jê¹jºjº‡”j.›j2›j6›‡”j¡0j¹0j½0‡”jÓ@jò@jö@‡”j}j–j‡”j¿ŒjÃŒjÇŒ‡”j~Uj‚Uj†U‡”j¥¥j°¥j´¥‡”j†j†j!†‡”jvj'vj+v‡”jÞ.jö.jú.‡”j;¨jW¨j[¨‡”jhujdujnu‡”j˪jÙªjઇ”j$.jJ.jN.‡”j•àj¸àj¼à‡”js÷j–÷jš÷‡”jŠ#jZñj•#‡”j°j8jY°‡”jmŒjqŒjuŒ‡”jîjîj j:&j]&ja&‡”jðWjôWjøW‡”j“Fj¶FjºF‡”jÉjÍjч”j”j”j”‡”jUjUj U‡”j³ŸjÌŸjÓŸ‡”j jj*jj.j‡”jC5j]5jF5‡”j߯jׯjËÆ‡”j'äjðj2䇔j+5jC5jG5‡”j~jçj‰‡”j®‡jÀ‡j懔j¸&jÃ&jÇ&‡”jYðjOðj_ð‡”jÒüjÄüj¸ü‡”jõ£j¤j¤‡”jo)js)jw)‡”j_ŽjxŽjއ”jÿ¦jejѧ‡”jBîjTîj[j&2j12j52‡”jÿëj"ìj&쇔j"{j;{j?{‡”jOj¡Oj¥O‡”jLj4Lj;L‡”j2ij*iji‡”jÏyjéyjÒy‡”j¤tj¾tj§t‡”jL§jP§jT§‡”já{jå{jé{‡”jajeji‡”j™j¿jÇ”j:j!:j%:‡”j=\jF&j©]‡”jÄjÄj ć”j|ðj›ðjŸð‡”j4´jW´j[´‡”jdjrjy‡”j°CjÏCjÓC‡”jÅ›jÉ›jÍ›‡”jñFjüFjG‡”jo'js'jw'‡”jâ'j(j (‡”jÚojÖojào‡”j'LjJLjNL‡”j¨j(¨j,¨‡”j[jfjj‡”j1Fj?FjCF‡”jª:jÐ:jÔ:‡”jV«jij•«‡”jºØj¾ØjÂØ‡”j‰®j›®jŸ®‡”j!"jF"j$"‡”jW|jO|jC|‡”j8Âj^Âjb‡”jKWjOWjSW‡”j®øj¹øj½ø‡”jDÆjHÆjLƇ”jïSjÞjhjBhjFh‡”jåµjðµjôµ‡”j±j±j±‡”jÃjÇijPÇ”jøÝjôÝjþ݇”jõzj{j{‡”j+·j/·j3·‡”j‚jtj]‡”jà jø jü ‡”jÅ?jè?jì?‡”j9Cj=CjAC‡”jƒj‡j‹‡”j0Aj4Aj8A‡”j"¾jH¾jL¾‡”jp]j‰]j]‡”j/RjHRjOR‡”j"¢j4¢j8¢‡”j¨”jº”j¾”‡”jùûjýûjü‡”j[0j_0jc0‡”jÎ|jÆ|jº|‡”jX›jP›jD›‡”j{¹jš¹jž¹‡”jºhj¾hjÂh‡”j(jjU‡”jËXjêXjîX‡”j¸†jцj؆‡”j3ÇjOÇjSLJ”ju‚jŽ‚j’‚‡”jü”j¦Œj_•‡”jLÆjZÆjaƇ”jì<jð<jô<‡”j€cj„cjˆc‡”jgjŠjއ”jƒ@jªèjŽ@‡”jÒ¢jÖ¢jÚ¢‡”jã­jç­jë­‡”jÒójîójòó‡”jj j‡”j9j9j9‡”jk™jo™js™‡”j¾jªjž‡”j˜ªjªj„ª‡”jJjNjR‡”j«-j¯-j³-‡”j@&jâçjK&‡”jq¦jq6j«¦‡”j$.jQ.jU.‡”jÓj!Ój%Ó‡”jbGjºj’G‡”j£åj§åj«å‡”jŠjÖHjÁ‡”j©[jÖ[jÚ[‡”j‡j‡j‡‡”j2»j6»j:»‡”jèj Žj뇔jjj"‡”jvßj„ßj‹ß‡”jemj„mjˆm‡”j­GjÆGjÍG‡”jzj~j‚‡”j’ji’jm’‡”jV«jZjŒ«‡”j¢ôj°ôj´ô‡”jäžjŸjŸ‡”j¿ jì j𠇔jÊôjÎôjÒô‡”j:°j>°jB°‡”jo js jw ‡”jj5j9‡”jŽ'jŠ'j”'‡”juÏjyÏj}χ”j…¯j‰¯j¯‡”jNÑjRÑjVч”jØ8jñ8jø8‡”jj4j;‡”j®»jÑ»jÕ»‡”j¿*jÑ*jØ*‡”jhðjlðjpð‡”j[ j~ j‚ ‡”j.ˆj2ˆj6ˆ‡”jØjÔjÞ‡”jœÜj Üj¤Ü‡”j¾/jÉ/jÍ/‡”jþ¦j§j§‡”jšjžj¢‡”j Ÿj*Ÿj.Ÿ‡”jÌþj›sj ÿ‡”j“‡j‹‡j‡‡”j°jQ8j}°‡”j¾jÉj͇”jß-jÛ-jå-‡”jŸÈj—Èj‹È‡”j€j“€j—€‡”j=j=j=‡”jÐnjÔnjØn‡”jŒij¯ij³i‡”jéjåjjcCjuCjyC‡”jijajU‡”jwj‰j‡”j˜±j£±j§±‡”jtj,tj0t‡”jïöj÷j÷‡”jÇjËjχ”jå$jÝ$jÑ$‡”j"j>jB‡”j£djŸdj©d‡”j!íjDíjH퇔jv’j™’j’‡”j# j' j+ ‡”jç8jë8jï8‡”j§’jÀ’jÇ’‡”jNjYj]‡”jY+jdj†+‡”j8ñjJñjNñ‡”ji[j/ƒj™[‡”je£jŽ£j’£‡”jÞ¶jé¶jí¶‡”jÊ0jã0jê0‡”j§!jŸ!j“!‡”jC‹j_‹jc‹‡”jÕJjñTj K‡”jÙÇjýjjPȇ”j°¦j¦jƦ‡”j¯j”¯j˜¯‡”jAjAjA‡”j_j4_j8_‡”j{±j•±j~±‡”j…jj”‡”jrfj„fjˆf‡”j©Nj»Nj¿N‡”j[Bj¾èjfB‡”jišjmšjqš‡”jjj%‡”jôsjtj t‡”j£j7£j;£‡”jf;jj;jn;‡”jëjÇ«jË«‡”jöj€Ejkö‡”jdj‡j‹‡”jH@jg@jk@‡”jªÄj®Äj²Ä‡”jCjNjR‡”jjfjfj‘f‡”j×`jâ`jæ`‡”jò1j2j2‡”jjžjnžjrž‡”j"½j;½jB½‡”jEEjIEjME‡”jLj“Lj—L‡”j1“j-“j7“‡”j@ jc jg ‡”jj&j*‡”jÞ©jâ©j橇”j"*j:*j>*‡”jž«jÁ«jÅ«‡”jë+j,j,‡”j jœuj@ ‡”jõWjXj X‡”j¨ƒj½ƒj㇔jà:jn}j;‡”jÉjáj凔jU¹jt¹jx¹‡”j)kjöòj4k‡”j×#jÏ#jÃ#‡”j?'jJ'jN'‡”j,sjHsjLs‡”j¯rjÍrjÑr‡”jöžjŸjŸ‡”j•j j¤‡”j¶§j¬§j¼§‡”jÑj Ñjч”jľjϾjÓ¾‡”jZjjtjj]j‡”jéj"éj&釔jWCj[Cj_C‡”jÎÎjìÎjð·”jåxj™\jy‡”jŠjŽj’‡”j œj œjœ‡”j 0j,0j00‡”jxzjžzj¢z‡”j¢þj¦þjªþ‡”j5ÌjXÌj\̇”ji[j[j“[‡”jŒÔj¥Ôj¬Ô‡”jÒÀjÎÀjØÀ‡”jÖzjÚzjÞz‡”jœaj´aj¸a‡”jçWjßWjÓW‡”j0jIjP‡”jd°jo°js°‡”júyjþyjz‡”j£OjµOj¹O‡”jƇjì‡jð‡‡”j jj‡”j8jXj\‡”jj®j²‡”ja‰jz‰j‰‡”jƒj‡j‹‡”j›vj­vj´v‡”j§ŒjÃŒjÇŒ‡”jdjvjz‡”jZ jy j} ‡”jÁjÅjɇ”jKýjVýjZý‡”jjýj ‡”jCjGjK‡”j2:jD:jK:‡”j=pj [jƒp‡”jÂ<jÆ<jÊ<‡”j4òj8òj<ò‡”j~rj‚rj†r‡”j¢j1¢j8¢‡”j¦-jÀ-j©-‡”jOûjZûj^û‡”j÷j+÷j/÷‡”j9j_jc‡”j×GjðGj÷G‡”hEhIhM‡”j?'jb'jf'‡”jˆrj«rj¯r‡”jKj”Kj˜K‡”jã¸jý¸j渇”jdzjã³j糇”jò©jê©jÞ©‡”jBÏj>ÏjHχ”jñWjXj X‡”jA—jE—jI—‡”jj5j9‡”jŒj0j\Œ‡”jÉÏjÛÏjßχ”j_ëjrðjj뇔jc#j}#jf#‡”j»€jÞ€j ”jûëjìj쇔júìjíj퇔j¨”jÁ”jÅ”‡”jqÙj²mj­Ù‡”jÎjñjõ‡”jR»j`»jd»‡”j“j!“j%“‡”j!uj[uj_u‡”jA™jY™j]™‡”jñj ñj$ñ‡”jG¹j\¹j`¹‡”j=\j=%j ]‡”jè’jú’j“‡”jÔj1Ôj8Ô‡”jmhj†hjh‡”jÌþjòþjöþ‡”jÁäjÌäjÐ䇔jqöjƒöjŠö‡”jë´jï´j󴇔jójójó‡”jdSjhSjlS‡”j7¸jÎêjB¸‡”jϰjò°jö°‡”j”%j­%j´%‡”jýIjJjJ‡”j˜j·j»‡”j*j.j2‡”jÑ6jß6jæ6‡”jºFjÅFjÉF‡”jÉ%jÛ%jß%‡”jLÆjdjj…Ƈ”jŒj¤j¨‡”j›\j´\j»\‡”j*j(*j,*‡”jt¯jx¯j|¯‡”jޝj€¯jt¯‡”jãjj ‡”jgjkjo‡”j‘j‘j&‘‡”j« j¯ j³ ‡”jH*ja*je*‡”j¨JjÎJjÒJ‡”j§JjµJj¹J‡”jõÈjÉjɇ”jFj FjF‡”jî¾j¿j¿‡”jî¹jò¹jö¹‡”jyæjœæj æ‡”jbjtjx‡”jÉIjåIjìI‡”j¢j¾j‡”j2;jX;j\;‡”jEÖjdÖjhÖ‡”jO«jo«js«‡”jÝ'já'jå'‡”jÇjêjj‘AjªAj±A‡”jÕ®jç®j뮇”jXjBXjFX‡”jØjÜ?jS؇”j’¸jµ¸j¹¸‡”jåüjýüjý‡”j8ƒjXƒj\ƒ‡”jÒcjÖcjÚc‡”jN˜jR˜jV˜‡”j‘j%‘j)‘‡”j°j#°j'°‡”j¿j§¿j«¿‡”j]"jv"j}"‡”j8zjj¿>j¨>‡”jýj j‡”j¯j³j·‡”j)”jB”jI”‡”j£æj±æj¸æ‡”jœajrîj§a‡”j¡ªj³ªj·ª‡”jgtj_tjSt‡”jòåjhBj"懔jWMj[Mj_M‡”jƒœjŽœj’œ‡”jŽÒj±ÒjµÒ‡”j’Ój¤Ój¨Ó‡”j)j0)j7)‡”j:j.:j2:‡”j™j™j™‡”jeÌjiÌjṁ”jKj*€jhK‡”jµ!j„jÛ!‡”j,ÏjEÏjLχ”jHûjLûjPû‡”jn j€ j‡ ‡”j$˜j(˜j,˜‡”j$.j6èj/.‡”jpj pj$p‡”jë¯jï¯j󯇔j1j41j;1‡”j\juj|‡”jâ³jæ³j곇”jíjÃíjÇ퇔j õjõjõ‡”j:&jS&jZ&‡”jr¯j€¯j‡¯‡”jv–jn–jb–‡”jº—jB3jý—‡”jV(jN(jB(‡”j}‰j¢‰j€‰‡”jj j‡”jcjcj c‡”jÁjÌjЇ”jžžj°žj´ž‡”j¥bjÈbjÌb‡”jüjj ‡”jªjÄj­‡”jýNj*éjO‡”j½ŠjæŠjꊇ”j¶ÿjÏÿjÖÿ‡”jŠsj•sj™s‡”jï_j`j`‡”j.ój2ój6ó‡”jÏCjÓCj×C‡”jÛj+Ûj/Û‡”jZ‘j^‘jb‘‡”j/j3j7‡”j¤QjÇQjËQ‡”j3jª3j“3‡”jà“jä“j蓇”j'äj?äjC䇔jVâjhâjo⇔jFYjTYj[Y‡”jò jö jú ‡”j ÕjÕjÕ‡”jºhjÒhjÖh‡”jN‚jY‚j]‚‡”jÏCjèCjïC‡”jjj‡”jó5j÷5jû5‡”jjwj`‡”jnAjjAjtA‡”j³j ³j³‡”jÔ.jÐ.jÚ.‡”jöžjúžjþž‡”jµ›jØ›jÜ›‡”juMj‡Mj‹M‡”j‘wjªwj±w‡”jëºjïºj󺇔j³ªjÓªjת‡”j´yjZój¿y‡”júDj EjE‡”jŽzj±zjµz‡”jajeji‡”jqÙj­mjªÙ‡”já<j=j=‡”jª:jCj;‡”jŠj*Šj1Ї”jõjjø‡”j0xj;xj?x‡”jœj0œj4œ‡”j€¾jŸ¾j£¾‡”j«Íj¯Íj³Í‡”j#j5j9‡”j…½j¤½j¨½‡”j…|j‰|j|‡”jUHj`HjdH‡”jV«jn«jr«‡”jj=jA‡”jgžj…žj‰ž‡”jÓ@j×@jÛ@‡”jf;jRj´;‡”jZJj^JjbJ‡”juýjyýj}ý‡”j—Ñj“Ñjч”j¼ljÎljÒl‡”j#¦j'¦j+¦‡”j„j–jš‡”jiejmejqe‡”jÕjàj䇔jÓõjåõjìõ‡”j“ºjǺj˺‡”jê¹j^hj&º‡”jH†j¦ójS†‡”jàÿjÔsj‡”j_=jj=jn=‡”j*±j5±j9±‡”jÅWjßWjÈW‡”jØjØj#؇”jߟj|5jq ‡”jåj÷jû‡”j2j=jA‡”jßtjãtjçt‡”jdj}j„‡”j j9 j= ‡”j­{jÌ{jÐ{‡”jk^jv^jz^‡”jªÏjÍÏjÑχ”j6yjOyjVy‡”j¦Oj˜OjŒO‡”j£Sj®Sj²S‡”j'‹j5‹j9‹‡”j¨_jÁ_jÈ_‡”j›ej¹ej½e‡”j¶jÏjÖ‡”jm…j…jƒ…‡”j“èj¡èj¨è‡”jÄjÖjÚ‡”jôÑjÒj Ò‡”jÑ6jð6jô6‡”j¸ˆjÈjLj‡”j¾%jÐ%jÔ%‡”jvj*vj.v‡”j£®j§®j«®‡”j=+jA+jE+‡”jO«ja«je«‡”j’kj«kj²k‡”jù5j6j6‡”j0‡jI‡jP‡‡”j\j@\jD\‡”jWŒj[Œj_Œ‡”jæjñjõ‡”j! jD jH ‡”j{LjLjƒL‡”jÁj³Áj·Á‡”j0TjSTjWT‡”j%j7j;‡”j‹îj‡îj‘j£ j¼ jà ‡”j¯¯j§¯j¯‡”jË•jÏ•jÓ•‡”jM3jX3j\3‡”j¸'jÒ'j»'‡”jkxj€xj„x‡”jiêjtêjxꇔj)j-j1‡”jIÀjoÀjsÀ‡”jijmjq‡”jÎjÒjÖ‡”j<jXj\‡”j (j)(j-(‡”j j, j0 ‡”jë$jJ‡”jºrjÅrjÉr‡”jÈ-jÀ-j´-‡”j‚1jž1j¢1‡”jŠ'j°'j´'‡”jî^j_j_‡”jj˜jœ‡”jŽ#jª#j®#‡”jLÌj^Ìjḃ”j(j((j/(‡”j:-j>-jB-‡”jÎjçjj¿*jÛ*jß*‡”j8Âjƒ;j{‡”jPjyj}‡”jº­jÙ­jÝ­‡”jÈ jç jë ‡”jâ)jí)jñ)‡”jk4jg4jq4‡”j%j%j%‡”jÎ3jÒ3jÖ3‡”jX„j\„j`„‡”jÞ@jâ@jæ@‡”j¥Ýj¡Ýj«Ý‡”jÖxjùxjýx‡”jI{j½‡j}{‡”j j j ‡”j®8jÑ8jÕ8‡”jd?j¢èjo?‡”jÝ!já!jå!‡”j±j±j"±‡”j$ÑjCÑjGч”jf jj jn ‡”j†qj‘qj•q‡”j0‡jB‡jF‡‡”jÑ–jê–jñ–‡”jUðjuðjyð‡”jØjá?jV؇”j+8jN8jR8‡”jÑ^jÕ^jÙ^‡”jâ)jæ)jê)‡”jï±jç±jÛ±‡”jŽ&j±&jµ&‡”j(jBçj3‡”j„‡j§‡j«‡‡”ji[j[j…[‡”jÒójÝójáó‡”jOXj|Xj€X‡”jáýjþjþ‡”jDSj]SjaS‡”j… j‰ j ‡”j =j=jõ<‡”jÆtjÂtjÌt‡”j ôj¹ôjÀô‡”j½PjÝPjáP‡”j jj#‡”jK$jzj“$‡”jOjOjO‡”jÅíjãíjç퇔jñ{jõ{jù{‡”js·jw·j{·‡”j6ñjUñjYñ‡”j®Ój²Ój¶Ó‡”j¥jÈj̇”jmùj†ùjù‡”jµ›j¹›j½›‡”j…|j|j”|‡”j!cjDcjHc‡”jà:j¥}j=;‡”j·¨jÚ¨jÞ¨‡”jŸjcjhŸ‡”jýj¡ýj¥ý‡”j8Âj«;j“‡”jYÍj]Íja͇”jª:j¸:j¼:‡”j¾WjñVjòW‡”jhÿjGj›ÿ‡”j§”jŸ”jˆ”‡”jvÉjˆÉjŒÉ‡”jîjj‡”j*jMjQ‡”j°!j»!j¿!‡”j ;j;j!;‡”jð©jû©jÿ©‡”jú!j"j!"‡”jj j ‡”j…jŒ…j…‡”jàvjîvjõv‡”j(òj6òj=ò‡”j!jlyjX!‡”jt²j²jƒ²‡”jÇ>j¿>j³>‡”j†Vj©Vj­V‡”j j( j, ‡”jÌjÚjᇔj Ej$Ej(E‡”j‹.j–.jš.‡”j›j0›j4›‡”jå€jj‡”j]j ]j ]‡”j›™jRïj¦™‡”j8Âj<jÒ‡”jd¾j\¾jP¾‡”jª:j/jú:‡”j×7jð7j÷7‡”jÀ8jÒ8jÖ8‡”jæRjZòjñR‡”j äjŠëj䇔j}j}j }‡”jF:jQ:jU:‡”jÉ5jÔ5jØ5‡”jJFjBFj+F‡”j¶jÈj̇”j^ÜjVÜjJ܇”j—'j¢'j¦'‡”j¸xjÑxjØx‡”j¸ÁjÑÁjØÁ‡”j²cj¢cj¸c‡”(j|xj›xjŸx‡”j@j_jc‡”j±ójµój¹ó‡”jh jz j~ ‡”j\ñj‚ñj†ñ‡”jñ‹j ŒjŒ‡”jqÙj£mj¤Ù‡”jtŒj—Œj›Œ‡”j·njÜnjºn‡”j!jL!j!‡”jh¸js¸jw¸‡”j‚”j›”j¢”‡”jË1jÇ1jÑ1‡”j3Šj7Šj;Ї”jõ™jšjš‡”j¨j/¨j3¨‡”j…j¨j¬‡”jh¬j‚¬jk¬‡”j j¯ j³ ‡”jäžjþžj瞇”jŸ3j±3j¸3‡”jîjÆpjOjÀ-jÄ-jÈ-‡”jUójsójwó‡”jrWjŒWjuW‡”j°j38jk°‡”jñ€jj‡”jDájHájLᇔj~Þj¡Þj¥Þ‡”jŒøjªøj®ø‡”jtõj‚õj‰õ‡”j!±j±j'±‡”já jå jé ‡”j 7j7j"7‡”j-¡júój8¡‡”j³&jÙ&jÝ&‡”jÜêjÿêj뇔ja%jY%jM%‡”j;UjYUj]U‡”jLÆjUjj|Ƈ”jÝyjáyjåy‡”j–pj¡pj¥p‡”jYj|j€‡”j jÒéj‡”j~j!~j%~‡”jœœj§œj«œ‡”jØjð?j_؇”j?¬j¢êjJ¬‡”jºÁjÌÁjÐÁ‡”jeujwuj{u‡”jÀ<jÜ<jà<‡”jjÊéjš‡”jÚ!jå!jé!‡”jÁÛjÚÛjáÛ‡”jÆ¿j¸¿j¬¿‡”j j¶ j½ ‡”jñj1ñj5ñ‡”jØÝjÜÝjà݇”jš)jº)j¾)‡”j Šj ŠjЇ”jjj ‡”j¥jjÄjjÈj‡”je­ja­jk­‡”jÍ jß jã ‡”jž(jzñj©(‡”jdSjƒSj‡S‡”j)ìjLìjP쇔jÂûjÆûjÊû‡”j—sjƒsjws‡”jÿ¦j[ej³§‡”júXjYjY‡”j·njÏnjÓn‡”j©jƒ©j‡©‡”jónjoj o‡”j·œjÉœjÍœ‡”js jŒ j“ ‡”jM%jp%jt%‡”j mjmjm‡”jT©jm©jq©‡”jö°j±jù°‡”j%AjHAjLA‡”j‹Æj–Æj𯇔jþºj!»j%»‡”j“j¯j³‡”jØ»jã»j织”j©jÂjɇ”jðjOðjSð‡”jðfj gjg‡”j[9jt9j{9‡”jÎ3jç3jî3‡”jšjžj¢‡”j«ëjÎëjÒ뇔jšj¨j¯‡”j2ÝjKÝjR݇”jÇ jê jî ‡”jµÆjÎÆjÕÆ‡”j³ªj·ªj»ª‡”jèÑj ÒjÒ‡”jîjqjjPœjTœjXœ‡”jX…jw…j{…‡”j'j 'j$'‡”j‘j•j™‡”j²]jË]jÒ]‡”j[j‚éj›[‡”j9†jW†j[†‡”j;GjaGjeG‡”j÷ÃjïÃjãÇ”jA¬j]¬ja¬‡”jÖHjšTjI‡”j-õjIõjMõ‡”jÍjìjð‡”jDQj]QjdQ‡”jçJjëJjïJ‡”j=OjHOjLO‡”jîjfqj¯î‡”j¹ÜjÕÜjÙ܇”j¥¥j©¥j­¥‡”j”Xj¢Xj©X‡”j€új™új ú‡”jõsjçsjÐs‡”jdOj‚Oj†O‡”jÆ[jÊ[jÎ[‡”j„Âj–ÂjšÂ‡”j¼kjÎkjÒk‡”jxƒj|ƒj€ƒ‡”jWj[j_‡”jÏÖjôÖjÒÖ‡”j"4j&4j*4‡”jt¨j‰¨j¨‡”jî0jò0jö0‡”j3|j7|j;|‡”jpZjhZj\Z‡”jj j‡”jij ij$i‡”jRKjéj]K‡”j® j¼ jà ‡”j^ jb jf ‡”j+5jÎñj65‡”j3#jVñj>#‡”j„‘j ‘j¤‘‡”j~j3j«‡”jî#j$j$‡”jÏ¿jõ¿jù¿‡”jŽjajºŽ‡”jj‹j‹jm‹‡”jîjòjö‡”jvíjzíj~퇔jÉ©jé©jí©‡”jLÉjPÉjTɇ”jã[jç[jë[‡”jÓïjËïj¿ï‡”j8Âj#<jÛ‡”je2js2jz2‡”j—j›jŸ‡”jv¤j„¤j‹¤‡”j —j—j—‡”j j®-ja‡”j[jtj{‡”jn5j€5j„5‡”jùHj IjI‡”j(wj3wj7w‡”jÊ(jé(jí(‡”h×håh쇔jåjáj뇔jH‰jV‰jZ‰‡”jvõjnõjbõ‡”jWMjeMjlM‡”jmaj„jªa‡”jU9jc9jg9‡”j¡7jä|jÔ7‡”jj"j&‡”j:°jS°jZ°‡”j¸qj¼qjÀq‡”j©Xj‚#jåX‡”jÞjj‡”jÛüjæüjêü‡”j9j;9j?9‡”j˜ZjªZj±Z‡”j>RjBRjFR‡”j‹1j1j¡1‡”j({j:{jA{‡”joj4ojo‡”jŠ j¦ jª ‡”j·~j£~j—~‡”jàÿjÏsj‡”jŠjz/jIЇ”jLVjrVjvV‡”j(wj,wj0w‡”j4(jR(jV(‡”jß›jã›j盇”jD•jd•jh•‡”jaj¤aj¨a‡”j»>j’èjÆ>‡”j0jSjW‡”jréjVðj}釔j`PjkPjoP‡”j§Jj«Jj¯J‡”j~ÌjŒÌj“̇”j(j2(j6(‡”j+ëjGëjN뇔jgpjrpjvp‡”j³ŽjÌŽjÓŽ‡”jAcjScjWc‡”jðíjôíjøí‡”j/jHjO‡”j÷¡jû¡jÿ¡‡”jBjFjJ‡”j†qj˜qjœq‡”j0jVjZ‡”jÐdjÔdjØd‡”j_Bj‚Bj†B‡”jÄjÏjÓ‡”j•™j§™j«™‡”jõujvjv‡”jöØjúØjþ؇”j¸jÛj߇”j+ˆj/ˆj3ˆ‡”j¢j­j±‡”j©@j»@j¿@‡”jÞÜjâÜjæÜ‡”jqÙj*njõÙ‡”jËujîujòu‡”jþ(j)j)‡”j± jžìj¼ ‡”j8ñjCñjGñ‡”jl1jå{jª1‡”j¡7jÀ7jÄ7‡”jÕajÙajÝa‡”j·<jÉ<jÍ<‡”j~rjŒrj“r‡”jÊj)Êj-ʇ”j1/jP/jT/‡”j<j%<j)<‡”j†j)†j-†‡”j{:js:jg:‡”jKJjýjqJ‡”j×j¢×j¦×‡”j¡0jÀ0jÄ0‡”jÕjÙj݇”jTUjfUjmU‡”ju j‘ j• ‡”jáËjúËj̇”jOåjaåje凔j¶jºj¾‡”j)-jD-jH-‡”j«oj¯oj³o‡”j j j ‡”jb jZ jN ‡”jÞjÞj Þ‡”jÙjjøjjüj‡”jM¤jm¤jq¤‡”jð5j 6jó5‡”jؽjã½j罇”jÐDjÔDjØD‡”j³Bj·Bj»B‡”jjj‡”jÒ÷jÎ÷jØ÷‡”jäÁjÂj ‡”j¸/jÊ/jÎ/‡”j«7j¯7j³7‡”jÅjÉj͇”j®Zj Zj”Z‡”j‚ÜjÏ@jÒ܇”jŠj ŠjЇ”j"?j4?j8?‡”j’jñj‡”jÎjÎj·”j5mjJmjNm‡”jÔëjðëjô뇔j¹“j½“jÁ“‡”jÒ—jä—jë—‡”j¦NjÉNjÍN‡”jÿ¦j=ej¡§‡”jïæjçj燔jÊsjÎsjÒs‡”j‘:j•:j™:‡”j«-j¶-jº-‡”jÈ jî jò ‡”jmºj…ºj‰º‡”j”XjfòjŸX‡”jåwj^+jx‡”jü_j`j`‡”jXBj{BjB‡”jõõjöj ö‡”jOåjSåjW凔j0TjITjPT‡”jeÁjÁjhÁ‡”j_rj{rjr‡”j¼˜j´˜j¨˜‡”j.¶j&¶j¶‡”jEojWoj^o‡”jâUjæUjêU‡”jtjtjt‡”j–pjšpjžp‡”jxjj”‡”j"¾j0¾j4¾‡”j*Äj.Äj2ć”jªúj×újÛú‡”jìjújþ‡”jïßj àjà‡”j­j©­j°­‡”j±6jÉ6jÍ6‡”jª4j¢4j–4‡”j<£jN£jR£‡”j÷j2÷j9÷‡”j»€jÔ€jÛ€‡”j¦Ðj¸Ðj¼Ð‡”jö`jò`jü`‡”jp„jt„jx„‡”j1ÚjOÚjSÚ‡”j¥¥jÈ¥jÌ¥‡”jè’jó’j÷’‡”j¡£jº£jÁ£‡”já;j×;jç;‡”jÖHjÚHjÞH‡”j—¥j›¥jŸ¥‡”jñ¢jí¢j÷¢‡”jîAjòAjöA‡”jh7js7jw7‡”j·,jèjÂ,‡”j÷j$÷j(÷‡”jKj³Kj·K‡”jE(ja(jh(‡”jÔEjìEjðE‡”juj>çj€‡”j:jLjP‡”jî³j ´j´‡”jç¸jÙ¸j͸‡”j›j!›j(›‡”jÏljéljÒl‡”jáljúljm‡”jæcjÞcjÒc‡”j°!jÂ!jÆ!‡”jxj‘j˜‡”j"4j>4jB4‡”jž?j©?j­?‡”jµj µj$µ‡”j®àj àj”à‡”jH@jL@jP@‡”jåcjdjd‡”jÜjÜj܇”jÞjEÞ‡”jÚ,jå,jé,‡”j’jÆój’‡”j#j##j'#‡”je=j=jh=‡”jX„j-‰j“„‡”j@&jX&j\&‡”jy j’ j™ ‡”jòj‘òj•ò‡”jKj4€jnK‡”j_Ëj[Ëjeˇ”j÷j*÷j.÷‡”j9j\j`‡”jŒjj”‡”j8Âj<jØÂ‡”j!j%j)‡”j1j5j9‡”j¤j¶¤j½¤‡”j,#jºçj7#‡”jŽ&j™&j&‡”jÅíjßíjÈ퇔jòÅjæïjýŇ”jŽDj¦DjªD‡”j =j=j!=‡”jt‡jx‡j|‡‡”jj~j†~jŠ~‡”j™‘j²‘j¹‘‡”jV¾jy¾j}¾‡”j“êj—êj›ê‡”j/"j3"j7"‡”j jj‡”j&ìj?ìjF쇔j3j33j73‡”jÁ#jÖ#jÝ#‡”jãj˜ãjŸã‡”j,WjRWjVW‡”j/_jN_jR_‡”j«5j¯5j³5‡”jz×j~×j‚ׇ”jój'ój+ó‡”j{:jw:j:‡”j… j j” ‡”jdjIdjMd‡”j4ðj8ðj<ð‡”j°!jÓ!j×!‡”j‡j¶ój‡‡”j•íjíj퇔j…jj—jj›j‡”jj$j(‡”j° jÏ jÓ ‡”jÿj j‡”jÛPj6j Q‡”jÛjßj㇔j¡j¹j½‡”j‚Üj¶ÜjºÜ‡”j'[jT[jX[‡”ji€j…€j‰€‡”j=+jO+jS+‡”j ‘j‘j‘‡”jhØjzØj؇”jÿÿjj‡”jÖHjõHjùH‡”jhÁjlÁjpÁ‡”jÿ¦jeej¹§‡”jv’j’j–’‡”j¼¿jοjÕ¿‡”jLÆjkÆjoƇ”jÈ4jÚ4jÞ4‡”j“èjÜBjÆè‡”j"j"j "‡”j‰`j”`j˜`‡”j¿jµ¿j¹¿‡”j`#jy#j€#‡”jH*jL*jP*‡”jÄ.jÖ.jÚ.‡”jÙÇjÐjj5ȇ”j ãj.ãj2㇔j ÚjÚjÚ‡”j9j9j 9‡”j‹CjÐ~jÆC‡”jà©jä©j詇”j~Ìj–ÌjšÌ‡”j1j1j!1‡”jÈjÌjЇ”j©|j¡|j•|‡”jEmj^mjbm‡”j¯ÇjÁÇjÅLJ”j¶j$¶j(¶‡”j8Âjt;jr‡”j_ëjqpjŸë‡”jÖjõjù‡”jdÒj‡Òj‹Ò‡”jÀQjÄQjÈQ‡”j¢þj¾þjÂþ‡”jÖjæ–jê–‡”j¤ìj²ìj¶ì‡”jùmj njn‡”jšejžej¢e‡”jç|jë|jï|‡”j[qjSqjGq‡”jòjj#‡”jºKj¾KjÂK‡”jŠCjÂèj•C‡”jªˆjµˆj¹ˆ‡”j&†j*†j.†‡”jÏ!jí!jñ!‡”j¹qjËqjÏq‡”jéj7éj>釔j@j¢@j¦@‡”j-jŒ-j-‡”j×GjÛGjßG‡”j"¢j;¢jB¢‡”jE.jc.jg.‡”jð[j \j\‡”jH¯jS¯jW¯‡”jÌjäj臔jötjujùt‡”j·¨j»¨j¿¨‡”j`{jF]j¹{‡”j·Zj~éjÂZ‡”jœjœj œ‡”j„´jt´jŠ´‡”j® júæj¹ ‡”j\j/\j3\‡”jîjžjž‡”jødjeje‡”jYoj]ojao‡”jÿj,ÿj0ÿ‡”j¤Mj¨Mj¬M‡”j3jÞðj>‡”j”gj†gjzg‡”jÿKjLjL‡”jÚ=jå=jé=‡”j j j ‡”jŽjç`j«Ž‡”j)j;jB‡”jÀšjãšj皇”j¼*jð*jô*‡”jj(j,‡”j;!jM!jQ!‡”jÁ)jÏ)jÓ)‡”j|;j€;j„;‡”jxj—j›‡”jívjÿvjw‡”juYjyYj}Y‡”jˆjˆj ˆ‡”jÚj#Új'Ú‡”j|j€j„‡”j%Aj7Aj>A‡”jN‚j`‚jg‚‡”j¿‹jËjÇ‹‡”jPœjpœjtœ‡”j+Þj/Þj3Þ‡”j,ijâòj7i‡”jçÊj Ëjˇ”jÄjÄjć”jS¦jI¦jY¦‡”jðœjj ‡”j@j7@j>@‡”jH‰j™_jŒ‰‡”jŽjo`jcއ”jTõjfõjjõ‡”jîj4qj‘j¤ìjÄCjô쇔j³ÌjÌÌjÓ̇”jv¢j‹¢j’¢‡”jijij"i‡”j›Új­Új±Ú‡”j?¬jW¬j[¬‡”jQLj\Lj`L‡”jí–jñ–jõ–‡”•j1jE1jI1‡”j`jdjh‡”j¿hjØhjßh‡”jþ j j ‡”jK$jjñjV$‡”jõsjësjûs‡”j¨ƒjÞéj³ƒ‡”j§Hj²Hj¶H‡”j3…j7…j;…‡”jê"j #j#‡”jîjùjý‡”jmujujƒu‡”jUôjYôj]ô‡”jþj5þj9þ‡”jSHj^HjbH‡”j• j® jµ ‡”j¨lj¬lj°l‡”jRjljU‡”j˜<j´<j¸<‡”j§’j«’j¯’‡”jCkjGkjKk‡”jõõjùõjýõ‡”j'|jM|jQ|‡”j HjsjFH‡”j67jH7jL7‡”jbj|je‡”j‹‰j®‰j²‰‡”j¬jÆj¯‡”j)j-j1‡”jœ¼jÁ¼jŸ¼‡”jŸj/cjtŸ‡”jú£j ¤j¤‡”j?šjJšjNš‡”jNþjRþjVþ‡”jxEjƒEj‡E‡”jÐDjÛDjßD‡”jsíj–íjší‡”jgjgjg‡”j¸jÛj߇”jêjâæjõ‡”jõzj {j{‡”jY j| j€ ‡”j_j;_j?_‡”jߟj5j2 ‡”j½PjÁPjÅP‡”jºâj¾âjÂ⇔j0jºñj0‡”j&2j*2j.2‡”jÞjðj÷‡”jLÌjPÌjṪ”jÁùjäùjèù‡”j+j/j3‡”j&j6&j=&‡”j¸³j¼³jÀ³‡”j´$jÉ$jÍ$‡”j({jK{jO{‡”jtõjŒõjõ‡”jõ™j>bj<š‡”jïjßjõ‡”j sjsjs‡”jÇj“Hj‡”j°Üj¬Üj¶Ü‡”jùHjIjI‡”jÐNjìNjðN‡”j j j ‡”j¿6jØ6jÜ6‡”jz0jš0jž0‡”j:gj>gjBg‡”jÝ,jèjè,‡”jcójgójkó‡”jcŠjYŠjiЇ”jjj‡”j|jjtjjhj‡”j¸Áj¼ÁjÀÁ‡”j¶ijºij¾i‡”j®‡jчjÕ‡‡”j¥j¥j#¥‡”j’jÃwjˇ”jKzjïjVz‡”jI˜jM˜jQ˜‡”jö`jî`j×`‡”j…âjâj”⇔jñ3j4j 4‡”j;Gj?Tj‚G‡”jذjô°jø°‡”jjjnjr‡”j¾jÐjÔ‡”j‰Ÿj”Ÿj˜Ÿ‡”j–šj¯šj¶š‡”j!ÀjÀjü¿‡”jȱjë±jﱇ”jؼjû¼jÿ¼‡”j3…jE…jI…‡”jEtj_tjHt‡”jàj¾ój뇔jÔòjéòjíò‡”jdÒjvÒjzÒ‡”jælj¾îjñl‡”j.ëj9ëj=뇔j=]jK]jR]‡”jt¤j”¤j˜¤‡”j*j&j0‡”jªúj¿újÃú‡”j‰=j¬=j°=‡”j;LjFLjJL‡”j‹Cj¿CjÃC‡”jŽjœ`j~އ”jréj‡éj‹é‡”jÓj2Ój6Ó‡”jWCj}CjC‡”jÙÇjîÇjõLJ”jØjãj燔j?ijQijUi‡”jßijjjj‡”jˆ|j|j¤|‡”jMjkjo‡”jøGjôGjþG‡”jœ[j¿[jÃ[‡”jívjñvjõv‡”j{¹j‰¹j¹‡”j[|j|j…|‡”jŽjÝ`j¥Ž‡”jm j‰ j ‡”jq{jm{jw{‡”jvj>ójv‡”j¶”jÙ”jÝ”‡”j5rjXrj\r‡”jH¯jZ¯j^¯‡”j¼"jÎ"jÒ"‡”jÿjÿjÿ‡”j4j24j4‡”jÿjj¶îj k‡”jQjQjQ‡”j«½jëj¶½‡”jg:jk:jo:‡”jjfjufjyf‡”j/_j3_j7_‡”j=pj%[j†p‡”jšIjžIj¢I‡”jŒÿj—ÿj›ÿ‡”jj4j8‡”j({j3{j7{‡”jŠ'j˜'jœ'‡”jcëjgëjk뇔jô*jø*jü*‡”jÁjÆïjŒÁ‡”jïýjþjþ‡”jNGjYGj]G‡”j3ÌjEÌjİ”jtŒjxŒj|Œ‡”jí¥j ¦j¦‡”jˆäj’ëj“䇔jö¥jú¥jþ¥‡”jø›j œjœ‡”j Fj*Fj.F‡”j (j0(j4(‡”j—j›jŸ‡”j„jdjB‡”jjvçj%‡”jâ†j _j‡‡”j,Vj7Vj;V‡”jð;j<j<‡”jf;j3RjÃ;‡”jeøjˆøjŒø‡”j²cjžcj’c‡”j)–j>–jE–‡”jqÉjuÉjyɇ”j.ðjNðjRð‡”j­(j¿(jÃ(‡”j˜ZjœZj Z‡”jåüjKsjý‡”j~àj‚àj†à‡”j‚vj›vj¢v‡”jd±j‘±j•±‡”jl†j„†jˆ†‡”jû©jÿ©jª‡”jžXjJîj©X‡”j#ajFajJa‡”j×ójâójæó‡”jð[j\j \‡”j<'j2'jB'‡”j,j7j;‡”jhðjzðj~ð‡”jd&j}&j„&‡”j/>jA>jE>‡”jžgj¬gj³g‡”jbjfjj‡”jÿjõj‡”jV–jâ2j–‡”jÿ¦jÙdje§‡”ja‰j„‰jˆ‰‡”j$˜j=˜jD˜‡”js)j~)j‚)‡”ji[jm[jq[‡”j¨JjÒíj³J‡”jº_jÝ_já_‡”jÙÇjkj\ȇ”j,ÞjHÞjLÞ‡”j2;jN;jU;‡”jkxjïjvx‡”joÐjÐjˆÐ‡”j#jIjM‡”jš j¬ j³ ‡”jAj´Kj¤‡”j j j‡”jÚªjúªjþª‡”j¸¯jj󯇔j±j·±j ±‡”jBXjFXjJX‡”jŽjQ`jQއ”jˆrjŒrjr‡”j(wjAwjHw‡”j‰Ÿj¢Ÿj©Ÿ‡”jF¡j_¡jf¡‡”jÙÇj“kjªÈ‡”jZjsjz‡”j‚j‚j!‚‡”jØj)Øj-؇”jÓNjìNjóN‡”jÏjÓjׇ”jé‹jô‹jø‹‡”j,€jL€jP€‡”jŽjÓ`jŸŽ‡”jº7j^Qjñ7‡”j”%j˜%jœ%‡”jŠyj£yjªy‡”j¼ÓjÕÓjÜÓ‡”jŸjŸj Ÿ‡”jùjùj"ù‡”jfj fjf‡”jø3jü3j4‡”jƒj•jœ‡”j°ÇjÉÇjÐLJ”jœj”jF‡”jÿjj kjk‡”jµj¹j½‡”jDgjVgj]g‡”jû’j“j"“‡”jŽ,j­,j±,‡”jW“ji“jm“‡”jj:j>‡”j4`j8`j<`‡”j›öj­öj±ö‡”jD^jV^jZ^‡”j–j"–j&–‡”j¾%jÐ%j×%‡”jñjžñj¥ñ‡”jj2j6‡”j˜ªj”ªjžª‡”jýYjZjZ‡”j\ÃjgÃjkÇ”jŠïjœïj£ï‡”jïSjýSjT‡”j‘pj£pj§p‡”jYjrìjd‡”j%bj)bj-b‡”j¨¼j¬¼j°¼‡”j[Bj¾jB‡”j›Sj´Sj»S‡”j#@j'@j+@‡”j×ójéójíó‡”j?vj^vjbv‡”j!YjDYjHY‡”j)-j¡ãj4-‡”jæBj Cj C‡”j»AjÐAj×A‡”jÎKjôKjøK‡”jraj}aja‡”j”’j­’j´’‡”j!cj%cj)c‡”jgµj€µj‡µ‡”jÿÿj"j&‡”jlj8ljjzìjI‡”jϼjÁ¼jµ¼‡”jWÖj[Öj_Ö‡”j¨QjËQjÏQ‡”j74jZ4j^4‡”jߟj5j8 ‡”jîj jñ‡”jújþjž‡”j—+j°+j·+‡”j_ëjvpj¢ë‡”jÿ¦j ejƒ§‡”j Mj3Mj7M‡”jÒÐjîÐjòЇ”j¸›jÑ›jÕ›‡”j¢`j´`j»`‡”jCÉj?ÉjIɇ”j?üjWüj[ü‡”jçRjSj S‡”jØVjãVjçV‡”j."jG"jN"‡”j.Ïj2Ïj6χ”jU9jj9jq9‡”jß*jñ*jõ*‡”jÜjÜj܇”jENjWNj[N‡”j=\jz$j•\‡”jH‰jL‰jP‰‡”juMjyMj}M‡”j†Oj~OjrO‡”j¶j¶j ¶‡”jÅjèj쇔j­ƒj±ƒjµƒ‡”jkÖjðjvÖ‡”j"4j-4j14‡”j6‚jY‚j]‚‡”j[¯jm¯jt¯‡”j€j„jˆ‡”jýojpjp‡”j}j }j$}‡”jWÂj[Âj_‡”j¸¯jRôjjЋjÔ‹jØ‹‡”j–jƒ–j‡–‡”j¥j*djE¥‡”jj j$‡”jÑ6jÕ6jÙ6‡”j–Ðj»Ðj™Ð‡”j¿4jÍ4jÔ4‡”j‡ j‹ j ‡”jôðjøðjüð‡”j¤j#¤j'¤‡”jïcjdjd‡”j»3jÔ3jÛ3‡”jƒAj˜AjœA‡”j¶ÛjÒÛjÖÛ‡”jI$jE$jO$‡”jNj®j‘‡”j³ŸjÖŸjÚŸ‡”j3’jÊój>’‡”jÔCjØCjÜC‡”j=j]ja‡”jbljtljxl‡”jGj;Gj?G‡”j‰jj¢jj©j‡”j@jƒ@j‡@‡”j¦cj¢cj¬c‡”jàhjøhjüh‡”jBjTjX‡”jjj!‡”j…j¨j¬‡”jÕKjøKjüK‡”jޝj„¯j”¯‡”jm…jx…j|…‡”jŒ.jž.j¥.‡”j:Mj¿ jnM‡”j~j(~j,~‡”jƒ.j{.jo.‡”jpej{eje‡”j‘j·j»‡”jî+j,j,‡”jS0jl0jp0‡”j}ýj>ìjˆý‡”jwAjr~j§A‡”j‹.j.j“.‡”j‹jj¡‡”j]%jŠ%jŽ%‡”j¿BjÃBjÇB‡”jnûjrûjvû‡”j©Xjzéj´X‡”jõ—j˜j ˜‡”j)j4j8‡”jçjj‡”j•>j´>j¸>‡”j€jxja‡”j‹ j j‘ ‡”jÿ¦jQej­§‡”j” jÈ jÌ ‡”jÄjÈj̇”jäØjýØjÙ‡”jLÆjijjˆÆ‡”j§2jÀ2jÇ2‡”jú,j‚Oj*-‡”jÉjÛj⇔jàñjòñjöñ‡”jäkjójïk‡”jïjj ‡”jªKjÈKjÌK‡”j¡j?¡jC¡‡”jÄ·jÆêjÏ·‡”j—Ûj°Ûj·Û‡”jAÅj=ÅjGŇ”j~jj”‡”jâˆj‰j ‰‡”jçKjLj L‡”j´sj¸sj¼s‡”j5=jG=jK=‡”jÔjßj㇔jÓãjåãjé㇔j‚Tj†TjŠT‡”j{LjLj‘L‡”j{Lj†LjŠL‡”jB_jF_jJ_‡”j¥jzïj#¥‡”jK$jc$jg$‡”jº—j33jô—‡”jÅöj×öjÛö‡”j}}j›}jŸ}‡”j#×j;×j?ׇ”j?åjCåjG凔j6*j:*j>*‡”j¿™jÊ™jΙ‡”j‹.j®.j².‡”jùójôjüó‡”jx(j—(j›(‡”j|ðjŠðj‘ð‡”jÝŽjïŽj󎇔j­ƒj¿ƒjÇ”j€j|j†‡”j#×j1×j8ׇ”jÏ}jé}jÒ}‡”jSÎjWÎj[·”j–Ñj¹Ñj½Ñ‡”jÕajàajäa‡”jºØjߨj½Ø‡”jëäjåj凔jWCjsCjzC‡”jxdj|dj€d‡”jjùj퇔jo>j’>j–>‡”jNjNjN‡”jNSjmSjqS‡”jYðjKðj4ð‡”jvljœlj l‡”jþjj!‡”j%j>jB‡”j+ëj9ëj=뇔j¾/jÚ/jÞ/‡”jΨjô¨jø¨‡”j›j›j#›‡”j*£j5£j9£‡”jðWjXjX‡”jÒÐjäÐjëЇ”j¦£j¿£jÆ£‡”j#Mj'Mj+M‡”jWaj[aj_a‡”jèÆj ÇjLJ”j8lj[lj_l‡”jÞij÷ijþi‡”j-©j8©j<©‡”jc£jƒ£j‡£‡”jt²j²j”²‡”j@ j^ jb ‡”jOj]ja‡”j€Äj’Äj–ć”j~yjyj”y‡”jRŠjkŠjrЇ”jèj'èj.臔jÃjÃjÇ”j²j9²j"²‡”jj j ‡”jЊjâŠj抇”j¸¯jÞ¯j⯇”j¶ñjÙñjÝñ‡”jQj*Qj.Q‡”j‘j…‘jy‘‡”jM_jQ_jU_‡”jLöjföjOö‡”jšøjžøj¢ø‡”j=j=j!=‡”jÓãjöãjú㇔jªj®j²‡”jg,jk,jo,‡”j*"j."j2"‡”j´¦j¸¦j¼¦‡”jwuj‚uj†u‡”j­j¸j¼‡”j”/j˜/jœ/‡”j9jTwj‡‡”jÚjBÚjFÚ‡”jÖ jä jë ‡”j„8j§8j«8‡”j9j49j89‡”jþdj.ej2e‡”jë¡j¢j¢‡”jyTjqTjeT‡”j8Âj°;j–‡”jÉ%jâ%jé%‡”j#j.j2‡”jÃ$já$jå$‡”jr~jŸ~j£~‡”jãjj ‡”jŽDj;j»D‡”j­j±jµ‡”j’æj–æj𿇔j…j…j…‡”jbÙj…Ùj‰Ù‡”jr¯jv¯jz¯‡”j©ðjÅðjÉð‡”j,Þj7Þj;Þ‡”jjj!‡”jZ»js»jz»‡”j¦ÝjžÝj’݇”jèÆjóÆj÷Ƈ”jj j‡”juj“uj—u‡”jÙÝjÝÝjá݇”jjj ‡”jŒªj¥ªj©ª‡”jJjijm‡”j_rj‚rj†r‡”jYÔjQÔjEÔ‡”jYÁj]ÁjaÁ‡”j"Œj>ŒjBŒ‡”jÉ5jÍ5jÑ5‡”j‘;j´;j¸;‡”jŽÕj™ÕjÕ‡”j~Ìjëj‰Ì‡”jZøjeøjiø‡”jàj7AjNà‡”jd†jo†js†‡”jgj”j˜‡”j jj‡”j»kjÌkjÓk‡”j- jÿuja ‡”jªÄj¼ÄjÀć”jýIjJj J‡”j2:j6:j::‡”j¨ÖjËÖjÏÖ‡”jWCjeCjiC‡”jRjVjZ‡”jAej=ejGe‡”jˆ¯j€¯ji¯‡”j¬j,¬j0¬‡”jæwjñwjõw‡”jþjj‡”jñj!ñj%ñ‡”jŠj·j»‡”j•)j )j¤)‡”jjøj‡”j„xj–xjx‡”jú­j®j ®‡”jšäj¥äj©ä‡”ja4je4ji4‡”j,sj0sj4s‡”j¥ìj°ìj´ì‡”j7EjUEjYE‡”j- jvjd ‡”j¯Ðj³Ðj·Ð‡”jÑpjÕpjÙp‡”j0^j4^j8^‡”jGcjYcj`c‡”jÉÔjÛÔjßÔ‡”jEj=j1‡”jNj.Nj2N‡”jÂûjÔûjØû‡”j¾DjÐDj×D‡”j^µjZµjdµ‡”jŒèjèj”臔j7jÇj]‡”jøMjNjN‡”j-ýjPýjTý‡”j8Âjµ;j™Â‡”jjƒj‡‡”j#nj5nj9n‡”jj/j/j‘/‡”jÅCj½Cj¦C‡”jq¦j†¦j¦‡”jjwjuwjyw‡”jiXjƒXjlX‡”j7ÿjUÿjYÿ‡”jd–j‡–j‹–‡”jŽjaj½Ž‡”jóÕjÖjÖ‡”jߟj'5j> ‡”jÛ"jÓ"j¼"‡”j­ûj»ûjÂû‡”j•*j§*j®*‡”j£¤j¼¤j䇔jÃj/Ãj3Ç”j|ðj€ðj„ð‡”jÇ0jË0jÏ0‡”jN7jm7jq7‡”j2×jf×jjׇ”jÉj“tj‡”jî”jò”jö”‡”j„:jˆ:jŒ:‡”jùLj MjM‡”j¿j¿j¤¿‡”j¼¸jθjÕ¸‡”j¦j¦j#¦‡”jbEjÞèjmE‡”j œj(œj,œ‡”j«•jÄ•jÈ•‡”jKjC€jwK‡”j€Ïj£Ïj§Ï‡”j¼BjÇBjËB‡”jí¥jÿ¥j¦‡”jõWjXjX‡”jè’j“j“‡”jŒj@ŒjDŒ‡”j³_jÜ_jà_‡”jÿjj.jB.‡”j¼ÓjÇÓjËÓ‡”j,ˆj>ˆjBˆ‡”j,#jK#jO#‡”j´Mj¿MjÃM‡”jß6jbíjê6‡”j&ìj8ìj<쇔jûƒj„j„‡”juj›jŸ‡”jÅ›jÝ›jᛇ”jK$jÛyjx$‡”jpmj“mj—m‡”jÝ'jë'jï'‡”jµ›jΛjÕ›‡”j^!jp!jw!‡”hEhyh}‡”jŽj±jµ‡”jùûjüjü‡”j§j«j¯‡”jqÙj>njÚ‡”j{j†jЇ”jÞðjâðjæð‡”j[!jÁMj¢!‡”jŠj;Šj?Ї”jRwjVwjZw‡”jAj‡Kj‰‡”jk‹j}‹j‹‡”jZj}j‡”jj-j1‡”jBjþAjB‡”j jEjI‡”jOjþjZ‡”j7%jÖçjB%‡”jå$já$jë$‡”jxGj|Gj€G‡”jù¥j ¦j¦‡”j‹j2‹j‹‡”jwîj{îjjÁ¥jÌ¥jÐ¥‡”jC jG jK ‡”jò2jö2jú2‡”j»wjÆwjÊw‡”j‹.j.j¤.‡”jN˜j`˜jd˜‡”jF5jJ5jN5‡”j“j“j“‡”jUåjYåj]凔j~jzj„‡”jy j‹ j ‡”j0jPj@0‡”jq&jƒ&jŠ&‡”jÖjj‡”jèXjìXjðX‡”j‚”j†”jŠ”‡”j#æjPæjT懔jºj˜jÀ‡”jÕjàj䇔jÒÈjÖÈjÚȇ”jû2j 3j3‡”jMajXaj\a‡”jצjé¦jí¦‡”jFZjJZjNZ‡”jHfjSfjWf‡”jê¢jî¢jò¢‡”j 0j«0j¯0‡”j‘Aj£Aj§A‡”j;ujdujhu‡”j^ jp jt ‡”j“j“j#“‡”j&j‘&j•&‡”j£æjÂæjÆæ‡”jÁ_jÅ_jÉ_‡”j%“j0“j4“‡”jÉjùj̇”jý6j7j7‡”jôÉjÊjʇ”j0j(0j,0‡”jø¼j ½j½‡”j+Fjîèj6F‡”jÿ¦j.ej˜§‡”jIUjMUjQU‡”jŠjêj'Ї”jrj Kj¢‡”jAj9j-‡”jDüjdüjhü‡”jÞjÞjÞ‡”jÁdjÅdjÉd‡”jrj}j‡”jÞjj‡”jEmjWmj[m‡”jé°jû°jÿ°‡”j*j®*j²*‡”j‰j“‰j—‰‡”jŸj%cjnŸ‡”j–‹j’‹jœ‹‡”jpÚjŽÚj’Ú‡”jLj¡Lj¥L‡”jájj‡”jKzjYzj]z‡”j&j(&j/&‡”j¬TjÏTjÓT‡”jÿj3j7‡”j ÕjÕj Õ‡”jš§jº§j¾§‡”jtj0tj7t‡”jÛPjúPjþP‡”jîjÕpjXj°‰j¦‰j¶‰‡”jšj´j‡”jcj‚j†‡”j‡6j‹6j6‡”j(‰jA‰jE‰‡”j+¯j!¯j1¯‡”jû4j5j5‡”jèjèj臔jOj0Oj4O‡”jR»j»jƒ»‡”j¥j©j­‡”jß›jñ›jõ›‡”jšäjžäj¢ä‡”j@´jt´jx´‡”jKÏj]Ïjaχ”j¾üjÂüjÆü‡”jŸjcjeŸ‡”j‹j¤j¨‡”jÝfjÕfjÉf‡”jÕJjìTj K‡”jÿj%j)‡”j÷j' j+ ‡”jjžj¥‡”jÁ+jÓ+j×+‡”j*£jC£jJ£‡”j0xjIxjPx‡”j;ijWij[i‡”j/jAjE‡”jp]j‚]j†]‡”jëäjùäjý䇔jãjŠãjŽã‡”jÿTjûTjU‡”jp j®ìj{ ‡”j¬j#¬j'¬‡”j®j¹j½‡”jÜêjøêjüꇔjdSjrSjvS‡”jû@jAjA‡”jÔjØj܇”j%ªj>ªjEª‡”j{j—j›‡”j¶ñjÁñjÅñ‡”jYjdjh‡”jÑ®jí®jñ®‡”jsj~j‚‡”jü”j¡Œj\•‡”jû2j3j 3‡”jÈ«jÌ«jЫ‡”jøjj‡”j%öj0öj4ö‡”jî³j´jñ³‡”j–j3–j7–‡”jÔëjæëjí뇔jÿÍjÎj·”jŠùjŽùj’ù‡”j!cj3cj7c‡”jq‡j‹‡jt‡‡”jIÀjOij†À‡”jrjvjz‡”jë¡jŽj¢‡”hªh®h²‡”jEojPojTo‡”jû@jÿ@jA‡”j{¥j†¥jŠ¥‡”jsWj‘Wj•W‡”jY7jk7jr7‡”j€¾j•¾jœ¾‡”jpUj‚Uj†U‡”jójójó‡”j+1jVj[1‡”j¢j¹¢j½¢‡”jqÙjknjÚ‡”jüôjõjõ‡”jMnjXnj\n‡”jzAjrAjfA‡”jî^jù^jý^‡”j3j>jB‡”j- jS jW ‡”jüj‚j‚‡”j>­jI­jM­‡”j%bj>bjEb‡”j¤Ìj¯Ìj³Ì‡”jqÙjîmjÑÙ‡”j?ój[ój_ó‡”jjj ‡”jÀ¢jÙ¢jࢇ”j,Vj>VjEV‡”jϰjë°jï°‡”j?ejbejfe‡”j~yj‰yjy‡”jG¦j`¦jg¦‡”jÄ^jç^jë^‡”jÉIj×IjÛI‡”je½ji½jm½‡”jÑ9jÕ9jÙ9‡”ja>je>ji>‡”jÂÒjÛÒjâÒ‡”j¤dj¨dj¬d‡”jØjêjjú­j®j!®‡”jS”jW”j[”‡”jYjuj|‡”jÂajÆajÊa‡”jÁj1Áj5Á‡”jw:js:j}:‡”jj"j&‡”j€Ïj™Ïj Ï‡”jS€js€jw€‡”jHjfjj‡”jk®jv®jz®‡”jŒj¨j¬‡”j?¿je¿ji¿‡”j„»j§»j«»‡”jšUj½UjÁU‡”jŽojŠoj”o‡”j£dj›djd‡”j—‹j‹jx‹‡”jýãjäj 䇔jËjŸËj£Ë‡”jµ#jÏ#j¸#‡”j`‚jƒ‚j‡‚‡”jAj*Aj.A‡”jÜjõjü‡”j‘wj£wj§w‡”j¶”jÁ”jÅ”‡”jÞBjÖBjÊB‡”j j¼jÀ‡”j×âjââjæâ‡”j—¯j°¯j·¯‡”j jj‡”jB,jP,jW,‡”j.j).j-.‡”jê·j¸j¸‡”jÒ-jñ-jõ-‡”j=\j&j]‡”jœ‚j ‚j¤‚‡”jüÖjøÖjׇ”jL?j^?je?‡”jå„j÷„jû„‡”j4òj?òjCò‡”jÉ‹jÍ‹jÑ‹‡”jêj3êj7ꇔj/jRjV‡”j’Øj–Øj𨇔j¬”j°”j´”‡”j¸xjÊxjÎx‡”jl¿jw¿j{¿‡”jÜ"jà"jä"‡”j‡Ýj‹Ýj݇”j0Øj>ØjB؇”j0Tj4Tj8T‡”jCj#Cj'C‡”jåj1åj5凔jƒjŸj£‡”jf#jj#jn#‡”j#njRjWRj^R‡”jjj ‡”j|ôj”ôj˜ô‡”jYÿjQÿjEÿ‡”júDjEj E‡”jl†jp†jt†‡”jÙjùjý‡”jÀQjÒQjÖQ‡”jÒj"Òj&Ò‡”jE'ja'je'‡”jk•jo•js•‡”jjj‡”jn®j€®j‡®‡”j‰ŽjŽj‘އ”j›Új¦ÚjªÚ‡”jÍUjòUjÐU‡”jhjljp‡”jÉžjèžj잇”j€VjŽVj•V‡”j­j#­j*­‡”j¥j(¥j,¥‡”jZ…jl…jp…‡”jŒjP0j€Œ‡”jb–jf–jj–‡”jøfjgj g‡”j9CjRCjYC‡”jmjšjž‡”jߟjÿ4j& ‡”jxjúîj*x‡”j—¾j›¾jŸ¾‡”j­ j¸ j¼ ‡”j›2j­2j±2‡”jñVjéVjÝV‡”jjfj†fjŠf‡”jð(jû(jÿ(‡”j-©j1©j5©‡”jë$jANj;%‡”jÙÇjCkjzȇ”jMãjXãj\㇔j}bjbj…b‡”j<j¦<j­<‡”j©×j»×j¿×‡”j¼~jÇ~jË~‡”ja›js›jw›‡”jÉæjèæjìæ‡”jÖjùjý‡”jSj^j‡”jÂtjÍtjÑt‡”jäÁjïÁjóÁ‡”j"j"j"‡”j‚jzjX‡”j®j®j#®‡”j‹‰j¤‰j«‰‡”j5Ýj9Ýj=݇”j×0jð0j÷0‡”j©HjÈHjÌH‡”jUjYj]‡”j­jÉj͇”jú j# j' ‡”jjùj⇔j°ÀjÎÀjÒÀ‡”jY+jsj+‡”j òjòjò‡”jx(j|(j€(‡”jÑpj)†jq‡”jÒjÖjÚ‡”jõ®jù®jý®‡”jvyjzyj~y‡”j›?j¾?jÂ?‡”j…jj”‡”j3jYj]‡”jÆ[jé[jí[‡”j”Zj˜ZjœZ‡”j:Òj>ÒjBÒ‡”jˆjˆjˆ‡”jé|j}j }‡”jfwj€wjiw‡”jb©j{©j‚©‡”j`šjdšjhš‡”jé‘jÛ‘jÄ‘‡”jh9jþñjs9‡”j9ájDájHᇔjòVjféjýV‡”jK$jY$j`$‡”jú>jþ>j?‡”jކj’†j–†‡”j„Ój Ój¤Ó‡”j ‚j«‚j¯‚‡”jŒºj¥ºj¬º‡”jþvj wj w‡”j±~j£~jŒ~‡”jÖjÚjÞ‡”j3 j> jB ‡”j×êjéêjíꇔj,ijRijVi‡”jÉåjèåjì凔j! j% j) ‡”jJj3Jj7J‡”jÎKjíKjñK‡”jAjÿKjч”jøjj‡”jΨjí¨jñ¨‡”jÊjÎjÒ‡”j0Tj;Tj?T‡”jŠPj•Pj™P‡”jCjfjj‡”jž›j¾›j›‡”jpj8pjj?j?‡”jNfj`fjdf‡”jÈ×jZëjÓׇ”jCtjGtjKt‡”jµj”µj˜µ‡”j­(j¸(j¼(‡”jtŒj†ŒjŒ‡”j’¸j–¸jš¸‡”jÁ…jšójÌ…‡”j\Ãj`ÃjdÇ”j„jj“‡”j³jÍj¶‡”j}HjHj“H‡”jkêjoêjsꇔj~Vj—VjžV‡”jo,jˆ,j,‡”jû–j —j—‡”j12jF2jM2‡”j—Ij¼IjšI‡”j'bj2bj6b‡”jèmjúmjn‡”jÕjîjõ‡”jj!j%‡”js½j‹½j½‡”jxEj‘Ej˜E‡”jYj]ja‡”j4€j8€j<€‡”jX_j\_j`_‡”j%bj7bj;b‡”j (j¹(jÀ(‡”jÇjûjÿ‡”j§jÅjɇ”jÕJjKjK‡”ji3j…3j‰3‡”jæ{jê{jî{‡”jXòjjòjqò‡”jjj%‡”j5BjCBjJB‡”jþ jj‡”jÔ~jî~j×~‡”j=\j`%j]‡”jáljìljðl‡”jœjµj¼‡”j+FjXFj\F‡”jgjyj€‡”jQ jœ j ‡”j‡ j™ j  ‡”jÜj Üj܇”j˜9jª9j®9‡”j˜QjœQj Q‡”jW/je/jl/‡”j·j$·j(·‡”jÅÚj×ÚjÛÚ‡”j„»j»j¤»‡”j ãj$ãj(㇔j$oj6oj=o‡”jÏèjÓèj×臔jH*jZ*j^*‡”jç8j9j 9‡”j$ j6IjX ‡”j8ÂjÎ;j¨Â‡”jÙjäj臔j;jTj[‡”jExj]xjax‡”j ³j³jõ²‡”jBGjTGjXG‡”jE'jP'jT'‡”jU8jY8j]8‡”jïjïjjzj”j}‡”jÇjÕj܇”jWÂjvÂjz‡”j}Hj–HjH‡”j9^j1^j^‡”j³j¾j‡”j9j9j#9‡”j-Åj1Åj5Ň”j§j«j¯‡”j}bj bj¤b‡”jêZj[j[‡”jôjŽj އ”jkjkjk‡”j×GjåGjéG‡”jèmjnjn‡”j`sjksjos‡”j„6j6j¡6‡”jh¸jl¸jp¸‡”j#j5j<‡”j©õjÂõjÉõ‡”jP"jo"js"‡”jé§j÷§jû§‡”jÌÅjÐÅjÔŇ”j¿¬jâ¬j欇”jüjj‡”jhèj‚èjk臔jÚjójú‡”jŸjCcj€Ÿ‡”j™,jÂ,jÆ,‡”j…!jŸ!jˆ!‡”jµÒjÓÒj×Ò‡”j\jŽéj"\‡”j­{j»{jÂ{‡”jÒójõójùó‡”jNôjqôjuô‡”j%¯j¯j¯‡”j·jÂjƇ”jemjimjmm‡”j¶jÄjˇ”jg™j|™j€™‡”jIÚjTÚjXÚ‡”j¦Ýj¢Ýj¬Ý‡”j+j=jD‡”jL·j^·jb·‡”jfhjjhjnh‡”jËujÝujáu‡”j]"jo"js"‡”jL½je½ji½‡”jíjvðj¨í‡”jÛJjæJjêJ‡”j>=jB=jF=‡”jtj%tj)t‡”j™,jÈjÐ,‡”j™j™j™‡”jäyjöyjúy‡”jg?j€?j‡?‡”jÕ"jê"jî"‡”jv¤jvïj¤‡”jçj j‡”jjdjdjmd‡”jÐj!Ðj%Ї”jÉ@jö@jú@‡”jGÇjKÇjOLJ”jͬjѬjÕ¬‡”j²]j¶]jº]‡”jÿ¦j‚ïj §‡”jNjšj…‡”jË…j’.j†‡”j?¬jM¬jT¬‡”jk j} j ‡”jÑájðájôᇔj7Šj;Šj?Ї”j1/j5/j9/‡”jmºjqºjuº‡”j)j;j?‡”j>3jX3jA3‡”j„jhjЇ”j1 j< j@ ‡”j·Zj$jçZ‡”jÓãj×ãjÛ㇔j<j2<j6<‡”jî+j,j,‡”j|”jn2j¥”‡”j&j*j.‡”jÒQjÝQjáQ‡”j ŠjŠj"Ї”jÊj:Êj>ʇ”jžKj¢Kj¦K‡”j#`j=`j&`‡”jÔÏjæÏjêχ”jŠj‚ìj•‡”jNjgUjIN‡”jjj"‡”j¸jÑj؇”jMnjpnjtn‡”j"jj‡”jãÃjçÃjëÇ”j:‹j6‹j@‹‡”jbÿjmÿjqÿ‡”jpjtjx‡”j¢Ej­Ej±E‡”jÕijÑijÛi‡”jG2j`2jg2‡”j ŽjŽjއ”jnÀj‡ÀjŽÀ‡”j|jjxjj‚j‡”jþvj!wj%w‡”j¤Mj½MjÄM‡”jìÀjÁjÁ‡”jx4j|4j€4‡”j˜ÀjªÀj®À‡”jëujýujv‡”jdjojs‡”jÓNj×NjÛN‡”jšjŒj€‡”j‡˜j°˜j´˜‡”jŒj«j¯‡”jé§jû§j¨‡”jðj j ‡”jšõjÇõjËõ‡”j,VjHVjLV‡”j€j’j–‡”jAJjEJjIJ‡”jõjj‡”jŒj20jnŒ‡”j@jRjY‡”j-žj1žj5ž‡”j}ûjûj…û‡”jâjôjø‡”jdjojs‡”j mjmj!m‡”j-–j8–j<–‡”jtjtj t‡”j5Bj9Bj=B‡”j«½j²:j뽇”jÑ^jß^jã^‡”j~jšjž‡”jËÈjÝÈjáȇ”jè÷jøjë÷‡”jÅ\jÉ\jÍ\‡”jê¹j¢ïjõ¹‡”jnþjFìjyþ‡”j’žjn j®ž‡”jx˜j›˜jŸ˜‡”j=]jXjv]‡”jüójôjô‡”jÒ_jä_jè_‡”joj»oj¿o‡”j$‚j/‚j3‚‡”jºjÒjÖ‡”j!éjDéjH釔j»;jÍ;jÑ;‡”j±sjÏsjÓs‡”jô jì jà ‡”jUôjuôjyô‡”jÉßjìßjð߇”jàÒjäÒjèÒ‡”j˜<j»<j¿<‡”jOûjaûjeû‡”jú’jð’j“‡”j¤ìj¡Cjß쇔j‰ÔjÔj‘Ô‡”j8Âj~;jx‡”jg™ju™jy™‡”jÂÒjåÒjéÒ‡”j9jDjH‡”jŽ j’ j– ‡”jñ]j^j^‡”juÑj“Ñj—ч”jØéjíéjô釔jô‚jðˆj!ƒ‡”j¹qjÜqjàq‡”jncj¢cj¦c‡”j¶j¶j¶‡”jVÛjnÛjrÛ‡”j˜Àj±Àj¸À‡”j9j5j?‡”jŽ,j¦,jª,‡”jHéjkéjo釔jåµj¶j¶‡”j°§j¬§j¶§‡”jk¥jy¥j}¥‡”jïjój÷‡”j–5jŽ5j‚5‡”j+¶jD¶jK¶‡”jÉjÍjч”j1/j?/jF/‡”j #j #j#‡”jO—ja—je—‡”jàj‹j‘‡”j¤j1¤j5¤‡”j®j®j®‡”jÝŸjùŸjýŸ‡”j©Œj­Œj±Œ‡”j²‚j΂jÒ‚‡”jhÿjŽÿj’ÿ‡”já»jï»j󻇔jP"jh"jl"‡”jóÕjNëjþÕ‡”jÈ?jÓ?j×?‡”j{¹j¹jƒ¹‡”jµtjØtjÜt‡”jTyjfyjjy‡”jÈ já jè ‡”jöjRöjVö‡”jÍj(Íj/͇”jÂvjàvjäv‡”j’†j­†j±†‡”j$Jj(Jj,J‡”jÑ’jÕ’jÙ’‡”jq&j&j‘&‡”jÌjÈjÒ‡”jŠïj¦ïjªï‡”jMƒjIƒjSƒ‡”j@ËjDËjHˇ”jJejUejYe‡”jL?jP?jT?‡”j…ÇjÇj”LJ”j/Áj3Áj7Á‡”jðfjôfjøf‡”jbjtjx‡”j9j=jA‡”j˪jݪj᪇”j=\jR\jY\‡”j©‚j¥‚j¯‚‡”jÙÇjäjjAȇ”jÉjªðjÔ‡”j£j'£j+£‡”j¢Ej´Ej¸E‡”j•>j£>jª>‡”j_zjjzjnz‡”j)PjVPjZP‡”j³BjÖBjÚB‡”jå3jð3jô3‡”jÌjñjχ”jb‡j Šj݇‡”j8àj0àj$à‡”j—ôjôjƒô‡”jã~jj‡”jÖ#jè#jì#‡”jà jæ jê ‡”jH‰jn‰jr‰‡”jtõjxõj|õ‡”j[9jf9jj9‡”jñjõjù‡”jÏmjámjåm‡”j‘wj´wj¸w‡”jIj'Ij+I‡”jˆwj€wjtw‡”jÙ jü j‡”jü¿jÀjÀ‡”j>ªjrªjvª‡”j‚]j]j‘]‡”j¦Ðj¿ÐjÆÐ‡”j·ljÂljÆl‡”jØ£jê£j”jOkjnkjrk‡”j^´jw´j~´‡”j×|jé|jí|‡”jÔÿjòÿjöÿ‡”jþj+j/‡”j3}jE}jI}‡”jÇbjíbjñb‡”jNjYj]‡”jþ j j ‡”j“èjæBjÌ臔jÈyjÌyjÐy‡”j|ÇjxÇj‚LJ”j$‚j=‚jD‚‡”jz{js,jª{‡”jraj„ajˆa‡”jŒ4j„4jx4‡”j­j¿jƇ”jåújéújíú‡”j·Ëj»Ëj¿Ë‡”jcsjgsjks‡”jzjªj}‡”j@újcújgú‡”j˜¬jœ¬j ¬‡”j߯jñÆjõƇ”jš§jž§j¢§‡”jÉIjÍIjÑI‡”jdj‡j‹‡”j!cj,cj0c‡”jŽ/j /j¤/‡”j¥jÁjŇ”j°j7°j °‡”j6j 6j6‡”j_ÄjcÄjgć”jrjŠjއ”j‡"j™"j "‡”jAÊjSÊjWʇ”jòj!òj%ò‡”jRj RjR‡”jEjEjE‡”joj}j‡”j+jPj.‡”j@újKújOú‡”j}ÞjÞj…Þ‡”jÄUjçUjëU‡”j/j3j7‡”jCjNjR‡”j âj âj⇔jÉjÍjч”jÿ¦j»djS§‡”j¨_jº_j¾_‡”jlpjwpj{p‡”jËj-Ëj1ˇ”j?°j7°j+°‡”jgj3gj7g‡”jbjpjt‡”jJjNjR‡”jRj…Rj‰R‡”jDQjgQjkQ‡”j"DjADjED‡”jm jq ju ‡”jcŠjUŠjIЇ”j-j-j-‡”jLmjemjlm‡”jÿjj‡”j߯jãÆjçÆ‡”jZTj^TjbT‡”j'j"'j&'‡”jbºjtºjxº‡”j&ìj*ìj.쇔jH†jg†jk†‡”j;ij^ijbi‡”jUjqju‡”jýZj[j[‡”jÿ¦j §j§‡”j×jâj懔j-©jF©jJ©‡”jµjÞj⇔jºJjàJjäJ‡”jWjijm‡”jjhj–‡”jP¾jT¾jX¾‡”jœj§j«‡”jë$jUNjG%‡”jÏÈjéÈjÒȇ”jkèjoèjs臔jÙÇjójjJȇ”jˆ"j¡"j¨"‡”jî­jò­jö­‡”j_jrójj‡”j¢j¼j¥‡”j5j9j=‡”jVxjRójax‡”j¸jÃjLJ”jX1j{1j1‡”jELjILjML‡”j\j6\j:\‡”jKj/€jkK‡”jÚojÒojÆo‡”jh jl jp ‡”j}}jˆ}jŒ}‡”j¨âjËâjÏ⇔jУjÛ£jߣ‡”j.}j2}j6}‡”jÑ–jÜ–jà–‡”jfkj‰kjk‡”j¢ôjÈôjÌô‡”jæ_jØ_jÌ_‡”j`j`j`‡”jpj{j‡”je2jPj¤2‡”jº8jÓ8j×8‡”jÂZjÆZjÊZ‡”jàÿjãsj&‡”jCjUj\‡”jÈíjÌíjÐ퇔jžXjÄXjÈX‡”j …j%…j)…‡”j9tjRtjYt‡”jgpjŠpjŽp‡”jfój€ójió‡”jÚqjýqjr‡”j2qj6qj:q‡”jeÌjwÌj{̇”jæËjôËjøË‡”j|NjŽNj’N‡”jÕjøjü‡”jD<jg<jk<‡”jæîj ïj j5=j-=j!=‡”j¼SjØSjÜS‡”jϤjè¤j줇”jIÀjMÀjQÀ‡”jE(jS(jW(‡”j€ëj„ëjˆë‡”jߟj 5j, ‡”j›j›j%›‡”jòyjýyjz‡”j_rjqrjxr‡”j?j]ja‡”jÂ5j²jÞ5‡”jOkjgkjkk‡”j– j¼ jÀ ‡”j=\j“$j¤\‡”j oj¤oj¨o‡”j{j²{j¶{‡”jR$jÂçj]$‡”j©[j­[j±[‡”jxj¡j¥‡”jÞÂjéÂj퇔jK¸jO¸jS¸‡”j2ÓjUÓjYÓ‡”jåwjéwjíw‡”j\jgjk‡”j•°j§°j«°‡”jÕ“jî“jõ“‡”jd'jîçjo'‡”jÍ jæ jí ‡”j`#jr#jv#‡”jhjhj#h‡”jÒÖjÖÖjÚÖ‡”j‘ej´ej¸e‡”jïSjÅj-T‡”j˜5j£5j§5‡”j6Þj:Þj>Þ‡”j=\j &j…]‡”j $j$j$‡”j=\j$jª\‡”jé|jô|jø|‡”jn<jy<j}<‡”j4¯j?¯jC¯‡”jßj8ßj!߇”jEajnîjPa‡”jázjåzjéz‡”j•Œj§Œj®Œ‡”jQ jU jY ‡”j4Ej0Ej:E‡”j6j6j6‡”jkjcjW‡”jwnjnj”n‡”jENjhNjlN‡”jsjŒj“‡”j{¹jš¹jž¹‡”jdj.dj2d‡”jBjVçjM‡”j¿‹jÑ‹jÕ‹‡”j¹jÄjȇ”jŽ/j™/j/‡”jFÒjQÒjUÒ‡”j£/j§/j«/‡”j®j¹j½‡”j“¬j¬¬j³¬‡”jä_jö_jú_‡”jjj‡”j2j(2j,2‡”jKÏjOÏjSχ”jKj©Kj°K‡”jØj7Øj;؇”j¾žjÝžjជ”jHtjLtjPt‡”j Yj.Yj5Y‡”j…j‰j‡”jájáj÷à‡”jË1jÖ1jÚ1‡”jÎõjÙõjÝõ‡”jæ•jÿ•j–‡”jý j¡j ¡‡”jfUj‰UjU‡”j·jÐjׇ”jðfjgjg‡”j²j6²j:²‡”jj!j(‡”j¢åjÅåjÉ凔j³4j¾4jÂ4‡”j2ÝjDÝjH݇”jÑ2jã2jç2‡”j±ŽjÊŽjÑŽ‡”j=OjYOj]O‡”j3—jX—j6—‡”j-j›-jŸ-‡”jýIj Jj$J‡”jÿ¦jˆejΧ‡”j!éj,éj0釔jYÿjUÿj_ÿ‡”jŠWj˜WjœW‡”jà”j•j•‡”jL[jP[jT[‡”júRj SjS‡”jž jÁ jÅ ‡”jñ]jÿ]j^‡”j%“j7“j;“‡”j2Ãj6Ãj:Ç”jPjbjf‡”j ‚j¤‚j¨‚‡”jËj2Ëj6ˇ”j|xj¢xj¦x‡”jDgjHgjLg‡”j­{j¢éj¸{‡”jìûj÷ûjûû‡”j³ijÍij¶i‡”jÌVjÚVjáV‡”jUðjnðjrð‡”j˪j2ôjÖª‡”j´Hj¸Hj¼H‡”jlXjpXjtX‡”jŸ„j¸„j¿„‡”j•>jŽèj >‡”j"«j>«jE«‡”jzgj~gj‚g‡”jƒjuji‡”jêj)êj-ꇔj1Fj5Fj9F‡”jt3j’3j–3‡”jG¦jR¦jV¦‡”j‡6jª6j®6‡”jº=j¾=jÂ=‡”jpj‚j†‡”j_j_j _‡”j6>j2>j<>‡”j#7jjP7‡”jšõjÀõjÄõ‡”j]*ja*je*‡”jãjÛj¹‡”j¡j¡j¡‡”jüjj‡”j£j½j¦‡”j®Pj Pj‰P‡”jOœjuœjyœ‡”j;GjhGjlG‡”j=\jR$j}\‡”j¨>j¬>j°>‡”jgjŠjއ”j¯¯j«¯jµ¯‡”jÚ!jý!j"‡”j®j7®j;®‡”j¼~jÎ~jÕ~‡”j¡j&¡j*¡‡”j j› jN ‡”jˆj'ˆj+ˆ‡”jàÿjõÿjüÿ‡”j‘êj•êj™ê‡”jÀ¦j˦jϦ‡”j-j%-j)-‡”jÞjÞj Þ‡”jDÀjgÀjkÀ‡”j©@jÌ@jÐ@‡”j5ŽjXŽj\އ”j¶èjÙèjÝ臔jê·jî·jò·‡”joÐjsÐjwЇ”j_j_j%_‡”jÝjÝj݇”j÷ jû jÿ ‡”j"j&j*‡”j—j°j·‡”jf'j„'jˆ'‡”j×j¿—jÉ—‡”jZ*js*jw*‡”jöj,öj0ö‡”jã?jñ?jõ?‡”jÄjÄjć”jÉ©jÛ©jß©‡”jNfjRfjVf‡”j¨”j¬”j°”‡”j­ j± jµ ‡”j3VjAVjHV‡”ji—jŒ—j—‡”j£—j¿—jׇ”jjÕ>jÜ>‡”j…½j‰½j½‡”jF†jJ†jN†‡”j6j6j6‡”j’žj–žjšž‡”jЬj†¬j¬‡”jŸjÏjÓ‡”j`WjkWjoW‡”jBXj^XjbX‡”jÅéjÐéjÔ釔jU9jt9jx9‡”j®»jÀ»jÄ»‡”j=\jK\jO\‡”jª‰j¦‰j°‰‡”j•™j®™jµ™‡”j& j8 j? ‡”jÈ jÖ jÝ ‡”jÌþjÚþjÞþ‡”jjújnújrú‡”j§¦j¹¦j½¦‡”j’¸j¤¸j¨¸‡”jàèjpj釔jcËjuËjyˇ”jŸ°j¾°j°‡”j“—j¬—j°—‡”jl²j~²j‚²‡”j&¤j*¤j.¤‡”j”/jŸ/j£/‡”j·j·j ·‡”j!±j%±j)±‡”j[jWja‡”j¦DjªDj®D‡”jj j$‡”j"ŒjEŒjIŒ‡”j …j,…j0…‡”j‡TjœTj£T‡”jñXjYjY‡”jÉžjמjÛž‡”jM¤jX¤j\¤‡”j§Îj¹ÎjÀ·”jùHjýHjI‡”j«6jÞñj¶6‡”jÂjÃÂjLJ”j2§jU§jY§‡”jƒXj‡Xj‹X‡”jÔãjâãjæã‡”jvzjP,j¦z‡”jr#j€#j„#‡”jx‚j|‚j€‚‡”jFÊjbÊjfʇ”jókjlj l‡”j~jjjj”j‡”jx$j†$j$‡”j¶jºj¾‡”jïÚjóÚj÷Ú‡”jµÒjÏÒj¸Ò‡”jüKjLjÿK‡”jµjµjµ‡”jªýjÐýjÔý‡”j{bjbjƒb‡”jIjIj I‡”jeuj~uj…u‡”je­jˆ­jŒ­‡”j)–jO–jS–‡”j$ôj/ôj3ô‡”jãjãj!㇔j°Çj´Çj¸Ç‡”j£SjµSj¼S‡”j›j›j›‡”j8ljCljGl‡”jÅ2jÐ2jÔ2‡”jlojŠojŽo‡”j±:jÃ:jÇ:‡”j•Œj¸Œj¼Œ‡”jLVjZVj^V‡”j£OjÆOjÊO‡”j‚[j›[jŸ[‡”jø±j²j²‡”j‘j†4jˇ”j„øjˆøjŒø‡”jQ5j_5jf5‡”j7jEjL‡”jjj‡”j¢×jº×j¾×‡”jKÅjdÅjkŇ”jÎQjãQjêQ‡”jŒñj—ñj›ñ‡”j½¬jȬj̬‡”j!j=jA‡”j%j)%j-%‡”j§ójÁójªó‡”jIXjMXjQX‡”jQ¡j\¡j`¡‡”j¡j¡j ¡‡”jVˆjaˆjeˆ‡”j°jV8j€°‡”j<#jX#j\#‡”jÄjÈj̇”jñ¤j¥j ¥‡”jŒj#0jeŒ‡”j0^jS^jW^‡”jŒjj”‡”j¥bj°bj´b‡”jtj:tj>t‡”jó[j\j\‡”j@j_jc‡”j® jÆ jÊ ‡”jh¸jz¸j~¸‡”jšmj£…jåm‡”jÙjjüjjk‡”jnþj›þjŸþ‡”jŽj™j‡”j¼wjßwjãw‡”jŽj±jµ‡”j j-j1‡”j%ªj0ªj4ª‡”j†ÕjŸÕj¦Õ‡”jwjwjw‡”jïdjëdjõd‡”jà:jø:jü:‡”jFnj>nj'n‡”jØYjãYjçY‡”j¡¹j¯¹j³¹‡”j”~j˜~jœ~‡”j2jKjR‡”jd?jƒ?j‡?‡”jÿ¦jtej§‡”js¤j…¤j‰¤‡”jã‘jß‘j鑇”h×jþj‡”jA™jJïjL™‡”j®øj²øj¶ø‡”j-jIjM‡”jÃj!Ãj(Ç”jn¬j‘¬j•¬‡”jj{j…‡”j-j-j -‡”j wj0wj4w‡”j~…j—…j›…‡”j5rj9rj=r‡”j‘wj•wj™w‡”j jj jjj‡”jY3jq3ju3‡”jmujqujuu‡”jƒAj·Aj»A‡”jKjOjS‡”jhËj‹Ëjˇ”j$Rj:éj/R‡”j4Új8Új<Ú‡”jõ™jšjš‡”j¨¼jº¼j¾¼‡”j§¦j«¦j¯¦‡”jó%j&j&‡”j÷6jû6jÿ6‡”j ‰j9‰j ‰‡”jâxjæxjêx‡”jè)j*j *‡”j8Âjo;jo‡”jûbjcjc‡”j_Îj}Îj·”j6'j2'j<'‡”j%Xj>XjEX‡”j¸¶jƶjͶ‡”jýùjõùjéù‡”jNjNj#N‡”jïoj pjòo‡”jØ8jû8jÿ8‡”jÑ-jß-jæ-‡”jøMjüMjN‡”jµjåj釔jZ€jz€j~€‡”jf;jèQj–;‡”j³®j·®j»®‡”jöžjŸjŸ‡”jþjöjꇔj¾„j„jÆ„‡”j"{jB{jF{‡”j¸jÑjÕ‡”jTõjXõj\õ‡”jè’jì’j𒇔jZTj^TjbT‡”j}j}j}‡”jJjðGj€‡”j'Jj9Jj=J‡”jñ3jü3j4‡”js¢jw¢j{¢‡”j ×j.×j2ׇ”jߟjm5jh ‡”jXòjcòjgò‡”jQ8jej8‡”jRjRjR‡”j¾üj×üjÛü‡”j±ÎjÖ=já·”jX…jêéjc…‡”jîjîj"j=\jÏ$jÈ\‡”jM j} jP ‡”j±•j¼•jÀ•‡”jãj$ãj(㇔j¤ìj¿Cjñ쇔(jÉ„jÍ„jÑ„‡”jrjŠjއ”j9^j5^j?^‡”jÂjã‚j炇”j&†j1†j5†‡”jd/j}/j„/‡”j7%jO%jS%‡”jIPjlPjpP‡”j;jMjQ‡”j‹Ÿj®Ÿj²Ÿ‡”j›jbçj¦‡”jô‚j ƒjƒ‡”jhvj`vjTv‡”jí«jø«jü«‡”j×µjéµjíµ‡”jEjWj[‡”j2jjJjjNj‡”jLj¨Lj¯L‡”j=\j\\j`\‡”jÂjÎïj¨Â‡”jR»jx»j|»‡”j+jTjX‡”jYjOj_‡”jr™j‹™j’™‡”j©@j´@j¸@‡”jEj,EjE‡”jKIjnIjrI‡”jŠjhj‡”jæýjâýjìý‡”j£¤j®¤j²¤‡”j¶ºjººj¾º‡”j*jFjJ‡”j·RjÝRjáR‡”jljdjX‡”j@j @j$@‡”jE(jy(j}(‡”j+ëjXëj\뇔j>RjaRjeR‡”j÷jójý‡”jjÀjć”ja4jl4jp4‡”jŠj˜jŸ‡”jTZjXZj\Z‡”j‚‹j†‹jŠ‹‡”jÜHjàHjäH‡”jL’jW’j[’‡”jà#jä#jè#‡”j¿|jÑ|jÕ|‡”jObjabjeb‡”jï¢jó¢j÷¢‡”jªjªjª‡”jðjôjø‡”jk¥j‡¥jŽ¥‡”j9j&9j*9‡”jM%jQ%jU%‡”j/j;/j?/‡”j¿‹jØ‹jß‹‡”j™ j« j¯ ‡”j‘~j«~j”~‡”jÜOjõOjùO‡”jk•jv•jz•‡”j”6j®6j—6‡”jÐj8Ðj<Ї”j—nj›njŸn‡”jŒÛj¥Ûj¬Û‡”jâajðajôa‡”j–dj´dj¸d‡”j=ËjWËj@ˇ”j Ij>IjBI‡”jé‹j ŒjŒ‡”jº_jÅ_jÉ_‡”jJej\ej`e‡”jblj…lj‰l‡”jhj³hj·h‡”j¸ˆj¼ˆjÀˆ‡”jCdjGdjKd‡”jsßjwßj{߇”j–j¡j¥‡”jTvjXvj\v‡”jucjycj}c‡”j‘,j•,j™,‡”j]ÝjhÝjl݇”jkhj„hj‹h‡”jUãjgãjk㇔jÄjÄjć”jަj ¦j¤¦‡”j—¾jº¾j¾¾‡”jo,j’,j–,‡”jÞpjqjq‡”j–j–j–‡”jPFjFFjVF‡”jåijéijíi‡”jg,jr,jv,‡”jvOjzOj~O‡”jÿ£j¤j¤‡”j(jŸj^‡”jÀ‘jË‘jÏ‘‡”jÙÇjkj°È‡”jXBjcBjgB‡”j§8j«8j¯8‡”j‡|j¡|jŠ|‡”jm¾jq¾ju¾‡”jäžjýžjŸ‡”jÇTjûTjÿT‡”jVljoljsl‡”j°=jÓ=j×=‡”j;j1;j5;‡”j.ój9ój=ó‡”jòj j ‡”jÑŒjÕŒjÙŒ‡”j ŽjŽjއ”jJÅjmÅjqŇ”jk•jo•js•‡”j8Âj<jÆÂ‡”jž jº j¾ ‡”jlpj~pj‚p‡”jî)j*j *‡”j9jDjH‡”j#DjFDjJD‡”jmajùƒj¤a‡”jŸ_j—_j‹_‡”j2ÃjKÃjRÇ”jðjûjÿ‡”j¸}jè,jó}‡”jÔ jì j𠇔j jj&‡”j%—j7—j;—‡”jò@jê@jÞ@‡”j0Øj4Øj8؇”j÷NjOjO‡”jÚrjörjúr‡”jò j¡j¡‡”jùÞjßjüÞ‡”j:sj>sjBs‡”j #j#j#‡”jqjšqjžq‡”jîj žjž‡”jzj$zj(z‡”j j-jO‡”j Yj8YjW‡”jëYjçYjñY‡”jH°jk°jo°‡”jk‘jo‘js‘‡”jÆfjÑfjÕf‡”j6wj.wj"w‡”jAžj9žj-ž‡”jÝljáljål‡”jèjŽjއ”j¥ÝjÝj‘݇”jYj©Hj—‡”jØ8jê8jî8‡”j[µj~µj‚µ‡”já¬jÙ¬jͬ‡”j­Gj±GjµG‡”j&jEjI‡”j„øjøj¤ø‡”jNfjgfjnf‡”jȲj̲j⇔j°j88jn°‡”j̘jå˜j옇”j½ej¹ejÃe‡”j°Új´Új¸Ú‡”jf'j€'ji'‡”jÌVjëVjïV‡”jvyj’yj–y‡”jL½jP½jT½‡”jÎÄjçÄjîć”j"3j<3j%3‡”jèjìjð‡”jÖHjŸTjI‡”j#7j'7j+7‡”jbºjmºjqº‡”jÙ·jígj ¸‡”jYRj†RjŠR‡”jSVjmVjVV‡”j„:j™:j :‡”jÇ0jÒ0jÖ0‡”j±PjÃPjÇP‡”jåwj+j'x‡”j0‡j;‡j?‡‡”jùÐjÑjч”jzj…j‰‡”jÎQjîjÙQ‡”jøgjügjh‡”je2jtPj•2‡”j=,jA,jE,‡”j?—jb—jf—‡”j=pj[jqp‡”j=]jXjy]‡”j;øj^øjbø‡”jojj…‡”j¼*jì*j¿*‡”j¥j!¥j%¥‡”jà#jî#jõ#‡”jF@jB@jL@‡”j,Ûj0Ûj4Û‡”jùÎjýÎjχ”jOXjréjZX‡”jaj]jg‡”j’æj®æj²æ‡”j:jEjI‡”jç;jÓ;jÇ;‡”jœ"jµ"j¹"‡”jb‡jã‰j҇”jmhjqhjuh‡”jîjòjö‡”jwöj{öjö‡”j"hjÛYjah‡”j¶jÁjŇ”j*j5j9‡”jb‡j‰j›‡‡”j!j#!j*!‡”j¿±j»±jű‡”j¼BjÎBjÒB‡”jàÿjîÿjòÿ‡”j‚Üj—Üj›Ü‡”jIÚjeÚjiÚ‡”j´jÚjÞ‡”jj°j´‡”j¿°jðjǰ‡”jAèjSèjZ臔juÅjÅj‘Ň”jjùj⇔jòjòj¡ò‡”j'6j#6j-6‡”jÉ'jÛ'jß'‡”j®‡jLJj·‡”jˆ"j“"j—"‡”j( j: j> ‡”jHjHj H‡”jUnj`njdn‡”jYj]ja‡”jÀ¢jÄ¢jÈ¢‡”jþdjeje‡”jâaj÷ajþa‡”jå€jó€jú€‡”j¶[jº[j¾[‡”j—…jº…j¾…‡”jS8jW8j[8‡”j޳j’³j–³‡”j$mj(mj,m‡”j„jj“‡”jpQj–QjšQ‡”jî#jbñjù#‡”jncjžcjqc‡”jàèjõèjù臔jŸÏjÂÏjÆÏ‡”j{bjžbj¢b‡”j$Sj=SjDS‡”j¸j(¸j/¸‡”jTyjmyjty‡”júŠj êj‹‡”jmäj{äj‚䇔jàÿj j‡”j¡7jòñj¬7‡”j,jHjL‡”jßjßj߇”j¼~jÀ~jÄ~‡”jˆj~jއ”j§áj²áj¶á‡”j8ÙjCÙjGÙ‡”jÔÄjæÄjêć”jwDjj¸D‡”j8ºjQºjXº‡”jÎjêjj‘j¾j‡”jÒj!Òj%Ò‡”jUˆjþéj`ˆ‡”jòjj ‡”j«9jÊ9jÎ9‡”jµáj¹áj½á‡”jðWjXj X‡”j޶j™¶j¶‡”jÔºjíºjôº‡”jWj7Wj;W‡”j¥¡j©¡j­¡‡”j¡€j¬€j°€‡”jIPjTPjXP‡”jhcj‡cj‹c‡”jÞœjéœj휇”j bjbjb‡”jßÑjÛÑjåч”j,+j:+j>+‡”jà:j‚}j(;‡”j°Õjöïj»Õ‡”j»kjÝkják‡”jg™jk™jo™‡”j“òj—òj›ò‡”j•+j®+jµ+‡”jb‡jÀ‰j°‡‡”j‚”j¥”j©”‡”ja›j„›jˆ›‡”j»'j¿'jÃ'‡”j'[jM[jQ[‡”jú j* j. ‡”jÀ.jÄ.jÈ.‡”jt¨jŠêj¨‡”jpj“j—‡”j ’j¤’j¨’‡”j{¡j¡j”¡‡”jvèjzèj~臔j2;j@;jD;‡”jk¥jo¥js¥‡”jƒj‡j‹‡”jÿ¼j(½j,½‡”j=¸j[¸j_¸‡”jkÊj}Êj„ʇ”j5PjNPjUP‡”jâ&jí&jñ&‡”j “jÉ“jÍ“‡”jšj.šj5š‡”jâqjôqjøq‡”j*j*j#*‡”jÜ]jà]jä]‡”jxjŠjއ”jókjþkjl‡”jÄ.jÝ.jä.‡”jjj‡”j–Ðj¿ÐjÃЇ”j÷9j:j :‡”já»jM:j¼‡”jxj›jŸ‡”jª:j>j;‡”j*j*j“*‡”j+„j/„j3„‡”jægjÞgjÒg‡”j¿4j^íjÊ4‡”j,_jE_jL_‡”j)j‚ñj&)‡”j÷¢jí¢jý¢‡”jÆfjÊfjÎf‡”jïjój÷‡”jˆˆjzˆjnˆ‡”j÷ jŽìj ‡”j8èjJèjN臔j¯0j³0j·0‡”j@ÓjDÓjHÓ‡”j}nj—nj€n‡”jöjvEjeö‡”jqÙjuÙjyÙ‡”j‘Ýj•Ýj™Ý‡”jjøjᇔj j j ‡”jÿjj‡”j+1jC1jG1‡”jÍÕjJëjØÕ‡”j·ËjÐËjס”j?jCjG‡”jè)jú)jþ)‡”jˆjŒj‡”jk¥j˜¥jœ¥‡”jj°j´‡”j]|ja|je|‡”jÛðj×ðjáð‡”jϰjÓ°j×°‡”j'³j#³j-³‡”jGqjKqjOq‡”jÞjðjô‡”j ãj?ãjC㇔j,mj7mj;m‡”j1 jJ jQ ‡”jb‡j‡j…‡‡”jæËj Ìj̇”j j$ j( ‡”jG~je~ji~‡”j÷jŽçj ‡”jßj ßj߇”j1j=1jA1‡”jpUj‰UjU‡”j£bjÆbjÊb‡”j¡ªj¥ªj©ª‡”jh9jŽ9j’9‡”jij‚j‰‡”jAjŒKjŒ‡”j@jŠ@jŽ@‡”jÏâjíâjñ⇔j­~jÐ~jÔ~‡”j´j˜jº‡”j\§jg§jk§‡”j j$j+‡”jñjõjù‡”jC@j\@j`@‡”jaj…aj‰a‡”jÇgjËgjÏg‡”jí>jñ>jõ>‡”jåwj†+j*x‡”jüj#üj'ü‡”jgj,gj3g‡”j"*jA*jE*‡”j!j%j)‡”j5j?5jC5‡”ji¿jm¿jq¿‡”j"«j6ôj-«‡”jÉIjöIjúI‡”jMäjQäjU䇔jxj-xj4x‡”j—oj¢oj¦o‡”jnþj”þj˜þ‡”jlYjpYjtY‡”j£ªj§ªj«ª‡”jtj†jЇ”jnÀj‘Àj•À‡”jÕKjàKjäK‡”j«jj‘‡”jg)j)jƒ)‡”j»Vj¿VjÃV‡”jHjŠHjŽH‡”jSbjebjib‡”jÏ¿j=;jÀ‡”jTjTj!T‡”jí‘jÿ‘j’‡”já jì j𠇔jî¾jù¾jý¾‡”jÆjÊj·”jæwj xj x‡”jT¼jf¼jj¼‡”jbj…j‰‡”jÜjÔjȇ”jhkjzkj~k‡”j±^jÃ^jÇ^‡”j7ÔjQÔj:Ô‡”j‰új…újú‡”j‘j4jȇ”jŽcj’cj–c‡”jÓ×jè×jïׇ”jséj~éj‚釔jÖjäj臔j6}j:}j>}‡”j+ôj=ôjAô‡”j˜¯jœ¯j ¯‡”jµj'µj.µ‡”j€ÍjžÍj¢Í‡”jª:jWj;‡”jfjfj f‡”jR;jV;jZ;‡”j‘\jª\j®\‡”jX"jNñjc"‡”jŸlj•lj¥l‡”jÎjyÎjm·”j'‚j+‚j/‚‡”jBjBjB‡”já¨j©j©‡”j¼•jÀ•jÄ•‡”jžKjJ jËK‡”j!=j%=j)=‡”j6˜jH˜jL˜‡”j_ðjOðjeð‡”jpIjtIjxI‡”jåjÝjч”jžgj¢gj¦g‡”jkêjyêj€ê‡”j´jqxjö‡”j†Vj¢Vj¦V‡”jZjljp‡”jȲjÓ²jײ‡”j©Xjn#jÙX‡”j`{j7]j°{‡”jÌÅjäÅjèŇ”jß/jñ/jõ/‡”j¨JjÇJjËJ‡”j]¨jv¨jz¨‡”jÁ§j̧jЧ‡”j2jj6jj:j‡”jß*jø*jü*‡”j>RjPRjTR‡”j}/j‹/j’/‡”jO{ji{jR{‡”jî#j$j"$‡”jߟj5j5 ‡”j‹j–jš‡”jÿajbjb‡”j¾¯jЯjׯ‡”jú!j"j "‡”jÅÚjÐÚjÔÚ‡”jëujïujóu‡”jy“j•“j™“‡”jÏljíljñl‡”j¾WjÓWjÚW‡”j°§j¨§j‘§‡”j°ÚjÓÚj×Ú‡”jæËjêËjjˆ4j¢4j‹4‡”j^!j!j…!‡”jQLjtLjxL‡”jjdjX‡”j×âjúâjþ⇔jjj‡”jE(jI(jM(‡”jvÉjÉj–ɇ”jº­jÒ­jÖ­‡”j8©jQ©jX©‡”j?üjMüjTü‡”j¶ÛjÁÛjÅÛ‡”jؼjô¼jø¼‡”jXj#Xj'X‡”j©ðj»ðjÂð‡”jj9j=‡”jxzj|zj€z‡”jd+j{j”+‡”jü”jQŒj,•‡”j½ÊjàÊjäʇ”j¡uj½ujÁu‡”j™j[vj͇”joj¹j©‡”j`!jL!j@!‡”j ájájìà‡”jødjeje‡”j‹ÆjÆj“Ƈ”j0jNíj0‡”jN7jf7jj7‡”j3|j>|jB|‡”j$jj‡”jç«jã«jí«‡”j=j=j=‡”j×GjóGjúG‡”jY jk jr ‡”j¡¹j¬¹j°¹‡”j jj‡”jñ3jõ3jù3‡”jÒ-j­Oj .‡”j"Vj-Vj1V‡”jÞÜjÝj݇”j„j§j«‡”jÿ¦j¢djD§‡”jçj™çj燔jÂÒjÆÒjÊÒ‡”jn jy j} ‡”jƒ§j¬§j°§‡”j7jjBjjFj‡”jœjœj œ‡”j'|jC|jJ|‡”j‘;jœ;j ;‡”jc:jg:jk:‡”je½jw½j{½‡”jö}j~j ~‡”jðj j ‡”j’kjµkj¹k‡”jï±j ²jò±‡”j]j]j]‡”jh¸j‹¸j¸‡”j´MjÆMjÊM‡”j-j3-j7-‡”j¿yj·yj«y‡”jUôjnôjrô‡”jLÆjPjjyƇ”j… j} j[ ‡”jÔÏjØÏjÜχ”j™×j•×jŸ×‡”jwDjDj¡D‡”jü”j~ŒjG•‡”jdj$dj(d‡”jØ•jö•jú•‡”jµ›jÀ›jÄ›‡”jÖCjäCjëC‡”j•àj àj¤à‡”jSsjƒsjVs‡”jDgjHgjLg‡”jwuj{uju‡”jI$jA$j5$‡”j˜®jœ®j ®‡”j|”jT!j¢”‡”j½ÑjÛÑjßч”j¸Ÿj¼ŸjÀŸ‡”jkŒjgŒjqŒ‡”j˜Òj£Òj§Ò‡”jfój„ójˆó‡”j'äjFäjJ䇔jVjöUjV‡”j3ÇjEÇjLLJ”jüjj‡”jlpjppjtp‡”j¨€jÕ€jÙ€‡”jÊ‚j΂jÒ‚‡”jLÆjîïjWƇ”j+1j91j@1‡”j(«j,«j0«‡”jY ju jy ‡”jqöj|öj€ö‡”jišj{šj‚š‡”jm’ji’js’‡”j--j8-j<-‡”jF©j8©j!©‡”j%j0j4‡”j9jwjf‡”jߟj;5jJ ‡”jÑájŽAjþᇔj]%jŸj‘%‡”j¶ÙjÈÙjÌÙ‡”jNTj`TjgT‡”jX„j~„j‚„‡”jÙÇjRkjƒÈ‡”jƒXj›XjŸX‡”j±j±j±‡”jççj èj臔j´jŸ´j¦´‡”jOæjræjv懔j¾j¾j#¾‡”j3}jL}jP}‡”jVƒjZƒj^ƒ‡”j‡j’j–‡”jC4jf4jj4‡”jë¾jý¾j¿‡”j©[j¨Wjê[‡”jU9jY9j]9‡”jñ j j ‡”jŒñjñj”ñ‡”jö°j±j±‡”j j( j, ‡”jˆäjBj¸ä‡”j;Gj:TjG‡”j&j$j%&‡”jdj„jˆ‡”jµjÔjÛ‡”j~j‰j‡”j[ j_ jc ‡”j¨_j³_j·_‡”j‹Cj¸Cj¼C‡”jÙÇj£jjȇ”jKjAjQ‡”jãojpjp‡”j\ÃjnÃjrÇ”jÒj9Òj=Ò‡”jQj2éjQ‡”jI¢jb¢ji¢‡”jrajvajza‡”j¦j!¦j%¦‡”ji—jm—jq—‡”jR·jj·jn·‡”j>ÂjIÂjM‡”j©ãj´ãj¸ã‡”jC’jG’jK’‡”ji¯jm¯jq¯‡”j"žj&žj*ž‡”jîjäpjajš]j¥]j©]‡”jKj9€jqK‡”jðÎjèÎjÜ·”jþj!j%‡”jÉjèj쇔j'¡jJ¡jN¡‡”j‚Bj¡Bj¥B‡”j¨j"¨j&¨‡”jUjxj|‡”j1jD1jH1‡”j6‘jY‘j]‘‡”jô¡j¢j÷¡‡”j¼"jÇ"jË"‡”j’•jµ•j¹•‡”j,ùj:ùj>ù‡”jjÀjć”j~j¤j¨‡”jKWjVWjZW‡”jÖCjõCjùC‡”jœ‡j¿‡jLJ”jtSj "j¤S‡”j+Hj/Hj3H‡”j âjâj⇔j”j˜jœ‡”jh\jv\j}\‡”j|;j‡;j‹;‡”j‹Cjòj–C‡”jÔjòjö‡”j³®jÅ®jÉ®‡”já jj‡”jŽjÄ`j–އ”j3jOjS‡”jKj€jPK‡”jÖj j‡”jsÄjkÄj_ć”j j j ‡”jÏìjáìjè쇔j1j5j9‡”j˪jϪjÓª‡”jåEjFjF‡”j¼j¼j"¼‡”jå%jÿ%jè%‡”jê¬j ­j­‡”j5j.5j55‡”jt4jx4j|4‡”j_ïj}ïjj#j5j<‡”j4Ej,Ej E‡”j~›j—›j››‡”j mj%mj)m‡”jRjRj!R‡”j±~j§~j·~‡”jž›j°›j´›‡”jK j] ja ‡”j¢j´j»‡”jB9júñjM9‡”jëjëj뇔jåüj ýjý‡”jYVjdVjhV‡”j«j¡«j¥«‡”j=\jM$jz\‡”jëùj9Fj)ú‡”j+jNjR‡”jŠj…Šj‰Š‡”j=pj[jzp‡”j¦UjÉUjÍU‡”j‘?jœ?j ?‡”j™jÆjʇ”jÂ`j¾`jÈ`‡”j+ëjQëjU뇔jØYjêYjîY‡”jÉ jÔ jØ ‡”j!ujCujJu‡”jú•jò•j敇”jt7j“7j—7‡”jmjqju‡”jº8jÌ8jÐ8‡”jjjfjp‡”jhj¢hj¦h‡”jjj ‡”joj,oj3o‡”j—djdjxd‡”j‚j‚j‚‡”j#ÛjÛjÛ‡”j,mj0mj4m‡”j=j1=j5=‡”j­j­j­‡”j—jºj¾‡”jj×jf×jpׇ”jâ†jð†j÷†‡”jSjxjV‡”jJÑjXÑj\ч”jøjj‡”j7œj;œj?œ‡”j<ÜjZÜj^܇”jMIjQIjUI‡”j´Öj¸Öj¼Ö‡”jUˆjzˆjXˆ‡”jÌþjÐþjÔþ‡”j„‡j‡j¤‡‡”j×j×jׇ”j1jCjG‡”jd+jšñjo+‡”jÒ jð jô ‡”jAèj]èja臔jû’j “j“‡”jÁjfçj̇”jצj÷¦jû¦‡”jm¤ji¤js¤‡”jsjŒj“‡”j–²jš²jž²‡”jŒªj¬ªj°ª‡”j6¨jH¨jL¨‡”jvÖjnÖjbÖ‡”j(j$j.‡”j$j$j$‡”jÿjÿjÿ‡”jSjojs‡”j–²j¡²j¥²‡”jW“jz“j~“‡”jßpj×pjËp‡”jvÉjzÉj~ɇ”j…j……j‰…‡”jõªj«j«‡”jÖHjëHjòH‡”j­ûj*ìj¸û‡”jgÜjƒÜj‡Ü‡”j²jÒjÖ‡”j3jâìj>‡”j3j)3j03‡”jm…jq…ju…‡”j„8j8j¤8‡”jØøjêøjîø‡”j|xjVój‡x‡”j<>j2>jB>‡”j3 j7 j; ‡”j¼SjßSjãS‡”j¢ôj·ôj»ô‡”j0j4j8‡”jfUjxUjU‡”jñWjnéjüW‡”j¦±j¸±j¿±‡”jÔãjØãjÜ㇔j¦£jÉ£jÍ£‡”j»†j͆jц‡”j$Jj6Jj:J‡”jŒj0jSŒ‡”jpj1pj5p‡”j¿4jÜPjò4‡”j FjFjF‡”jÙjõjù‡”jŸLj­Lj±L‡”j•`j¾`jÂ`‡”j<³jX³j\³‡”jê­jî­jò­‡”j° jòój» ‡”j»wj¿wjÃw‡”j›¤jȤj̤‡”j¸j0¸j4¸‡”jþjj‡”j›?j­?j±?‡”j×(jÛ(jß(‡”j?šjQšjUš‡”j‹ŸjŸj“Ÿ‡”j«j#«j'«‡”j'ZjJZjNZ‡”jðŒj j‡”j×jÛj߇”j:&jL&jP&‡”jjj‡”j‡ûj&ìj’û‡”j€çjëoj¹ç‡”jTyjXyj\y‡”j6›jT›jX›‡”js§jŒ§j§‡”jÉjãj̇”jÄ+jÖ+jÚ+‡”j£j»j¿‡”j HjHjH‡”júljþljm‡”jjýj ‡”jð«jô«jø«‡”jÄj'Äj+ć”jÍÓjÅÓj¹Ó‡”jùjj‡”j‹.j§.j«.‡”j^ ji jm ‡”jçRjëRjïR‡”jÞMjNjN‡”j„^j§^j«^‡”jJÅjcÅjjŇ”jqQjQj”Q‡”j²ij®ij¸i‡”jϤjÚ¤jÞ¤‡”j7$jI$jM$‡”jïcjúcjþc‡”j;+j6íjF+‡”jÑÎjÕÎjÙ·”jÊ—jè—jì—‡”j×jðj÷‡”jwj“j—‡”j'³j³jý²‡”j¨Jj¶JjºJ‡”jkjkj k‡”júXjYjY‡”jÜOjçOjëO‡”j\ÝjnÝju݇”jÉMjìMjðM‡”jÄ(jÜ(jà(‡”j#7j"jS7‡”j®^jÑ^jÕ^‡”j"j-j1‡”jÒjÖjÚ‡”jî^jò^jö^‡”j޶j’¶j–¶‡”jš¡j¥¡j©¡‡”jw=ji=jR=‡”jênjÜnjÐn‡”jjj‡”j´jSxj䇔jßtj\ju‡”jþCjDjD‡”j¯j³j·‡”j2j 2j2‡”jÄ]jã]jç]‡”jìûjüj ü‡”j͸jѸjÕ¸‡”j’ßjŠßj~߇”jg)ju)j|)‡”j¤MjÇMjËM‡”jQj6Qj:Q‡”j½jÁjŇ”j¥>jÃ>jÇ>‡”jÔòjæëjßò‡”jt¨j‚¨j†¨‡”js˜j~˜j‚˜‡”jbGjÓj¡G‡”jô0jø0jü0‡”jñ]j^j^‡”jjj‡”jOkj]kjdk‡”jØjæ˜jꘇ”jEojhojlo‡”jÙ·jø·jü·‡”jºKjÏKjÖK‡”j« j½ jÄ ‡”jgj"gj&g‡”j]{ja{je{‡”jÒ¨jÖ¨jÚ¨‡”jŒÿjžÿj¢ÿ‡”jÖ}jõ}jù}‡”j«¨j½¨jÁ¨‡”j?/jY/jB/‡”jЊjÛŠjߊ‡”j7jÔGj`‡”j¸Kj¼KjÀK‡”j`€jX€jL€‡”jðj j‡”j¢jÅjɇ”j7ºj/ºj#º‡”jZdjedjid‡”j1µjTµjXµ‡”jòj™òj‚ò‡”jf&jx&j|&‡”jýIjJjJ‡”jcj\ujš‡”jè3jà3jÔ3‡”j1µjJµjQµ‡”j¾’já’jå’‡”jþºj»j»‡”j™«j¤«j¨«‡”j2qjDqjHq‡”j¨Vj³Vj·V‡”jïcjdjd‡”j"Vj4Vj8V‡”j=\j¿%jX]‡”j'[j^îj2[‡”jõjñjû‡”jTõjmõjqõ‡”j*±jC±jJ±‡”j“Øj¶ØjºØ‡”j©-j­-j±-‡”jçjòjö‡”j‚Ij†IjŠI‡”j›kj­kj±k‡”jjj‡”jÇçjàçjä燔jLjLj L‡”jîjMqj î‡”j•àj±àjµà‡”j"4jE4jI4‡”jV¾jZ¾j^¾‡”jÑ`jã`jê`‡”j ˜j/˜j3˜‡”jM/jQ/jU/‡”j[j~j‚‡”jYjkjo‡”jJÙjUÙjYÙ‡”jÝ®jö®jý®‡”jŸxj£xj§x‡”jŒªjªj”ª‡”j¾%jÂ%jÆ%‡”j,ùjHùjOù‡”jr°j‘°j•°‡”j±^jµ^j¹^‡”jw3j{3j3‡”jõj¢õj¦õ‡”j2j6j:‡”j¸}jÞ}jâ}‡”j˜ƒjœƒj ƒ‡”jê>j?jí>‡”jÁhjähjèh‡”jÌåjëåjï凔jÈ€já€j倇”jÈ jÌ jÐ ‡”jpjÒîjp‡”jœ‚j§‚j«‚‡”jùj®rj]ù‡”jxj7xj;x‡”júÈj Éjɇ”j*!j.!j2!‡”j5BjTBjXB‡”jÆjÆj"Ƈ”jh•jz•j~•‡”j {j%{j,{‡”jvj;vj?v‡”j–•j‚•jU•‡”jHj¢Hj¦H‡”jÓãjÞãjâ㇔j™—j—j¡—‡”jÄ$jÝ$já$‡”jbäjfäjj䇔j–Ñj¨Ñj¯Ñ‡”jVxjdxjkx‡”j ‚j/‚j3‚‡”j j j$ ‡”j»jÙj݇”jØ8jã8jç8‡”jqÇjiÇjGLJ”j|«j€«j„«‡”jš§j³§j·§‡”j†j†j#†‡”j|Dj€Dj„D‡”j¦UjªUj®U‡”(jÈojÓoj×o‡”jÅSjÐSjÔS‡”jj#j'‡”jØjÍ?jJ؇”jƒj‡j‹‡”jojsjw‡”j|ðj”ðj˜ð‡”jÀgjÄgjÈg‡”jUj#Uj'U‡”jõWjXjX‡”jVjVjøU‡”j_Pj‚Pj†P‡”jà”jä”j蔇”j¦j½j㇔jå/j0j0‡”j,j,j,‡”j¡0j¯0j¶0‡”jZ‡je‡ji‡‡”jkŒjcŒjWŒ‡”jë$jPNjD%‡”jÄ¡jç¡j롇”jÒ-jÖ-jÚ-‡”j‚Bj›,j¯B‡”jljhjr‡”j®jÑjÕ‡”jz{j’{j™{‡”jÅßj×ßjÛ߇”jKj0Kj4K‡”jUjnju‡”j–Rj²Rj¹R‡”j•)j®)j²)‡”j wjwjw‡”j#ºj'ºj+º‡”j$®j™7j_®‡”júVjþVjW‡”jÿj3ÿj7ÿ‡”jÈ€jÚ€jÞ€‡”j*j3*j7*‡”j0j>jB‡”j}j j¤‡”j‘,j°,j´,‡”jŸ%j¸%j¿%‡”j’•j–•j𕇔jäÁjöÁjúÁ‡”jœ™j ™j¤™‡”jÉ5jÛ5jâ5‡”jjj%‡”jukjykj}k‡”jÉkjâkjék‡”j‘AjœAj A‡”jGjajJ‡”jÉ jÛ jâ ‡”j|DjŸDj£D‡”jßtjû[ju‡”j j3 j7 ‡”j÷6j7j 7‡”j¨€j½€jÄ€‡”jÃj ÃjÇ”j=\jÎ%ja]‡”jhvjdvjnv‡”jKj%Kj)K‡”j™j ™j™‡”j‘'j´'j¸'‡”j¹LjÄLjÈL‡”j¿*jâ*jæ*‡”j¬”j¾”j”‡”j"ej&ej*e‡”j2j62j=2‡”jŽ–j™–j–‡”jâajbjb‡”jÄäjääjè䇔j8Âj<jɇ”j)j³)j·)‡”j@jDjH‡”jL)j^)jb)‡”js¢j–¢j𢇔j¨ŠjΊjÒŠ‡”j}jyjƒ‡”j j¦ujF ‡”j`yjkyjoy‡”jG\jc\jg\‡”jãjƒãj‡ã‡”jäyjèyjìy‡”jçjùjý‡”jØSjÜSjàS‡”j {j{j{‡”jƒÃjÃj†Ã‡”j3#jY#j]#‡”j+}jI}jM}‡”j¶jÐj¹‡”j,j%,j),‡”jÂ5jÆ5jÊ5‡”j+5jJ5jN5‡”j8j8j 8‡”j‘vj‰vj}v‡”jÁhjÚhjáh‡”j/9jzèj:9‡”j;½jF½jJ½‡”jަj’¦j–¦‡”j«“jÄ“jË“‡”j/9jG9jK9‡”j:jSjZ‡”jˆ'j€'jt'‡”jñ½j ¾j¾‡”jTjTjT‡”jækjñkjõk‡”jm÷j÷j”÷‡”j–Rj¼RjÀR‡”j«Yj¶YjºY‡”j9j(9j,9‡”j„‘j‘j“‘‡”jkÖjyÖj}Ö‡”jdzj˳jϳ‡”j ujuj÷t‡”j¢åj´åj¸å‡”jØ÷jÊ÷j³÷‡”j÷ j j ‡”jdj}j„‡”jM¤jf¤jj¤‡”j¸}jÆ}jÊ}‡”j j j$ ‡”j5j85j<5‡”j,KjKKjOK‡”jejijm‡”j¬âjÆâj¯â‡”jæ¤jø¤jü¤‡”jÏÖjøÖjüÖ‡”j•j"êj•‡”j$®j@®jG®‡”jÞ.jì.jó.‡”jÿ¦j~ejȧ‡”jp¡jt¡jx¡‡”jª4j¦4j°4‡”jKYjVYjZY‡”jwj2wj6w‡”jfjŒj‡”j­j&­j-­‡”j)kj7kj>k‡”j!þj%þj)þ‡”jsj¢sj©s‡”j"VjEVjIV‡”j×GjHjH‡”jxåjƒåj‡å‡”jñ}jé}jÝ}‡”jXrjÚîjcr‡”jLmjWmj[m‡”jåj7åj;凔jÉ%jÔ%jØ%‡”jü_j`j#`‡”j#Dj'Dj+D‡”jyj·yj y‡”jšäj³äjºä‡”jŸ‹j±‹j¸‹‡”jXjwj{‡”j=\j(&j—]‡”jÖijÒijÜi‡”jJÙjNÙjRÙ‡”jØ^jñ^jø^‡”jåcjýcjd‡”j­j­j ­‡”jAèjLèjP臔j3rjQrjUr‡”jå;j<j <‡”j9Cj\Cj`C‡”j¾AjáAjåA‡”jå„jþ„j…‡”j=]j\]j`]‡”já8jó8j÷8‡”j jCjG‡”j÷9jû9jÿ9‡”js’ji’jy’‡”j;­jF­jJ­‡”j×GjýGjH‡”j@ jZ jC ‡”j‚vj†vjŠv‡”j<#jG#jK#‡”jÙÇjzkj›È‡”jd±jr±jv±‡”jqj qjq‡”jF†j^†jb†‡”jHj¢Hj¦H‡”jij{j‡”jÖ´jδj´‡”jôÌjëjÿ̇”jWæjsæjz懔j§jÍjч”j ÍjÉÍjÍ͇”j™½j§½j®½‡”j´ j¬ j• ‡”jb‡j¬‰j¤‡‡”jgµjyµj}µ‡”jØÝjãÝjç݇”j—IjÀIjÄI‡”jÚªjåªj骇”j’j,’j0’‡”jj.j2‡”jº—j2êjÅ—‡”j ×j'×j+ׇ”jœj®j²‡”jN`j``jd`‡”jýZj [j$[‡”j’•j–•j𕇔jz”j£”j§”‡”j>›jP›jT›‡”j|jšjž‡”jL’je’jl’‡”j¦Dj¸Dj¼D‡”j•+j™+j+‡”jEajdajha‡”jM¦jE¦j.¦‡”j"j"j"‡”jf&j&jƒ&‡”jKÏjdÏjkχ”j/ jR jV ‡”jbèj{èj‚臔jS€j^€jb€‡”jÔ~jò~jö~‡”jÿ¦j§j§‡”jÄ(j~ñjÏ(‡”j …j…j…‡”j¼˜j¸˜j˜‡”jÎõjÒõjÖõ‡”j_ëj~ëj‚뇔jbñjfñjjñ‡”jQLjjLjqL‡”j©j»j¿‡”jžjžjž‡”jÁ+jÌ+jÐ+‡”j¸¶j¼¶jÀ¶‡”j=Zj5Zj)Z‡”j,ÛjOÛjSÛ‡”j£—j®—j²—‡”j©×jÂ×jÉׇ”jÐÐjâÐjæÐ‡”jÉ©jâ©j橇”jvljójl‡”j?ójbójfó‡”jæîjñîjõj{bjbj‘b‡”j/`j3`j7`‡”ja›je›ji›‡”jõöj÷j÷‡”jR(jrñj](‡”j±ójÉójÍó‡”jN¤jR¤jV¤‡”j!íj;íj$퇔j%j)j-‡”jAjÒKj¶‡”jSjOjY‡”j¬djÈdjÌd‡”jcˆjgˆjkˆ‡”júâj~ëj㇔j?j ?j$?‡”jÈ–jÀ–j´–‡”j°'j´'j¸'‡”jÅ2j×2jÞ2‡”jpmj‰mjm‡”jçŒjj‡”j-jPjT‡”j3’jR’jV’‡”jSjejl‡”jj'j+‡”jU@jn@ju@‡”jhcj€cj„c‡”ju†jªój€†‡”jÄjÖjÚ‡”j)j"íj˜)‡”j×ajéajða‡”jybj‹bjb‡”j–-j¡-j¥-‡”j¿‹jâ‹j拇”jgjujy‡”j„8j–8jš8‡”jèÖjìÖjðÖ‡”j’žj§žj«ž‡”jµ.j¹.j½.‡”jÉåj2ðjÔ凔j~rj–rjšr‡”jšj šj$š‡”jZjsjz‡”j^rjbrjfr‡”jB6j`6jd6‡”j‘;jª;j±;‡”jµ!jÍ!jÑ!‡”j^?jV?jJ?‡”jÇ"jË"jÏ"‡”j5Áj-Áj!Á‡”j¢j¦jª‡”jTÖjrÖjvÖ‡”jÿ7j"8j&8‡”j$õjõj õ‡”j2;j6;j:;‡”jŸ¡j­¡j´¡‡”jgjcjm‡”jemjZjŸm‡”jjƒj‡‡”jtejejƒe‡”jRÐjkÐjrЇ”j'jJjN‡”jo,j,j…,‡”j«7jÎ7jÒ7‡”jàjvëj&à‡”j¹j¹j¹‡”j•)j™)j)‡”jLÆj_jj‚Ƈ”j°ÚjÉÚjÐÚ‡”j çjBðj燔je¨ji¨jm¨‡”jD•jO•jS•‡”jg;jy;j};‡”j£j£j £‡”j©Ôj»Ôj¿Ô‡”jp j j“ ‡”jfKj‰KjK‡”jºXjÓXj×X‡”j=Ój[Ój_Ó‡”jï€jj ‡”j*j…*j‰*‡”jðWj XjX‡”j—j8—j<—‡”jÔãjóãjú㇔j …j…j"…‡”jå]jð]jô]‡”j·Qj³Qj½Q‡”j\jnjr‡”j0ÀjBÀjFÀ‡”j˜j˜j!˜‡”jNj-Nj1N‡”j j$j+‡”jŸjHcjƒŸ‡”j8zjQzjUz‡”jšj®šj²š‡”j‘Ej´Ej¸E‡”j¿ j†ìjÊ ‡”jhj›hjŸh‡”j)jLjP‡”j±GjÐGjÔG‡”jÿ¦j%§j)§‡”jl1j|j¿1‡”jØ»jÜ»j໇”j¬j°j´‡”j­µj¿µjõ‡”j¿j1¿j8¿‡”j‘Aj´Aj¸A‡”j×jÛj߇”j%$jfñj0$‡”j7jjSjjWj‡”jÔ jó j÷ ‡”j_ëj]pj“뇔jxj|j€‡”jÉœj\j ‡”j°jj8jŒ°‡”jÙÇj/kjnȇ”jmÛj†ÛjÛ‡”jíUjñUjõU‡”jYÍjuÍjy͇”jãjçj뇔jÌjÐjÔ‡”jÏj%Ïj)χ”jpj6pj:p‡”jWýj:ìjbý‡”jôþjJìjÿþ‡”jÛÀjôÀjûÀ‡”jtj#tj't‡”jÿ~jÆéj ‡”jŸj>cj}Ÿ‡”j¹qj½qjÁq‡”jºJjÒJjÖJ‡”jKj€jSK‡”jêZjîZjòZ‡”j1jKj4‡”jàºjäºj躇”jðÅj ÆjƇ”jLj&Lj*L‡”jƒ§j¨§j†§‡”j¼RjßRjãR‡”j'|jT|jX|‡”jLOj^OjeO‡”j3âjVâjZ⇔jj(j‡”j{ˆjšˆjžˆ‡”j¶ñjÎñjÒñ‡”j[ j_ jc ‡”jfj7fj>f‡”jÖôjúëjáô‡”jEªj^ªjbª‡”jÚÚjöÚjúÚ‡”jY’jâ‹j’’‡”jÑ’jã’jç’‡”j:Œj2Œj&Œ‡”j¸ŸjØŸjÜŸ‡”jÃ>jæ>jê>‡”j¿|jÃ|jÇ|‡”j¤j¨¤j¬¤‡”jâ†j‡j‡‡”j’j¾wjȇ”jèpj qjq‡”joj¾j¬‡”jŽjªj®‡”j¶[jÕ[jÙ[‡”j 2j¤2j¨2‡”j5çjªëj@燔jѶjÕ¶jÙ¶‡”jIPjMPjQP‡”jÓNjÞNjâN‡”jq2j”2j˜2‡”jÌLjÚLjÞL‡”jûƒjÿƒj„‡”jj¯j³‡”jRjµRj¹R‡”jqÙjCnjÚ‡”jA¬jS¬jZ¬‡”j¯jÒjÖ‡”jO jr jv ‡”j_ŽjjŽjnއ”j½2jÁ2jÅ2‡”j jü j ‡”j=\jÓ%jd]‡”jÝÌjèÌjì̇”jÿ~jj‡”jsíjŒíj“퇔j@©j<©jF©‡”jøjj‡”j6>j.>j>‡”j"¾j&¾j*¾‡”j/Rj3Rj7R‡”jòjÞëj ò‡”jK$jàyj{$‡”jÉ5jì5jð5‡”j©[j­Wjí[‡”jhÿj€ÿj„ÿ‡”jM3jp3jt3‡”jÃÐj¿ÐjÉЇ”j¼BjÀBjÄB‡”jÓ@já@jå@‡”jdzjÒ³jÖ³‡”jȲjë²jﲇ”j1jTjX‡”j,Kj éj7K‡”j©©j´©j¸©‡”j ¶j&¶j¶‡”jŒFj¥Fj©F‡”jóDj÷DjûD‡”j,½j(½j2½‡”j Bj$Bj+B‡”jè§j¨j ¨‡”j#æj:ðj.懔j¡¨jÀ¨jĨ‡”jÄ·jÒ·jÙ·‡”jâ†j.ïj톇”jB\j‚òjM\‡”j¯Oj³Oj·O‡”j—~j›~jŸ~‡”j±Pj¼PjÀP‡”j¨Pj Pj~P‡”j7„jZ„j^„‡”j.õjFõjJõ‡”j³ªj̪jЪ‡”jAÊjEÊjIʇ”jÖÓjõÓjùÓ‡”jG«jY«j`«‡”jþºj »j »‡”j´ j¸ j¼ ‡”jaj„jˆ‡”jNj½jš‡”jÝjïjó‡”jbÙjmÙjqÙ‡”jj(j‡”j±j±j ±‡”j jj ‡”jÎÄjñÄjõć”j¶jÁjŇ”jêZjzòjõZ‡”jšmjq…jÇm‡”jhÿjGj•ÿ‡”jËjËjˇ”j¼çjÀçjÄ燔jÞpj÷pjþp‡”j…j—j›‡”jë´jö´jú´‡”j¥…jÄ…jÈ…‡”j\:j`:jd:‡”jj~j|~jƒ~‡”j3…jL…jP…‡”jj”j˜‡”j¨ƒj.j܃‡”jÛUjßUjãU‡”jN jR jV ‡”j™Nj¤Nj¨N‡”jn¬jy¬j}¬‡”jùwjöîjx‡”•j¦±j±±jµ±‡”jÉjðIjü‡”jÈj Èj$ȇ”jŒj—j›‡”j™j:™j>™‡”jx·j|·j€·‡”j j. j2 ‡”j}_j—_j€_‡”jd°jv°j}°‡”j× jð jô ‡”j»>já>jå>‡”jˆ j¡ j¨ ‡”jãoj pj p‡”j1j<j@‡”j)Pj-Pj1P‡”jºrjÝrjár‡”jR-j`-jg-‡”j-“jF“jM“‡”j°Ãj»Ãj¿Ã‡”jÅSjÉSjÍS‡”jõ®j¯j ¯‡”j‰Ìj”Ìj˜Ì‡”jójójó‡”jéjájÕ‡”jSHjeHjiH‡”j·øjÅøjÉø‡”jC‹jU‹j\‹‡”jÿ¦j¡ejݧ‡”jMIjXIj\I‡”jèÑjìÑjðч”jŒÙj—Ùj›Ù‡”jz”jŸ”j}”‡”j:&jE&jI&‡”jøíjüíjj²"jÕ"jÙ"‡”j¼újÀújÄú‡”jÖÕjäÕjëÕ‡”j[j_jc‡”jKjéjAK‡”jMIjiIjmI‡”j{:j:jƒ:‡”jîjîpjgjÉœjzj‡”j×0jÛ0jß0‡”jrWjWj”W‡”j{©j©j‘©‡”j.j$j4‡”j„»j»j“»‡”jÉžjÞžj垇”j0Àj;Àj?À‡”j jü j$ ‡”jŒljšlj¡l‡”j?¬j^¬jb¬‡”j–RjšRjžR‡”jLVjPVjTV‡”j¨Šj6ïj³Š‡”jðŒjj ‡”j؇j܇jà‡‡”jÛjÛj Û‡”jz€jš€jž€‡”jUjYj]‡”jòåj æj懔jŒj6Œj:Œ‡”jÏjÏj"χ”jfjjjn‡”j•Qj¯Qj˜Q‡”j§ájÊájÎᇔj‹j¤j«‡”j«j½«jÁ«‡”jjwjnwjrw‡”j‰j+‰j/‰‡”j”fj¦fj­f‡”jWj&Wj-W‡”jL¢j^¢jb¢‡”j²|j¶|jº|‡”jï?jý?j@‡”j3j7j;‡”jXjXj"X‡”jÆŒjØŒjÜŒ‡”jrj‹j’‡”j·àjÂàjÆà‡”jj‘j•‡”jÚqjåqjéq‡”jL~jP~jT~‡”j/j*/j./‡”j‡Jj’Jj–J‡”jD‰jH‰jL‰‡”jðfjgjg‡”jËXjNîjÖX‡”jU9j{9j9‡”jÕÍjøÍjü͇”j¨j˜j®‡”j8ËjVËjZˇ”j~jjžjj¢j‡”j|Äj‡Äj‹Ä‡”j¼¸jظjܸ‡”jÇýjËýjÏý‡”jemj„Zj¢m‡”jeLjpLjtL‡”jxj†j‡”jÞijâijæi‡”jÀ8jà8jä8‡”j¤j jª‡”jã'j(j (‡”j Tj¼TjÀT‡”jÈ-jÄ-jÎ-‡”jŠšj 4j·š‡”j{SjSjƒS‡”jñWjÿWjX‡”jñXjRîjüX‡”jfKjxKj|K‡”jÿj,ÿj0ÿ‡”jg,j‡,j‹,‡”j2…jQ…jU…‡”j\j!\j%\‡”jõÈjÉjɇ”jrüjŠüjŽü‡”jH)jL)jP)‡”j.¹jG¹jK¹‡”j j jø ‡”j•4j®4jµ4‡”jmujuj”u‡”j¶ÿjÈÿjÌÿ‡”jCŒjNŒjRŒ‡”jl1j™1j1‡”jžšj¢šj¦š‡”jî+j,j,‡”j’}jºéj}‡”j,ùj0ùj4ù‡”j‘µjªµj±µ‡”jI˜jT˜jX˜‡”j»€jÆ€jÊ€‡”jj¨j¬‡”j=j›=jŸ=‡”j±CjµCj¹C‡”jüCjDjD‡”jÕëjÙëjÝ뇔jj.j5‡”já¨jó¨jú¨‡”j»j»j»‡”jõÈjÉjɇ”j<#jN#jU#‡”j HjHjH‡”jxGjƒGj‡G‡”jèDjìDjðD‡”jߟj,5jA ‡”jDüjOüjSü‡”jb‡j¢‰jž‡‡”j ŸjfêjŸ‡”jªjšêjª‡”jèAjBj B‡”j=pjÖîjHp‡”j§ÕjÆÕjÊÕ‡”jÚ?jÒ?jÆ?‡”j)bj-bj1b‡”j³j³j!³‡”j”j!”j ”‡”j+ôj/ôj3ô‡”jJÑj§>j“ч”j˜ƒj£ƒj§ƒ‡”jwujšujžu‡”jR·j`·jg·‡”j<j<j"<‡”jÜïjçïjëj¬”j·”j»”‡”jÙjäj臔j Ñj«Ñj¯Ñ‡”j¼{jØ{jÜ{‡”jgEjrEjvE‡”jñWjXjX‡”jÒójäójëó‡”j j©-j^‡”jŽj(Žj,އ”jkhjohjsh‡”jojoj!o‡”jJejcejje‡”jP"j®çj["‡”jº—jL3j˜‡”jœßj»ßj¿ß‡”jžgj²YjËg‡”jøfjüfjg‡”jåij÷ijþi‡”jXjjwjj{j‡”j%Âj0Âj4‡”jŽcj­cj±c‡”jv¤j•¤j™¤‡”jZ€j^€jb€‡”jej=ejAe‡”j?¿jM¿jT¿‡”jó%jþ%j&‡”jd&jh&jl&‡”jWÂj}Âj‡”jÞ¶jþ¶j·‡”jnuj`ujTu‡”jjj‡”jå%j&j&‡”j²j=²jA²‡”jáýjóýjúý‡”j×ajâajæa‡”jTjXj\‡”jIj5IjjŠèjz>‡”jJjHjŒ‡”jC÷j_÷jc÷‡”j±jµj¹‡”jsÚjwÚj{Ú‡”jªj7ªj;ª‡”jŽjû`j·Ž‡”j¢j¢j¢‡”jæ•j –j –‡”j¾žjžjÆž‡”jÔƒjôƒjøƒ‡”jðŒjìŒjöŒ‡”jUj`jd‡”j¾%jÚ%jÞ%‡”jâjâj⇔j©j8©j ©‡”jÁ)jÌ)jÐ)‡”ja.j.jƒ.‡”j?ijbijfi‡”jº—jÈ—jÌ—‡”jÇjËjχ”jÁ)jÅ)jÉ)‡”j$ßj6ßj=߇”jäæjýæj燔jÜ"j#j#‡”j¼wjÀwjÄw‡”jr™jv™jz™‡”j—„j©„j­„‡”jVâjyâj}⇔jèjýçjñ燔j4€jL€jP€‡”jÎgjÒgjÖg‡”jôOjPj÷O‡”jµ!jžçjÀ!‡”jL0jP0jT0‡”jÙ¦jø¦jü¦‡”joj·oj o‡”jøj j‡”jpRjtRjxR‡”jõøjùj ù‡”j|;jŽ;j•;‡”j¸xjÃxjÇx‡”jjjjjj‡”j‰Ìj¬Ìj°Ì‡”jˆäjBj»ä‡”jÊSjïSjÍS‡”j…!j£!j§!‡”j˜Àj»Àj¿À‡”j+jNjR‡”jl}j‹}j}‡”j@újRújYú‡”jÇWjÒWjÖW‡”j rj$rj r‡”jŠsjŽsj’s‡”jŽj@ŽjDއ”jŸMjªMj®M‡”jgj)gj0g‡”jƒFjTj·F‡”jLíj^íje퇔j+1jQ1jU1‡”jÎâjÆâjºâ‡”jþjþj!þ‡”j"j-j1‡”j‹îjƒîjwj¿àjÃàjÇà‡”j+·j=·jA·‡”jõbjcjc‡”j:Ôj>ÔjBÔ‡”j"¢j&¢j*¢‡”j€‰j„‰jˆ‰‡”jºJj¾JjÂJ‡”j!jD!jH!‡”j)kjHkjLk‡”jÉ@jÍ@jÑ@‡”jÅjÚïj)Ň”jÒ—jî—jò—‡”j‘\jœ\j \‡”jÀÆjÄÆjÈÆ‡”jþºj»j»‡”jBj^jb‡”jëjΫjÒ«‡”jÆ­jªêjÑ­‡”js jw j{ ‡”jq¦j¦jƒ¦‡”j{ÒjÒjƒÒ‡”jk­j]­jQ­‡”jÇ jË jÏ ‡”j.9jF9jJ9‡”j=\jí$jÚ\‡”jF†jT†j[†‡”jÞ!j¢çjé!‡”jGYjKYjOY‡”j±j/±j3±‡”jZ6je6ji6‡”jBXjMXjQX‡”jÿjjkjk‡”jwÄjsÄj}ć”jaj aja‡”jç8j 9j9‡”jNZjlZjpZ‡”jò4jý4j5‡”j€Äj£Äj§Ä‡”j¡¨jǨj˨‡”j›ßjŸßj£ß‡”j‹‰j‰j“‰‡”j(òj,òj0ò‡”jï±j ²j²‡”jÙÇj¶kj¿È‡”júîjïj jX jv jz ‡”j·ËjÂËjÆË‡”jŠjŸj¦‡”j…9j‰9j9‡”j‚Bj²Bj¶B‡”j>£jP£jW£‡”jGj-Gj1G‡”jmajŒaja‡”jMjQjU‡”jõzjñzjûz‡”j>j>j >‡”jPìj[ìj_쇔j~>jš>jž>‡”jÕÍjÙÍjÝ͇”jðjðjð‡”je½j~½j‚½‡”jw:jo:jc:‡”jÔ jâ jé ‡”jN’jR’jV’‡”jdÒjoÒjsÒ‡”jýj¯ýj¶ý‡”j$fj/fj3f‡”jºFjÝFjáF‡”jàvjÿvjw‡”j:Œj6Œj@Œ‡”jŽjy`jiއ”juj¢j¦‡”j«Yj½YjÄY‡”jÅSjèSjìS‡”jKjKjK‡”jßtj÷tjût‡”jºjØj܇”j@jNjU‡”j›UjŸUj£U‡”j€j)€j0€‡”jîj7îj;j·njÅnjÌn‡”jõj j‡”jX"j~"j‚"‡”jDgjggjkg‡”j$ßj/ßj3߇”j~›j›j”›‡”jdjhjl‡”j‹Cj§Cj®C‡”jX„j<‰jœ„‡”j‘ˆj´ˆj¸ˆ‡”jZ jr jv ‡”jÅj=ÅjAŇ”jxjxjx‡”jEÖjSÖjZÖ‡”j…9j9j¡9‡”jñ‹jõ‹jù‹‡”jwAjw~jªA‡”j,·j0·j4·‡”jd“j‡“j‹“‡”jYj|j€‡”j,>jH>jL>‡”jÁ§jŧjɧ‡”jšmj{…jÍm‡”j^j"^j&^‡”j×GjâGjæG‡”jëojpj p‡”jÄj Äjć”j³&jjã&‡”jÓZjÞZjâZ‡”jÒ jì jÕ ‡”jŽjÎ`jœŽ‡”jj j$‡”jò?jö?jú?‡”j™,jÉ,jÍ,‡”j%§jE§jI§‡”j ŽjŽj!އ”jø‘j’j’‡”j7$j;$j?$‡”jYÓjsÓj\Ó‡”jj#j*‡”júâjãj㇔jb‡jŠjà‡‡”jªj"ªj&ª‡”jõ—j˜j˜‡”jqÙjÐmj¿Ù‡”jé+jû+jÿ+‡”j.ëj2ëj6뇔j†»j‘»j•»‡”jLöjjöjnö‡”j>[j\[j`[‡”j!±j,±j0±‡”jïSjÙj9T‡”j BjBjB‡”j«¨j˨jϨ‡”jUnjynj}n‡”jžj žjž‡”jš.j½.jÁ.‡”jôsjÿsjt‡”j2jUjY‡”jX"jp"jt"‡”jŠ'jŽ'j’'‡”j†Õj©Õj­Õ‡”j½Œj¹ŒjÃŒ‡”jüOj PjP‡”jLzjezjlz‡”j<£j\£j`£‡”j˜jïj£‡”jêj)êj0ꇔjuj0uj4u‡”jìj žjž‡”jl}j„}jˆ}‡”jþj+þj2þ‡”j5Žj9Žj=އ”jÖ”jä”j딇”jG\jY\j`\‡”j7jZìjB‡”jw%j{%j%‡”j|wj€wj„w‡”j«7jÄ7jË7‡”jÛüjíüjôü‡”jÂ5já5jè5‡”jµj1µj5µ‡”j,ùjFjgù‡”jÉœjöœjúœ‡”j­j­j­‡”jÇjßj㇔jIÀjEij€À‡”j„j j¤‡”jØ^jû^jÿ^‡”j×jéj퇔j©­j­­j±­‡”jú!j "j"‡”j=\jò$jÝ\‡”j|âjxâj‚⇔jCÛj\ÛjcÛ‡”jNSjRSjVS‡”jÉjãj̇”jâ–j—j —‡”já{jì{jð{‡”j©HjÏHjÓH‡”j’j¸j¼‡”j–Æj²Æj¶Æ‡”jn<j€<j„<‡”jTÝjPÝjZ݇”jwuj‰uju‡”jŒ¬j¬j”¬‡”j¿§jâ§j槇”j€¾j„¾jˆ¾‡”jC jN jR ‡”jõöj÷j ÷‡”j#Gj=Gj&G‡”jD<jV<j]<‡”j›öjŸöj£ö‡”jæBjñBjõB‡”jd?jy?j€?‡”j&Œj*Œj.Œ‡”j­jÉj͇”jq\jƒ\j‡\‡”jøj*øj1ø‡”j³&jêçj¾&‡”jÏ¿jG;jÀ‡”jà_jÜ_jæ_‡”j¥j·j¾‡”jØj©Øj’؇”jëäjïäjó䇔j ´j´j´‡”já¬jݬj笇”jötjuju‡”jFÊjJÊjNʇ”j¡0j¥0j©0‡”j j’uj: ‡”j–Ij’IjœI‡”jP×jT×jXׇ”jÛJjíJjñJ‡”j!jJñj!‡”jj×jY‡”j8ƒjQƒjUƒ‡”jê¹jmhj/º‡”j¿¬jÛ¬j߬‡”j$ßj@ßjD߇”(jt%jŽ%jw%‡”jÍjÑjÕ‡”jæ&jÿ&j'‡”jišj…šj‰š‡”j7jBjF‡”j¦j4¦j8¦‡”j”ýjŒýj€ý‡”jØøjÜøjàø‡”j¸j¼jÀ‡”j~rj{[j«r‡”j§j¿jÇ”jˆjˆjˆ‡”j¹‰jÕ‰jÙ‰‡”jÜñjûñjÿñ‡”jÀj,Àj0À‡”j•)j§)j«)‡”jü…j†j†‡”j÷Þjßj߇”j@ÝjDÝjH݇”j}ýjœýj ý‡”jÿjj‡”jàèj éj釔jë$j%j%‡”j ?j?j?‡”jj¾jJ‡”jDjxj|‡”jj¶j½‡”jÒljÖljÚl‡”jHDjgDjkD‡”j!mj?mjCm‡”jÅÚjÞÚjåÚ‡”jÑ®jã®jꮇ”j›?jŸ?j£?‡”jåcjR„jd‡”j j.j2‡”j —j—jø–‡”j¸\jÊ\jÎ\‡”jkjkjk‡”jþdj eje‡”jÒnjõnjùn‡”ji—j{—j—‡”jùjùj ù‡”j÷jj‡”jwójoójcó‡”jÀ¢jã¢j碇”jàjàj!à‡”jpUj“Uj—U‡”jœj˜j¢‡”jpQjîj{Q‡”jŒÙj¥Ùj¬Ù‡”jA*jE*jI*‡”jÕjçj뇔j?¿j^¿jb¿‡”jFQjiQjmQ‡”j‘ej­ej±e‡”jºØjÝØjáØ‡”j"¾j7¾j>¾‡”j·ljÚljÞl‡”j¨j+¨j2¨‡”jº:j¾:jÂ:‡”j¯OjÎOjÒO‡”jÁujÌujÐu‡”j=\j~%j1]‡”jzMj~Mj‚M‡”j¦‹j¸‹j¿‹‡”j ~j$~j(~‡”jYjQjE‡”j/Éj3Éj7ɇ”j†j‘j•‡”jêjêjú釔j‚jxjˆ‡”jZ»jl»jp»‡”jL0jW0j[0‡”j×GjìGjðG‡”j•?j?j?‡”jôsj tjt‡”j+Hj=HjAH‡”j.jA.jE.‡”jwœjœj”œ‡”jË£jÖ£jÚ£‡”j‰j‰j‰‡”jº­jÎjç­‡”jqXj—Xj›X‡”jqvj”vj˜v‡”jȱj̱jᇔj06jS6jW6‡”j`|j||j€|‡”j%—j>—jE—‡”jÚjýj‡”jÚòjýòjó‡”jVjVjíU‡”jÈ€jè€j쀇”j‹1j¤1j«1‡”jàÙjùÙjÚ‡”jºÉj¶ÉjÀɇ”ji™je™jo™‡”jœ"j§"j«"‡”jëNjýNjO‡”j”ýjýjšý‡”jdqjhqjlq‡”j-j,-j0-‡”jâ–jæ–jê–‡”j_ÌjxÌj̇”jrLjæíj}L‡”j£jÁjŇ”jÚ'jÒ'jÆ'‡”jÂÀjåÀjéÀ‡”jƒj1ƒj5ƒ‡”j8àj4àj>à‡”jt4j†4jŠ4‡”jeªj…ªj‰ª‡”jG jY j] ‡”j}=ji=j]=‡”j¥ìjÈìjÌ쇔jMjpjt‡”jq#ju#jy#‡”j.rj2rj6r‡”jl†j‹†j†‡”j± jÏ jÓ ‡”järjèrjìr‡”j‹XjƒXjwX‡”jgj3gj:g‡”j —j/—j3—‡”j´PjÓPj×P‡”j0lj4lj8l‡”jY+j]+ja+‡”jŽ#j±#jµ#‡”jOÕjaÕjeÕ‡”jl1jÆñjw1‡”jŒÿjÿj”ÿ‡”jôÉjÊjʇ”j™«j««j¯«‡”jô7j8j8‡”jŒèj¥èj¬è‡”jmäj"ðjx䇔j8ÙjJÙjNÙ‡”j¶ujÐuj¹u‡”jòÅjÆjƇ”jzìj“ìjšì‡”jÖôjäôjëô‡”jï‹jç‹jÛ‹‡”jqÙj™mjžÙ‡”j‘jŸj£‡”jTjfjj‡”jb‡jz‡j~‡‡”jëhjïhjóh‡”jˆEjŒEjE‡”jTÄjXÄj\ć”jd±jh±jl±‡”jOjOjO‡”j9(jK(jO(‡”j£Oj§Oj«O‡”jš8j³8j·8‡”j¦ÉjªÉj®É‡”j¼)jŠñjÇ)‡”j}^j^j…^‡”jÖ jÚ jÞ ‡”j†VjŠVjŽV‡”jÓdjñdjõd‡”j“šj—šj›š‡”jSjhj“‡”j’Ëj¤Ëj¨Ë‡”jŒ.j¨.j¬.‡”j“j“j“‡”jªˆj®ˆj²ˆ‡”jç¸jݸjí¸‡”j´2j°2jº2‡”j¦wjªwj®w‡”jJÞjBÞj6Þ‡”j}ûj’ûj–û‡”jÖjÚjÞ‡”j"’j;’jB’‡”jçRj.Vj$S‡”ja4js4jz4‡”j“žj¥žj©ž‡”jLÉjWÉj[ɇ”ju j˜ jœ ‡”j j&j*‡”jkþjoþjsþ‡”j`sjdsjhs‡”jôjj‡”jâ~jæ~jê~‡”j«“j¯“j³“‡”jJjJj#J‡”jSìjoìjs쇔j=\jö%jy]‡”jíØjߨjÓØ‡”j¼kjßkjãk‡”jw=jm=j}=‡”jˆ´j«´j¯´‡”jj¢j¦‡”jÍjÍj"͇”j\§j`§jd§‡”j§j“j‡‡”j*j'Oj¼*‡”jMäjXäj\䇔jkþj„þj‹þ‡”jCjCjC‡”jë+jý+j,‡”j¤j¨j¬‡”jhÿjvÿj}ÿ‡”j¸j"¸j&¸‡”jàj€j €‡”j j j ‡”jÄ¡jÝ¡j䡇”j,ˆj7ˆj;ˆ‡”j`-j-jƒ-‡”j6{jA{jE{‡”jRwjkwjrw‡”j rjrjr‡”jÚÚjìÚjóÚ‡”j_(jêj{(‡”j«jÐj®‡”jïjj ‡”jÆ™jó™j÷™‡”jBjWj[‡”j j°ujL ‡”jΨjܨjਇ”j`yjyyj€y‡”jFÒjiÒjmÒ‡”jt7j‰7j7‡”jÏèjáèjè臔j¯rjÉrj²r‡”jôôjøôjüô‡”j þjþjþ‡”jI{jчj‰{‡”jp.j‚.j†.‡”j¨}jË}jÏ}‡”jñ½j¾j¾‡”jétjuj u‡”jG\jR\jV\‡”j• j³ j· ‡”jodjsdjwd‡”j”%j¦%jª%‡”j/ÁjKÁjOÁ‡”jŒÔjÔj”Ô‡”jã¿jÀj濇”jbj…j‰‡”jt5j’5j–5‡”jÏèjëèjï臔jPjsjw‡”jyZj}ZjZ‡”j`ÍjkÍjo͇”j¦j¦j¦‡”jVjZj^‡”jjRçj'‡”jì2j 3j3‡”j‚¯j«¯j¯¯‡”jØjØj&؇”jf[j‰[j[‡”jÁDjäDjèD‡”j°j°j°‡”jlYjÔ‚jŸY‡”jE'jI'jM'‡”jýIjJjJ‡”j’æjæj¡æ‡”jú}jþ}j~‡”j§’j¹’j½’‡”j+Fj9Fj=F‡”jmaj¶òjxa‡”j1j,1j01‡”jEÐjhÐjlЇ”j_(j™(j(‡”jovj‰vjrv‡”jŽjFïj%އ”jUðjgðjkð‡”jÄ$jÏ$jÓ$‡”j½jÏjÓ‡”jˆ„j¦„jª„‡”jN7jR7jV7‡”j¸¯jÔ¯jÛ¯‡”j}ÎjˆÎjŒÎ‡”jØÝjñÝjøÝ‡”j$Sj6Sj:S‡”jQjMjW‡”j—nj©nj­n‡”j¥j¡j«‡”jÊ‚jÜ‚jà‚‡”j’kj¤kj¨k‡”j³rj¯rj¹r‡”jý j¡j¡‡”júXjjòjY‡”j²j ²jý±‡”j—j©j­‡”jÙjëjò‡”jcjxj‡”jÁ¾jžjɾ‡”jqÙjÕmjÂÙ‡”j{àj àj~à‡”jþºj»j»‡”j¸}j¼}jÀ}‡”jR»jn»ju»‡”js¤jŒ¤j“¤‡”jî¹j ºjº‡”jߟj5j) ‡”jf[jx[j|[‡”js§jw§j{§‡”j3jVjZ‡”jO“jh“jo“‡”j‚òj†òjŠò‡”jj j‡”j›jB›jF›‡”jŠjÛHjć”jð©jªjª‡”jª:jÞ:jâ:‡”jïjyïjmjd³jh³jl³‡”j“”j—”j›”‡”jRDjkDjrD‡”jŸ‹j»‹j¿‹‡”jgújújjú‡”j-ÖjPÖjTÖ‡”j¨Qj¬Qj°Q‡”j=jAjE‡”jyjyj y‡”j¿|jÊ|jÎ|‡”jà:j´}jF;‡”j¸Òj¼ÒjÀÒ‡”jQ¡jU¡jY¡‡”j#Ij'Ij+I‡”jÑájzëjÜᇔjÆ™jì™j𙇔jvªjªjyª‡”jŒ·jš·j¡·‡”jÞ5j6j6‡”jNjRjV‡”jèj"èj&臔juYj˜YjœY‡”jqQjQjƒQ‡”jS}jW}j[}‡”jÙ·j÷gj¸‡”jÇjÇjLJ”jîjòjö‡”j…|j¨|j¬|‡”jÕ"j¶çjà"‡”jajYjM‡”jj¡j¨‡”j+âjIâjM⇔jij©ij­i‡”j¤ìjÑìjÕ쇔j…GjGj”G‡”j‡"j‹"j"‡”jkêjƒêj‡ê‡”jÉIjìIjðI‡”j jw j‡ ‡”jñ½j¾j¾‡”j»cjècjìc‡”jtájfájZᇔjDgj`gjdg‡”jëäjåj凔jøªj «j«‡”jJÅjUÅjYŇ”jAÿjZÿj^ÿ‡”jï\j]j]‡”jÉÔjÔÔjØÔ‡”jÉœjWj‡”jªòj¼òjÀò‡”jú}j~j~‡”j¬j¾jŇ”jNjŸjˆ‡”jU¶jn¶ju¶‡”jÿj3ÿj7ÿ‡”jŒj<0jtŒ‡”jñ3j4j4‡”j»;jÔ;jÛ;‡”jzMjMj¡M‡”j<j<j<‡”j¿jÃjLJ”j¸³jÛ³jß³‡”jÆ™jãŒjú™‡”j¨j°¨j´¨‡”jÁ#jç#jë#‡”jvyjˆyjy‡”j.ëj@ëjG뇔j+jNjR‡”jfj4fj8f‡”jjj‡”jçàjòàjöà‡”jwöjöj—ö‡”j‹áj§áj«á‡”j0Tj;Tj?T‡”jùLjMj M‡”jOjdjh‡”j?jCjG‡”j8j8j8‡”jm6jq6ju6‡”j(j(j(‡”jhkjskjwk‡”jÔ1j÷1jû1‡”j«ajÎajÒa‡”j;ijFijJi‡”j- j; j? ‡”j7jUjY‡”j+Fj@FjDF‡”jj%jn%jr%‡”jäyjýyjz‡”jö¯j°j°‡”j?vjêîjJv‡”jÅnjÉnjÍn‡”jðÅjÆjƇ”j…Gj—Gj›G‡”jeŸjiŸjmŸ‡”jXòjtòjxò‡”jL·jP·jT·‡”jžjÁjŇ”jŸj£j§‡”j2ÓjNÓjRÓ‡”j‘j)‘j-‘‡”j j@ jD ‡”jQ¡jj¡jq¡‡”jÝnjÊîjèn‡”jÞj÷jû‡”jp¡j‚¡j†¡‡”jÞjÚj䇔j©j­j±‡”jÆfjØfjÜf‡”jP6jT6jX6‡”jL1j^1jb1‡”jÙjjÝjjáj‡”jqj%qj,q‡”jE jI jM ‡”jQ­jU­jY­‡”j:jLjP‡”jhÿjGj˜ÿ‡”j´MjÍMjÔM‡”jÌFjÐFjÔF‡”jÏzjçzjëz‡”jg)j†)jŠ)‡”j"hjAhjEh‡”jÎjÊjÔ‡”jsjsjs‡”jLNjrNjvN‡”jl¿j¿j“¿‡”jYjdjh‡”jMIj_IjfI‡”j´Pj îj¿P‡”j“j¶jº‡”j³ÌjÖÌjÚ̇”jaŸj„ŸjˆŸ‡”jérjsj s‡”j$j j*‡”j[0jt0j{0‡”j4j4j4‡”j:“j>“jB“‡”j5j9j=‡”jk^jo^js^‡”jîjCqjšî‡”j­»jÉ»j뇔j¹j½jÁ‡”j´ijÒijÖi‡”jЊjÔŠjØŠ‡”j`jrjv‡”jWjbjf‡”jÝBjèBjìB‡”jÇbjæbjêb‡”j–Šj¨Šj¯Š‡”jÝ®j¯j¯‡”jiwjmwjqw‡”jejeje‡”jÏ!jé!jÒ!‡”jÊsjãsjês‡”j±ïjËïj´ï‡”j÷OjûOjÿO‡”j3 jL jP ‡”jåcj djd‡”j‹Æj¤Æj«Æ‡”jèXjYjY‡”j´PjáPjåP‡”jxüjŠüj‘ü‡”j,€j0€j4€‡”jo>jz>j~>‡”j1ŸjWŸj[Ÿ‡”j›­j¹­j½­‡”j"¢jE¢jI¢‡”jõjÖìj‡”jujuju‡”j j$j(‡”jÆ™j÷Œjš‡”j!j3j:‡”j×GjéGjíG‡”j[9j_9jc9‡”jÌYjÐYjÔY‡”jÖ”jÒójᔇ”jëjöjú‡”j¼éj¸éjÂ釔j jª jW ‡”jí˜jø˜jü˜‡”jµŸjÀŸjÄŸ‡”jmäj“äj—䇔j¶ÙjÙÙjÝÙ‡”jÏVjéVjÒV‡”j»kj¿kjÃk‡”jƒ‚j‡‚j‹‚‡”jÎKjW jL‡”jË…jœ.j †‡”jà:jÿ:j;‡”jÇjæjꇔjfhjqhjuh‡”jYVj]VjaV‡”j!j%j)‡”j}ûj¸ûj¼û‡”jÇWjËWjÏW‡”j°¡j´¡j¸¡‡”jxŽjtŽj~އ”jüjj#‡”j—tjµtj¹t‡”jÎjÆjº‡”jì jð jô ‡”jYFjdFjhF‡”jÛPj;jQ‡”jŽqj§qj®q‡”j"Dj&Dj*D‡”j2zjDzjHz‡”j3#j/#j9#‡”j)j4j8‡”jÙ¦jݦjᦇ”jŠÎjœÎj Î‡”j[BjzBj~B‡”j^pjZpjdp‡”jb‡j§‰j¡‡‡”jÔºj÷ºjûº‡”j@j>@j@‡”j¦¶jÀ¶j©¶‡”jŠ'jŸ'j¦'‡”jÝjöjú‡”jˆój€ójtó‡”j,WjKWjOW‡”j¥j2¥j¥‡”j=\jÊ$jÅ\‡”j¤3jÇ3jË3‡”jÃ&jÇ&jË&‡”jGjGjG‡”j©ÔjÂÔjÆÔ‡”jÜj'Üj.܇”jNj‘Nj•N‡”j–-j¨-j¯-‡”j¼RjÎRjÒR‡”j¼újÇújËú‡”jæljôljûl‡”jíjûj‡”jŽoj†ojzo‡”jWæj„æjˆæ‡”jï\jó\j÷\‡”j¯ÇjºÇj¾Ç‡”jo>j}>j„>‡”jj,j0‡”jf&j†&jŠ&‡”jš¡j³¡jº¡‡”jiÔjtÔjxÔ‡”j}âj›âjŸâ‡”jPj*Pj.P‡”jžœj©œj­œ‡”j%j%j %‡”jêjêjꇔj äj4äj8䇔jƒ_jo_jc_‡”j67j:7j>7‡”j´,jBíj¿,‡”jߟj5j/ ‡”j—…j³…j·…‡”j,€j>€jB€‡”j`áj~áj‚ᇔj÷j j ‡”jÒQjîQjòQ‡”jhj7hj;h‡”jAj}Kjƒ‡”jij*iji‡”j!¼j%¼j)¼‡”jÞ5jð5j÷5‡”jÜ jû jÿ ‡”jujuj#u‡”jÕ®jà®j䮇”j|_j°_j´_‡”jÂÒjÔÒjØÒ‡”j¦ÖjÄÖjÈÖ‡”jT¼jm¼jt¼‡”jFZjQZjUZ‡”jÌjõjù‡”jº8j¾8jÂ8‡”j­j²­j¶­‡”jùÞjßj߇”jiFjŒFjF‡”j½ejµej©e‡”j·àjÓàj×à‡”j\ÃjuÃj|Ç”jå3j4j4‡”jX1j\1j`1‡”j"hjÇYjUh‡”jÍ jØ jÜ ‡”jG‰j=‰jM‰‡”j9CjDCjHC‡”j_j_j"_‡”jüjj‡”jwœj‚œj†œ‡”j>êj\êj`ꇔjòåjšëjý凔j'TjTj-T‡”jV‰jy‰j}‰‡”j1/jI/jM/‡”jͤjߤj㤇”j1jLPjU1‡”j"jEjI‡”j¼¸j߸j㸇”jƒAj²èjŽA‡”jWj¨Wj¬W‡”jƒ j‡ j‹ ‡”jxïj‘ïj˜ï‡”j!ýj3ýj7ý‡”jn`j€`j‡`‡”j„j„j"„‡”juWjyWj}W‡”jW|jS|j]|‡”j>£jI£jM£‡”jjj‡”j€¾j·¾j»¾‡”ju†jƒ†j‡†‡”jµ¯j«¯j»¯‡”j߉jø‰jÿ‰‡”j–j–j –‡”jºKjàKjäK‡”j˜Êj£Êj§Ê‡”jj)j0‡”jn<jŠ<jŽ<‡”jT©jX©j\©‡”js˜j–˜jš˜‡”jì<j÷<jû<‡”jÉjèj쇔jt j† jŠ ‡”j"½j&½j*½‡”jrüjvüjzü‡”jRŠjuŠjyЇ”jåj'åj.凔jëDjýDjE‡”j{±j™±j±‡”jŸjcjbŸ‡”jø¼j½j½‡”j ’jÃ’jÇ’‡”j'¡j@¡jG¡‡”jÿjj‡”jj!j%‡”jAj–Kj’‡”j¡j5¡j<¡‡”jðójôjô‡”j.rj@rjDr‡”j!zj;zj$z‡”j5Pj9Pj=P‡”jÐÐjÛÐjßЇ”jŒj‡0j¡Œ‡”j‡˜j¬˜jŠ˜‡”jijŸij¦i‡”jô*jì*jÊ*‡”jðjj‡”j2jDjK‡”jêQjRj R‡”j’ÚjŠÚj~Ú‡”jÄ«jÝ«j᫇”j€j-€j1€‡”jAj×Kj¹‡”j›™j·™j¾™‡”jgÜjyÜj€Ü‡”j,·j7·j;·‡”j ‚j¹‚jÀ‚‡”jÈyjëyjïy‡”jafj]fjgf‡”j‰PjPj‘P‡”j$ôj6ôj:ô‡”j`{j-]jª{‡”jºj¾j‡”jI{jv{jz{‡”jmaj{aja‡”jà:j}}j%;‡”j,#j:#jA#‡”j¹Üj½ÜjÁ܇”j»šjÞšj⚇”j/œj3œj7œ‡”jÞpjépjíp‡”j’ji’j…’‡”jVÛjZÛj^Û‡”jëj!ëj%뇔jº|j¾|jÂ|‡”j]¸j|¸j€¸‡”j–5j’5jœ5‡”jëDjEjE‡”j#æj?æjF懔j¤3j½3jÄ3‡”jx`j‘`j˜`‡”jÄj¶jª‡”jŠ£jŽ£j’£‡”j©@j´@j¸@‡”j2j2j 2‡”jJÑj>jч”j³Ìj·Ìj»Ì‡”j¶jжj޶‡”jê­jõ­jù­‡”jIhjMhjQh‡”jEjEjE‡”jØ jÄ j¸ ‡”jFvjdvjhv‡”j—tj±tjšt‡”jÃÉjÇÉjËɇ”jü…j†j#†‡”j|8j–8j8‡”jVÏjaÏjeχ”jI{jÖ‡jŒ{‡”jŽzj zj¤z‡”j;GjÂíjFG‡”jjŸj£‡”j´ùj¸ùj¼ù‡”jœ‡j®‡j²‡‡”jççj¶ëjò燔jjôj݇”jeqjiqjmq‡”jþ1jö1jê1‡”j”Jj˜JjœJ‡”jj/j|/j€/‡”jNïj`ïjdjÈ–jÄ–jΖ‡”j™«j²«j¹«‡”j'j8'j<'‡”jÄfjÈfjÌf‡”j,>j>>jE>‡”j j  jQ ‡”jJjNjR‡”j`j`j!`‡”jÿ¦jyejŧ‡”jàYjäYjèY‡”jqjqjq‡”jZjxj|‡”j|j|j|‡”j»AjSjòA‡”j¼¸jǸj˸‡”jï\jú\jþ\‡”j´jgxjð‡”j=\jP&j¯]‡”j­ãj¸ãj¼ã‡”j+8jD8jK8‡”juÞjqÞj{Þ‡”jó„j÷„jû„‡”jâˆjæˆjꈇ”jÅÄjÁÄjËć”jLj4Lj8L‡”j,½j$½j ½‡”jÞjâj懔jÚÚjåÚjéÚ‡”j jjjjj‡”jº&j²&j¦&‡”j=)jV)j])‡”j>›jI›jM›‡”jÉ„jå„j鄇”j|Šj•ŠjœŠ‡”j™j"™j&™‡”j?µjCµjGµ‡”jj/j6‡”j*MjPMjTM‡”jÌjÄj¸‡”jdj~îj$d‡”j8QjJQjNQ‡”j­ajÐajÔa‡”jŸ°j j̰‡”j}ûj ûj§û‡”j$Ñj.ëj/ч”j@j‘@j•@‡”j'‚j2‚j6‚‡”j/j/j/‡”j†ÇjŠÇjŽÇ‡”j.ƒj2ƒj6ƒ‡”j¤ìj°Cjè쇔jî”j •j•‡”jHj‘Hj˜H‡”jqQj†QjQ‡”j)PjOPjSP‡”j”%j·%j»%‡”jc£jg£jk£‡”jŸ%jª%j®%‡”j!jgyjU!‡”jì9j:j:‡”jL§j^§jb§‡”jî$j%j%‡”jÿj$uj:‡”j´PjÉPjÐP‡”j12jÓje2‡”j·njÆîjÂn‡”j„‘j§‘j«‘‡”j±ÎjÑ=jÞ·”j´TjrVjëT‡”jµ!jÔ!jØ!‡”jX„jm„jq„‡”j'j)'j0'‡”jcj¨cj¬c‡”j€Íj„ÍjˆÍ‡”j ÍjµÍj¹Í‡”jëjýj‡”j6ñjÊëjAñ‡”j*j*j*‡”jajŒaja‡”jŽ&j’&j–&‡”jÙjëjò‡”j‘;j•;j™;‡”j\j/\j3\‡”j1/j?/jF/‡”j)jHjL‡”j òj#òj*ò‡”jý j j ‡”j×jój÷‡”j“êjKCjÊꇔjØ:jþ:j;‡”jîj&îj*jQj Qj'Q‡”j¢†j¦†jª†‡”j\ÚjgÚjkÚ‡”jü_j`j`‡”jAjAjA‡”j£ jêìj® ‡”jüajbjb‡”jV«j:ôja«‡”j&†j?†jC†‡”jZjsjz‡”jg)jk)jo)‡”j÷-j.j.‡”j® jÍ jÑ ‡”j€új’új–ú‡”j>ÂjBÂjF‡”jj«j¯‡”jíÉjøÉjüɇ”jîjj‡”j +j–ñj+‡”j¦jÌjЇ”j=\j$%jû\‡”juVjqVj{V‡”jŽDjÚèj™D‡”j›2j¾2jÂ2‡”jÿ¦j¦ejে”jâxjôxjøx‡”j—‚j‚jƒ‚‡”j…#j#j‹#‡”jðœjZêjûœ‡”jÂÀjÆÀjÊÀ‡”jËj#Ëj*ˇ”j;½j?½jC½‡”jÈ”jÌ”jД‡”jûj$j(‡”jµtj¹tj½t‡”j{£j•£j~£‡”jß\jã\jç\‡”jÞ!jý!j"‡”j9³jW³j[³‡”j[0j~0j‚0‡”júyj zjz‡”j¾DjÉDjÍD‡”jûbj¾òjc‡”jtjÓ[j3t‡”j`šjyšj€š‡”j‘sjƒsjls‡”j‰Ôj›ÔjŸÔ‡”ji3j{3j‚3‡”jî)j*íjù)‡”j&jºðj1‡”je¬jp¬jt¬‡”j´Mj¸Mj¼M‡”jé+jí+jñ+‡”j~Þj‚Þj†Þ‡”j‡|j¥|j©|‡”jðj»°j™°‡”j+8j68j:8‡”jhcjlcjpc‡”jaŠjsŠjwЇ”j€çj„çjˆç‡”jàvjFójëv‡”j&j¬&j°&‡”j‹„j„j“„‡”j8ƒjCƒjGƒ‡”j\qjgqjkq‡”jojsjw‡”j=pj[jtp‡”ja1je1ji1‡”j;GjPGjWG‡”jl¿jp¿jt¿‡”j5Áj1Áj;Á‡”jÙjÝjᇔjÁ#j^ñjÌ#‡”jišjŒšjš‡”jÇWjàWjçW‡”j Ïj:Ïj#χ”j³Bj¾BjÂB‡”jc<j|<jƒ<‡”j»îjÕîj¾î‡”j‡j‹j‡”jðíjîj jÑjÑjч”jêZjüZj[‡”jÚòjìòjðò‡”jwAjAj¡A‡”j[BjÃj’B‡”(júRjSj!S‡”jsjsjs‡”jBj'Bj+B‡”jÏVjíVjñV‡”j¡¨jŽêj¬¨‡”jìÒjþÒjÓ‡”j¾%jÉ%jÍ%‡”j;hjUhj>h‡”jÀj¸j¬‡”j=]jXj]‡”jíj…íj‰í‡”jߟjh5je ‡”jéj)éj-釔jÉjztj ‡”jHj‘Hj•H‡”jl}jz}j}‡”j lj+lj/l‡”jÿ¦jèdjn§‡”j!jDjH‡”j#jAjE‡”jwœj—œj›œ‡”jÎjÙj݇”jS”jv”jz”‡”jœj¿jÇ”j.ëjQëjU뇔jäÍjèÍjì͇”jàj)àj0à‡”j'j'j'‡”j!jbyjR!‡”j>kjIkjMk‡”j@jNjR‡”jѶjß¶j涇”jB¿jM¿jQ¿‡”j"«j7«j;«‡”jÊ‚jæ‚jꂇ”j– j²ìj¡ ‡”j6ÕjHÕjLÕ‡”jádjådjéd‡”jw5jÖñj‚5‡”j¿4j×4jÛ4‡”jjCjG‡”jö˜j™j™‡”j+jð*j+‡”j÷j<÷j@÷‡”jѶjð¶jô¶‡”jd&jv&jz&‡”j jjõ~‡”jüjj ‡”j6Õj:Õj>Õ‡”jÙÇj kjeȇ”j—j'—j+—‡”j¼ljÇljËl‡”jWajzaj~a‡”jWajbajfa‡”j äj*äj1䇔jÇj$Çj+LJ”j¿sjÃsjÇs‡”jzÞj”Þj}Þ‡”jkhjŽhj’h‡”j=Ej`EjdE‡”jÏèjòèjö臔jß´jû´jÿ´‡”jÚªjÞªj⪇”j¬vj°vj´v‡”j/jAjE‡”jr™j„™jˆ™‡”j4j j‡”jiÔj‚Ôj†Ô‡”j…Çj‰ÇjLJ”jhÿjNìjsÿ‡”jãLjüLjM‡”jÆ­jó­j÷­‡”j§HjÊHjÎH‡”j j+j/‡”jQ8jU8jY8‡”jZ»j}»j»‡”jSìj^ìjb쇔jìjðjô‡”j¸¯jå¯j鯇”jîjùjý‡”j‹ÈjÈj“ȇ”jd…j`…jj…‡”jpej‚ej†e‡”j½2jÏ2jÖ2‡”jÏâjéâjÒ⇔jéÔjôÔjøÔ‡”j,j;,j?,‡”j;¨j?¨jC¨‡”jnQjŠQjŽQ‡”j¦j-¦j1¦‡”j¬j¾j‡”j±GjµGj¹G‡”jeªjiªjmª‡”j÷Þj ßj߇”jÁ)jç)jë)‡”jÜ"jû"jÿ"‡”j˜j°j´‡”j©j©j©‡”jFQj_QjfQ‡”j-kj1kj5k‡”jC j\ jc ‡”j¸†jÆjdž‡”jy—jœ—j —‡”jìj €j€‡”j¼wjÎwjÒw‡”jVÏjZÏj^χ”j #j#j#‡”jøHjIjûH‡”j!j-!j1!‡”j1jOjS‡”jQ8jp8jt8‡”jÁ¹jâêj̹‡”jþajbjb‡”j¬”jÏ”jÓ”‡”jG2jY2j]2‡”j{bj”bj›b‡”j°j.ñj»‡”j¦OjœOj¬O‡”jŠMj•Mj™M‡”jÄgjÞgjÇg‡”j`ùjdùjhù‡”jÄUjÏUjÓU‡”j‚[j[j‘[‡”j{©j›©jŸ©‡”jS”j^”jb”‡”jYßj]ßja߇”jo>jŽ>j’>‡”j>?j]?ja?‡”j j3 j7 ‡”jÿ¦j$ej’§‡”j j5 j9 ‡”jÎKj\ jL‡”jjj ‡”jŒ·j·j”·‡”jð;j <j<‡”j–‘j¨‘j¬‘‡”jÙÇjHkj}ȇ”jG¦jK¦jO¦‡”j’j¯wj¿‡”j“j³j·‡”j[|jz|j~|‡”j²|jÎ|jÒ|‡”js¤jw¤j{¤‡”jf jj jn ‡”j×êjðêjôꇔj×j˜×jŸ×‡”jïgjógj÷g‡”j„¨j|¨jp¨‡”jSUjWUj[U‡”jÀ²j˲jϲ‡”j\Üj{Üj܇”jú•jö•j–‡”jAJjSJjWJ‡”juYj›YjŸY‡”j]6jv6j}6‡”jEojIojMo‡”j Õj#Õj*Õ‡”jȲjÚ²jᲇ”j­jÐjÔ‡”jDSjOSjSS‡”jKJjBòjVJ‡”jâ'j(j(‡”j>®jL®jS®‡”jäØjÙj Ù‡”jÀpjÄpjÈp‡”jˆ|jµ|j¹|‡”jÝ'j (j(‡”j~¼jš¼jž¼‡”j.9j29j69‡”j_®jq®ju®‡”j§çj²çj¶ç‡”j’új«új²ú‡”jp8jt8jx8‡”jG\jK\jO\‡”jåjEåjI凔j£œjæój®œ‡”jLVjkVjoV‡”jÝ.jö.jý.‡”jÕ7jî7jõ7‡”j¼"jÀ"jÄ"‡”j¹j/¹j6¹‡”j‘j‘j"‘‡”jͤjؤjܤ‡”j °j$°j(°‡”j¸üj¼üjÀü‡”jö¯j°j°‡”jÌj,Ìj0̇”jîUj VjV‡”jp:jt:jx:‡”j¸jÖjÚ‡”jôïjÿïjð‡”jÿëjìj쇔jøíjîjjýNjOj O‡”jîUjVjV‡”j•*j¸*j¼*‡”jïSjèjBT‡”j=\j8%j]‡”jøj#øj'ø‡”jÿ¦jòdjt§‡”j1/jP/jT/‡”j{¹j“¹j—¹‡”ja+jIOj‘+‡”j(òjNòjRò‡”jà“j”j”‡”j$ïj=ïjDjÉ„jÛ„jℇ”jÞjâj懔jäžjŸjŸ‡”j‡j j§‡”jùwjxjx‡”jè§jú§jþ§‡”jˆrjšrj¡r‡”jÿ£j¤j#¤‡”jÜj+Üj/܇”jëujöujúu‡”jÓjíjÖ‡”jåµjéµjíµ‡”jbjfjj‡”j¡j.¡j2¡‡”jð;j<j<‡”jUj0Uj4U‡”j;Ëj?ËjCˇ”jÞj%Þj)Þ‡”j– jšIjà ‡”jG¹jK¹jO¹‡”jeŸj}ŸjŸ‡”jS¡jþój^¡‡”jdSjŠSjŽS‡”jEljWlj^l‡”j(j(j(‡”jaj(aj,a‡”j$Éj(Éj,ɇ”j'Sj9Sj=S‡”j (j(j&(‡”jàjäj臔j•þj¾þjÂþ‡”jZËjVËj`ˇ”jNj NjþM‡”j…j¥j©‡”jjj‡”j£—jµ—j¼—‡”jtj tjt‡”j¶ÔjÙÔjÝÔ‡”jÞ¦j§j§‡”jOjOjO‡”j9îj5îj?j£j£j#£‡”jùmjýmjn‡”j«9j¯9j³9‡”j[!júìjf!‡”j£Zj±Zj¸Z‡”jý j¡j¡‡”jü”jyŒjD•‡”j¨j!¨j%¨‡”jÒ-j¨Oj .‡”j°=j´=j¸=‡”j j! j% ‡”jW“jb“jf“‡”j;þj-þj!þ‡”j‘jœj ‡”jæRj SjS‡”jŠWj¦Wj­W‡”j§ŒjÊŒjÎŒ‡”jºvjÙvjÝv‡”j(}jF}jJ}‡”j,j#,j',‡”j:jLjP‡”jú£j¤j¤‡”jù°jý°j±‡”ju¼j‘¼j•¼‡”j rjrjr‡”jœ‡j§‡j«‡‡”j¾jÂjƇ”jA²j[²jD²‡”j¥Þj©Þj­Þ‡”jqÙj/njøÙ‡”j ‘j%‘j,‘‡”j™ j² j¹ ‡”jº—jÙ—jÝ—‡”jº7jç7jë7‡”jöbjcjc‡”j̘jï˜j󘇔j;LjTLj[L‡”jÔÄjßÄjãć”j„6j–6jš6‡”jbjfjj‡”jxïjƒïj‡ï‡”jþ(j)j)‡”j0‘jS‘jW‘‡”j?—jC—jG—‡”j©[jÝ[já[‡”jë$jï$jó$‡”jt j— j› ‡”jc`j‚`j†`‡”j´¶j¸¶j¼¶‡”j:j5:j<:‡”jrj‹j‡”j:ÿj>ÿjBÿ‡”jgj€j‡‡”jO«jS«jW«‡”j†Pj¤Pj¨P‡”jªújÞújâú‡”jÒ÷jÊ÷j¨÷‡”jj¨j¬‡”j°j 8jS°‡”jà jÎ jÒ ‡”jèPjìPjðP‡”j!Áj%Áj)Á‡”jŽ$j­$j±$‡”j—uj›ujŸu‡”jÝjúÜjî܇”jߟj@5jM ‡”jŒjx0j˜Œ‡”jÁjÖj݇”j¨…j¬…j°…‡”hhh‡”jÁj¢Áj¦Á‡”jCÛjNÛjRÛ‡”jijtjx‡”j¥jj…jÒj‡”jÉœjuj‡”j"5j<5j%5‡”jîjzðj#jÙÇj™jjȇ”j…j-…j4…‡”jåüjóüjúü‡”jÔCjßCjãC‡”j×jÛj߇”j}ûj±ûjµû‡”jŒpjpj”p‡”jªÏjµÏj¹Ï‡”jþ(j)j")‡”j•þjÅþjÉþ‡”jŠÎjŽÎj’·”j“êjFCjÇꇔjI¤j[¤j_¤‡”jÃjÂijMÇ”j+8j=8jA8‡”j +j/+j3+‡”j6j#6j'6‡”jÒ_jÝ_já_‡”j”j”j”‡”j±ŽjµŽj¹Ž‡”j mj«mj¯m‡”j%ªj7ªj;ª‡”jo)j†ñjz)‡”j`‘jd‘jh‘‡”jÖjüj‡”jüjj‡”jCjGSjSC‡”j«jÔj؇”jZj‡Zj{Z‡”j«jÏjÓ‡”j_jmjq‡”j|Šj‡Šj‹Š‡”j&j>jB‡”jÉj,Jj ‡”jÅ›jBêjЛ‡”jÚ'jÖ'jà'‡”j+ôjDôjKô‡”jYijxij|i‡”j8­j]­j;­‡”jÞ!jì!jó!‡”jNƒjYƒj]ƒ‡”j(»jA»jH»‡”jê&j'j '‡”jÄjÈj̇”jèmj njn‡”j?j0?j4?‡”jÐ>jÔ>jØ>‡”jQjQjQ‡”jsPjwPj{P‡”jîj˜qjÍjÑ–jô–jø–‡”j¤3j¯3j³3‡”jô‚j†ójÿ‚‡”j~¼j‚¼j†¼‡”j9¦j=¦jA¦‡”jLWjoWjsW‡”jK$jþyj$‡”jHjbjK‡”j:j>jB‡”jà:jx}j";‡”j=jAjE‡”j˜Éj²Éj›É‡”jéhjij i‡”jm¥j†¥j¥‡”jx·j—·j›·‡”jvmjmj–m‡”j¿ƒjÃjǃ‡”j Vj,Vj0V‡”jwDjj¾D‡”jú,j-j-‡”jÉjJj‡”j Õj ÕjÕ‡”jÉœjaj ‡”joj6oj:o‡”jÑ’jÜ’jà’‡”j“ºj:jꇔjþjj‡”jUjxj|‡”j÷jj ‡”jiêj{êjꇔjL1jP1jT1‡”j(j@jD‡”j·¨jШjר‡”jR-jq-ju-‡”jg?jy?j}?‡”j’Ój«Ój²Ó‡”jcjj”‡”jt4j4j”4‡”jÙÇjÁjj,ȇ”j¦VjÅVjÉV‡”jÅ¡j ôjС‡”jÀ jÙ jÝ ‡”j»j »j»‡”jb‡jÙ‰j¿‡‡”jH‰jŠ_jƒ‰‡”jvlj‹lj’l‡”j2ÃjUÃjYÇ”j5sjSsjWs‡”j›j ›j ›‡”j=\j %jì\‡”jüjøj‡”j~›j‰›j›‡”jr~j€~j„~‡”jréjŽéj•釔j]j9]j=]‡”j~±j‚±j†±‡”j‚vjvj‘v‡”jLyjWyj[y‡”jàhjähjèh‡”jÞÂjâÂjæÂ‡”jZøjsøjzø‡”jÇbjôbjøb‡”jüOjPjP‡”jbj–jš‡”j`˜jk˜jo˜‡”j½ÅjµÅj©Å‡”j±Žj¼ŽjÀއ”j‰Ôj¢Ôj¦Ô‡”j¹­j½­jÁ­‡”jÜ]jÎ]jÂ]‡”jjj ‡”jD j] jd ‡”j†Õj˜ÕjœÕ‡”jˆäj Bjµä‡”jI‡j[‡j_‡‡”j°CjÈCjÌC‡”j½´jÁ´jÅ´‡”j0Aj¦íj;A‡”jyÆj}ÆjƇ”jE`jA`jK`‡”jùûj2ìjü‡”jç~jjê~‡”jÜ jû jÿ ‡”jé§jí§jñ§‡”jÿ7j8j8‡”j‚¯j§¯j…¯‡”j`{j#]j¤{‡”j„jj¤‡”jmdjqdjud‡”jSjvjz‡”j5jQjU‡”jçjëjj3|jO|jS|‡”jàèjüèj釔jŽ“j™“j“‡”jÿÛj÷ÛjëÛ‡”j!jDjH‡”j:0jE0jI0‡”jL·je·ji·‡”jõ®j¯j¯‡”j¦kjªkj®k‡”j]jaje‡”jžœj°œj´œ‡”jƒFjºíjŽF‡”j=jOjS‡”j„‘jˆ‘jŒ‘‡”j ÌjÌj̇”jjšjž‡”jûj!ûj%û‡”j’Ëj–ËjšË‡”j£åj.ðj®å‡”jÈ€jÌ€jЀ‡”j ÚjÚj#Ú‡”jê‚jî‚jò‚‡”jjêðj%‡”j«5jœ|jØ5‡”jñjñjÞð‡”jåjéj퇔jÝŸj j ‡”jÆ;jØ;jÜ;‡”jLjLj L‡”jŸ3j»3j¿3‡”j(}jB}j+}‡”jäPjèPjìP‡”j’kjkj¡k‡”jÖj#Öj'Ö‡”j#jFjJ‡”jEªjPªjTª‡”jBfjFfjJf‡”j¨_j¬_j°_‡”jšUj¥Uj©U‡”jjýj‡”jµájÇájÎᇔj—hj›hjŸh‡”jRNjVNjZN‡”jsj–jš‡”jàÒjüÒjÓ‡”j’ËjËj¡Ë‡”j˜Êj±Êj¸Ê‡”j jü j ‡”jœ§j §j¤§‡”jv"j•"j™"‡”jv±j±j…±‡”j·¸j»¸j¿¸‡”jÄ]jÈ]jÌ]‡”jÎKjf j L‡”j²jÄjȇ”jµ‰jÀ‰jĉ‡”j¸qjÑqjØq‡”jÜñjôñjøñ‡”jO jS jW ‡”j¡¨j¯¨j³¨‡”j¼)jÔ)jØ)‡”j’Ëj«Ëj²Ë‡”j‘pjœpj p‡”j}j¯}j³}‡”j«“jΓjÒ“‡”jJjúGj†‡”jTàjfàjmà‡”jSjcj‡”jZ6j^6jb6‡”jpmj{mjm‡”j]"j€"j„"‡”jøªj«j«‡”jˆòjŒòjò‡”j*Éj.Éj2ɇ”jåxjóxj÷x‡”jÇjnìjÒ‡”j¢˜j­˜j±˜‡”jI÷jl÷jp÷‡”jijmjq‡”j¼BjÚBjÞB‡”jˆ j§ j« ‡”jnDj€Dj„D‡”jj§j«‡”j%öj7öj>ö‡”jptj“tj—t‡”j*£j<£j@£‡”jç8jöñjò8‡”j&j8j?‡”j<j%<j)<‡”jY7jd7jh7‡”jjvj/‡”j(»j,»j0»‡”jqÙjnjìÙ‡”j©j¢©j¦©‡”jùLjMjM‡”jÎj'Îj.·”j-Öj1Öj5Ö‡”j jü j ‡”j]j2]j6]‡”j°j"°j&°‡”j©ãj»ãj¿ã‡”jf—j\—jl—‡”jÙjÝjᇔjËöjîöjòö‡”jIÀjWÀj[À‡”j\j6\j=\‡”j$®j2®j6®‡”jQ5jU5jY5‡”jNƒj`ƒjdƒ‡”j†jŸj¦‡”jd“j}“j„“‡”jkÖj˜ÖjœÖ‡”j5þj1þj;þ‡”jž›j·›j»›‡”jD¥jd¥jh¥‡”jWj[j_‡”jê‚jü‚jƒ‡”jUëjsëjw뇔j^j^j"^‡”jš§j¬§j°§‡”j7jZj^‡”jµtjÇtjËt‡”j·ZjÝZjáZ‡”j&8j@8j)8‡”jœ‡jµ‡j¼‡‡”juMj˜MjœM‡”jÂtjÞtjât‡”j{¹j¹jƒ¹‡”j†=j©=j­=‡”jR;jk;jr;‡”j]UjYUjcU‡”jàjàjà‡”jæ¤jñ¤jõ¤‡”j^jjxjjaj‡”jÊj5Êjʇ”jt²j†²j⇔jIÔjbÔjfÔ‡”j™½j½j¡½‡”j¿ƒj̓jÔƒ‡”jïgjúgjþg‡”jçàjëàjïà‡”jê·jø·jÿ·‡”j™,j§,j«,‡”jø‘j ’j’‡”jŒljI j²l‡”j (j²(j¶(‡”j"½j-½j1½‡”jcjcjc‡”jæjøjü‡”jŠjæìj•‡”jaj!aj%a‡”jMjQjU‡”j‡ jª j® ‡”jo jz j~ ‡”j„j|jp‡”jœ$j¿$jÃ$‡”jgjƒjЇ”j°j8j\°‡”jð¸j ¹j¹‡”j{ˆjˆj—ˆ‡”j„»j–»j𻇔jZ6js6jz6‡”j†j$†j+†‡”jzÞj˜ÞjœÞ‡”j;¦j[¦j_¦‡”jˆjˆjˆ‡”jïöj÷j÷‡”jájájᇔj¨jC¨jG¨‡”j°j8jV°‡”jj¼>jÀ>‡”j%ªjHªjLª‡”j°j¾j‡”j8©jJ©jN©‡”jÿjjkjk‡”j†qj©qj­q‡”j8Qj€‡”jÉjJj‡”jÀ¿j¼¿jÆ¿‡”j“j)“j“‡”jÉïjçïjëjû`jÿ`ja‡”jW$jÞjs$‡”j»j+»j/»‡”j¤j½jć”j:j>jB‡”j­j4­j8­‡”jà:j;j ;‡”jJÑjpÑjtч”j¦j»j‡”jV«ju«jy«‡”jü”j`Œj5•‡”jâ†jû†j‡‡”j€j%€j)€‡”j)j/)j3)‡”j!Yj%Yj)Y‡”j„Ój–ÓjÓ‡”j°j»j¿‡”j\ÜjtÜjx܇”jOÕjZÕj^Õ‡”jß6j7j 7‡”j({jD{jH{‡”j=Òj5Òj)Ò‡”jdSj^òjoS‡”jqÇjmÇjwLJ”j­ÿj±ÿjµÿ‡”j±êjµêj¹ê‡”j…lj‰ljl‡”jŽ$j’$j–$‡”jÄjÀjʇ”jIBjEBjOB‡”jÓsjÏsjÙs‡”jÈjÈjȇ”j7jcjg‡”jºsj¾sjÂs‡”j™jj¡‡”jôÑjÒjÒ‡”jvÉjÉj…ɇ”jì9jú9j:‡”j€7jž7j¢7‡”jUnjYnj]n‡”j±j•±j‰±‡”jäÍjýÍj·”j,j0,j4,‡”jÊRjJéjÕR‡”jOûjSûjWû‡”jî#j$j$‡”j}bjˆbjŒb‡”jÎÄjÒÄjÖć”jÉjæIjö‡”j$jGjK‡”jY’jx’j|’‡”jvj:vj>v‡”jÅjáj凔jUjYj]‡”j=,j`,jd,‡”jºJjÈJjÏJ‡”jrýjýj”ý‡”jyåjœåj å‡”jýYjZjZ‡”j³ŸjÅŸjÉŸ‡”jÂ9jÆ9jÊ9‡”jþzj{j{‡”jû|j÷|j}‡”jÑjÜ‘j㑇”j©[j²Wjð[‡”jjj‡”jjAjE‡”jf;jRj±;‡”j×(j÷(jû(‡”já¸jݸj縇”j$.j9.j@.‡”jçjëjjjj‡”jÌjÐjÔ‡”jâ&jô&jû&‡”jšvj³vj·v‡”j•+j +j¤+‡”jWMjöíjbM‡”ja‰js‰jw‰‡”jOXjdXjhX‡”jÚ!jÞ!jâ!‡”j`-j†-jŠ-‡”jÜ“jõ“jü“‡”jwAj†~j³A‡”jSðjKðj)ð‡”jHfjafjhf‡”jÎKjk jL‡”jW$jíjb$‡”jHûj"ìjSû‡”j*"jI"jM"‡”jºÉj²Éj¦É‡”jcj{j‡”j®j¦jš‡”jbGjfGjjG‡”j)j()j,)‡”j‡ûj•ûjœû‡”jQ»jM»jW»‡”jçàjùàjᇔj”îj˜îjœî‡”jÉßjÔßjØß‡”jH@jn@jr@‡”j˜<jª<j±<‡”jÂ<jå<jé<‡”j‰=j=j‘=‡”j“Fj¬Fj³F‡”jŒFjžFj¢F‡”jýjj‡”jþÄjÅjŇ”jäðjïðjóð‡”j¦±j±jƱ‡”j›2jŸ2j£2‡”jáujåujéu‡”jKYjdYjkY‡”jâajÊXjb‡”j<j@jD‡”jàÿjäÿjèÿ‡”jVxjuxjyx‡”jžj¸j¡‡”jÉjŽtj‡”jj“j—‡”j}_j›_jŸ_‡”jwj.wjw‡”jp jˆ jŒ ‡”jçÊjùÊjýʇ”j;ijMijTi‡”j1&j-&j7&‡”j¼RjÀRjÄR‡”jfKjKj†K‡”jjj‡”jëjçjñ‡”j@ jY j` ‡”jemj’mj–m‡”jV_jy_j}_‡”j j j ‡”j jü j ‡”jÝâjáâjå⇔j=]jc]jg]‡”jQ jU jY ‡”j¿j¿j¿‡”jˆ j  j¤ ‡”jÂ5jë5jï5‡”jÓj(Ój/Ó‡”júj,új0ú‡”j®j²j¶‡”jBšješjiš‡”je2j}2j2‡”j˜Zj´Zj¸Z‡”j®»jÇ»j뇔j'Lj+Lj/L‡”jjj"‡”jÒÞjõÞjùÞ‡”jÓðj×ðjÛð‡”j|jnjb‡”jgjrjv‡”j’†j–†jš†‡”j!ßj%ßj)߇”jšj,šj0š‡”j¸jÊj·”j"Nj4Nj8N‡”jâajÞXj"b‡”js÷j~÷j‚÷‡”jŽj Žjއ”jqXj†XjX‡”j9Ÿj=ŸjAŸ‡”júÈjÉj!ɇ”jcj‚j†‡”jN7j\7jc7‡”j<j<j"<‡”jZJjþèjeJ‡”j ‡j‡j‡‡”jÁjÏjÓ‡”já¨jý¨j©‡”ja1jz1j1‡”j€:j™:j :‡”jÒnjînjòn‡”j–gj¨gj¬g‡”jejpjt‡”jýùjùùjú‡”jcjgjk‡”jØVjûVjÿV‡”jÀ~jÒ~jÙ~‡”j¢j*¢j.¢‡”jraj•aj™a‡”jßtjæîjêt‡”jŒjšj¡‡”j¾j¾j ¾‡”jî¾jò¾jö¾‡”jðj jó‡”j½2jÙ2jÝ2‡”j¸jÑj؇”j8Îj[Îj_·”j¢¡jÀ¡jÄ¡‡”jØYjûYjÿY‡”j¬Tj°Tj´T‡”jækj lj l‡”jñjÒëj›ñ‡”jBjEBjIB‡”j&jB&‡”jêjîjò‡”jK±jV±jZ±‡”j#j/#j3#‡”j—…j¢…j¦…‡”j‰Žj¬Žj°Ž‡”jG‰j9‰j"‰‡”j,ùjAùjEù‡”j¥ìj©ìj­ì‡”j³jÏjÓ‡”jË•j&êjÖ•‡”j>?jB?jF?‡”jÏbjëbjïb‡”jùŽjjüއ”jÀjßj㇔j93jD3jH3‡”jâ&jþ&j'‡”j.õj2õj6õ‡”j†rj¯rj³r‡”jBjTj[‡”j×6jÛ6jß6‡”j§”j£”j­”‡”j°jG8jw°‡”j`ÍjdÍjh͇”j¦±jɱjͱ‡”jÉßjåßjé߇”j™j:™j>™‡”j3j:3j>3‡”jÉjÍjч”jkxj‡xjŽx‡”j|xj”xj˜x‡”j<³j@³jD³‡”jvojoj…o‡”jŠjBŠjFЇ”jJjÿGj‰‡”jø¼j½j½‡”jøÄjÅjŇ”j‰j£jŒ‡”j¸jÃjLJ”j2j 2j2‡”j£j £j£‡”jKWjnWjrW‡”j§2jÊ2jÎ2‡”jÜj1Üj5܇”j¶èjÏèjÖ臔jëùjùùjýù‡”jCjCj"C‡”j«7j¶7jº7‡”j jj‡”jõ j!j!‡”jLNjkNjoN‡”jŸwj£wj§w‡”jÿjÿj"ÿ‡”jKYjOYjSY‡”j– j® j² ‡”jª¼j®¼j²¼‡”jîÜjòÜjö܇”j•Œj Œj¤Œ‡”jréj˜éjœé‡”j°j;°j?°‡”j/j/j /‡”jújjý‡”j:-j¦ñjE-‡”j•<j³<j·<‡”j*tj5tj9t‡”j#@j5@j9@‡”jduj\ujPu‡”jëjæ«j꫇”j•j‚•jJ•‡”j¬FjÅFjÉF‡”j`{j]j¡{‡”jþjœvj2‡”jðjûjÿ‡”j3j3j3‡”jwDjý~j²D‡”j=\jV%j]‡”jybjœbj b‡”jòVjWjW‡”j#aj5aj9a‡”j‚Üj¯Üj³Ü‡”jÖTjèTjìT‡”j%jÒçj%‡”jX„j–ójc„‡”j,¼j0¼j4¼‡”jn«jŒ«j«‡”j1j"1j&1‡”j"Nj-Nj1N‡”j½jàj䇔j/_j=_jD_‡”j5rj@rjDr‡”jøjüj‡”jm¥jx¥j|¥‡”j9jRjY‡”jx`j|`j€`‡”jŒj‚0jžŒ‡”j¬j°j´‡”j¯Çj³Çj·Ç‡”jFÒjbÒjfÒ‡”j"jj(‡”j¹AjÜAjàA‡”j{ˆj0/jµˆ‡”j…j‰j‡”jÑ^j¢òjÜ^‡”j“êj²êj¶ê‡”jR$j`$jg$‡”j¹AjÕAjÙA‡”jbj…j‰‡”jY3j2j’3‡”jnájrájvᇔjÁ¹jϹjÖ¹‡”j?j8?jNjBN‡”j/jRjV‡”j†ƒj‘ƒj•ƒ‡”jeqjˆqjŒq‡”j¦Vj´Vj»V‡”jI4jg4jk4‡”jÚÃjóÃjúÇ”j¼ jÀ jÄ ‡”j'ÀjÀjÀ‡”jÿ¦jdj/§‡”j*j5j9‡”j¤jB¤jF¤‡”j(j•jX‡”jPœjNêj[œ‡”j0j(j‡”j9îj1îj%jœìj”ìjˆì‡”jtÅjxÅj|Ň”j7wjOwjSw‡”jŽj¨j‘‡”j8èjCèjG臔jÃÉjÕÉjÙɇ”jR#jk#jo#‡”jS.jW.j[.‡”j–Šj¹Šj½Š‡”j²·j¶·jº·‡”jbÔjfÔjjÔ‡”jæËjÌj̇”ja›jl›jp›‡”j4ÕjFÕjMÕ‡”jNjcjj‡”jH°jS°jW°‡”j£bjµbj¼b‡”j:‹j2‹j&‹‡”j¿6jÃ6jÇ6‡”j/ jA jE ‡”j%jAjH‡”j°Ij´Ij¸I‡”jXrjfrjmr‡”jlYj^YjRY‡”jÍ‹jë‹j”jšjšjš‡”jO—jZ—j^—‡”jT©jt©jx©‡”j•Êj™Êjʇ”jåwjýwjx‡”j—„j›„jŸ„‡”j±•jÍ•jÑ•‡”jÿj,j0‡”j.j9j=‡”jj jn jr ‡”jÉ jì j𠇔jÄ]jÒ]jÖ]‡”j½FjêFjîF‡”j¶jÏjÓ‡”jWCjlCjpC‡”j°jt8j’°‡”j»šjÔšjÛš‡”jã[jŠéjî[‡”juYj”Yj˜Y‡”j©]jÒ]jÖ]‡”j®jº®j£®‡”j°Cj´Cj¸C‡”jIÚjlÚjpÚ‡”jïýjúýjþý‡”jÄ.jç.jë.‡”jòyjzjz‡”jïSjÔj6T‡”jŠ'j©'j­'‡”j1Cj5Cj9C‡”j ÌjÌj!̇”jjj ‡”j¼ljÀljÄl‡”j¯jjÁjjÅj‡”jXjTj^‡”jwAj…AjŒA‡”jp8j‚8j†8‡”jÕJjÖíjàJ‡”jKjKj&K‡”jAcjEcjIc‡”jR;ju;jy;‡”jφjü†j‡‡”j~£j‚£j†£‡”jd†j‡†j‹†‡”j¦±jª±j®±‡”jºkj²kj›k‡”j…×j‰×jׇ”j¬j*¬j.¬‡”j–Æj¨Æj¯Æ‡”j1 j< j@ ‡”jÉæjÍæjÑæ‡”jPjPj P‡”jŽj j¤‡”jÔEjóEj÷E‡”jp.j‰.j.‡”jb¦j‚¦j†¦‡”j­j-­j1­‡”jû/j 0j0‡”jŒj 0jVŒ‡”jɼjÁ¼jª¼‡”j"j>jB‡”jáj%áj)ᇔjÌÞjæÞjÏÞ‡”j j.j2‡”j`yjryjvy‡”jîUjVj V‡”j³&jË&jÏ&‡”j„øjøj“ø‡”jQjUjY‡”jƒAj°Aj´A‡”jz{jj{‡”jÁ¾jä¾j辇”jRj®Rj²R‡”j (j(j(‡”j6‚j:‚j>‚‡”jájåj釔jÀ~jÄ~jÈ~‡”jkÊjvÊjzʇ”jÌþjèþjïþ‡”jÒjÝjᇔj=\ju$j’\‡”jWajpajwa‡”j$ïj(ïj,j7„jB„jF„‡”js½jw½j{½‡”j?vj0\jsv‡”j„¨j¤¨j¨¨‡”j- jZ j^ ‡”j=ojOojSo‡”jêŠjæŠjðŠ‡”jç¬jë¬j﬇”jÉßjÛßjâ߇”j<j°<j´<‡”jL~jh~jl~‡”j˜9j»9j¿9‡”jͤjѤjÕ¤‡”jÕpjÍpjÁp‡”jvj vj$v‡”j¬Fj¾FjÂF‡”j j, j0 ‡”j°Üj¨ÜjœÜ‡”jÄ¡jÏ¡jÓ¡‡”j<j@jD‡”jº—jç—jë—‡”j¹OjËOjÏO‡”jtj—j›‡”jV–ju–jy–‡”jâzjûzj{‡”jKÅjVÅjZŇ”jèjèj 臔j` jd jh ‡”jxSj–SjšS‡”jÀNjÚNjÃN‡”jøj j‡”jájìjð‡”jŽ–j§–j®–‡”j'j#j-‡”jD<j]<jd<‡”j]ÝjaÝje݇”jŽjñ`j±Ž‡”jÆj7Æj;Ƈ”j}Hj Hj¤H‡”jÆ[jß[jæ[‡”j©ãjÂãjÉ㇔jȼjÖ¼jݼ‡”j؇jû‡jÿ‡‡”jýSjóSjT‡”jYÍjkÍjr͇”jê¢j£j £‡”j—j°j·‡”j±£jãjÇ£‡”j[jSjG‡”j•°j®°jµ°‡”jvzj„zj‹z‡”j5Ìj@ÌjḊ”jÇæjËæjÏæ‡”jXAjrAj[A‡”j ~j+~j/~‡”j ÍjŒ=jÞ͇”jŒÛj—Ûj›Û‡”j¢ôjöëj­ô‡”jÁ jæ jÄ ‡”jH†jn†jr†‡”jóÏj÷Ïjûχ”jvlj„ljˆl‡”júyjzjz‡”jß1jã1jç1‡”jãçjýçjæç‡”j-õj?õjFõ‡”j?j7?j;?‡”j¼æjÀæjÄæ‡”jv«j–«j𫇔jÛPjEjQ‡”j–jšjž‡”j!TjTjüS‡”j·RjÅRjÉR‡”j,WjYWj]W‡”jn5jr5jv5‡”j@ºjDºjHº‡”jXòj{òjò‡”j}jj…‡”j¶èjÈèjÌ臔j¢üj¦üjªü‡”j.„j&„j„‡”j"yjEyjIy‡”jY3j<j˜3‡”jJ jªìjU ‡”j߯jøÆjÿƇ”jRŠjVŠjZЇ”jðÂjÃjÇ”jîjÚpj[jõzjízjáz‡”jŸjÂjƇ”jKjOjS‡”jjj‡”jg,j€,j„,‡”jÍOjÑOjÕO‡”j“Øj¥Øj¬Ø‡”jQj1Qj5Q‡”j´j×jÛ‡”jloj†ojoo‡”jLOjPOjTO‡”jÁjÁj%Á‡”j·àj»àj¿à‡”jej9ej"e‡”jƒôj‡ôj‹ô‡”jã'jü'j(‡”jjj ‡”jñ(j)j)‡”jÜñjêñjññ‡”j`šjƒšj‡š‡”jBäjTäjX䇔jœfj fj¤f‡”j®jÇj·”jÝ®jï®j󮇔jrLj‘Lj•L‡”jV}jh}jo}‡”j‘j,‘j0‘‡”jžŒj¢Œj¦Œ‡”jeÌjpÌjṫ”jŒijij”i‡”jÖHjÊíjáH‡”jšmj²mj¶m‡”jbÙjfÙjjÙ‡”j•‹j¸‹j¼‹‡”j¶ÔjºÔj¾Ô‡”jç‚jë‚j”jbj{j‚‡”jblj{lj‚l‡”jj#j'‡”js¤j~¤j‚¤‡”jÏVjÇVj»V‡”jäÍjöÍjú͇”j=j¢=j©=‡”jóMj÷MjûM‡”jQbjtbjxb‡”jKzjtzjxz‡”jó j j ‡”jÍSjÑSjÕS‡”jhÓjsÓjwÓ‡”j,Wj0Wj4W‡”jè‹jà‹jÔ‹‡”jåjåj凔j?jJjN‡”j3|jV|jZ|‡”j/jHjO‡”jë¡j ¢j¢‡”js­jw­j{­‡”jOÕjSÕjWÕ‡”jƒKj¦KjªK‡”j}vjvj…v‡”j­(j±(jµ(‡”jÎjñjõ‡”j†Çj‘Çj•LJ”jô7j 8j8‡”j=\jˆ%j7]‡”j´Pj Pj”P‡”jžjºj¾‡”jLj#Lj'L‡”j†=j˜=jœ=‡”j@jDjH‡”j©j»j¿‡”j·,jÅ,jÌ,‡”jÐNjÔNjØN‡”jZçjhçjo燔jujuj u‡”j8ÎjCÎjG·”jM5jp5jt5‡”jNEj`EjdE‡”jU¹j–ïj`¹‡”j&j*j.‡”jÎÄjÙÄjÝć”jg8j_8jS8‡”jHjƒHj‡H‡”jXj~j‚‡”j³ŽjÖŽjÚŽ‡”jß*jê*jî*‡”jÖj‘Öj˜Ö‡”jnQj€Qj‡Q‡”j‚ÜjÊ@jÏ܇”jû–j—j —‡”jf;j.RjÀ;‡”jøªj«j«‡”jãqjçqjëq‡”jèPjúPjþP‡”j,j,j",‡”j”j%”j)”‡”jyæj„æjˆæ‡”jýjój‘‡”jbjj“‡”jRjŸRj£R‡”j/j /j'/‡”jðŒjôŒjøŒ‡”j…³j³j‹³‡”jÓ,jì,jð,‡”j°ÕjÈÕjÌÕ‡”j òjòjò‡”jŽ'j†'jz'‡”j´j+´j2´‡”j›vj¦vjªv‡”jãj¢ãj¦ã‡”jéjéj釔j^òjbòjfò‡”jòåjæj懔j~j–jš‡”j >j2>j6>‡”j¨jŸ¨j£¨‡”jYjUj_‡”jqÉj”Éj˜É‡”jL½j^½jb½‡”j“j¥j©‡”j:j>jB‡”jOªjSªjWª‡”jŽÕj’Õj–Õ‡”jÙÇjÿÇjȇ”jÊÉjÎÉjÒɇ”j[ÕjuÕj^Õ‡”j”Pj˜PjœP‡”jêjêjꇔjQjQjQ‡”jžj=žjAž‡”j)ìj4ìj8쇔j–dj°dj™d‡”jÍ¡jØ¡jÜ¡‡”j/j /j/‡”jæUjêUjîU‡”jÄIjÀIjÊI‡”jÜ|jà|jä|‡”j!éj3éj:釔j}”j”j…”‡”jKIj]IjaI‡”jçÊjòÊjöʇ”j[j3[j7[‡”j_j _j_‡”jëjãjׇ”jUjYj]‡”jCzj;zj/z‡”j¯GjºGj¾G‡”jàjúj㇔j¹‰j܉jà‰‡”jŠïjŽïj’j­~j¿~jÆ~‡”jš]j¬]j°]‡”j¶{jÐ{j¹{‡”jÛÀjíÀjñÀ‡”jâ=jí=jñ=‡”jŸ%j±%jµ%‡”jgj›jŸ‡”jFÒjXÒj_Ò‡”jýj¹ýj½ý‡”jR»jòêj]»‡”jU_jY_j]_‡”jp¡j{¡j¡‡”j- j vjg ‡”jf;j)Rj½;‡”jlšjpšjtš‡”j:.jE.jI.‡”jSjmj–‡”j5jGjK‡”jlŠj~Šj‚Ї”j~yj‚yj†y‡”jžXj½XjÁX‡”jâ†j‡j ‡‡”jZjZj Z‡”jdjojs‡”j‹Cj™CjC‡”j—‚j“‚j‚‡”j"?jE?jI?‡”jüOjPjP‡”jÄäjÈäjÌ䇔j©XjÁXjÅX‡”jXjfjj‡”j{ˆj¨ˆj¬ˆ‡”jI¤jM¤jQ¤‡”j¦Dj±DjµD‡”jÀ¦jĦjȦ‡”jEêj^ðjPꇔjèÑjÒjÒ‡”jõj"j&‡”jÉjýj‡”j>ÁjPÁjWÁ‡”jô¬jø¬jü¬‡”jß›jã›j盇”j»µj͵jѵ‡”j°jÿ¯j󯇔js~j§~j«~‡”j ÇjÇjLJ”jÎHjìHjðH‡”jHéjLéjP釔j,+j0+j4+‡”j$®j(®j,®‡”jŒljlj”l‡”j jêæj% ‡”jøjøjø‡”j'bj+bj/b‡”jø3j4j4‡”j¸†jʆjΆ‡”jß\jí\jô\‡”jZjtj]‡”jY’jŒj¤’‡”j'‹j¸/jh‹‡”jŒjnçj—‡”jÓIjåIjéI‡”j‡ûjŸûj£û‡”j¢j#¢j'¢‡”js¢j…¢j‰¢‡”jÿ°j±j±‡”jT©j_©jc©‡”j$ jC jG ‡”jwAj‹~j¶A‡”j“êj¾ëjžê‡”j• j™ j ‡”jj0j7‡”jÎjÊjÔ‡”jÖjÚjÞ‡”j¸jÑj؇”jej!ej(e‡”jqÙjÚmjÅÙ‡”j• j§ j« ‡”jÿ¦jœejÚ§‡”j’¸j¸j¡¸‡”jÅjÉj͇”j–²j¹²j½²‡”j¯j*¯j.¯‡”j‰j¨‰j¯‰‡”j².jÌ.jµ.‡”j¶©jº©j¾©‡”jAj›Kj•‡”j«5jÚñj¶5‡”jNj˜NjŸN‡”j'Sj+Sj/S‡”jÙ·jògj¸‡”j™,j,j¡,‡”j­”jŸ”j“”‡”jsjsj#s‡”j9ÇjmÇjqLJ”jtej†eje‡”jüFjGjG‡”jTàjpàjtà‡”jÎKja jL‡”j…j…j!…‡”j*Mj8MjmjBm‡”jÔãjéãjí㇔jc<jg<jk<‡”j€j€j€‡”j=OjAOjEO‡”j6*jV*jZ*‡”jȱjä±j豇”j~jj‰jjj‡”j¿oj»ojÅo‡”jgpjypj€p‡”j;ij?ijCi‡”jº0j¾0jÂ0‡”j`-jP{j“-‡”j ôjÃôjÇô‡”jÖjáj凔jÝÛj÷ÛjàÛ‡”jo>j>j…>‡”jIßjlßjp߇”jI{j̇j†{‡”jIßjMßjQ߇”jö˜jú˜jþ˜‡”jctj†tjŠt‡”jöj:öjAö‡”j6jE6jI6‡”jjj‡”j#j1j5‡”jtSj“Sj—S‡”jKÏjnÏjrχ”jÒâjÖâjÚ⇔jz€j~€j‚€‡”jFZjbZjfZ‡”j¶©jÏ©jÖ©‡”j •j&•j*•‡”jÿj"j&‡”jgjkjo‡”jãjßj釔j€¾jijÁ¾‡”jš7j¥7j©7‡”jëNjïNjóN‡”j¿j8¿j<¿‡”jKZjCZj7Z‡”jåxj yjy‡”j jFñj ‡”j|j€j„‡”jäæjöæjú懔jÁ÷jÌ÷jÐ÷‡”jújþj€‡”jƒKj•KjœK‡”j}/j/j…/‡”jX„jf„jj„‡”jÀ~jã~jç~‡”j³®jÖ®jÚ®‡”jï jó j÷ ‡”jVjZj^‡”j›\jŸ\j£\‡”jõAjBjB‡”j£ j§ j« ‡”jL’jo’js’‡”jä_j`j `‡”jd'j|'j€'‡”jÎ3jà3jä3‡”j¾’j×’jÞ’‡”j…j…j…‡”jjjñju‡”j·ZjÏZjÓZ‡”j™jevjÓ‡”j‘j•j™‡”jŽj[`jWއ”j§òjŸòj“ò‡”jTyj_yjcy‡”jذjܰjà°‡”jWMjvMjzM‡”j"jj(‡”jwöj‚öj†ö‡”juj”j˜‡”jÝ=já=jå=‡”jÄ.jÏ.jÓ.‡”jXrjprjtr‡”jÝ,jë,jò,‡”j¾%jÉ%jÍ%‡”jvzjšéjz‡”j†Vj˜VjŸV‡”j°'j»'j¿'‡”j¾žjÌžjÓž‡”jO«jh«jl«‡”j'|j5|j9|‡”jZ*jz*j~*‡”jWj%Wj)W‡”jmOjŒOjO‡”jÚªjóªj÷ª‡”jÎŒjèŒjÑŒ‡”j“3j—3j›3‡”j»AjÚAjÞA‡”jùj;ùjBù‡”j74jI4jM4‡”jnÀj€Àj„À‡”jê¹jºjº‡”j¤ìjÀìjÇ쇔j¨÷j¬÷j°÷‡”jjj‡”jŽ›j™›j›‡”juj7uj;u‡”jøj žjž‡”j;Lj^LjbL‡”jdj+dj/d‡”j5=jX=j\=‡”j/_j¦òj:_‡”j,j,,j,‡”j‰ÀjÀj‘À‡”j<j3<j:<‡”jájŽjއ”jÊj‹Êj•ʇ”jJ¨jU¨jY¨‡”j‡‚j¥‚j©‚‡”jYRjgRjkR‡”jÁùjÌùjÐù‡”j|jrj‚‡”j;UjUUj>U‡”j¢j˜j¨‡”jX…jf…jm…‡”j*œj.œj2œ‡”jöjòjü‡”j³j³j³‡”jñ j j ‡”jõ j!j!‡”jDjjjn‡”jߟj j ‡”j‹ŸjŸj“Ÿ‡”jz€jŒ€j€‡”jþ5j6j6‡”jY+jxj’+‡”jpIj“Ij—I‡”j—Ûj©Ûj­Û‡”jY:js:j\:‡”j|ôj€ôj„ô‡”j—ÑjÑjƒÑ‡”j–-j¹-j½-‡”ji¿jˆ¿jŒ¿‡”jR=jV=jZ=‡”jѱjß±j汇”jÿ¦jjej¼§‡”jÈ×jÖ×jÝׇ”jÜ“jç“j듇”j¹jÒjÙ‡”j¦j¦j¦‡”jÚjÞj⇔j£j¿jÇ”jKj KjK‡”j…j7…j;…‡”jÌjëjj( j  j ‡”jSbjvbjzb‡”jhâjlâjp⇔jGÉjjÉjnɇ”j_”(jjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jj€jj‚jƒj„j…j†j‡jˆj‰jŠj‹jŒjjŽjjj‘j’j“j”j•j–j—j˜j™jšj›jœjjžjŸj j¡j¢j£j¤j¥j¦j§j¨j©jªj«j¬j­j®j¯j°j±j²j³j´jµj¶j·j¸j¹jºj»j¼j½j¾j¿jÀjÁjÂjÃjÄjÅjÆjÇjÈjÉjÊjËjÌjÍjÎjÏjÐjÑjÒjÓjÔjÕjÖj×jØjÙjÚjÛjÜjÝjÞjßjàjájâjãjäjåjæjçjèjéjêjëjìjíjîjïjðjñjòjójôjõjöj÷jøjùjújûjüjýjþjÿj‘j‘j‘j‘j‘j‘j‘j‘j‘j ‘j ‘j ‘j ‘j ‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j‘j ‘j!‘j"‘j#‘j$‘j%‘j&‘j'‘j(‘j)‘j*‘j+‘j,‘j-‘j.‘j/‘j0‘j1‘j2‘j3‘j4‘j5‘j6‘j7‘j8‘j9‘j:‘j;‘j<‘j=‘j>‘j?‘j@‘jA‘jB‘jC‘jD‘jE‘jF‘jG‘jH‘jI‘jJ‘jK‘jL‘jM‘jN‘jO‘jP‘jQ‘jR‘jS‘jT‘jU‘jV‘jW‘jX‘jY‘jZ‘j[‘j\‘j]‘j^‘j_‘j`‘ja‘jb‘jc‘jd‘je‘jf‘jg‘jh‘ji‘jj‘jk‘jl‘jm‘jn‘jo‘jp‘jq‘jr‘js‘jt‘ju‘jv‘jw‘jx‘jy‘jz‘j{‘j|‘j}‘j~‘j‘j€‘j‘j‚‘jƒ‘j„‘j…‘j†‘j‡‘jˆ‘j‰‘jŠ‘j‹‘jŒ‘j‘jŽ‘j‘j‘j‘‘j’‘j“‘j”‘j•‘j–‘j—‘j˜‘j™‘jš‘j›‘jœ‘j‘jž‘jŸ‘j ‘j¡‘j¢‘j£‘j¤‘j¥‘j¦‘j§‘j¨‘j©‘jª‘j«‘j¬‘j­‘j®‘j¯‘j°‘j±‘j²‘j³‘j´‘jµ‘j¶‘j·‘j¸‘j¹‘jº‘j»‘j¼‘j½‘j¾‘j¿‘jÀ‘jÁ‘j‘jÑjÄ‘jÅ‘jÆ‘jÇ‘jÈ‘jÉ‘jÊ‘jË‘jÌ‘jÍ‘jΑjÏ‘jБjÑ‘jÒ‘jÓ‘jÔ‘jÕ‘jÖ‘jבjØ‘jÙ‘jÚ‘jÛ‘jÜ‘jÝ‘jÞ‘jß‘jà‘já‘jâ‘jã‘jä‘jå‘jæ‘jç‘jè‘jé‘jê‘jë‘jì‘jí‘jî‘jï‘jð‘jñ‘jò‘jó‘jô‘jõ‘jö‘j÷‘jø‘jù‘jú‘jû‘jü‘jý‘jþ‘jÿ‘j’j’j’j’j’j’j’j’j’j ’j ’j ’j ’j ’j’j’j’j’j’j’j’j’j’j’j’j’j’j’j’j’j’j’j ’j!’j"’j#’j$’j%’j&’j'’j(’j)’j*’j+’j,’j-’j.’j/’j0’j1’j2’j3’j4’j5’j6’j7’j8’j9’j:’j;’j<’j=’j>’j?’j@’jA’jB’jC’jD’jE’jF’jG’jH’jI’jJ’jK’jL’jM’jN’jO’jP’jQ’jR’jS’jT’jU’jV’jW’jX’jY’jZ’j[’j\’j]’j^’j_’j`’ja’jb’jc’jd’je’jf’jg’jh’ji’jj’jk’jl’jm’jn’jo’jp’jq’jr’js’jt’ju’jv’jw’jx’jy’jz’j{’j|’j}’j~’j’j€’j’j‚’jƒ’j„’j…’j†’j‡’jˆ’j‰’jŠ’j‹’jŒ’j’jŽ’j’j’j‘’j’’j“’j”’j•’j–’j—’j˜’j™’jš’j›’jœ’j’jž’jŸ’j ’j¡’j¢’j£’j¤’j¥’j¦’j§’j¨’j©’jª’j«’j¬’j­’j®’j¯’j°’j±’j²’j³’j´’jµ’j¶’j·’j¸’j¹’jº’j»’j¼’j½’j¾’j¿’jÀ’jÁ’jÂ’jÃ’jÄ’jÅ’jÆ’jÇ’jÈ’jÉ’jÊ’jË’jÌ’jÍ’jÎ’jÏ’jÐ’jÑ’jÒ’jÓ’jÔ’jÕ’jÖ’j×’jØ’jÙ’jÚ’jÛ’jÜ’jÝ’jÞ’jß’jà’já’jâ’jã’jä’jå’jæ’jç’jè’jé’jê’jë’jì’jí’jî’jï’jð’jñ’jò’jó’jô’jõ’jö’j÷’jø’jù’jú’jû’jü’jý’jþ’jÿ’j“j“j“j“j“j“j“j“j“j “j “j “j “j “j“j“j“j“j“j“j“j“j“j“j“j“j“j“j“j“j“j“j “j!“j"“j#“j$“j%“j&“j'“j(“j)“j*“j+“j,“j-“j.“j/“j0“j1“j2“j3“j4“j5“j6“j7“j8“j9“j:“j;“j<“j=“j>“j?“j@“jA“jB“jC“jD“jE“jF“jG“jH“jI“jJ“jK“jL“jM“jN“jO“jP“jQ“jR“jS“jT“jU“jV“jW“jX“jY“jZ“j[“j\“j]“j^“j_“j`“ja“jb“jc“jd“je“jf“jg“jh“ji“jj“jk“jl“jm“jn“jo“jp“jq“jr“js“jt“ju“jv“jw“jx“jy“jz“j{“j|“j}“j~“j“j€“j“j‚“jƒ“j„“j…“j†“j‡“jˆ“j‰“jŠ“j‹“jŒ“j“jŽ“j“j“j‘“j’“j““j”“j•“j–“j—“j˜“j™“jš“j›“jœ“j“jž“jŸ“j “j¡“j¢“j£“j¤“j¥“j¦“j§“j¨“j©“jª“j«“j¬“j­“j®“j¯“j°“j±“j²“j³“j´“jµ“j¶“j·“j¸“j¹“jº“j»“j¼“j½“j¾“j¿“jÀ“jÁ“j“jÓjÄ“jÅ“jÆ“jÇ“jÈ“jÉ“jÊ“jË“jÌ“jÍ“jΓjÏ“jГjÑ“jÒ“jÓ“jÔ“jÕ“jÖ“jדjØ“jÙ“jÚ“jÛ“jÜ“jÝ“jÞ“jß“jà“já“jâ“jã“jä“jå“jæ“jç“jè“jé“jê“jë“jì“jí“jî“jï“jð“jñ“jò“jó“jô“jõ“jö“j÷“jø“jù“jú“jû“jü“jý“jþ“jÿ“j”j”j”j”j”j”j”j”j”j ”j ”j ”j ”j ”j”j”j”j”j”j”j”j”j”j”j”j”j”j”j”j”j”j”j ”j!”j"”j#”j$”j%”j&”j'”j(”j)”j*”j+”j,”j-”j.”j/”j0”j1”j2”j3”j4”j5”j6”j7”j8”j9”j:”j;”j<”j=”j>”j?”j@”jA”jB”jC”jD”jE”jF”jG”jH”jI”jJ”jK”jL”jM”jN”jO”jP”jQ”(jR”jS”jT”jU”jV”jW”jX”jY”jZ”j[”j\”j]”j^”j_”j`”ja”jb”jc”jd”je”jf”jg”jh”ji”jj”jk”jl”jm”jn”jo”jp”jq”jr”js”jt”ju”jv”jw”jx”jy”jz”j{”j|”j}”j~”j”j€”j”j‚”jƒ”j„”j…”j†”j‡”jˆ”j‰”jŠ”j‹”jŒ”j”jŽ”j”j”j‘”j’”j“”j””j•”j–”j—”j˜”j™”jš”j›”jœ”j”jž”jŸ”j ”j¡”j¢”j£”j¤”j¥”j¦”j§”j¨”j©”jª”j«”j¬”j­”j®”j¯”j°”j±”j²”j³”j´”jµ”j¶”j·”j¸”j¹”jº”j»”j¼”j½”j¾”j¿”jÀ”jÁ”j”jÔjÄ”jÅ”jÆ”jÇ”jÈ”jÉ”jÊ”jË”jÌ”jÍ”jΔjÏ”jДjÑ”jÒ”jÓ”jÔ”jÕ”jÖ”j×”jØ”jÙ”jÚ”jÛ”jÜ”jÝ”jÞ”jß”jà”já”jâ”jã”jä”jå”jæ”jç”jè”jé”jê”jë”jì”jí”jî”jï”jð”jñ”jò”jó”jô”jõ”jö”j÷”jø”jù”jú”jû”jü”jý”jþ”jÿ”j•j•j•j•j•j•j•j•j•j •j •j •j •j •j•j•j•j•j•j•j•j•j•j•j•j•j•j•j•j•j•j•j •j!•j"•j#•j$•j%•j&•j'•j(•j)•j*•j+•j,•j-•j.•j/•j0•j1•j2•j3•j4•j5•j6•j7•j8•j9•j:•j;•j<•j=•j>•j?•j@•jA•jB•jC•jD•jE•jF•jG•jH•jI•jJ•jK•jL•jM•jN•jO•jP•jQ•jR•jS•jT•jU•jV•jW•jX•jY•jZ•j[•j\•j]•j^•j_•j`•ja•jb•jc•jd•je•jf•jg•jh•ji•jj•jk•jl•jm•jn•jo•jp•jq•jr•js•jt•ju•jv•jw•jx•jy•jz•j{•j|•j}•j~•j•j€•j•j‚•jƒ•j„•j…•j†•j‡•jˆ•j‰•jŠ•j‹•jŒ•j•jŽ•j•j•j‘•j’•j“•j”•j••j–•j—•j˜•j™•jš•j›•jœ•j•jž•jŸ•j •j¡•j¢•j£•j¤•j¥•j¦•j§•j¨•j©•jª•j«•j¬•j­•j®•j¯•j°•j±•j²•j³•j´•jµ•j¶•j·•j¸•j¹•jº•j»•j¼•j½•j¾•j¿•jÀ•jÁ•j•jÕjÄ•jÅ•jÆ•jÇ•jÈ•jÉ•jÊ•jË•jÌ•jÍ•jΕjÏ•jЕjÑ•jÒ•jÓ•jÔ•jÕ•jÖ•jוjØ•jÙ•jÚ•jÛ•jÜ•jÝ•jÞ•jß•jà•já•jâ•jã•jä•jå•jæ•jç•jè•jé•jê•jë•jì•jí•jî•jï•jð•jñ•jò•jó•jô•jõ•jö•j÷•jø•jù•jú•jû•jü•jý•jþ•jÿ•j–j–j–j–j–j–j–j–j–j –j –j –j –j –j–j–j–j–j–j–j–j–j–j–j–j–j–j–j–j–j–j–j –j!–j"–j#–j$–j%–j&–j'–j(–j)–j*–j+–j,–j-–j.–j/–j0–j1–j2–j3–j4–j5–j6–j7–j8–j9–j:–j;–j<–j=–j>–j?–j@–jA–jB–jC–jD–jE–jF–jG–jH–jI–jJ–jK–jL–jM–jN–jO–jP–jQ–jR–jS–jT–jU–jV–jW–jX–jY–jZ–j[–j\–j]–j^–j_–j`–ja–jb–jc–jd–je–jf–jg–jh–ji–jj–jk–jl–jm–jn–jo–jp–jq–jr–js–jt–ju–jv–jw–jx–jy–jz–j{–j|–j}–j~–j–j€–j–j‚–jƒ–j„–j…–j†–j‡–jˆ–j‰–jŠ–j‹–jŒ–j–jŽ–j–j–j‘–j’–j“–j”–j•–j––j—–j˜–j™–jš–j›–jœ–j–jž–jŸ–j –j¡–j¢–j£–j¤–•j¥–j¦–j§–j¨–j©–jª–j«–j¬–j­–j®–j¯–j°–j±–j²–j³–j´–jµ–j¶–j·–j¸–j¹–jº–j»–j¼–j½–j¾–j¿–jÀ–jÁ–j–jÖjÄ–jÅ–jÆ–jÇ–jÈ–jÉ–jÊ–jË–jÌ–jÍ–jΖjÏ–jЖjÑ–jÒ–jÓ–jÔ–jÕ–jÖ–j×–jØ–jÙ–jÚ–jÛ–jÜ–jÝ–jÞ–jß–jà–já–jâ–jã–jä–jå–jæ–jç–jè–jé–jê–jë–jì–jí–jî–jï–jð–jñ–jò–jó–jô–jõ–jö–j÷–jø–jù–jú–jû–jü–jý–jþ–jÿ–j—j—j—j—j—j—j—j—j—j —j —j —j —j —j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j—j —j!—j"—j#—j$—j%—j&—j'—j(—j)—j*—j+—j,—j-—j.—j/—j0—j1—j2—j3—j4—j5—j6—j7—j8—j9—j:—j;—j<—j=—j>—j?—j@—jA—jB—jC—jD—jE—jF—jG—jH—jI—jJ—jK—jL—jM—jN—jO—jP—jQ—jR—jS—jT—jU—jV—jW—jX—jY—jZ—j[—j\—j]—j^—j_—j`—ja—jb—jc—jd—je—jf—jg—jh—ji—jj—jk—jl—jm—jn—jo—jp—jq—jr—js—jt—ju—jv—jw—jx—jy—jz—j{—j|—j}—j~—j—j€—j—j‚—jƒ—j„—j…—j†—j‡—jˆ—j‰—jŠ—j‹—jŒ—j—jŽ—j—j—j‘—j’—j“—j”—j•—j–—j——j˜—j™—jš—j›—jœ—j—jž—jŸ—j —j¡—j¢—j£—j¤—j¥—j¦—j§—j¨—j©—jª—j«—j¬—j­—j®—j¯—j°—j±—j²—j³—j´—jµ—j¶—j·—j¸—j¹—jº—j»—j¼—j½—j¾—j¿—jÀ—jÁ—j—j×jÄ—jÅ—jÆ—jÇ—jÈ—jÉ—jÊ—jË—jÌ—jÍ—jΗjÏ—jЗjÑ—jÒ—jÓ—jÔ—jÕ—jÖ—j×—jØ—jÙ—jÚ—jÛ—jÜ—jÝ—jÞ—jß—jà—já—jâ—jã—jä—jå—jæ—jç—jè—jé—jê—jë—jì—jí—jî—jï—jð—jñ—jò—jó—jô—jõ—jö—j÷—jø—jù—jú—jû—jü—jý—jþ—jÿ—j˜j˜j˜j˜j˜j˜j˜j˜j˜j ˜j ˜j ˜j ˜j ˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j˜j ˜j!˜j"˜j#˜j$˜j%˜j&˜j'˜j(˜j)˜j*˜j+˜j,˜j-˜j.˜j/˜j0˜j1˜j2˜j3˜j4˜j5˜j6˜j7˜j8˜j9˜(j:˜j;˜j<˜j=˜j>˜j?˜j@˜jA˜jB˜jC˜jD˜jE˜jF˜jG˜jH˜jI˜jJ˜jK˜jL˜jM˜jN˜jO˜jP˜jQ˜jR˜jS˜jT˜jU˜jV˜jW˜jX˜jY˜jZ˜j[˜j\˜j]˜j^˜j_˜j`˜ja˜jb˜jc˜jd˜je˜jf˜jg˜jh˜ji˜jj˜jk˜jl˜jm˜jn˜jo˜jp˜jq˜jr˜js˜jt˜ju˜jv˜jw˜jx˜jy˜jz˜j{˜j|˜j}˜j~˜j˜j€˜j˜j‚˜jƒ˜j„˜j…˜j†˜j‡˜jˆ˜j‰˜jŠ˜j‹˜jŒ˜j˜jŽ˜j˜j˜j‘˜j’˜j“˜j”˜j•˜j–˜j—˜j˜˜j™˜jš˜j›˜jœ˜j˜jž˜jŸ˜j ˜j¡˜j¢˜j£˜j¤˜j¥˜j¦˜j§˜j¨˜j©˜jª˜j«˜j¬˜j­˜j®˜j¯˜j°˜j±˜j²˜j³˜j´˜jµ˜j¶˜j·˜j¸˜j¹˜jº˜j»˜j¼˜j½˜j¾˜j¿˜jÀ˜jÁ˜j˜jØjĘjŘjƘjǘjȘjɘjʘj˘j̘j͘jΘjϘjИjјjÒ˜jÓ˜jÔ˜jÕ˜jÖ˜jטjؘjÙ˜jÚ˜jÛ˜jܘjݘjÞ˜jߘjà˜já˜jâ˜jã˜jä˜jå˜jæ˜jç˜jè˜jé˜jê˜jë˜jì˜jí˜jî˜jï˜jð˜jñ˜jò˜jó˜jô˜jõ˜jö˜j÷˜jø˜jù˜jú˜jû˜jü˜jý˜jþ˜jÿ˜j™j™j™j™j™j™j™j™j™j ™j ™j ™j ™j ™j™j™j™j™j™j™j™j™j™j™j™j™j™j™j™j™j™j™j ™j!™j"™j#™j$™j%™j&™j'™j(™j)™j*™j+™j,™j-™j.™j/™j0™j1™j2™j3™j4™j5™j6™j7™j8™j9™j:™j;™j<™j=™j>™j?™j@™jA™jB™jC™jD™jE™jF™jG™jH™jI™jJ™jK™jL™jM™jN™jO™jP™jQ™jR™jS™jT™jU™jV™jW™jX™jY™jZ™j[™j\™j]™j^™j_™j`™ja™jb™jc™jd™je™jf™jg™jh™ji™jj™jk™jl™jm™jn™jo™jp™jq™jr™js™jt™ju™jv™jw™jx™jy™jz™j{™j|™j}™j~™j™j€™j™j‚™jƒ™j„™j…™j†™j‡™jˆ™j‰™jŠ™j‹™jŒ™j™jŽ™j™j™j‘™j’™j“™j”™j•™j–™j—™j˜™j™™jš™j›™jœ™j™jž™jŸ™j ™j¡™j¢™j£™j¤™j¥™j¦™j§™j¨™j©™jª™j«™j¬™j­™j®™j¯™j°™j±™j²™j³™j´™jµ™j¶™j·™j¸™j¹™jº™j»™j¼™j½™j¾™j¿™jÀ™jÁ™j™jÙjÄ™jÅ™jÆ™jÇ™jÈ™jÉ™jÊ™jË™jÌ™jÍ™jΙjÏ™jЙjÑ™jÒ™jÓ™jÔ™jÕ™jÖ™j×™jØ™jÙ™jÚ™jÛ™jÜ™jÝ™jÞ™jß™jà™já™jâ™jã™jä™jå™jæ™jç™jè™jé™jê™jë™jì™jí™jî™jï™jð™jñ™jò™jó™jô™jõ™jö™j÷™jø™jù™jú™jû™jü™jý™jþ™jÿ™jšjšjšjšjšjšjšjšjšj šj šj šj šj šjšjšjšjšjšjšjšjšjšjšjšjšjšjšjšjšjšjšj šj!šj"šj#šj$šj%šj&šj'šj(šj)šj*šj+šj,šj-šj.šj/šj0šj1šj2šj3šj4šj5šj6šj7šj8šj9šj:šj;šj<šj=šj>šj?šj@šjAšjBšjCšjDšjEšjFšjGšjHšjIšjJšjKšjLšjMšjNšjOšjPšjQšjRšjSšjTšjUšjVšjWšjXšjYšjZšj[šj\šj]šj^šj_šj`šjašjbšjcšjdšješjfšjgšjhšjišjjšjkšjlšjmšjnšjošjpšjqšjršjsšjtšjušjvšjwšjxšjyšjzšj{šj|šj}šj~šjšj€šjšj‚šjƒšj„šj…šj†šj‡šjˆšj‰šjŠšj‹šjŒšjšjŽšjšjšj‘šj’šj“šj”šj•šj–šj—šj˜šj™šjššj›šjœšjšjžšjŸšj šj¡šj¢šj£šj¤šj¥šj¦šj§šj¨šj©šjªšj«šj¬šj­šj®šj¯šj°šj±šj²šj³šj´šjµšj¶šj·šj¸šj¹šjºšj»šj¼šj½šj¾šj¿šjÀšjÁšjšjÚjÄšjÅšjÆšjÇšjÈšjÉšjÊšjËšjÌšjÍšjΚjÏšjКjÑšjÒšjÓšjÔšjÕšjÖšjךjØšjÙšjÚšjÛšjÜšjÝšjÞšjßšjàšjášjâšjãšjäšjåšjæšjçšjèšjéšjêšjëšjìšjíšjîšjïšjðšjñšjòšjóšjôšjõšjöšj÷šjøšjùšjúšjûšjüšjýšjþšjÿšj›j›j›j›j›j›j›j›j›j ›j ›j ›j ›j ›j›j›j›j›j›j›j›j›j›j›j›j›j›j›j›j›j›j›j ›j!›j"›j#›j$›j%›j&›j'›j(›j)›j*›j+›j,›j-›j.›j/›j0›j1›j2›j3›j4›j5›j6›j7›j8›j9›j:›j;›j<›j=›j>›j?›j@›jA›jB›jC›jD›jE›jF›jG›jH›jI›jJ›jK›jL›jM›jN›jO›jP›jQ›jR›jS›jT›jU›jV›jW›jX›jY›jZ›j[›j\›j]›j^›j_›j`›ja›jb›jc›jd›je›jf›jg›jh›ji›jj›jk›jl›jm›jn›jo›jp›jq›jr›js›jt›ju›jv›jw›jx›jy›jz›j{›j|›j}›j~›j›j€›j›j‚›jƒ›j„›j…›j†›j‡›jˆ›j‰›jŠ›j‹›jŒ›j›jŽ›j›j›j‘›j’›j“›j”›j•›j–›j—›j˜›j™›jš›j››jœ›j›jž›jŸ›j ›j¡›j¢›j£›j¤›j¥›j¦›j§›j¨›j©›jª›j«›j¬›j­›j®›j¯›j°›j±›j²›j³›j´›jµ›j¶›j·›j¸›j¹›jº›j»›j¼›j½›j¾›j¿›jÀ›jÁ›j›jÛjÄ›jÅ›jÆ›jÇ›jÈ›jÉ›jÊ›jË›jÌ›jÍ›jΛjÏ›jЛjÑ›jÒ›jÓ›jÔ›jÕ›jÖ›j×›jØ›jÙ›jÚ›jÛ›jÜ›jÝ›jÞ›jß›jà›já›jâ›jã›jä›jå›jæ›jç›jè›jé›jê›jë›jì›jí›jî›jï›jð›jñ›jò›jó›jô›jõ›jö›j÷›jø›jù›jú›jû›jü›jý›jþ›jÿ›jœjœjœjœjœjœjœjœjœj œj œj œj œj œjœjœjœjœjœjœjœjœjœjœjœjœjœjœjœjœjœjœj œj!œ(j"œj#œj$œj%œj&œj'œj(œj)œj*œj+œj,œj-œj.œj/œj0œj1œj2œj3œj4œj5œj6œj7œj8œj9œj:œj;œj<œj=œj>œj?œj@œjAœjBœjCœjDœjEœjFœjGœjHœjIœjJœjKœjLœjMœjNœjOœjPœjQœjRœjSœjTœjUœjVœjWœjXœjYœjZœj[œj\œj]œj^œj_œj`œjaœjbœjcœjdœjeœjfœjgœjhœjiœjjœjkœjlœjmœjnœjoœjpœjqœjrœjsœjtœjuœjvœjwœjxœjyœjzœj{œj|œj}œj~œjœj€œjœj‚œjƒœj„œj…œj†œj‡œjˆœj‰œjŠœj‹œjŒœjœjŽœjœjœj‘œj’œj“œj”œj•œj–œj—œj˜œj™œjšœj›œjœœjœjžœjŸœj œj¡œj¢œj£œj¤œj¥œj¦œj§œj¨œj©œjªœj«œj¬œj­œj®œj¯œj°œj±œj²œj³œj´œjµœj¶œj·œj¸œj¹œjºœj»œj¼œj½œj¾œj¿œjÀœjÁœjœjÜjÄœjÅœjÆœjÇœjÈœjÉœjÊœjËœjÌœjÍœjΜjÏœjМjÑœjÒœjÓœjÔœjÕœjÖœjלjØœjÙœjÚœjÛœjÜœjÝœjÞœjßœjàœjáœjâœjãœjäœjåœjæœjçœjèœjéœjêœjëœjìœjíœjîœjïœjðœjñœjòœjóœjôœjõœjöœj÷œjøœjùœjúœjûœjüœjýœjþœjÿœjjjjjjjjjj j j j j jjjjjjjjjjjjjjjjjjj j!j"j#j$j%j&j'j(j)j*j+j,j-j.j/j0j1j2j3j4j5j6j7j8j9j:j;j<j=j>j?j@jAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj[j\j]j^j_j`jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jj€jj‚jƒj„j…j†j‡jˆj‰jŠj‹jŒjjŽjjj‘j’j“j”j•j–j—j˜j™jšj›jœjjžjŸj j¡j¢j£j¤j¥j¦j§j¨j©jªj«j¬j­j®j¯j°j±j²j³j´jµj¶j·j¸j¹jºj»j¼j½j¾j¿jÀjÁjÂjÃjÄjÅjÆjÇjÈjÉjÊjËjÌjÍjÎjÏjÐjÑjÒjÓjÔjÕjÖj×jØjÙjÚjÛjÜjÝjÞjßjàjájâjãjäjåjæjçjèjéjêjëjìjíjîjïjðjñjòjójôjõjöj÷jøjùjújûjüjýjþjÿjžjžjžjžjžjžjžjžjžj žj žj žj žj žjžjžjžjžjžjžjžjžjžjžjžjžjžjžjžjžjžjžj žj!žj"žj#žj$žj%žj&žj'žj(žj)žj*žj+žj,žj-žj.žj/žj0žj1žj2žj3žj4žj5žj6žj7žj8žj9žj:žj;žj<žj=žj>žj?žj@žjAžjBžjCžjDžjEžjFžjGžjHžjIžjJžjKžjLžjMžjNžjOžjPžjQžjRžjSžjTžjUžjVžjWžjXžjYžjZžj[žj\žj]žj^žj_žj`žjažjbžjcžjdžježjfžjgžjhžjižjjžjkžjlžjmžjnžjožjpžjqžjržjsžjtžjužjvžjwžjxžjyžjzžj{žj|žj}žj~žjžj€žjžj‚žjƒžj„žj…žj†žj‡žjˆžj‰žjŠžj‹žjŒžjžjŽžjžjžj‘žj’žj“žj”žj•žj–žj—žj˜žj™žjšžj›žjœžjžjžžjŸžj žj¡žj¢žj£žj¤žj¥žj¦žj§žj¨žj©žjªžj«žj¬žj­žj®žj¯žj°žj±žj²žj³žj´žjµžj¶žj·žj¸žj¹žjºžj»žj¼žj½žj¾žj¿žjÀžjÁžjžjÞjÄžjÅžjÆžjÇžjÈžjÉžjÊžjËžjÌžjÍžjΞjÏžjОjÑžjÒžjÓžjÔžjÕžjÖžjמjØžjÙžjÚžjÛžjÜžjÝžjÞžjßžjàžjážjâžjãžjäžjåžjæžjçžjèžjéžjêžjëžjìžjížjîžjïžjðžjñžjòžjóžjôžjõžjöžj÷žjøžjùžjúžjûžjüžjýžjþžjÿžjŸjŸjŸjŸjŸjŸjŸjŸjŸj Ÿj Ÿj Ÿj Ÿj ŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸjŸj Ÿj!Ÿj"Ÿj#Ÿj$Ÿj%Ÿj&Ÿj'Ÿj(Ÿj)Ÿj*Ÿj+Ÿj,Ÿj-Ÿj.Ÿj/Ÿj0Ÿj1Ÿj2Ÿj3Ÿj4Ÿj5Ÿj6Ÿj7Ÿj8Ÿj9Ÿj:Ÿj;Ÿj<Ÿj=Ÿj>Ÿj?Ÿj@ŸjAŸjBŸjCŸjDŸjEŸjFŸjGŸjHŸjIŸjJŸjKŸjLŸjMŸjNŸjOŸjPŸjQŸjRŸjSŸjTŸjUŸjVŸjWŸjXŸjYŸjZŸj[Ÿj\Ÿj]Ÿj^Ÿj_Ÿj`ŸjaŸjbŸjcŸjdŸjeŸjfŸjgŸjhŸjiŸjjŸjkŸjlŸjmŸjnŸjoŸjpŸjqŸjrŸjsŸjtŸjuŸjvŸjwŸjxŸjyŸjzŸj{Ÿj|Ÿj}Ÿj~ŸjŸj€ŸjŸj‚ŸjƒŸj„Ÿj…Ÿj†Ÿj‡ŸjˆŸj‰ŸjŠŸj‹ŸjŒŸjŸjŽŸjŸjŸj‘Ÿj’Ÿj“Ÿj”Ÿj•Ÿj–Ÿj—Ÿj˜Ÿj™ŸjšŸj›ŸjœŸjŸjžŸjŸŸj Ÿj¡Ÿj¢Ÿj£Ÿj¤Ÿj¥Ÿj¦Ÿj§Ÿj¨Ÿj©ŸjªŸj«Ÿj¬Ÿj­Ÿj®Ÿj¯Ÿj°Ÿj±Ÿj²Ÿj³Ÿj´ŸjµŸj¶Ÿj·Ÿj¸Ÿj¹ŸjºŸj»Ÿj¼Ÿj½Ÿj¾Ÿj¿ŸjÀŸjÁŸjŸjßjÄŸjÅŸjÆŸjÇŸjÈŸjÉŸjÊŸjËŸjÌŸjÍŸjΟjÏŸjПjÑŸjÒŸjÓŸjÔŸjÕŸjÖŸjןjØŸjÙŸjÚŸjÛŸjÜŸjÝŸjÞŸjߟjàŸjáŸjâŸjãŸjäŸjåŸjæŸjçŸjèŸjéŸjêŸjëŸjìŸjíŸjîŸjïŸjðŸjñŸjòŸjóŸjôŸjõŸjöŸj÷ŸjøŸjùŸjúŸjûŸjüŸjýŸjþŸjÿŸj j j j j j j j j j  (j  j  j  j  j j j j j j j j j j j j j j j j j j j  j! j" j# j$ j% j& j' j( j) j* j+ j, j- j. j/ j0 j1 j2 j3 j4 j5 j6 j7 j8 j9 j: j; j< j= j> j? j@ jA jB jC jD jE jF jG jH jI jJ jK jL jM jN jO jP jQ jR jS jT jU jV jW jX jY jZ j[ j\ j] j^ j_ j` ja jb jc jd je jf jg jh ji jj jk jl jm jn jo jp jq jr js jt ju jv jw jx jy jz j{ j| j} j~ j j€ j j‚ jƒ j„ j… j† j‡ jˆ j‰ jŠ j‹ jŒ j jŽ j j j‘ j’ j“ j” j• j– j— j˜ j™ jš j› jœ j jž jŸ j  j¡ j¢ j£ j¤ j¥ j¦ j§ j¨ j© jª j« j¬ j­ j® j¯ j° j± j² j³ j´ jµ j¶ j· j¸ j¹ jº j» j¼ j½ j¾ j¿ jÀ jÁ j jàjÄ jÅ jÆ jÇ jÈ jÉ jÊ jË jÌ jÍ jΠjÏ jРjÑ jÒ jÓ jÔ jÕ jÖ j× jØ jÙ jÚ jÛ jÜ jÝ jÞ jß jà já jâ jã jä jå jæ jç jè jé jê jë jì jí jî jï jð jñ jò jó jô jõ jö j÷ jø jù jú jû jü jý jþ jÿ j¡j¡j¡j¡j¡j¡j¡j¡j¡j ¡j ¡j ¡j ¡j ¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j¡j ¡j!¡j"¡j#¡j$¡j%¡j&¡j'¡j(¡j)¡j*¡j+¡j,¡j-¡j.¡j/¡j0¡j1¡j2¡j3¡j4¡j5¡j6¡j7¡j8¡j9¡j:¡j;¡j<¡j=¡j>¡j?¡j@¡jA¡jB¡jC¡jD¡jE¡jF¡jG¡jH¡jI¡jJ¡jK¡jL¡jM¡jN¡jO¡jP¡jQ¡jR¡jS¡jT¡jU¡jV¡jW¡jX¡jY¡jZ¡j[¡j\¡j]¡j^¡j_¡j`¡ja¡jb¡jc¡jd¡je¡jf¡jg¡jh¡ji¡jj¡jk¡jl¡jm¡jn¡jo¡jp¡jq¡jr¡js¡jt¡ju¡jv¡jw¡jx¡jy¡jz¡j{¡j|¡j}¡j~¡j¡j€¡j¡j‚¡jƒ¡j„¡j…¡j†¡j‡¡jˆ¡j‰¡jŠ¡j‹¡jŒ¡j¡jŽ¡j¡j¡j‘¡j’¡j“¡j”¡j•¡j–¡j—¡j˜¡j™¡jš¡j›¡jœ¡j¡jž¡jŸ¡j ¡j¡¡j¢¡j£¡j¤¡j¥¡j¦¡j§¡j¨¡j©¡jª¡j«¡j¬¡j­¡j®¡j¯¡j°¡j±¡j²¡j³¡j´¡jµ¡j¶¡j·¡j¸¡j¹¡jº¡j»¡j¼¡j½¡j¾¡j¿¡jÀ¡jÁ¡j¡jájÄ¡jÅ¡jÆ¡jÇ¡jÈ¡jÉ¡jÊ¡jË¡jÌ¡jÍ¡jΡjÏ¡jСjÑ¡jÒ¡jÓ¡jÔ¡jÕ¡jÖ¡jסjØ¡jÙ¡jÚ¡jÛ¡jÜ¡jÝ¡jÞ¡jß¡jà¡já¡jâ¡jã¡jä¡jå¡jæ¡jç¡jè¡jé¡jê¡jë¡jì¡jí¡jî¡jï¡jð¡jñ¡jò¡jó¡jô¡jõ¡jö¡j÷¡jø¡jù¡jú¡jû¡jü¡jý¡jþ¡jÿ¡j¢j¢j¢j¢j¢j¢j¢j¢j¢j ¢j ¢j ¢j ¢j ¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j¢j ¢j!¢j"¢j#¢j$¢j%¢j&¢j'¢j(¢j)¢j*¢j+¢j,¢j-¢j.¢j/¢j0¢j1¢j2¢j3¢j4¢j5¢j6¢j7¢j8¢j9¢j:¢j;¢j<¢j=¢j>¢j?¢j@¢jA¢jB¢jC¢jD¢jE¢jF¢jG¢jH¢jI¢jJ¢jK¢jL¢jM¢jN¢jO¢jP¢jQ¢jR¢jS¢jT¢jU¢jV¢jW¢jX¢jY¢jZ¢j[¢j\¢j]¢j^¢j_¢j`¢ja¢jb¢jc¢jd¢je¢jf¢jg¢jh¢ji¢jj¢jk¢jl¢jm¢jn¢jo¢jp¢jq¢jr¢js¢jt¢ju¢jv¢jw¢jx¢jy¢jz¢j{¢j|¢j}¢j~¢j¢j€¢j¢j‚¢jƒ¢j„¢j…¢j†¢j‡¢jˆ¢j‰¢jŠ¢j‹¢jŒ¢j¢jŽ¢j¢j¢j‘¢j’¢j“¢j”¢j•¢j–¢j—¢j˜¢j™¢jš¢j›¢jœ¢j¢jž¢jŸ¢j ¢j¡¢j¢¢j£¢j¤¢j¥¢j¦¢j§¢j¨¢j©¢jª¢j«¢j¬¢j­¢j®¢j¯¢j°¢j±¢j²¢j³¢j´¢jµ¢j¶¢j·¢j¸¢j¹¢jº¢j»¢j¼¢j½¢j¾¢j¿¢jÀ¢jÁ¢j¢jâjÄ¢jÅ¢jÆ¢jÇ¢jÈ¢jÉ¢jÊ¢jË¢jÌ¢jÍ¢j΢jÏ¢jТjÑ¢jÒ¢jÓ¢jÔ¢jÕ¢jÖ¢j×¢jØ¢jÙ¢jÚ¢jÛ¢jÜ¢jÝ¢jÞ¢jߢjà¢já¢jâ¢jã¢jä¢jå¢jæ¢jç¢jè¢jé¢jê¢jë¢jì¢jí¢jî¢jï¢jð¢jñ¢jò¢jó¢jô¢jõ¢jö¢j÷¢jø¢jù¢jú¢jû¢jü¢jý¢jþ¢jÿ¢j£j£j£j£j£j£j£j£j£j £j £j £j £j £j£j£j£j£j£j£j£j£j£j£j£j£j£j£j£j£j£j£j £j!£j"£j#£j$£j%£j&£j'£j(£j)£j*£j+£j,£j-£j.£j/£j0£j1£j2£j3£j4£j5£j6£j7£j8£j9£j:£j;£j<£j=£j>£j?£j@£jA£jB£jC£jD£jE£jF£jG£jH£jI£jJ£jK£jL£jM£jN£jO£jP£jQ£jR£jS£jT£jU£jV£jW£jX£jY£jZ£j[£j\£j]£j^£j_£j`£ja£jb£jc£jd£je£jf£jg£jh£ji£jj£jk£jl£jm£jn£jo£jp£jq£jr£js£jt£ju£jv£jw£jx£jy£jz£j{£j|£j}£j~£j£j€£j£j‚£jƒ£j„£j…£j†£j‡£jˆ£j‰£jŠ£j‹£jŒ£j£jŽ£j£j£j‘£j’£j“£j”£j•£j–£j—£j˜£j™£jš£j›£jœ£j£jž£jŸ£j £j¡£j¢£j££j¤£j¥£j¦£j§£j¨£j©£jª£j«£j¬£j­£j®£j¯£j°£j±£j²£j³£j´£jµ£j¶£j·£j¸£j¹£jº£j»£j¼£j½£j¾£j¿£jÀ£jÁ£j£jãjÄ£jÅ£jÆ£jÇ£jÈ£jÉ£jÊ£jË£jÌ£jÍ£jΣjÏ£jУjÑ£jÒ£jÓ£jÔ£jÕ£jÖ£j×£jØ£jÙ£jÚ£jÛ£jÜ£jÝ£jÞ£jߣjà£já£jâ£jã£jä£jå£jæ£jç£jè£jé£jê£jë£jì£jí£jî£jï£jð£jñ£(jò£jó£jô£jõ£jö£j÷£jø£jù£jú£jû£jü£jý£jþ£jÿ£j¤j¤j¤j¤j¤j¤j¤j¤j¤j ¤j ¤j ¤j ¤j ¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j¤j ¤j!¤j"¤j#¤j$¤j%¤j&¤j'¤j(¤j)¤j*¤j+¤j,¤j-¤j.¤j/¤j0¤j1¤j2¤j3¤j4¤j5¤j6¤j7¤j8¤j9¤j:¤j;¤j<¤j=¤j>¤j?¤j@¤jA¤jB¤jC¤jD¤jE¤jF¤jG¤jH¤jI¤jJ¤jK¤jL¤jM¤jN¤jO¤jP¤jQ¤jR¤jS¤jT¤jU¤jV¤jW¤jX¤jY¤jZ¤j[¤j\¤j]¤j^¤j_¤j`¤ja¤jb¤jc¤jd¤je¤jf¤jg¤jh¤ji¤jj¤jk¤jl¤jm¤jn¤jo¤jp¤jq¤jr¤js¤jt¤ju¤jv¤jw¤jx¤jy¤jz¤j{¤j|¤j}¤j~¤j¤j€¤j¤j‚¤jƒ¤j„¤j…¤j†¤j‡¤jˆ¤j‰¤jФj‹¤jŒ¤j¤jޤj¤j¤j‘¤j’¤j“¤j”¤j•¤j–¤j—¤j˜¤j™¤jš¤j›¤jœ¤j¤jž¤jŸ¤j ¤j¡¤j¢¤j£¤j¤¤j¥¤j¦¤j§¤j¨¤j©¤jª¤j«¤j¬¤j­¤j®¤j¯¤j°¤j±¤j²¤j³¤j´¤jµ¤j¶¤j·¤j¸¤j¹¤jº¤j»¤j¼¤j½¤j¾¤j¿¤jÀ¤jÁ¤j¤jäjĤjŤjƤjǤjȤjɤjʤjˤj̤jͤjΤjϤjФjѤjÒ¤jÓ¤jÔ¤jÕ¤jÖ¤jפjؤjÙ¤jÚ¤jÛ¤jܤjݤjÞ¤jߤjà¤já¤jâ¤jã¤jä¤jå¤jæ¤jç¤jè¤jé¤jê¤jë¤jì¤jí¤jî¤jï¤jð¤jñ¤jò¤jó¤jô¤jõ¤jö¤j÷¤jø¤jù¤jú¤jû¤jü¤jý¤jþ¤jÿ¤j¥j¥j¥j¥j¥j¥j¥j¥j¥j ¥j ¥j ¥j ¥j ¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j¥j ¥j!¥j"¥j#¥j$¥j%¥j&¥j'¥j(¥j)¥j*¥j+¥j,¥j-¥j.¥j/¥j0¥j1¥j2¥j3¥j4¥j5¥j6¥j7¥j8¥j9¥j:¥j;¥j<¥j=¥j>¥j?¥j@¥jA¥jB¥jC¥jD¥jE¥jF¥jG¥jH¥jI¥jJ¥jK¥jL¥jM¥jN¥jO¥jP¥jQ¥jR¥jS¥jT¥jU¥jV¥jW¥jX¥jY¥jZ¥j[¥j\¥j]¥j^¥j_¥j`¥ja¥jb¥jc¥jd¥je¥jf¥jg¥jh¥ji¥jj¥jk¥jl¥jm¥jn¥jo¥jp¥jq¥jr¥js¥jt¥ju¥jv¥jw¥jx¥jy¥jz¥j{¥j|¥j}¥j~¥j¥j€¥j¥j‚¥jƒ¥j„¥j…¥j†¥j‡¥jˆ¥j‰¥jŠ¥j‹¥jŒ¥j¥jŽ¥j¥j¥j‘¥j’¥j“¥j”¥j•¥j–¥j—¥j˜¥j™¥jš¥j›¥jœ¥j¥jž¥jŸ¥j ¥j¡¥j¢¥j£¥j¤¥j¥¥j¦¥j§¥j¨¥j©¥jª¥j«¥j¬¥j­¥j®¥j¯¥j°¥j±¥j²¥j³¥j´¥jµ¥j¶¥j·¥j¸¥j¹¥jº¥j»¥j¼¥j½¥j¾¥j¿¥jÀ¥jÁ¥jÂ¥jÃ¥jÄ¥jÅ¥jÆ¥jÇ¥jÈ¥jÉ¥jÊ¥jË¥jÌ¥jÍ¥jÎ¥jÏ¥jÐ¥jÑ¥jÒ¥jÓ¥jÔ¥jÕ¥jÖ¥j×¥jØ¥jÙ¥jÚ¥jÛ¥jÜ¥jÝ¥jÞ¥jߥjà¥já¥jâ¥jã¥jä¥jå¥jæ¥jç¥jè¥jé¥jê¥jë¥jì¥jí¥jî¥jï¥jð¥jñ¥jò¥jó¥jô¥jõ¥jö¥j÷¥jø¥jù¥jú¥jû¥jü¥jý¥jþ¥jÿ¥j¦j¦j¦j¦j¦j¦j¦j¦j¦j ¦j ¦j ¦j ¦j ¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j¦j ¦j!¦j"¦j#¦j$¦j%¦j&¦j'¦j(¦j)¦j*¦j+¦j,¦j-¦j.¦j/¦j0¦j1¦j2¦j3¦j4¦j5¦j6¦j7¦j8¦j9¦j:¦j;¦j<¦j=¦j>¦j?¦j@¦jA¦jB¦jC¦jD¦jE¦jF¦jG¦jH¦jI¦jJ¦jK¦jL¦jM¦jN¦jO¦jP¦jQ¦jR¦jS¦jT¦jU¦jV¦jW¦jX¦jY¦jZ¦j[¦j\¦j]¦j^¦j_¦j`¦ja¦jb¦jc¦jd¦je¦jf¦jg¦jh¦ji¦jj¦jk¦jl¦jm¦jn¦jo¦jp¦jq¦jr¦js¦jt¦ju¦jv¦jw¦jx¦jy¦jz¦j{¦j|¦j}¦j~¦j¦j€¦j¦j‚¦jƒ¦j„¦j…¦j†¦j‡¦jˆ¦j‰¦jЦj‹¦jŒ¦j¦jަj¦j¦j‘¦j’¦j“¦j”¦j•¦j–¦j—¦j˜¦j™¦jš¦j›¦jœ¦j¦jž¦jŸ¦j ¦j¡¦j¢¦j£¦j¤¦j¥¦j¦¦j§¦j¨¦j©¦jª¦j«¦j¬¦j­¦j®¦j¯¦j°¦j±¦j²¦j³¦j´¦jµ¦j¶¦j·¦j¸¦j¹¦jº¦j»¦j¼¦j½¦j¾¦j¿¦jÀ¦jÁ¦j¦jæjĦjŦjƦjǦjȦjɦjʦj˦j̦jͦjΦjϦjЦjѦjÒ¦jÓ¦jÔ¦jÕ¦jÖ¦jצjئjÙ¦jÚ¦jÛ¦jܦjݦjÞ¦jߦjà¦já¦jâ¦jã¦jä¦jå¦jæ¦jç¦jè¦jé¦jê¦jë¦jì¦jí¦jî¦jï¦jð¦jñ¦jò¦jó¦jô¦jõ¦jö¦j÷¦jø¦jù¦jú¦jû¦jü¦jý¦jþ¦jÿ¦j§j§j§j§j§j§j§j§j§j §j §j §j §j §j§j§j§j§j§j§j§j§j§j§j§j§j§j§j§j§j§j§j §j!§j"§j#§j$§j%§j&§j'§j(§j)§j*§j+§j,§j-§j.§j/§j0§j1§j2§j3§j4§j5§j6§j7§j8§j9§j:§j;§j<§j=§j>§j?§j@§jA§jB§jC§jD§jE§jF§jG§jH§jI§jJ§jK§jL§jM§jN§jO§jP§jQ§jR§jS§jT§jU§jV§jW§jX§jY§jZ§j[§j\§j]§j^§j_§j`§ja§jb§jc§jd§je§jf§jg§jh§ji§jj§jk§jl§jm§jn§jo§jp§jq§jr§js§jt§ju§jv§jw§jx§jy§jz§j{§j|§j}§j~§j§j€§j§j‚§jƒ§j„§j…§j†§j‡§jˆ§j‰§jЧj‹§jŒ§j§jާj§j§j‘§j’§j“§j”§j•§j–§j—§j˜§j™§jš§j›§jœ§j§jž§jŸ§j §j¡§j¢§j£§j¤§j¥§j¦§j§§j¨§j©§jª§j«§j¬§j­§j®§j¯§j°§j±§j²§j³§j´§jµ§j¶§j·§j¸§j¹§jº§j»§j¼§j½§j¾§j¿§jÀ§jÁ§j§jçjħjŧjƧjǧjȧjɧjʧj˧j̧jͧjΧjϧjЧjѧjÒ§jÓ§jÔ§jÕ§jÖ§j×§jاjÙ§(jÚ§jÛ§jܧjݧjÞ§jß§jà§já§jâ§jã§jä§jå§jæ§jç§jè§jé§jê§jë§jì§jí§jî§jï§jð§jñ§jò§jó§jô§jõ§jö§j÷§jø§jù§jú§jû§jü§jý§jþ§jÿ§j¨j¨j¨j¨j¨j¨j¨j¨j¨j ¨j ¨j ¨j ¨j ¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j¨j ¨j!¨j"¨j#¨j$¨j%¨j&¨j'¨j(¨j)¨j*¨j+¨j,¨j-¨j.¨j/¨j0¨j1¨j2¨j3¨j4¨j5¨j6¨j7¨j8¨j9¨j:¨j;¨j<¨j=¨j>¨j?¨j@¨jA¨jB¨jC¨jD¨jE¨jF¨jG¨jH¨jI¨jJ¨jK¨jL¨jM¨jN¨jO¨jP¨jQ¨jR¨jS¨jT¨jU¨jV¨jW¨jX¨jY¨jZ¨j[¨j\¨j]¨j^¨j_¨j`¨ja¨jb¨jc¨jd¨je¨jf¨jg¨jh¨ji¨jj¨jk¨jl¨jm¨jn¨jo¨jp¨jq¨jr¨js¨jt¨ju¨jv¨jw¨jx¨jy¨jz¨j{¨j|¨j}¨j~¨j¨j€¨j¨j‚¨jƒ¨j„¨j…¨j†¨j‡¨jˆ¨j‰¨jЍj‹¨jŒ¨j¨jލj¨j¨j‘¨j’¨j“¨j”¨j•¨j–¨j—¨j˜¨j™¨jš¨j›¨jœ¨j¨jž¨jŸ¨j ¨j¡¨j¢¨j£¨j¤¨j¥¨j¦¨j§¨j¨¨j©¨jª¨j«¨j¬¨j­¨j®¨j¯¨j°¨j±¨j²¨j³¨j´¨jµ¨j¶¨j·¨j¸¨j¹¨jº¨j»¨j¼¨j½¨j¾¨j¿¨jÀ¨jÁ¨j¨jèjĨjŨjƨjǨjȨjɨjʨj˨j̨jͨjΨjϨjШjѨjÒ¨jÓ¨jÔ¨jÕ¨jÖ¨jרjبjÙ¨jÚ¨jÛ¨jܨjݨjÞ¨jߨjà¨já¨jâ¨jã¨jä¨jå¨jæ¨jç¨jè¨jé¨jê¨jë¨jì¨jí¨jî¨jï¨jð¨jñ¨jò¨jó¨jô¨jõ¨jö¨j÷¨jø¨jù¨jú¨jû¨jü¨jý¨jþ¨jÿ¨j©j©j©j©j©j©j©j©j©j ©j ©j ©j ©j ©j©j©j©j©j©j©j©j©j©j©j©j©j©j©j©j©j©j©j ©j!©j"©j#©j$©j%©j&©j'©j(©j)©j*©j+©j,©j-©j.©j/©j0©j1©j2©j3©j4©j5©j6©j7©j8©j9©j:©j;©j<©j=©j>©j?©j@©jA©jB©jC©jD©jE©jF©jG©jH©jI©jJ©jK©jL©jM©jN©jO©jP©jQ©jR©jS©jT©jU©jV©jW©jX©jY©jZ©j[©j\©j]©j^©j_©j`©ja©jb©jc©jd©je©jf©jg©jh©ji©jj©jk©jl©jm©jn©jo©jp©jq©jr©js©jt©ju©jv©jw©jx©jy©jz©j{©j|©j}©j~©j©j€©j©j‚©jƒ©j„©j…©j†©j‡©jˆ©j‰©jŠ©j‹©jŒ©j©jŽ©j©j©j‘©j’©j“©j”©j•©j–©j—©j˜©j™©jš©j›©jœ©j©jž©jŸ©j ©j¡©j¢©j£©j¤©j¥©j¦©j§©j¨©j©©jª©j«©j¬©j­©j®©j¯©j°©j±©j²©j³©j´©jµ©j¶©j·©j¸©j¹©jº©j»©j¼©j½©j¾©j¿©jÀ©jÁ©j©jéjÄ©jÅ©jÆ©jÇ©jÈ©jÉ©jÊ©jË©jÌ©jÍ©jΩjÏ©jЩjÑ©jÒ©jÓ©jÔ©jÕ©jÖ©jשjØ©jÙ©jÚ©jÛ©jÜ©jÝ©jÞ©jß©jà©já©jâ©jã©jä©jå©jæ©jç©jè©jé©jê©jë©jì©jí©jî©jï©jð©jñ©jò©jó©jô©jõ©jö©j÷©jø©jù©jú©jû©jü©jý©jþ©jÿ©jªjªjªjªjªjªjªjªjªj ªj ªj ªj ªj ªjªjªjªjªjªjªjªjªjªjªjªjªjªjªjªjªjªjªj ªj!ªj"ªj#ªj$ªj%ªj&ªj'ªj(ªj)ªj*ªj+ªj,ªj-ªj.ªj/ªj0ªj1ªj2ªj3ªj4ªj5ªj6ªj7ªj8ªj9ªj:ªj;ªj<ªj=ªj>ªj?ªj@ªjAªjBªjCªjDªjEªjFªjGªjHªjIªjJªjKªjLªjMªjNªjOªjPªjQªjRªjSªjTªjUªjVªjWªjXªjYªjZªj[ªj\ªj]ªj^ªj_ªj`ªjaªjbªjcªjdªjeªjfªjgªjhªjiªjjªjkªjlªjmªjnªjoªjpªjqªjrªjsªjtªjuªjvªjwªjxªjyªjzªj{ªj|ªj}ªj~ªjªj€ªjªj‚ªjƒªj„ªj…ªj†ªj‡ªjˆªj‰ªjŠªj‹ªjŒªjªjŽªjªjªj‘ªj’ªj“ªj”ªj•ªj–ªj—ªj˜ªj™ªjšªj›ªjœªjªjžªjŸªj ªj¡ªj¢ªj£ªj¤ªj¥ªj¦ªj§ªj¨ªj©ªjªªj«ªj¬ªj­ªj®ªj¯ªj°ªj±ªj²ªj³ªj´ªjµªj¶ªj·ªj¸ªj¹ªjºªj»ªj¼ªj½ªj¾ªj¿ªjÀªjÁªjªjêjĪjŪjƪjǪjȪjɪjʪj˪j̪jͪjΪjϪjЪjѪjÒªjÓªjÔªjÕªjÖªjתjتjÙªjÚªjÛªjܪjݪjÞªjߪjàªjáªjâªjãªjäªjåªjæªjçªjèªjéªjêªjëªjìªjíªjîªjïªjðªjñªjòªjóªjôªjõªjöªj÷ªjøªjùªjúªjûªjüªjýªjþªjÿªj«j«j«j«j«j«j«j«j«j «j «j «j «j «j«j«j«j«j«j«j«j«j«j«j«j«j«j«j«j«j«j«j «j!«j"«j#«j$«j%«j&«j'«j(«j)«j*«j+«j,«j-«j.«j/«j0«j1«j2«j3«j4«j5«j6«j7«j8«j9«j:«j;«j<«j=«j>«j?«j@«jA«jB«jC«jD«jE«jF«jG«jH«jI«jJ«jK«jL«jM«jN«jO«jP«jQ«jR«jS«jT«jU«jV«jW«jX«jY«jZ«j[«j\«j]«j^«j_«j`«ja«jb«jc«jd«je«jf«jg«jh«ji«jj«jk«jl«jm«jn«jo«jp«jq«jr«js«jt«ju«jv«jw«jx«jy«jz«j{«j|«j}«j~«j«j€«j«j‚«jƒ«j„«j…«j†«j‡«jˆ«j‰«jŠ«j‹«jŒ«j«jŽ«j«j«j‘«j’«j“«j”«j•«j–«j—«j˜«j™«jš«j›«jœ«j«jž«jŸ«j «j¡«j¢«j£«j¤«j¥«j¦«j§«j¨«j©«jª«j««j¬«j­«j®«j¯«j°«j±«j²«j³«j´«jµ«j¶«j·«j¸«j¹«jº«j»«j¼«j½«j¾«j¿«jÀ«jÁ«(j«jëjÄ«jÅ«jÆ«jÇ«jÈ«jÉ«jÊ«jË«jÌ«jÍ«jΫjÏ«jЫjÑ«jÒ«jÓ«jÔ«jÕ«jÖ«j׫jØ«jÙ«jÚ«jÛ«jÜ«jÝ«jÞ«jß«jà«já«jâ«jã«jä«jå«jæ«jç«jè«jé«jê«jë«jì«jí«jî«jï«jð«jñ«jò«jó«jô«jõ«jö«j÷«jø«jù«jú«jû«jü«jý«jþ«jÿ«j¬j¬j¬j¬j¬j¬j¬j¬j¬j ¬j ¬j ¬j ¬j ¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j¬j ¬j!¬j"¬j#¬j$¬j%¬j&¬j'¬j(¬j)¬j*¬j+¬j,¬j-¬j.¬j/¬j0¬j1¬j2¬j3¬j4¬j5¬j6¬j7¬j8¬j9¬j:¬j;¬j<¬j=¬j>¬j?¬j@¬jA¬jB¬jC¬jD¬jE¬jF¬jG¬jH¬jI¬jJ¬jK¬jL¬jM¬jN¬jO¬jP¬jQ¬jR¬jS¬jT¬jU¬jV¬jW¬jX¬jY¬jZ¬j[¬j\¬j]¬j^¬j_¬j`¬ja¬jb¬jc¬jd¬je¬jf¬jg¬jh¬ji¬jj¬jk¬jl¬jm¬jn¬jo¬jp¬jq¬jr¬js¬jt¬ju¬jv¬jw¬jx¬jy¬jz¬j{¬j|¬j}¬j~¬j¬j€¬j¬j‚¬jƒ¬j„¬j…¬j†¬j‡¬jˆ¬j‰¬jЬj‹¬jŒ¬j¬jެj¬j¬j‘¬j’¬j“¬j”¬j•¬j–¬j—¬j˜¬j™¬jš¬j›¬jœ¬j¬jž¬jŸ¬j ¬j¡¬j¢¬j£¬j¤¬j¥¬j¦¬j§¬j¨¬j©¬jª¬j«¬j¬¬j­¬j®¬j¯¬j°¬j±¬j²¬j³¬j´¬jµ¬j¶¬j·¬j¸¬j¹¬jº¬j»¬j¼¬j½¬j¾¬j¿¬jÀ¬jÁ¬j¬jìjĬjŬjƬjǬjȬjɬjʬjˬj̬jͬjάjϬjЬjѬjÒ¬jÓ¬jÔ¬jÕ¬jÖ¬j׬jجjÙ¬jÚ¬jÛ¬jܬjݬjÞ¬j߬jà¬já¬jâ¬jã¬jä¬jå¬jæ¬jç¬jè¬jé¬jê¬jë¬jì¬jí¬jî¬jï¬jð¬jñ¬jò¬jó¬jô¬jõ¬jö¬j÷¬jø¬jù¬jú¬jû¬jü¬jý¬jþ¬jÿ¬j­j­j­j­j­j­j­j­j­j ­j ­j ­j ­j ­j­j­j­j­j­j­j­j­j­j­j­j­j­j­j­j­j­j­j ­j!­j"­j#­j$­j%­j&­j'­j(­j)­j*­j+­j,­j-­j.­j/­j0­j1­j2­j3­j4­j5­j6­j7­j8­j9­j:­j;­j<­j=­j>­j?­j@­jA­jB­jC­jD­jE­jF­jG­jH­jI­jJ­jK­jL­jM­jN­jO­jP­jQ­jR­jS­jT­jU­jV­jW­jX­jY­jZ­j[­j\­j]­j^­j_­j`­ja­jb­jc­jd­je­jf­jg­jh­ji­jj­jk­jl­jm­jn­jo­jp­jq­jr­js­jt­ju­jv­jw­jx­jy­jz­j{­j|­j}­j~­j­j€­j­j‚­jƒ­j„­j…­j†­j‡­jˆ­j‰­jŠ­j‹­jŒ­j­jŽ­j­j­j‘­j’­j“­j”­j•­j–­j—­j˜­j™­jš­j›­jœ­j­jž­jŸ­j ­j¡­j¢­j£­j¤­j¥­j¦­j§­j¨­j©­jª­j«­j¬­j­­j®­j¯­j°­j±­j²­j³­j´­jµ­j¶­j·­j¸­j¹­jº­j»­j¼­j½­j¾­j¿­jÀ­jÁ­j­jíjÄ­jÅ­jÆ­jÇ­jÈ­jÉ­jÊ­jË­jÌ­jÍ­jέjÏ­jЭjÑ­jÒ­jÓ­jÔ­jÕ­jÖ­j×­jØ­jÙ­jÚ­jÛ­jÜ­jÝ­jÞ­jß­jà­já­jâ­jã­jä­jå­jæ­jç­jè­jé­jê­jë­jì­jí­jî­jï­jð­jñ­jò­jó­jô­jõ­jö­j÷­jø­jù­jú­jû­jü­jý­jþ­jÿ­j®j®j®j®j®j®j®j®j®j ®j ®j ®j ®j ®j®j®j®j®j®j®j®j®j®j®j®j®j®j®j®j®j®j®j ®j!®j"®j#®j$®j%®j&®j'®j(®j)®j*®j+®j,®j-®j.®j/®j0®j1®j2®j3®j4®j5®j6®j7®j8®j9®j:®j;®j<®j=®j>®j?®j@®jA®jB®jC®jD®jE®jF®jG®jH®jI®jJ®jK®jL®jM®jN®jO®jP®jQ®jR®jS®jT®jU®jV®jW®jX®jY®jZ®j[®j\®j]®j^®j_®j`®ja®jb®jc®jd®je®jf®jg®jh®ji®jj®jk®jl®jm®jn®jo®jp®jq®jr®js®jt®ju®jv®jw®jx®jy®jz®j{®j|®j}®j~®j®j€®j®j‚®jƒ®j„®j…®j†®j‡®jˆ®j‰®jŠ®j‹®jŒ®j®jŽ®j®j®j‘®j’®j“®j”®j•®j–®j—®j˜®j™®jš®j›®jœ®j®jž®jŸ®j ®j¡®j¢®j£®j¤®j¥®j¦®j§®j¨®j©®jª®j«®j¬®j­®j®®j¯®j°®j±®j²®j³®j´®jµ®j¶®j·®j¸®j¹®jº®j»®j¼®j½®j¾®j¿®jÀ®jÁ®j®jîjÄ®jÅ®jÆ®jÇ®jÈ®jÉ®jÊ®jË®jÌ®jÍ®jήjÏ®jЮjÑ®jÒ®jÓ®jÔ®jÕ®jÖ®j×®jØ®jÙ®jÚ®jÛ®jÜ®jÝ®jÞ®jß®jà®já®jâ®jã®jä®jå®jæ®jç®jè®jé®jê®jë®jì®jí®jî®jï®jð®jñ®jò®jó®jô®jõ®jö®j÷®jø®jù®jú®jû®jü®jý®jþ®jÿ®j¯j¯j¯j¯j¯j¯j¯j¯j¯j ¯j ¯j ¯j ¯j ¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j¯j ¯j!¯j"¯j#¯j$¯j%¯j&¯j'¯j(¯j)¯j*¯j+¯j,¯j-¯j.¯j/¯j0¯j1¯j2¯j3¯j4¯j5¯j6¯j7¯j8¯j9¯j:¯j;¯j<¯j=¯j>¯j?¯j@¯jA¯jB¯jC¯jD¯jE¯jF¯jG¯jH¯jI¯jJ¯jK¯jL¯jM¯jN¯jO¯jP¯jQ¯jR¯jS¯jT¯jU¯jV¯jW¯jX¯jY¯jZ¯j[¯j\¯j]¯j^¯j_¯j`¯ja¯jb¯jc¯jd¯je¯jf¯jg¯jh¯ji¯jj¯jk¯jl¯jm¯jn¯jo¯jp¯jq¯jr¯js¯jt¯ju¯jv¯jw¯jx¯jy¯jz¯j{¯j|¯j}¯j~¯j¯j€¯j¯j‚¯jƒ¯j„¯j…¯j†¯j‡¯jˆ¯j‰¯jНj‹¯jŒ¯j¯jޝj¯j¯j‘¯j’¯j“¯j”¯j•¯j–¯j—¯j˜¯j™¯jš¯j›¯jœ¯j¯jž¯jŸ¯j ¯j¡¯j¢¯j£¯j¤¯j¥¯j¦¯j§¯j¨¯j©¯(jª¯j«¯j¬¯j­¯j®¯j¯¯j°¯j±¯j²¯j³¯j´¯jµ¯j¶¯j·¯j¸¯j¹¯jº¯j»¯j¼¯j½¯j¾¯j¿¯jÀ¯jÁ¯j¯jïjįjůjƯjǯjȯjɯjʯj˯j̯jͯjίjϯjЯjѯjÒ¯jÓ¯jÔ¯jÕ¯jÖ¯jׯjدjÙ¯jÚ¯jÛ¯jܯjݯjÞ¯j߯jà¯já¯jâ¯jã¯jä¯jå¯jæ¯jç¯jè¯jé¯jê¯jë¯jì¯jí¯jî¯jï¯jð¯jñ¯jò¯jó¯jô¯jõ¯jö¯j÷¯jø¯jù¯jú¯jû¯jü¯jý¯jþ¯jÿ¯j°j°j°j°j°j°j°j°j°j °j °j °j °j °j°j°j°j°j°j°j°j°j°j°j°j°j°j°j°j°j°j°j °j!°j"°j#°j$°j%°j&°j'°j(°j)°j*°j+°j,°j-°j.°j/°j0°j1°j2°j3°j4°j5°j6°j7°j8°j9°j:°j;°j<°j=°j>°j?°j@°jA°jB°jC°jD°jE°jF°jG°jH°jI°jJ°jK°jL°jM°jN°jO°jP°jQ°jR°jS°jT°jU°jV°jW°jX°jY°jZ°j[°j\°j]°j^°j_°j`°ja°jb°jc°jd°je°jf°jg°jh°ji°jj°jk°jl°jm°jn°jo°jp°jq°jr°js°jt°ju°jv°jw°jx°jy°jz°j{°j|°j}°j~°j°j€°j°j‚°jƒ°j„°j…°j†°j‡°jˆ°j‰°jаj‹°jŒ°j°jްj°j°j‘°j’°j“°j”°j•°j–°j—°j˜°j™°jš°j›°jœ°j°jž°jŸ°j °j¡°j¢°j£°j¤°j¥°j¦°j§°j¨°j©°jª°j«°j¬°j­°j®°j¯°j°°j±°j²°j³°j´°jµ°j¶°j·°j¸°j¹°jº°j»°j¼°j½°j¾°j¿°jÀ°jÁ°j°jðjİjŰjưjǰjȰjɰjʰj˰j̰jͰjΰjϰjаjѰjÒ°jÓ°jÔ°jÕ°jÖ°j×°jذjÙ°jÚ°jÛ°jܰjݰjÞ°jß°jà°já°jâ°jã°jä°jå°jæ°jç°jè°jé°jê°jë°jì°jí°jî°jï°jð°jñ°jò°jó°jô°jõ°jö°j÷°jø°jù°jú°jû°jü°jý°jþ°jÿ°j±j±j±j±j±j±j±j±j±j ±j ±j ±j ±j ±j±j±j±j±j±j±j±j±j±j±j±j±j±j±j±j±j±j±j ±j!±j"±j#±j$±j%±j&±j'±j(±j)±j*±j+±j,±j-±j.±j/±j0±j1±j2±j3±j4±j5±j6±j7±j8±j9±j:±j;±j<±j=±j>±j?±j@±jA±jB±jC±jD±jE±jF±jG±jH±jI±jJ±jK±jL±jM±jN±jO±jP±jQ±jR±jS±jT±jU±jV±jW±jX±jY±jZ±j[±j\±j]±j^±j_±j`±ja±jb±jc±jd±je±jf±jg±jh±ji±jj±jk±jl±jm±jn±jo±jp±jq±jr±js±jt±ju±jv±jw±jx±jy±jz±j{±j|±j}±j~±j±j€±j±j‚±jƒ±j„±j…±j†±j‡±jˆ±j‰±jбj‹±jŒ±j±jޱj±j±j‘±j’±j“±j”±j•±j–±j—±j˜±j™±jš±j›±jœ±j±jž±jŸ±j ±j¡±j¢±j£±j¤±j¥±j¦±j§±j¨±j©±jª±j«±j¬±j­±j®±j¯±j°±j±±j²±j³±j´±jµ±j¶±j·±j¸±j¹±jº±j»±j¼±j½±j¾±j¿±jÀ±jÁ±j±jñjıjűjƱjDZjȱjɱjʱj˱j̱jͱjαjϱjбjѱjÒ±jÓ±jÔ±jÕ±jÖ±j×±jرjÙ±jÚ±jÛ±jܱjݱjÞ±jß±jà±já±jâ±jã±jä±jå±jæ±jç±jè±jé±jê±jë±jì±jí±jî±jï±jð±jñ±jò±jó±jô±jõ±jö±j÷±jø±jù±jú±jû±jü±jý±jþ±jÿ±j²j²j²j²j²j²j²j²j²j ²j ²j ²j ²j ²j²j²j²j²j²j²j²j²j²j²j²j²j²j²j²j²j²j²j ²j!²j"²j#²j$²j%²j&²j'²j(²j)²j*²j+²j,²j-²j.²j/²j0²j1²j2²j3²j4²j5²j6²j7²j8²j9²j:²j;²j<²j=²j>²j?²j@²jA²jB²jC²jD²jE²jF²jG²jH²jI²jJ²jK²jL²jM²jN²jO²jP²jQ²jR²jS²jT²jU²jV²jW²jX²jY²jZ²j[²j\²j]²j^²j_²j`²ja²jb²jc²jd²je²jf²jg²jh²ji²jj²jk²jl²jm²jn²jo²jp²jq²jr²js²jt²ju²jv²jw²jx²jy²jz²j{²j|²j}²j~²j²j€²j²j‚²jƒ²j„²j…²j†²j‡²jˆ²j‰²jвj‹²jŒ²j²j޲j²j²j‘²j’²j“²j”²j•²j–²j—²j˜²j™²jš²j›²jœ²j²jž²jŸ²j ²j¡²j¢²j£²j¤²j¥²j¦²j§²j¨²j©²jª²j«²j¬²j­²j®²j¯²j°²j±²j²²j³²j´²jµ²j¶²j·²j¸²j¹²jº²j»²j¼²j½²j¾²j¿²jÀ²jÁ²j²jòjIJjŲjƲjDzjȲjɲjʲj˲j̲jͲjβjϲjвjѲjÒ²jÓ²jÔ²jÕ²jÖ²jײjزjÙ²jÚ²jÛ²jܲjݲjÞ²jß²jà²já²jâ²jã²jä²jå²jæ²jç²jè²jé²jê²jë²jì²jí²jî²jï²jð²jñ²jò²jó²jô²jõ²jö²j÷²jø²jù²jú²jû²jü²jý²jþ²jÿ²j³j³j³j³j³j³j³j³j³j ³j ³j ³j ³j ³j³j³j³j³j³j³j³j³j³j³j³j³j³j³j³j³j³j³j ³j!³j"³j#³j$³j%³j&³j'³j(³j)³j*³j+³j,³j-³j.³j/³j0³j1³j2³j3³j4³j5³j6³j7³j8³j9³j:³j;³j<³j=³j>³j?³j@³jA³jB³jC³jD³jE³jF³jG³jH³jI³jJ³jK³jL³jM³jN³jO³jP³jQ³jR³jS³jT³jU³jV³jW³jX³jY³jZ³j[³j\³j]³j^³j_³j`³ja³jb³jc³jd³je³jf³jg³jh³ji³jj³jk³jl³jm³jn³jo³jp³jq³jr³js³jt³ju³jv³jw³jx³jy³jz³j{³j|³j}³j~³j³j€³j³j‚³jƒ³j„³j…³j†³j‡³jˆ³j‰³jгj‹³jŒ³j³j޳j³j³j‘³(j’³j“³j”³j•³j–³j—³j˜³j™³jš³j›³jœ³j³jž³jŸ³j ³j¡³j¢³j£³j¤³j¥³j¦³j§³j¨³j©³jª³j«³j¬³j­³j®³j¯³j°³j±³j²³j³³j´³jµ³j¶³j·³j¸³j¹³jº³j»³j¼³j½³j¾³j¿³jÀ³jÁ³j³jójijjųjƳjdzjȳjɳjʳj˳j̳jͳjγjϳjгjѳjÒ³jÓ³jÔ³jÕ³jÖ³j׳jسjÙ³jÚ³jÛ³jܳjݳjÞ³jß³jà³já³jâ³jã³jä³jå³jæ³jç³jè³jé³jê³jë³jì³jí³jî³jï³jð³jñ³jò³jó³jô³jõ³jö³j÷³jø³jù³jú³jû³jü³jý³jþ³jÿ³j´j´j´j´j´j´j´j´j´j ´j ´j ´j ´j ´j´j´j´j´j´j´j´j´j´j´j´j´j´j´j´j´j´j´j ´j!´j"´j#´j$´j%´j&´j'´j(´j)´j*´j+´j,´j-´j.´j/´j0´j1´j2´j3´j4´j5´j6´j7´j8´j9´j:´j;´j<´j=´j>´j?´j@´jA´jB´jC´jD´jE´jF´jG´jH´jI´jJ´jK´jL´jM´jN´jO´jP´jQ´jR´jS´jT´jU´jV´jW´jX´jY´jZ´j[´j\´j]´j^´j_´j`´ja´jb´jc´jd´je´jf´jg´jh´ji´jj´jk´jl´jm´jn´jo´jp´jq´jr´js´jt´ju´jv´jw´jx´jy´jz´j{´j|´j}´j~´j´j€´j´j‚´jƒ´j„´j…´j†´j‡´jˆ´j‰´jŠ´j‹´jŒ´j´jŽ´j´j´j‘´j’´j“´j”´j•´j–´j—´j˜´j™´jš´j›´jœ´j´jž´jŸ´j ´j¡´j¢´j£´j¤´j¥´j¦´j§´j¨´j©´jª´j«´j¬´j­´j®´j¯´j°´j±´j²´j³´j´´jµ´j¶´j·´j¸´j¹´jº´j»´j¼´j½´j¾´j¿´jÀ´jÁ´j´jôjÄ´jÅ´jÆ´jÇ´jÈ´jÉ´jÊ´jË´jÌ´jÍ´jδjÏ´jдjÑ´jÒ´jÓ´jÔ´jÕ´jÖ´j×´jØ´jÙ´jÚ´jÛ´jÜ´jÝ´jÞ´jß´jà´já´jâ´jã´jä´jå´jæ´jç´jè´jé´jê´jë´jì´jí´jî´jï´jð´jñ´jò´jó´jô´jõ´jö´j÷´jø´jù´jú´jû´jü´jý´jþ´jÿ´jµjµjµjµjµjµjµjµjµj µj µj µj µj µjµjµjµjµjµjµjµjµjµjµjµjµjµjµjµjµjµjµj µj!µj"µj#µj$µj%µj&µj'µj(µj)µj*µj+µj,µj-µj.µj/µj0µj1µj2µj3µj4µj5µj6µj7µj8µj9µj:µj;µj<µj=µj>µj?µj@µjAµjBµjCµjDµjEµjFµjGµjHµjIµjJµjKµjLµjMµjNµjOµjPµjQµjRµjSµjTµjUµjVµjWµjXµjYµjZµj[µj\µj]µj^µj_µj`µjaµjbµjcµjdµjeµjfµjgµjhµjiµjjµjkµjlµjmµjnµjoµjpµjqµjrµjsµjtµjuµjvµjwµjxµjyµjzµj{µj|µj}µj~µjµj€µjµj‚µjƒµj„µj…µj†µj‡µjˆµj‰µjеj‹µjŒµjµj޵jµjµj‘µj’µj“µj”µj•µj–µj—µj˜µj™µjšµj›µjœµjµjžµjŸµj µj¡µj¢µj£µj¤µj¥µj¦µj§µj¨µj©µjªµj«µj¬µj­µj®µj¯µj°µj±µj²µj³µj´µjµµj¶µj·µj¸µj¹µjºµj»µj¼µj½µj¾µj¿µjÀµjÁµjµjõjĵjŵjƵjǵjȵjɵjʵj˵j̵j͵jεjϵjеjѵjÒµjÓµjÔµjÕµjÖµj×µjصjÙµjÚµjÛµjܵjݵjÞµjßµjàµjáµjâµjãµjäµjåµjæµjçµjèµjéµjêµjëµjìµjíµjîµjïµjðµjñµjòµjóµjôµjõµjöµj÷µjøµjùµjúµjûµjüµjýµjþµjÿµj¶j¶j¶j¶j¶j¶j¶j¶j¶j ¶j ¶j ¶j ¶j ¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j¶j ¶j!¶j"¶j#¶j$¶j%¶j&¶j'¶j(¶j)¶j*¶j+¶j,¶j-¶j.¶j/¶j0¶j1¶j2¶j3¶j4¶j5¶j6¶j7¶j8¶j9¶j:¶j;¶j<¶j=¶j>¶j?¶j@¶jA¶jB¶jC¶jD¶jE¶jF¶jG¶jH¶jI¶jJ¶jK¶jL¶jM¶jN¶jO¶jP¶jQ¶jR¶jS¶jT¶jU¶jV¶jW¶jX¶jY¶jZ¶j[¶j\¶j]¶j^¶j_¶j`¶ja¶jb¶jc¶jd¶je¶jf¶jg¶jh¶ji¶jj¶jk¶jl¶jm¶jn¶jo¶jp¶jq¶jr¶js¶jt¶ju¶jv¶jw¶jx¶jy¶jz¶j{¶j|¶j}¶j~¶j¶j€¶j¶j‚¶jƒ¶j„¶j…¶j†¶j‡¶jˆ¶j‰¶jжj‹¶jŒ¶j¶j޶j¶j¶j‘¶j’¶j“¶j”¶j•¶j–¶j—¶j˜¶j™¶jš¶j›¶jœ¶j¶jž¶jŸ¶j ¶j¡¶j¢¶j£¶j¤¶j¥¶j¦¶j§¶j¨¶j©¶jª¶j«¶j¬¶j­¶j®¶j¯¶j°¶j±¶j²¶j³¶j´¶jµ¶j¶¶j·¶j¸¶j¹¶jº¶j»¶j¼¶j½¶j¾¶j¿¶jÀ¶jÁ¶j¶jöjĶjŶjƶjǶjȶjɶjʶj˶j̶jͶjζj϶jжjѶjÒ¶jÓ¶jÔ¶jÕ¶jÖ¶j×¶jضjÙ¶jÚ¶jÛ¶jܶjݶjÞ¶jß¶jà¶já¶jâ¶jã¶jä¶jå¶jæ¶jç¶jè¶jé¶jê¶jë¶jì¶jí¶jî¶jï¶jð¶jñ¶jò¶jó¶jô¶jõ¶jö¶j÷¶jø¶jù¶jú¶jû¶jü¶jý¶jþ¶jÿ¶j·j·j·j·j·j·j·j·j·j ·j ·j ·j ·j ·j·j·j·j·j·j·j·j·j·j·j·j·j·j·j·j·j·j·j ·j!·j"·j#·j$·j%·j&·j'·j(·j)·j*·j+·j,·j-·j.·j/·j0·j1·j2·j3·j4·j5·j6·j7·j8·j9·j:·j;·j<·j=·j>·j?·j@·jA·jB·jC·jD·jE·jF·jG·jH·jI·jJ·jK·jL·jM·jN·jO·jP·jQ·jR·jS·jT·jU·jV·jW·jX·jY·jZ·j[·j\·j]·j^·j_·j`·ja·jb·jc·jd·je·jf·jg·jh·ji·jj·jk·jl·jm·jn·jo·jp·jq·jr·js·jt·ju·jv·jw·jx·jy·(jz·j{·j|·j}·j~·j·j€·j·j‚·jƒ·j„·j…·j†·j‡·jˆ·j‰·jŠ·j‹·jŒ·j·jŽ·j·j·j‘·j’·j“·j”·j•·j–·j—·j˜·j™·jš·j›·jœ·j·jž·jŸ·j ·j¡·j¢·j£·j¤·j¥·j¦·j§·j¨·j©·jª·j«·j¬·j­·j®·j¯·j°·j±·j²·j³·j´·jµ·j¶·j··j¸·j¹·jº·j»·j¼·j½·j¾·j¿·jÀ·jÁ·j·j÷jÄ·jÅ·jÆ·jÇ·jÈ·jÉ·jÊ·jË·jÌ·jÍ·jηjÏ·jзjÑ·jÒ·jÓ·jÔ·jÕ·jÖ·j×·jØ·jÙ·jÚ·jÛ·jÜ·jÝ·jÞ·jß·jà·já·jâ·jã·jä·jå·jæ·jç·jè·jé·jê·jë·jì·jí·jî·jï·jð·jñ·jò·jó·jô·jõ·jö·j÷·jø·jù·jú·jû·jü·jý·jþ·jÿ·j¸j¸j¸j¸j¸j¸j¸j¸j¸j ¸j ¸j ¸j ¸j ¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j¸j ¸j!¸j"¸j#¸j$¸j%¸j&¸j'¸j(¸j)¸j*¸j+¸j,¸j-¸j.¸j/¸j0¸j1¸j2¸j3¸j4¸j5¸j6¸j7¸j8¸j9¸j:¸j;¸j<¸j=¸j>¸j?¸j@¸jA¸jB¸jC¸jD¸jE¸jF¸jG¸jH¸jI¸jJ¸jK¸jL¸jM¸jN¸jO¸jP¸jQ¸jR¸jS¸jT¸jU¸jV¸jW¸jX¸jY¸jZ¸j[¸j\¸j]¸j^¸j_¸j`¸ja¸jb¸jc¸jd¸je¸jf¸jg¸jh¸ji¸jj¸jk¸jl¸jm¸jn¸jo¸jp¸jq¸jr¸js¸jt¸ju¸jv¸jw¸jx¸jy¸jz¸j{¸j|¸j}¸j~¸j¸j€¸j¸j‚¸jƒ¸j„¸j…¸j†¸j‡¸jˆ¸j‰¸jЏj‹¸jŒ¸j¸jޏj¸j¸j‘¸j’¸j“¸j”¸j•¸j–¸j—¸j˜¸j™¸jš¸j›¸jœ¸j¸jž¸jŸ¸j ¸j¡¸j¢¸j£¸j¤¸j¥¸j¦¸j§¸j¨¸j©¸jª¸j«¸j¬¸j­¸j®¸j¯¸j°¸j±¸j²¸j³¸j´¸jµ¸j¶¸j·¸j¸¸j¹¸jº¸j»¸j¼¸j½¸j¾¸j¿¸jÀ¸jÁ¸j¸jøjĸjŸjƸjǸjȸjɸjʸj˸j̸j͸jθjϸjиjѸjÒ¸jÓ¸jÔ¸jÕ¸jÖ¸j׸jظjÙ¸jÚ¸jÛ¸jܸjݸjÞ¸j߸jà¸já¸jâ¸jã¸jä¸jå¸jæ¸jç¸jè¸jé¸jê¸jë¸jì¸jí¸jî¸jï¸jð¸jñ¸jò¸jó¸jô¸jõ¸jö¸j÷¸jø¸jù¸jú¸jû¸jü¸jý¸jþ¸jÿ¸j¹j¹j¹j¹j¹j¹j¹j¹j¹j ¹j ¹j ¹j ¹j ¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j¹j ¹j!¹j"¹j#¹j$¹j%¹j&¹j'¹j(¹j)¹j*¹j+¹j,¹j-¹j.¹j/¹j0¹j1¹j2¹j3¹j4¹j5¹j6¹j7¹j8¹j9¹j:¹j;¹j<¹j=¹j>¹j?¹j@¹jA¹jB¹jC¹jD¹jE¹jF¹jG¹jH¹jI¹jJ¹jK¹jL¹jM¹jN¹jO¹jP¹jQ¹jR¹jS¹jT¹jU¹jV¹jW¹jX¹jY¹jZ¹j[¹j\¹j]¹j^¹j_¹j`¹ja¹jb¹jc¹jd¹je¹jf¹jg¹jh¹ji¹jj¹jk¹jl¹jm¹jn¹jo¹jp¹jq¹jr¹js¹jt¹ju¹jv¹jw¹jx¹jy¹jz¹j{¹j|¹j}¹j~¹j¹j€¹j¹j‚¹jƒ¹j„¹j…¹j†¹j‡¹jˆ¹j‰¹jйj‹¹jŒ¹j¹j޹j¹j¹j‘¹j’¹j“¹j”¹j•¹j–¹j—¹j˜¹j™¹jš¹j›¹jœ¹j¹jž¹jŸ¹j ¹j¡¹j¢¹j£¹j¤¹j¥¹j¦¹j§¹j¨¹j©¹jª¹j«¹j¬¹j­¹j®¹j¯¹j°¹j±¹j²¹j³¹j´¹jµ¹j¶¹j·¹j¸¹j¹¹jº¹j»¹j¼¹j½¹j¾¹j¿¹jÀ¹jÁ¹j¹jùjĹjŹjƹjǹjȹjɹjʹj˹j̹j͹jιjϹjйjѹjÒ¹jÓ¹jÔ¹jÕ¹jÖ¹j×¹jعjÙ¹jÚ¹jÛ¹jܹjݹjÞ¹jß¹jà¹já¹jâ¹jã¹jä¹jå¹jæ¹jç¹jè¹jé¹jê¹jë¹jì¹jí¹jî¹jï¹jð¹jñ¹jò¹jó¹jô¹jõ¹jö¹j÷¹jø¹jù¹jú¹jû¹jü¹jý¹jþ¹jÿ¹jºjºjºjºjºjºjºjºjºj ºj ºj ºj ºj ºjºjºjºjºjºjºjºjºjºjºjºjºjºjºjºjºjºjºj ºj!ºj"ºj#ºj$ºj%ºj&ºj'ºj(ºj)ºj*ºj+ºj,ºj-ºj.ºj/ºj0ºj1ºj2ºj3ºj4ºj5ºj6ºj7ºj8ºj9ºj:ºj;ºj<ºj=ºj>ºj?ºj@ºjAºjBºjCºjDºjEºjFºjGºjHºjIºjJºjKºjLºjMºjNºjOºjPºjQºjRºjSºjTºjUºjVºjWºjXºjYºjZºj[ºj\ºj]ºj^ºj_ºj`ºjaºjbºjcºjdºjeºjfºjgºjhºjiºjjºjkºjlºjmºjnºjoºjpºjqºjrºjsºjtºjuºjvºjwºjxºjyºjzºj{ºj|ºj}ºj~ºjºj€ºjºj‚ºjƒºj„ºj…ºj†ºj‡ºjˆºj‰ºjŠºj‹ºjŒºjºjŽºjºjºj‘ºj’ºj“ºj”ºj•ºj–ºj—ºj˜ºj™ºjšºj›ºjœºjºjžºjŸºj ºj¡ºj¢ºj£ºj¤ºj¥ºj¦ºj§ºj¨ºj©ºjªºj«ºj¬ºj­ºj®ºj¯ºj°ºj±ºj²ºj³ºj´ºjµºj¶ºj·ºj¸ºj¹ºjººj»ºj¼ºj½ºj¾ºj¿ºjÀºjÁºjºjújĺjźjƺjǺjȺjɺjʺj˺j̺jͺjκjϺjкjѺjÒºjÓºjÔºjÕºjÖºj׺jغjÙºjÚºjÛºjܺjݺjÞºjߺjàºjáºjâºjãºjäºjåºjæºjçºjèºjéºjêºjëºjìºjíºjîºjïºjðºjñºjòºjóºjôºjõºjöºj÷ºjøºjùºjúºjûºjüºjýºjþºjÿºj»j»j»j»j»j»j»j»j»j »j »j »j »j »j»j»j»j»j»j»j»j»j»j»j»j»j»j»j»j»j»j»j »j!»j"»j#»j$»j%»j&»j'»j(»j)»j*»j+»j,»j-»j.»j/»j0»j1»j2»j3»j4»j5»j6»j7»j8»j9»j:»j;»j<»j=»j>»j?»j@»jA»jB»jC»jD»jE»jF»jG»jH»jI»jJ»jK»jL»jM»jN»jO»jP»jQ»jR»jS»jT»jU»jV»jW»jX»jY»jZ»j[»j\»j]»j^»j_»j`»ja»(jb»jc»jd»je»jf»jg»jh»ji»jj»jk»jl»jm»jn»jo»jp»jq»jr»js»jt»ju»jv»jw»jx»jy»jz»j{»j|»j}»j~»j»j€»j»j‚»jƒ»j„»j…»j†»j‡»jˆ»j‰»jŠ»j‹»jŒ»j»jŽ»j»j»j‘»j’»j“»j”»j•»j–»j—»j˜»j™»jš»j›»jœ»j»jž»jŸ»j »j¡»j¢»j£»j¤»j¥»j¦»j§»j¨»j©»jª»j«»j¬»j­»j®»j¯»j°»j±»j²»j³»j´»jµ»j¶»j·»j¸»j¹»jº»j»»j¼»j½»j¾»j¿»jÀ»jÁ»j»jûjÄ»jÅ»jÆ»jÇ»jÈ»jÉ»jÊ»jË»jÌ»jÍ»jλjÏ»jлjÑ»jÒ»jÓ»jÔ»jÕ»jÖ»j×»jØ»jÙ»jÚ»jÛ»jÜ»jÝ»jÞ»jß»jà»já»jâ»jã»jä»jå»jæ»jç»jè»jé»jê»jë»jì»jí»jî»jï»jð»jñ»jò»jó»jô»jõ»jö»j÷»jø»jù»jú»jû»jü»jý»jþ»jÿ»j¼j¼j¼j¼j¼j¼j¼j¼j¼j ¼j ¼j ¼j ¼j ¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j¼j ¼j!¼j"¼j#¼j$¼j%¼j&¼j'¼j(¼j)¼j*¼j+¼j,¼j-¼j.¼j/¼j0¼j1¼j2¼j3¼j4¼j5¼j6¼j7¼j8¼j9¼j:¼j;¼j<¼j=¼j>¼j?¼j@¼jA¼jB¼jC¼jD¼jE¼jF¼jG¼jH¼jI¼jJ¼jK¼jL¼jM¼jN¼jO¼jP¼jQ¼jR¼jS¼jT¼jU¼jV¼jW¼jX¼jY¼jZ¼j[¼j\¼j]¼j^¼j_¼j`¼ja¼jb¼jc¼jd¼je¼jf¼jg¼jh¼ji¼jj¼jk¼jl¼jm¼jn¼jo¼jp¼jq¼jr¼js¼jt¼ju¼jv¼jw¼jx¼jy¼jz¼j{¼j|¼j}¼j~¼j¼j€¼j¼j‚¼jƒ¼j„¼j…¼j†¼j‡¼jˆ¼j‰¼jмj‹¼jŒ¼j¼j޼j¼j¼j‘¼j’¼j“¼j”¼j•¼j–¼j—¼j˜¼j™¼jš¼j›¼jœ¼j¼jž¼jŸ¼j ¼j¡¼j¢¼j£¼j¤¼j¥¼j¦¼j§¼j¨¼j©¼jª¼j«¼j¬¼j­¼j®¼j¯¼j°¼j±¼j²¼j³¼j´¼jµ¼j¶¼j·¼j¸¼j¹¼jº¼j»¼j¼¼j½¼j¾¼j¿¼jÀ¼jÁ¼j¼jüjļjżjƼjǼjȼjɼjʼj˼j̼jͼjμjϼjмjѼjÒ¼jÓ¼jÔ¼jÕ¼jÖ¼j×¼jؼjÙ¼jÚ¼jÛ¼jܼjݼjÞ¼jß¼jà¼já¼jâ¼jã¼jä¼jå¼jæ¼jç¼jè¼jé¼jê¼jë¼jì¼jí¼jî¼jï¼jð¼jñ¼jò¼jó¼jô¼jõ¼jö¼j÷¼jø¼jù¼jú¼jû¼jü¼jý¼jþ¼jÿ¼j½j½j½j½j½j½j½j½j½j ½j ½j ½j ½j ½j½j½j½j½j½j½j½j½j½j½j½j½j½j½j½j½j½j½j ½j!½j"½j#½j$½j%½j&½j'½j(½j)½j*½j+½j,½j-½j.½j/½j0½j1½j2½j3½j4½j5½j6½j7½j8½j9½j:½j;½j<½j=½j>½j?½j@½jA½jB½jC½jD½jE½jF½jG½jH½jI½jJ½jK½jL½jM½jN½jO½jP½jQ½jR½jS½jT½jU½jV½jW½jX½jY½jZ½j[½j\½j]½j^½j_½j`½ja½jb½jc½jd½je½jf½jg½jh½ji½jj½jk½jl½jm½jn½jo½jp½jq½jr½js½jt½ju½jv½jw½jx½jy½jz½j{½j|½j}½j~½j½j€½j½j‚½jƒ½j„½j…½j†½j‡½jˆ½j‰½jнj‹½jŒ½j½j޽j½j½j‘½j’½j“½j”½j•½j–½j—½j˜½j™½jš½j›½jœ½j½jž½jŸ½j ½j¡½j¢½j£½j¤½j¥½j¦½j§½j¨½j©½jª½j«½j¬½j­½j®½j¯½j°½j±½j²½j³½j´½jµ½j¶½j·½j¸½j¹½jº½j»½j¼½j½½j¾½j¿½jÀ½jÁ½j½jýjĽjŽjƽjǽjȽjɽjʽj˽j̽jͽjνjϽjнjѽjÒ½jÓ½jÔ½jÕ½jÖ½j×½jؽjÙ½jÚ½jÛ½jܽjݽjÞ½jß½jà½já½jâ½jã½jä½jå½jæ½jç½jè½jé½jê½jë½jì½jí½jî½jï½jð½jñ½jò½jó½jô½jõ½jö½j÷½jø½jù½jú½jû½jü½jý½jþ½jÿ½j¾j¾j¾j¾j¾j¾j¾j¾j¾j ¾j ¾j ¾j ¾j ¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j¾j ¾j!¾j"¾j#¾j$¾j%¾j&¾j'¾j(¾j)¾j*¾j+¾j,¾j-¾j.¾j/¾j0¾j1¾j2¾j3¾j4¾j5¾j6¾j7¾j8¾j9¾j:¾j;¾j<¾j=¾j>¾j?¾j@¾jA¾jB¾jC¾jD¾jE¾jF¾jG¾jH¾jI¾jJ¾jK¾jL¾jM¾jN¾jO¾jP¾jQ¾jR¾jS¾jT¾jU¾jV¾jW¾jX¾jY¾jZ¾j[¾j\¾j]¾j^¾j_¾j`¾ja¾jb¾jc¾jd¾je¾jf¾jg¾jh¾ji¾jj¾jk¾jl¾jm¾jn¾jo¾jp¾jq¾jr¾js¾jt¾ju¾jv¾jw¾jx¾jy¾jz¾j{¾j|¾j}¾j~¾j¾j€¾j¾j‚¾jƒ¾j„¾j…¾j†¾j‡¾jˆ¾j‰¾jоj‹¾jŒ¾j¾j޾j¾j¾j‘¾j’¾j“¾j”¾j•¾j–¾j—¾j˜¾j™¾jš¾j›¾jœ¾j¾jž¾jŸ¾j ¾j¡¾j¢¾j£¾j¤¾j¥¾j¦¾j§¾j¨¾j©¾jª¾j«¾j¬¾j­¾j®¾j¯¾j°¾j±¾j²¾j³¾j´¾jµ¾j¶¾j·¾j¸¾j¹¾jº¾j»¾j¼¾j½¾j¾¾j¿¾jÀ¾jÁ¾j¾jþjľjžjƾjǾjȾjɾjʾj˾j̾j;jξjϾjоjѾjÒ¾jÓ¾jÔ¾jÕ¾jÖ¾j×¾jؾjÙ¾jÚ¾jÛ¾jܾjݾjÞ¾jß¾jà¾já¾jâ¾jã¾jä¾jå¾jæ¾jç¾jè¾jé¾jê¾jë¾jì¾jí¾jî¾jï¾jð¾jñ¾jò¾jó¾jô¾jõ¾jö¾j÷¾jø¾jù¾jú¾jû¾jü¾jý¾jþ¾jÿ¾j¿j¿j¿j¿j¿j¿j¿j¿j¿j ¿j ¿j ¿j ¿j ¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j¿j ¿j!¿j"¿j#¿j$¿j%¿j&¿j'¿j(¿j)¿j*¿j+¿j,¿j-¿j.¿j/¿j0¿j1¿j2¿j3¿j4¿j5¿j6¿j7¿j8¿j9¿j:¿j;¿j<¿j=¿j>¿j?¿j@¿jA¿jB¿jC¿jD¿jE¿jF¿jG¿jH¿jI¿(jJ¿jK¿jL¿jM¿jN¿jO¿jP¿jQ¿jR¿jS¿jT¿jU¿jV¿jW¿jX¿jY¿jZ¿j[¿j\¿j]¿j^¿j_¿j`¿ja¿jb¿jc¿jd¿je¿jf¿jg¿jh¿ji¿jj¿jk¿jl¿jm¿jn¿jo¿jp¿jq¿jr¿js¿jt¿ju¿jv¿jw¿jx¿jy¿jz¿j{¿j|¿j}¿j~¿j¿j€¿j¿j‚¿jƒ¿j„¿j…¿j†¿j‡¿jˆ¿j‰¿jŠ¿j‹¿jŒ¿j¿jŽ¿j¿j¿j‘¿j’¿j“¿j”¿j•¿j–¿j—¿j˜¿j™¿jš¿j›¿jœ¿j¿jž¿jŸ¿j ¿j¡¿j¢¿j£¿j¤¿j¥¿j¦¿j§¿j¨¿j©¿jª¿j«¿j¬¿j­¿j®¿j¯¿j°¿j±¿j²¿j³¿j´¿jµ¿j¶¿j·¿j¸¿j¹¿jº¿j»¿j¼¿j½¿j¾¿j¿¿jÀ¿jÁ¿j¿jÿjÄ¿jÅ¿jÆ¿jÇ¿jÈ¿jÉ¿jÊ¿jË¿jÌ¿jÍ¿jοjÏ¿jпjÑ¿jÒ¿jÓ¿jÔ¿jÕ¿jÖ¿j׿jØ¿jÙ¿jÚ¿jÛ¿jÜ¿jÝ¿jÞ¿jß¿jà¿já¿jâ¿jã¿jä¿jå¿jæ¿jç¿jè¿jé¿jê¿jë¿jì¿jí¿jî¿jï¿jð¿jñ¿jò¿jó¿jô¿jõ¿jö¿j÷¿jø¿jù¿jú¿jû¿jü¿jý¿jþ¿jÿ¿jÀjÀjÀjÀjÀjÀjÀjÀjÀj Àj Àj Àj Àj ÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀjÀj Àj!Àj"Àj#Àj$Àj%Àj&Àj'Àj(Àj)Àj*Àj+Àj,Àj-Àj.Àj/Àj0Àj1Àj2Àj3Àj4Àj5Àj6Àj7Àj8Àj9Àj:Àj;Àj<Àj=Àj>Àj?Àj@ÀjAÀjBÀjCÀjDÀjEÀjFÀjGÀjHÀjIÀjJÀjKÀjLÀjMÀjNÀjOÀjPÀjQÀjRÀjSÀjTÀjUÀjVÀjWÀjXÀjYÀjZÀj[Àj\Àj]Àj^Àj_Àj`ÀjaÀjbÀjcÀjdÀjeÀjfÀjgÀjhÀjiÀjjÀjkÀjlÀjmÀjnÀjoÀjpÀjqÀjrÀjsÀjtÀjuÀjvÀjwÀjxÀjyÀjzÀj{Àj|Àj}Àj~ÀjÀj€ÀjÀj‚ÀjƒÀj„Àj…Àj†Àj‡ÀjˆÀj‰ÀjŠÀj‹ÀjŒÀjÀjŽÀjÀjÀj‘Àj’Àj“Àj”Àj•Àj–Àj—Àj˜Àj™ÀjšÀj›ÀjœÀjÀjžÀjŸÀj Àj¡Àj¢Àj£Àj¤Àj¥Àj¦Àj§Àj¨Àj©ÀjªÀj«Àj¬Àj­Àj®Àj¯Àj°Àj±Àj²Àj³Àj´ÀjµÀj¶Àj·Àj¸Àj¹ÀjºÀj»Àj¼Àj½Àj¾Àj¿ÀjÀÀjÁÀjÂÀjÃÀjÄÀjÅÀjÆÀjÇÀjÈÀjÉÀjÊÀjËÀjÌÀjÍÀjÎÀjÏÀjÐÀjÑÀjÒÀjÓÀjÔÀjÕÀjÖÀj×ÀjØÀjÙÀjÚÀjÛÀjÜÀjÝÀjÞÀjßÀjàÀjáÀjâÀjãÀjäÀjåÀjæÀjçÀjèÀjéÀjêÀjëÀjìÀjíÀjîÀjïÀjðÀjñÀjòÀjóÀjôÀjõÀjöÀj÷ÀjøÀjùÀjúÀjûÀjüÀjýÀjþÀjÿÀjÁjÁjÁjÁjÁjÁjÁjÁjÁj Áj Áj Áj Áj ÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁjÁj Áj!Áj"Áj#Áj$Áj%Áj&Áj'Áj(Áj)Áj*Áj+Áj,Áj-Áj.Áj/Áj0Áj1Áj2Áj3Áj4Áj5Áj6Áj7Áj8Áj9Áj:Áj;Áj<Áj=Áj>Áj?Áj@ÁjAÁjBÁjCÁjDÁjEÁjFÁjGÁjHÁjIÁjJÁjKÁjLÁjMÁjNÁjOÁjPÁjQÁjRÁjSÁjTÁjUÁjVÁjWÁjXÁjYÁjZÁj[Áj\Áj]Áj^Áj_Áj`ÁjaÁjbÁjcÁjdÁjeÁjfÁjgÁjhÁjiÁjjÁjkÁjlÁjmÁjnÁjoÁjpÁjqÁjrÁjsÁjtÁjuÁjvÁjwÁjxÁjyÁjzÁj{Áj|Áj}Áj~ÁjÁj€ÁjÁj‚ÁjƒÁj„Áj…Áj†Áj‡ÁjˆÁj‰ÁjŠÁj‹ÁjŒÁjÁjŽÁjÁjÁj‘Áj’Áj“Áj”Áj•Áj–Áj—Áj˜Áj™ÁjšÁj›ÁjœÁjÁjžÁjŸÁj Áj¡Áj¢Áj£Áj¤Áj¥Áj¦Áj§Áj¨Áj©ÁjªÁj«Áj¬Áj­Áj®Áj¯Áj°Áj±Áj²Áj³Áj´ÁjµÁj¶Áj·Áj¸Áj¹ÁjºÁj»Áj¼Áj½Áj¾Áj¿ÁjÀÁjÁÁjÂÁjÃÁjÄÁjÅÁjÆÁjÇÁjÈÁjÉÁjÊÁjËÁjÌÁjÍÁjÎÁjÏÁjÐÁjÑÁjÒÁjÓÁjÔÁjÕÁjÖÁj×ÁjØÁjÙÁjÚÁjÛÁjÜÁjÝÁjÞÁjßÁjàÁjáÁjâÁjãÁjäÁjåÁjæÁjçÁjèÁjéÁjêÁjëÁjìÁjíÁjîÁjïÁjðÁjñÁjòÁjóÁjôÁjõÁjöÁj÷ÁjøÁjùÁjúÁjûÁjüÁjýÁjþÁjÿÁjÂjÂjÂjÂjÂjÂjÂjÂjÂj Âj Âj Âj Âj ÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂjÂj Âj!Âj"Âj#Âj$Âj%Âj&Âj'Âj(Âj)Âj*Âj+Âj,Âj-Âj.Âj/Âj0Âj1Âj2Âj3Âj4Âj5Âj6Âj7Âj8Âj9Âj:Âj;Âj<Âj=Âj>Âj?Âj@ÂjAÂjBÂjCÂjDÂjEÂjFÂjGÂjHÂjIÂjJÂjKÂjLÂjMÂjNÂjOÂjPÂjQÂjRÂjSÂjTÂjUÂjVÂjWÂjXÂjYÂjZÂj[Âj\Âj]Âj^Âj_Âj`ÂjaÂjbÂjcÂjdÂjeÂjfÂjgÂjhÂjiÂjjÂjkÂjlÂjmÂjnÂjoÂjpÂjqÂjrÂjsÂjtÂjuÂjvÂjwÂjxÂjyÂjzÂj{Âj|Âj}Âj~ÂjÂj€ÂjÂj‚ÂjƒÂj„Âj…Âj†Âj‡ÂjˆÂj‰ÂjŠÂj‹ÂjŒÂjÂjŽÂjÂjÂj‘Âj’Âj“Âj”Âj•Âj–Âj—Âj˜Âj™ÂjšÂj›ÂjœÂjÂjžÂjŸÂj Âj¡Âj¢Âj£Âj¤Âj¥Âj¦Âj§Âj¨Âj©ÂjªÂj«Âj¬Âj­Âj®Âj¯Âj°Âj±Âj²Âj³Âj´ÂjµÂj¶Âj·Âj¸Âj¹ÂjºÂj»Âj¼Âj½Âj¾Âj¿ÂjÀÂjÁÂjÂÂjÃÂjÄÂjÅÂjÆÂjÇÂjÈÂjÉÂjÊÂjËÂjÌÂjÍÂjÎÂjÏÂjÐÂjÑÂjÒÂjÓÂjÔÂjÕÂjÖÂj×ÂjØÂjÙÂjÚÂjÛÂjÜÂjÝÂjÞÂjßÂjàÂjáÂjâÂjãÂjäÂjåÂjæÂjçÂjèÂjéÂjêÂjëÂjìÂjíÂjîÂjïÂjðÂjñÂjòÂjóÂjôÂjõÂjöÂj÷ÂjøÂjùÂjúÂjûÂjüÂjýÂjþÂjÿÂjÃjÃjÃjÃjÃjÃjÃjÃjÃj Ãj Ãj Ãj Ãj ÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃjÃj Ãj!Ãj"Ãj#Ãj$Ãj%Ãj&Ãj'Ãj(Ãj)Ãj*Ãj+Ãj,Ãj-Ãj.Ãj/Ãj0Ãj1Ã(j2Ãj3Ãj4Ãj5Ãj6Ãj7Ãj8Ãj9Ãj:Ãj;Ãj<Ãj=Ãj>Ãj?Ãj@ÃjAÃjBÃjCÃjDÃjEÃjFÃjGÃjHÃjIÃjJÃjKÃjLÃjMÃjNÃjOÃjPÃjQÃjRÃjSÃjTÃjUÃjVÃjWÃjXÃjYÃjZÃj[Ãj\Ãj]Ãj^Ãj_Ãj`ÃjaÃjbÃjcÃjdÃjeÃjfÃjgÃjhÃjiÃjjÃjkÃjlÃjmÃjnÃjoÃjpÃjqÃjrÃjsÃjtÃjuÃjvÃjwÃjxÃjyÃjzÃj{Ãj|Ãj}Ãj~ÃjÃj€ÃjÃj‚ÃjƒÃj„Ãj…Ãj†Ãj‡ÃjˆÃj‰ÃjŠÃj‹ÃjŒÃjÃjŽÃjÃjÃj‘Ãj’Ãj“Ãj”Ãj•Ãj–Ãj—Ãj˜Ãj™ÃjšÃj›ÃjœÃjÃjžÃjŸÃj Ãj¡Ãj¢Ãj£Ãj¤Ãj¥Ãj¦Ãj§Ãj¨Ãj©ÃjªÃj«Ãj¬Ãj­Ãj®Ãj¯Ãj°Ãj±Ãj²Ãj³Ãj´ÃjµÃj¶Ãj·Ãj¸Ãj¹ÃjºÃj»Ãj¼Ãj½Ãj¾Ãj¿ÃjÀÃjÁÃjÂÃjÃÃjÄÃjÅÃjÆÃjÇÃjÈÃjÉÃjÊÃjËÃjÌÃjÍÃjÎÃjÏÃjÐÃjÑÃjÒÃjÓÃjÔÃjÕÃjÖÃj×ÃjØÃjÙÃjÚÃjÛÃjÜÃjÝÃjÞÃjßÃjàÃjáÃjâÃjãÃjäÃjåÃjæÃjçÃjèÃjéÃjêÃjëÃjìÃjíÃjîÃjïÃjðÃjñÃjòÃjóÃjôÃjõÃjöÃj÷ÃjøÃjùÃjúÃjûÃjüÃjýÃjþÃjÿÃjÄjÄjÄjÄjÄjÄjÄjÄjÄj Äj Äj Äj Äj ÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄjÄj Äj!Äj"Äj#Äj$Äj%Äj&Äj'Äj(Äj)Äj*Äj+Äj,Äj-Äj.Äj/Äj0Äj1Äj2Äj3Äj4Äj5Äj6Äj7Äj8Äj9Äj:Äj;Äj<Äj=Äj>Äj?Äj@ÄjAÄjBÄjCÄjDÄjEÄjFÄjGÄjHÄjIÄjJÄjKÄjLÄjMÄjNÄjOÄjPÄjQÄjRÄjSÄjTÄjUÄjVÄjWÄjXÄjYÄjZÄj[Äj\Äj]Äj^Äj_Äj`ÄjaÄjbÄjcÄjdÄjeÄjfÄjgÄjhÄjiÄjjÄjkÄjlÄjmÄjnÄjoÄjpÄjqÄjrÄjsÄjtÄjuÄjvÄjwÄjxÄjyÄjzÄj{Äj|Äj}Äj~ÄjÄj€ÄjÄj‚ÄjƒÄj„Äj…Äj†Äj‡ÄjˆÄj‰ÄjŠÄj‹ÄjŒÄjÄjŽÄjÄjÄj‘Äj’Äj“Äj”Äj•Äj–Äj—Äj˜Äj™ÄjšÄj›ÄjœÄjÄjžÄjŸÄj Äj¡Äj¢Äj£Äj¤Äj¥Äj¦Äj§Äj¨Äj©ÄjªÄj«Äj¬Äj­Äj®Äj¯Äj°Äj±Äj²Äj³Äj´ÄjµÄj¶Äj·Äj¸Äj¹ÄjºÄj»Äj¼Äj½Äj¾Äj¿ÄjÀÄjÁÄjÂÄjÃÄjÄÄjÅÄjÆÄjÇÄjÈÄjÉÄjÊÄjËÄjÌÄjÍÄjÎÄjÏÄjÐÄjÑÄjÒÄjÓÄjÔÄjÕÄjÖÄj×ÄjØÄjÙÄjÚÄjÛÄjÜÄjÝÄjÞÄjßÄjàÄjáÄjâÄjãÄjäÄjåÄjæÄjçÄjèÄjéÄjêÄjëÄjìÄjíÄjîÄjïÄjðÄjñÄjòÄjóÄjôÄjõÄjöÄj÷ÄjøÄjùÄjúÄjûÄjüÄjýÄjþÄjÿÄjÅjÅjÅjÅjÅjÅjÅjÅjÅj Åj Åj Åj Åj ÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅjÅj Åj!Åj"Åj#Åj$Åj%Åj&Åj'Åj(Åj)Åj*Åj+Åj,Åj-Åj.Åj/Åj0Åj1Åj2Åj3Åj4Åj5Åj6Åj7Åj8Åj9Åj:Åj;Åj<Åj=Åj>Åj?Åj@ÅjAÅjBÅjCÅjDÅjEÅjFÅjGÅjHÅjIÅjJÅjKÅjLÅjMÅjNÅjOÅjPÅjQÅjRÅjSÅjTÅjUÅjVÅjWÅjXÅjYÅjZÅj[Åj\Åj]Åj^Åj_Åj`ÅjaÅjbÅjcÅjdÅjeÅjfÅjgÅjhÅjiÅjjÅjkÅjlÅjmÅjnÅjoÅjpÅjqÅjrÅjsÅjtÅjuÅjvÅjwÅjxÅjyÅjzÅj{Åj|Åj}Åj~ÅjÅj€ÅjÅj‚ÅjƒÅj„Åj…Åj†Åj‡ÅjˆÅj‰ÅjŠÅj‹ÅjŒÅjÅjŽÅjÅjÅj‘Åj’Åj“Åj”Åj•Åj–Åj—Åj˜Åj™ÅjšÅj›ÅjœÅjÅjžÅjŸÅj Åj¡Åj¢Åj£Åj¤Åj¥Åj¦Åj§Åj¨Åj©ÅjªÅj«Åj¬Åj­Åj®Åj¯Åj°Åj±Åj²Åj³Åj´ÅjµÅj¶Åj·Åj¸Åj¹ÅjºÅj»Åj¼Åj½Åj¾Åj¿ÅjÀÅjÁÅjÂÅjÃÅjÄÅjÅÅjÆÅjÇÅjÈÅjÉÅjÊÅjËÅjÌÅjÍÅjÎÅjÏÅjÐÅjÑÅjÒÅjÓÅjÔÅjÕÅjÖÅj×ÅjØÅjÙÅjÚÅjÛÅjÜÅjÝÅjÞÅjßÅjàÅjáÅjâÅjãÅjäÅjåÅjæÅjçÅjèÅjéÅjêÅjëÅjìÅjíÅjîÅjïÅjðÅjñÅjòÅjóÅjôÅjõÅjöÅj÷ÅjøÅjùÅjúÅjûÅjüÅjýÅjþÅjÿÅjÆjÆjÆjÆjÆjÆjÆjÆjÆj Æj Æj Æj Æj ÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆjÆj Æj!Æj"Æj#Æj$Æj%Æj&Æj'Æj(Æj)Æj*Æj+Æj,Æj-Æj.Æj/Æj0Æj1Æj2Æj3Æj4Æj5Æj6Æj7Æj8Æj9Æj:Æj;Æj<Æj=Æj>Æj?Æj@ÆjAÆjBÆjCÆjDÆjEÆjFÆjGÆjHÆjIÆjJÆjKÆjLÆjMÆjNÆjOÆjPÆjQÆjRÆjSÆjTÆjUÆjVÆjWÆjXÆjYÆjZÆj[Æj\Æj]Æj^Æj_Æj`ÆjaÆjbÆjcÆjdÆjeÆjfÆjgÆjhÆjiÆjjÆjkÆjlÆjmÆjnÆjoÆjpÆjqÆjrÆjsÆjtÆjuÆjvÆjwÆjxÆjyÆjzÆj{Æj|Æj}Æj~ÆjÆj€ÆjÆj‚ÆjƒÆj„Æj…Æj†Æj‡ÆjˆÆj‰ÆjŠÆj‹ÆjŒÆjÆjŽÆjÆjÆj‘Æj’Æj“Æj”Æj•Æj–Æj—Æj˜Æj™ÆjšÆj›ÆjœÆjÆjžÆjŸÆj Æj¡Æj¢Æj£Æj¤Æj¥Æj¦Æj§Æj¨Æj©ÆjªÆj«Æj¬Æj­Æj®Æj¯Æj°Æj±Æj²Æj³Æj´ÆjµÆj¶Æj·Æj¸Æj¹ÆjºÆj»Æj¼Æj½Æj¾Æj¿ÆjÀÆjÁÆjÂÆjÃÆjÄÆjÅÆjÆÆjÇÆjÈÆjÉÆjÊÆjËÆjÌÆjÍÆjÎÆjÏÆjÐÆjÑÆjÒÆjÓÆjÔÆjÕÆjÖÆjׯjØÆjÙÆjÚÆjÛÆjÜÆjÝÆjÞÆj߯jàÆjáÆjâÆjãÆjäÆjåÆjæÆjçÆjèÆjéÆjêÆjëÆjìÆjíÆjîÆjïÆjðÆjñÆjòÆjóÆjôÆjõÆjöÆj÷ÆjøÆjùÆjúÆjûÆjüÆjýÆjþÆjÿÆjÇjÇjÇjÇjÇjÇjÇjÇjÇj Çj Çj Çj Çj ÇjÇjÇjÇjÇjÇjÇjÇjÇjÇjÇjÇjÇ(jÇjÇjÇjÇjÇjÇj Çj!Çj"Çj#Çj$Çj%Çj&Çj'Çj(Çj)Çj*Çj+Çj,Çj-Çj.Çj/Çj0Çj1Çj2Çj3Çj4Çj5Çj6Çj7Çj8Çj9Çj:Çj;Çj<Çj=Çj>Çj?Çj@ÇjAÇjBÇjCÇjDÇjEÇjFÇjGÇjHÇjIÇjJÇjKÇjLÇjMÇjNÇjOÇjPÇjQÇjRÇjSÇjTÇjUÇjVÇjWÇjXÇjYÇjZÇj[Çj\Çj]Çj^Çj_Çj`ÇjaÇjbÇjcÇjdÇjeÇjfÇjgÇjhÇjiÇjjÇjkÇjlÇjmÇjnÇjoÇjpÇjqÇjrÇjsÇjtÇjuÇjvÇjwÇjxÇjyÇjzÇj{Çj|Çj}Çj~ÇjÇj€ÇjÇj‚ÇjƒÇj„Çj…Çj†Çj‡ÇjˆÇj‰ÇjŠÇj‹ÇjŒÇjÇjŽÇjÇjÇj‘Çj’Çj“Çj”Çj•Çj–Çj—Çj˜Çj™ÇjšÇj›ÇjœÇjÇjžÇjŸÇj Çj¡Çj¢Çj£Çj¤Çj¥Çj¦Çj§Çj¨Çj©ÇjªÇj«Çj¬Çj­Çj®Çj¯Çj°Çj±Çj²Çj³Çj´ÇjµÇj¶Çj·Çj¸Çj¹ÇjºÇj»Çj¼Çj½Çj¾Çj¿ÇjÀÇjÁÇjÂÇjÃÇjÄÇjÅÇjÆÇjÇÇjÈÇjÉÇjÊÇjËÇjÌÇjÍÇjÎÇjÏÇjÐÇjÑÇjÒÇjÓÇjÔÇjÕÇjÖÇj×ÇjØÇjÙÇjÚÇjÛÇjÜÇjÝÇjÞÇjßÇjàÇjáÇjâÇjãÇjäÇjåÇjæÇjçÇjèÇjéÇjêÇjëÇjìÇjíÇjîÇjïÇjðÇjñÇjòÇjóÇjôÇjõÇjöÇj÷ÇjøÇjùÇjúÇjûÇjüÇjýÇjþÇjÿÇjÈjÈjÈjÈjÈjÈjÈjÈjÈj Èj Èj Èj Èj ÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈjÈj Èj!Èj"Èj#Èj$Èj%Èj&Èj'Èj(Èj)Èj*Èj+Èj,Èj-Èj.Èj/Èj0Èj1Èj2Èj3Èj4Èj5Èj6Èj7Èj8Èj9Èj:Èj;Èj<Èj=Èj>Èj?Èj@ÈjAÈjBÈjCÈjDÈjEÈjFÈjGÈjHÈjIÈjJÈjKÈjLÈjMÈjNÈjOÈjPÈjQÈjRÈjSÈjTÈjUÈjVÈjWÈjXÈjYÈjZÈj[Èj\Èj]Èj^Èj_Èj`ÈjaÈjbÈjcÈjdÈjeÈjfÈjgÈjhÈjiÈjjÈjkÈjlÈjmÈjnÈjoÈjpÈjqÈjrÈjsÈjtÈjuÈjvÈjwÈjxÈjyÈjzÈj{Èj|Èj}Èj~ÈjÈj€ÈjÈj‚ÈjƒÈj„Èj…Èj†Èj‡ÈjˆÈj‰ÈjŠÈj‹ÈjŒÈjÈjŽÈjÈjÈj‘Èj’Èj“Èj”Èj•Èj–Èj—Èj˜Èj™ÈjšÈj›ÈjœÈjÈjžÈjŸÈj Èj¡Èj¢Èj£Èj¤Èj¥Èj¦Èj§Èj¨Èj©ÈjªÈj«Èj¬Èj­Èj®Èj¯Èj°Èj±Èj²Èj³Èj´ÈjµÈj¶Èj·Èj¸Èj¹ÈjºÈj»Èj¼Èj½Èj¾Èj¿ÈjÀÈjÁÈjÂÈjÃÈjÄÈjÅÈjÆÈjÇÈjÈÈjÉÈjÊÈjËÈjÌÈjÍÈjÎÈjÏÈjÐÈjÑÈjÒÈjÓÈjÔÈjÕÈjÖÈj×ÈjØÈjÙÈjÚÈjÛÈjÜÈjÝÈjÞÈjßÈjàÈjáÈjâÈjãÈjäÈjåÈjæÈjçÈjèÈjéÈjêÈjëÈjìÈjíÈjîÈjïÈjðÈjñÈjòÈjóÈjôÈjõÈjöÈj÷ÈjøÈjùÈjúÈjûÈjüÈjýÈjþÈjÿÈjÉjÉjÉjÉjÉjÉjÉjÉjÉj Éj Éj Éj Éj ÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉjÉj Éj!Éj"Éj#Éj$Éj%Éj&Éj'Éj(Éj)Éj*Éj+Éj,Éj-Éj.Éj/Éj0Éj1Éj2Éj3Éj4Éj5Éj6Éj7Éj8Éj9Éj:Éj;Éj<Éj=Éj>Éj?Éj@ÉjAÉjBÉjCÉjDÉjEÉjFÉjGÉjHÉjIÉjJÉjKÉjLÉjMÉjNÉjOÉjPÉjQÉjRÉjSÉjTÉjUÉjVÉjWÉjXÉjYÉjZÉj[Éj\Éj]Éj^Éj_Éj`ÉjaÉjbÉjcÉjdÉjeÉjfÉjgÉjhÉjiÉjjÉjkÉjlÉjmÉjnÉjoÉjpÉjqÉjrÉjsÉjtÉjuÉjvÉjwÉjxÉjyÉjzÉj{Éj|Éj}Éj~ÉjÉj€ÉjÉj‚ÉjƒÉj„Éj…Éj†Éj‡ÉjˆÉj‰ÉjŠÉj‹ÉjŒÉjÉjŽÉjÉjÉj‘Éj’Éj“Éj”Éj•Éj–Éj—Éj˜Éj™ÉjšÉj›ÉjœÉjÉjžÉjŸÉj Éj¡Éj¢Éj£Éj¤Éj¥Éj¦Éj§Éj¨Éj©ÉjªÉj«Éj¬Éj­Éj®Éj¯Éj°Éj±Éj²Éj³Éj´ÉjµÉj¶Éj·Éj¸Éj¹ÉjºÉj»Éj¼Éj½Éj¾Éj¿ÉjÀÉjÁÉjÂÉjÃÉjÄÉjÅÉjÆÉjÇÉjÈÉjÉÉjÊÉjËÉjÌÉjÍÉjÎÉjÏÉjÐÉjÑÉjÒÉ•¯³jÓÉjÔÉjÕÉjÖÉj×ÉjØÉjÙÉjÚÉjÛÉjÜÉjÝÉjÞÉjßÉjàÉjáÉjâÉjãÉjäÉjåÉjæÉjçÉjèÉjéÉjêÉjëÉjìÉjíÉjîÉjïÉjðÉjñÉjòÉjóÉjôÉjõÉjöÉj÷ÉjøÉjùÉjúÉjûÉjüÉjýÉjþÉjÿÉjÊjÊjÊjÊjÊjÊjÊjÊjÊj Êj Êj Êj Êj ÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊjÊj Êj!Êj"Êj#Êj$Êj%Êj&Êj'Êj(Êj)Êj*Êj+Êj,Êj-Êj.Êj/Êj0Êj1Êj2Êj3Êj4Êj5Êj6Êj7Êj8Êj9Êj:Êj;Êj<Êj=Êj>Êj?Êj@ÊjAÊjBÊjCÊjDÊjEÊjFÊjGÊjHÊjIÊjJÊjKÊjLÊjMÊjNÊjOÊjPÊjQÊjRÊjSÊjTÊjUÊjVÊjWÊjXÊjYÊjZÊj[Êj\Êj]Êj^Êj_Êj`ÊjaÊjbÊjcÊjdÊjeÊjfÊjgÊjhÊjiÊjjÊjkÊjlÊjmÊjnÊjoÊjpÊjqÊjrÊjsÊjtÊjuÊjvÊjwÊjxÊjyÊjzÊj{Êj|Êj}Êj~ÊjÊj€ÊjÊj‚ÊjƒÊj„Êj…Êj†Êj‡ÊjˆÊj‰ÊjŠÊj‹ÊjŒÊjÊjŽÊjÊjÊj‘Êj’Êj“Êj”Êj•Êj–Êj—Êj˜Êj™ÊjšÊj›ÊjœÊjÊjžÊjŸÊj Êj¡Êj¢Êj£Êj¤Êj¥Êj¦Êj§Êj¨Êj©ÊjªÊj«Êj¬Êj­Êj®Êj¯Êj°Êj±Êj²Êj³Êj´ÊjµÊj¶Êj·Êj¸Êj¹ÊjºÊj»Êj¼Êj½Êj¾Êj¿ÊjÀÊjÁÊjÂÊjÃÊjÄÊjÅÊjÆÊjÇÊjÈÊjÉÊjÊÊjËÊjÌÊjÍÊjÎÊjÏÊjÐÊjÑÊjÒÊjÓÊjÔÊjÕÊjÖÊj×ÊjØÊjÙÊjÚÊjÛÊjÜÊjÝÊjÞÊjßÊjàÊjáÊjâÊjãÊjäÊjåÊjæÊjçÊjèÊjéÊjêÊjëÊjìÊjíÊjîÊjïÊjðÊjñÊjòÊjóÊjôÊjõÊjöÊj÷ÊjøÊjùÊjúÊjûÊjüÊjýÊjþÊjÿÊjËjË(jËjËjËjËjËjËjËj Ëj Ëj Ëj Ëj ËjËjËjËjËjËjËjËjËjËjËjËjËjËjËjËjËjËjËj Ëj!Ëj"Ëj#Ëj$Ëj%Ëj&Ëj'Ëj(Ëj)Ëj*Ëj+Ëj,Ëj-Ëj.Ëj/Ëj0Ëj1Ëj2Ëj3Ëj4Ëj5Ëj6Ëj7Ëj8Ëj9Ëj:Ëj;Ëj<Ëj=Ëj>Ëj?Ëj@ËjAËjBËjCËjDËjEËjFËjGËjHËjIËjJËjKËjLËjMËjNËjOËjPËjQËjRËjSËjTËjUËjVËjWËjXËjYËjZËj[Ëj\Ëj]Ëj^Ëj_Ëj`ËjaËjbËjcËjdËjeËjfËjgËjhËjiËjjËjkËjlËjmËjnËjoËjpËjqËjrËjsËjtËjuËjvËjwËjxËjyËjzËj{Ëj|Ëj}Ëj~ËjËj€ËjËj‚ËjƒËj„Ëj…Ëj†Ëj‡ËjˆËj‰ËjŠËj‹ËjŒËjËjŽËjËjËj‘Ëj’Ëj“Ëj”Ëj•Ëj–Ëj—Ëj˜Ëj™ËjšËj›ËjœËjËjžËjŸËj Ëj¡Ëj¢Ëj£Ëj¤Ëj¥Ëj¦Ëj§Ëj¨Ëj©ËjªËj«Ëj¬Ëj­Ëj®Ëj¯Ëj°Ëj±Ëj²Ëj³Ëj´ËjµËj¶Ëj·Ëj¸Ëj¹ËjºËj»Ëj¼Ëj½Ëj¾Ëj¿ËjÀËjÁËjÂËjÃËjÄËjÅËjÆËjÇËjÈËjÉËjÊËjËËjÌËjÍËjÎËjÏËjÐËjÑËjÒËjÓËjÔËjÕËjÖËj×ËjØËjÙËjÚËjÛËjÜËjÝËjÞËjßËjàËjáËjâËjãËjäËjåËjæËjçËjèËjéËjêËjëËjìËjíËjîËjïËjðËjñËjòËjóËjôËjõËjöËj÷ËjøËjùËjúËjûËjüËjýËjþËjÿËjÌjÌjÌjÌjÌjÌjÌjÌjÌj Ìj Ìj Ìj Ìj ÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌjÌj Ìj!Ìj"Ìj#Ìj$Ìj%Ìj&Ìj'Ìj(Ìj)Ìj*Ìj+Ìj,Ìj-Ìj.Ìj/Ìj0Ìj1Ìj2Ìj3Ìj4Ìj5Ìj6Ìj7Ìj8Ìj9Ìj:Ìj;Ìj<Ìj=Ìj>Ìj?Ìj@ÌjAÌjBÌjCÌjDÌjEÌjFÌjGÌjHÌjIÌjJÌjKÌjLÌjMÌjNÌjOÌjPÌjQÌjRÌjSÌjTÌjUÌjVÌjWÌjXÌjYÌjZÌj[Ìj\Ìj]Ìj^Ìj_Ìj`ÌjaÌjbÌjcÌjdÌjeÌjfÌjgÌjhÌjiÌjjÌjkÌjlÌjmÌjnÌjoÌjpÌjqÌjrÌjsÌjtÌjuÌjvÌjwÌjxÌjyÌjzÌj{Ìj|Ìj}Ìj~ÌjÌj€ÌjÌj‚ÌjƒÌj„Ìj…Ìj†Ìj‡ÌjˆÌj‰ÌjŠÌj‹ÌjŒÌjÌjŽÌjÌjÌj‘Ìj’Ìj“Ìj”Ìj•Ìj–Ìj—Ìj˜Ìj™ÌjšÌj›ÌjœÌjÌjžÌjŸÌj Ìj¡Ìj¢Ìj£Ìj¤Ìj¥Ìj¦Ìj§Ìj¨Ìj©ÌjªÌj«Ìj¬Ìj­Ìj®Ìj¯Ìj°Ìj±Ìj²Ìj³Ìj´ÌjµÌj¶Ìj·Ìj¸Ìj¹ÌjºÌj»Ìj¼Ìj½Ìj¾Ìj¿ÌjÀÌjÁÌjÂÌjÃÌjÄÌjÅÌjÆÌjÇÌjÈÌjÉÌjÊÌjËÌjÌÌjÍÌjÎÌjÏÌjÐÌjÑÌjÒÌjÓÌjÔÌjÕÌjÖÌj×ÌjØÌjÙÌjÚÌjÛÌjÜÌjÝÌjÞÌjßÌjàÌjáÌjâÌjãÌjäÌjåÌjæÌjçÌjèÌjéÌjêÌjëÌjìÌjíÌjîÌjïÌjðÌjñÌjòÌjóÌjôÌjõÌjöÌj÷ÌjøÌjùÌjúÌjûÌjüÌjýÌjþÌjÿÌjÍjÍjÍjÍjÍjÍjÍjÍjÍj Íj Íj Íj Íj ÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍjÍj Íj!Íj"Íj#Íj$Íj%Íj&Íj'Íj(Íj)Íj*Íj+Íj,Íj-Íj.Íj/Íj0Íj1Íj2Íj3Íj4Íj5Íj6Íj7Íj8Íj9Íj:Íj;Íj<Íj=Íj>Íj?Íj@ÍjAÍjBÍjCÍjDÍjEÍjFÍjGÍjHÍjIÍjJÍjKÍjLÍjMÍjNÍjOÍjPÍjQÍjRÍjSÍjTÍjUÍjVÍjWÍjXÍjYÍjZÍj[Íj\Íj]Íj^Íj_Íj`ÍjaÍjbÍjcÍjdÍjeÍjfÍjgÍjhÍjiÍjjÍjkÍjlÍjmÍjnÍjoÍjpÍjqÍjrÍjsÍjtÍjuÍjvÍjwÍjxÍjyÍjzÍj{Íj|Íj}Íj~ÍjÍj€ÍjÍj‚ÍjƒÍj„Íj…Íj†Íj‡ÍjˆÍj‰ÍjŠÍj‹ÍjŒÍjÍjŽÍjÍjÍj‘Íj’Íj“Íj”Íj•Íj–Íj—Íj˜Íj™ÍjšÍj›ÍjœÍjÍjžÍjŸÍj Íj¡Íj¢Íj£Íj¤Íj¥Íj¦Íj§Íj¨Íj©ÍjªÍj«Íj¬Íj­Íj®Íj¯Íj°Íj±Íj²Íj³Íj´ÍjµÍj¶Íj·Íj¸Íj¹ÍjºÍj»Íj¼Íj½Íj¾Íj¿ÍjÀÍjÁÍjÂÍjÃÍjÄÍjÅÍjÆÍjÇÍjÈÍjÉÍjÊÍjËÍjÌÍjÍÍjÎÍjÏÍjÐÍjÑÍjÒÍjÓÍjÔÍjÕÍjÖÍj×ÍjØÍjÙÍjÚÍjÛÍjÜÍjÝÍjÞÍjßÍjàÍjáÍjâÍjãÍjäÍjåÍjæÍjçÍjèÍjéÍjêÍjëÍjìÍjíÍjîÍjïÍjðÍjñÍjòÍjóÍjôÍjõÍjöÍj÷ÍjøÍjùÍjúÍjûÍjüÍjýÍjþÍjÿÍjÎjÎjÎjÎjÎjÎjÎjÎjÎj Îj Îj Îj Îj ÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎjÎj Îj!Îj"Îj#Îj$Îj%Îj&Îj'Îj(Îj)Îj*Îj+Îj,Îj-Îj.Îj/Îj0Îj1Îj2Îj3Îj4Îj5Îj6Îj7Îj8Îj9Îj:Îj;Îj<Îj=Îj>Îj?Îj@ÎjAÎjBÎjCÎjDÎjEÎjFÎjGÎjHÎjIÎjJÎjKÎjLÎjMÎjNÎjOÎjPÎjQÎjRÎjSÎjTÎjUÎjVÎjWÎjXÎjYÎjZÎj[Îj\Îj]Îj^Îj_Îj`ÎjaÎjbÎjcÎjdÎjeÎjfÎjgÎjhÎjiÎjjÎjkÎjlÎjmÎjnÎjoÎjpÎjqÎjrÎjsÎjtÎjuÎjvÎjwÎjxÎjyÎjzÎj{Îj|Îj}Îj~ÎjÎj€ÎjÎj‚ÎjƒÎj„Îj…Îj†Îj‡ÎjˆÎj‰ÎjŠÎj‹ÎjŒÎjÎjŽÎjÎjÎj‘Îj’Îj“Îj”Îj•Îj–Îj—Îj˜Îj™ÎjšÎj›ÎjœÎjÎjžÎjŸÎj Îj¡Îj¢Îj£Îj¤Îj¥Îj¦Îj§Îj¨Îj©ÎjªÎj«Îj¬Îj­Îj®Îj¯Îj°Îj±Îj²Îj³Îj´ÎjµÎj¶Îj·Îj¸Îj¹ÎjºÎj»Îj¼Îj½Îj¾Îj¿ÎjÀÎjÁÎjÂÎjÃÎjÄÎjÅÎjÆÎjÇÎjÈÎjÉÎjÊÎjËÎjÌÎjÍÎjÎÎjÏÎjÐÎjÑÎjÒÎjÓÎjÔÎjÕÎjÖÎj×ÎjØÎjÙÎjÚÎjÛÎjÜÎjÝÎjÞÎjßÎjàÎjáÎjâÎjãÎjäÎjåÎjæÎjçÎjèÎjéÎ(jêÎjëÎjìÎjíÎjîÎjïÎjðÎjñÎjòÎjóÎjôÎjõÎjöÎj÷ÎjøÎjùÎjúÎjûÎjüÎjýÎjþÎjÿÎjÏjÏjÏjÏjÏjÏjÏjÏjÏj Ïj Ïj Ïj Ïj ÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏjÏj Ïj!Ïj"Ïj#Ïj$Ïj%Ïj&Ïj'Ïj(Ïj)Ïj*Ïj+Ïj,Ïj-Ïj.Ïj/Ïj0Ïj1Ïj2Ïj3Ïj4Ïj5Ïj6Ïj7Ïj8Ïj9Ïj:Ïj;Ïj<Ïj=Ïj>Ïj?Ïj@ÏjAÏjBÏjCÏjDÏjEÏjFÏjGÏjHÏjIÏjJÏjKÏjLÏjMÏjNÏjOÏjPÏjQÏjRÏjSÏjTÏjUÏjVÏjWÏjXÏjYÏjZÏj[Ïj\Ïj]Ïj^Ïj_Ïj`ÏjaÏjbÏjcÏjdÏjeÏjfÏjgÏjhÏjiÏjjÏjkÏjlÏjmÏjnÏjoÏjpÏjqÏjrÏjsÏjtÏjuÏjvÏjwÏjxÏjyÏjzÏj{Ïj|Ïj}Ïj~ÏjÏj€ÏjÏj‚ÏjƒÏj„Ïj…Ïj†Ïj‡ÏjˆÏj‰ÏjŠÏj‹ÏjŒÏjÏjŽÏjÏjÏj‘Ïj’Ïj“Ïj”Ïj•Ïj–Ïj—Ïj˜Ïj™ÏjšÏj›ÏjœÏjÏjžÏjŸÏj Ïj¡Ïj¢Ïj£Ïj¤Ïj¥Ïj¦Ïj§Ïj¨Ïj©ÏjªÏj«Ïj¬Ïj­Ïj®Ïj¯Ïj°Ïj±Ïj²Ïj³Ïj´ÏjµÏj¶Ïj·Ïj¸Ïj¹ÏjºÏj»Ïj¼Ïj½Ïj¾Ïj¿ÏjÀÏjÁÏjÂÏjÃÏjÄÏjÅÏjÆÏjÇÏjÈÏjÉÏjÊÏjËÏjÌÏjÍÏjÎÏjÏÏjÐÏjÑÏjÒÏjÓÏjÔÏjÕÏjÖÏj×ÏjØÏjÙÏjÚÏjÛÏjÜÏjÝÏjÞÏjßÏjàÏjáÏjâÏjãÏjäÏjåÏjæÏjçÏjèÏjéÏjêÏjëÏjìÏjíÏjîÏjïÏjðÏjñÏjòÏjóÏjôÏjõÏjöÏj÷ÏjøÏjùÏjúÏjûÏjüÏjýÏjþÏjÿÏjÐjÐjÐjÐjÐjÐjÐjÐjÐj Ðj Ðj Ðj Ðj ÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐjÐj Ðj!Ðj"Ðj#Ðj$Ðj%Ðj&Ðj'Ðj(Ðj)Ðj*Ðj+Ðj,Ðj-Ðj.Ðj/Ðj0Ðj1Ðj2Ðj3Ðj4Ðj5Ðj6Ðj7Ðj8Ðj9Ðj:Ðj;Ðj<Ðj=Ðj>Ðj?Ðj@ÐjAÐjBÐjCÐjDÐjEÐjFÐjGÐjHÐjIÐjJÐjKÐjLÐjMÐjNÐjOÐjPÐjQÐjRÐjSÐjTÐjUÐjVÐjWÐjXÐjYÐjZÐj[Ðj\Ðj]Ðj^Ðj_Ðj`ÐjaÐjbÐjcÐjdÐjeÐjfÐjgÐjhÐjiÐjjÐjkÐjlÐjmÐjnÐjoÐjpÐjqÐjrÐjsÐjtÐjuÐjvÐjwÐjxÐjyÐjzÐj{Ðj|Ðj}Ðj~ÐjÐj€ÐjÐj‚ÐjƒÐj„Ðj…Ðj†Ðj‡ÐjˆÐj‰ÐjŠÐj‹ÐjŒÐjÐjŽÐjÐjÐj‘Ðj’Ðj“Ðj”Ðj•Ðj–Ðj—Ðj˜Ðj™ÐjšÐj›ÐjœÐjÐjžÐjŸÐj Ðj¡Ðj¢Ðj£Ðj¤Ðj¥Ðj¦Ðj§Ðj¨Ðj©ÐjªÐj«Ðj¬Ðj­Ðj®Ðj¯Ðj°Ðj±Ðj²Ðj³Ðj´ÐjµÐj¶Ðj·Ðj¸Ðj¹ÐjºÐj»Ðj¼Ðj½Ðj¾Ðj¿ÐjÀÐjÁÐjÂÐjÃÐjÄÐjÅÐjÆÐjÇÐjÈÐjÉÐjÊÐjËÐjÌÐjÍÐjÎÐjÏÐjÐÐjÑÐjÒÐjÓÐjÔÐjÕÐjÖÐj×ÐjØÐjÙÐjÚÐjÛÐjÜÐjÝÐjÞÐjßÐjàÐjáÐjâÐjãÐjäÐjåÐjæÐjçÐjèÐjéÐjêÐjëÐjìÐjíÐjîÐjïÐjðÐjñÐjòÐjóÐjôÐjõÐjöÐj÷ÐjøÐjùÐjúÐjûÐjüÐjýÐjþÐjÿÐjÑjÑjÑjÑjÑjÑjÑjÑjÑj Ñj Ñj Ñj Ñj ÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑjÑj Ñj!Ñj"Ñj#Ñj$Ñj%Ñj&Ñj'Ñj(Ñj)Ñj*Ñj+Ñj,Ñj-Ñj.Ñj/Ñj0Ñj1Ñj2Ñj3Ñj4Ñj5Ñj6Ñj7Ñj8Ñj9Ñj:Ñj;Ñj<Ñj=Ñj>Ñj?Ñj@ÑjAÑjBÑjCÑjDÑjEÑjFÑjGÑjHÑjIÑjJÑjKÑjLÑjMÑjNÑjOÑjPÑjQÑjRÑjSÑjTÑjUÑjVÑjWÑjXÑjYÑjZÑj[Ñj\Ñj]Ñj^Ñj_Ñj`ÑjaÑjbÑjcÑjdÑjeÑjfÑjgÑjhÑjiÑjjÑjkÑjlÑjmÑjnÑjoÑjpÑjqÑjrÑjsÑjtÑjuÑjvÑjwÑjxÑjyÑjzÑj{Ñj|Ñj}Ñj~ÑjÑj€ÑjÑj‚ÑjƒÑj„Ñj…Ñj†Ñj‡ÑjˆÑj‰ÑjŠÑj‹ÑjŒÑjÑjŽÑjÑjÑj‘Ñj’Ñj“Ñj”Ñj•Ñj–Ñj—Ñj˜Ñj™ÑjšÑj›ÑjœÑjÑjžÑjŸÑj Ñj¡Ñj¢Ñj£Ñj¤Ñj¥Ñj¦Ñj§Ñj¨Ñj©ÑjªÑj«Ñj¬Ñj­Ñj®Ñj¯Ñj°Ñj±Ñj²Ñj³Ñj´ÑjµÑj¶Ñj·Ñj¸Ñj¹ÑjºÑj»Ñj¼Ñj½Ñj¾Ñj¿ÑjÀÑjÁÑjÂÑjÃÑjÄÑjÅÑjÆÑjÇÑjÈÑjÉÑjÊÑjËÑjÌÑjÍÑjÎÑjÏÑjÐÑjÑÑjÒÑjÓÑjÔÑjÕÑjÖÑj×ÑjØÑjÙÑjÚÑjÛÑjÜÑjÝÑjÞÑjßÑjàÑjáÑjâÑjãÑjäÑjåÑjæÑjçÑjèÑjéÑjêÑjëÑjìÑjíÑjîÑjïÑjðÑjñÑjòÑjóÑjôÑjõÑjöÑj÷ÑjøÑjùÑjúÑjûÑjüÑjýÑjþÑjÿÑjÒjÒjÒjÒjÒjÒjÒjÒjÒj Òj Òj Òj Òj ÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒjÒj Òj!Òj"Òj#Òj$Òj%Òj&Òj'Òj(Òj)Òj*Òj+Òj,Òj-Òj.Òj/Òj0Òj1Òj2Òj3Òj4Òj5Òj6Òj7Òj8Òj9Òj:Òj;Òj<Òj=Òj>Òj?Òj@ÒjAÒjBÒjCÒjDÒjEÒjFÒjGÒjHÒjIÒjJÒjKÒjLÒjMÒjNÒjOÒjPÒjQÒjRÒjSÒjTÒjUÒjVÒjWÒjXÒjYÒjZÒj[Òj\Òj]Òj^Òj_Òj`ÒjaÒjbÒjcÒjdÒjeÒjfÒjgÒjhÒjiÒjjÒjkÒjlÒjmÒjnÒjoÒjpÒjqÒjrÒjsÒjtÒjuÒjvÒjwÒjxÒjyÒjzÒj{Òj|Òj}Òj~ÒjÒj€ÒjÒj‚ÒjƒÒj„Òj…Òj†Òj‡ÒjˆÒj‰ÒjŠÒj‹ÒjŒÒjÒjŽÒjÒjÒj‘Òj’Òj“Òj”Òj•Òj–Òj—Òj˜Òj™ÒjšÒj›ÒjœÒjÒjžÒjŸÒj Òj¡Òj¢Òj£Òj¤Òj¥Òj¦Òj§Òj¨Òj©ÒjªÒj«Òj¬Òj­Òj®Òj¯Òj°Òj±Òj²Òj³Òj´ÒjµÒj¶Òj·Òj¸Òj¹ÒjºÒj»Òj¼Òj½Òj¾Òj¿ÒjÀÒjÁÒjÂÒjÃÒjÄÒjÅÒjÆÒjÇÒjÈÒjÉÒjÊÒjËÒjÌÒjÍÒjÎÒjÏÒjÐÒjÑÒ(jÒÒjÓÒjÔÒjÕÒjÖÒj×ÒjØÒjÙÒjÚÒjÛÒjÜÒjÝÒjÞÒjßÒjàÒjáÒjâÒjãÒjäÒjåÒjæÒjçÒjèÒjéÒjêÒjëÒjìÒjíÒjîÒjïÒjðÒjñÒjòÒjóÒjôÒjõÒjöÒj÷ÒjøÒjùÒjúÒjûÒjüÒjýÒjþÒjÿÒjÓjÓjÓjÓjÓjÓjÓjÓjÓj Ój Ój Ój Ój ÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓjÓj Ój!Ój"Ój#Ój$Ój%Ój&Ój'Ój(Ój)Ój*Ój+Ój,Ój-Ój.Ój/Ój0Ój1Ój2Ój3Ój4Ój5Ój6Ój7Ój8Ój9Ój:Ój;Ój<Ój=Ój>Ój?Ój@ÓjAÓjBÓjCÓjDÓjEÓjFÓjGÓjHÓjIÓjJÓjKÓjLÓjMÓjNÓjOÓjPÓjQÓjRÓjSÓjTÓjUÓjVÓjWÓjXÓjYÓjZÓj[Ój\Ój]Ój^Ój_Ój`ÓjaÓjbÓjcÓjdÓjeÓjfÓjgÓjhÓjiÓjjÓjkÓjlÓjmÓjnÓjoÓjpÓjqÓjrÓjsÓjtÓjuÓjvÓjwÓjxÓjyÓjzÓj{Ój|Ój}Ój~ÓjÓj€ÓjÓj‚ÓjƒÓj„Ój…Ój†Ój‡ÓjˆÓj‰ÓjŠÓj‹ÓjŒÓjÓjŽÓjÓjÓj‘Ój’Ój“Ój”Ój•Ój–Ój—Ój˜Ój™ÓjšÓj›ÓjœÓjÓjžÓjŸÓj Ój¡Ój¢Ój£Ój¤Ój¥Ój¦Ój§Ój¨Ój©ÓjªÓj«Ój¬Ój­Ój®Ój¯Ój°Ój±Ój²Ój³Ój´ÓjµÓj¶Ój·Ój¸Ój¹ÓjºÓj»Ój¼Ój½Ój¾Ój¿ÓjÀÓjÁÓjÂÓjÃÓjÄÓjÅÓjÆÓjÇÓjÈÓjÉÓjÊÓjËÓjÌÓjÍÓjÎÓjÏÓjÐÓjÑÓjÒÓjÓÓjÔÓjÕÓjÖÓj×ÓjØÓjÙÓjÚÓjÛÓjÜÓjÝÓjÞÓjßÓjàÓjáÓjâÓjãÓjäÓjåÓjæÓjçÓjèÓjéÓjêÓjëÓjìÓjíÓjîÓjïÓjðÓjñÓjòÓjóÓjôÓjõÓjöÓj÷ÓjøÓjùÓjúÓjûÓjüÓjýÓjþÓjÿÓjÔjÔjÔjÔjÔjÔjÔjÔjÔj Ôj Ôj Ôj Ôj ÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔjÔj Ôj!Ôj"Ôj#Ôj$Ôj%Ôj&Ôj'Ôj(Ôj)Ôj*Ôj+Ôj,Ôj-Ôj.Ôj/Ôj0Ôj1Ôj2Ôj3Ôj4Ôj5Ôj6Ôj7Ôj8Ôj9Ôj:Ôj;Ôj<Ôj=Ôj>Ôj?Ôj@ÔjAÔjBÔjCÔjDÔjEÔjFÔjGÔjHÔjIÔjJÔjKÔjLÔjMÔjNÔjOÔjPÔjQÔjRÔjSÔjTÔjUÔjVÔjWÔjXÔjYÔjZÔj[Ôj\Ôj]Ôj^Ôj_Ôj`ÔjaÔjbÔjcÔjdÔjeÔjfÔjgÔjhÔjiÔjjÔjkÔjlÔjmÔjnÔjoÔjpÔjqÔjrÔjsÔjtÔjuÔjvÔjwÔjxÔjyÔjzÔj{Ôj|Ôj}Ôj~ÔjÔj€ÔjÔj‚ÔjƒÔj„Ôj…Ôj†Ôj‡ÔjˆÔj‰ÔjŠÔj‹ÔjŒÔjÔjŽÔjÔjÔj‘Ôj’Ôj“Ôj”Ôj•Ôj–Ôj—Ôj˜Ôj™ÔjšÔj›ÔjœÔjÔjžÔjŸÔj Ôj¡Ôj¢Ôj£Ôj¤Ôj¥Ôj¦Ôj§Ôj¨Ôj©ÔjªÔj«Ôj¬Ôj­Ôj®Ôj¯Ôj°Ôj±Ôj²Ôj³Ôj´ÔjµÔj¶Ôj·Ôj¸Ôj¹ÔjºÔj»Ôj¼Ôj½Ôj¾Ôj¿ÔjÀÔjÁÔjÂÔjÃÔjÄÔjÅÔjÆÔjÇÔjÈÔjÉÔjÊÔjËÔjÌÔjÍÔjÎÔjÏÔjÐÔjÑÔjÒÔjÓÔjÔÔjÕÔjÖÔj×ÔjØÔjÙÔjÚÔjÛÔjÜÔjÝÔjÞÔjßÔjàÔjáÔjâÔjãÔjäÔjåÔjæÔjçÔjèÔjéÔjêÔjëÔjìÔjíÔjîÔjïÔjðÔjñÔjòÔjóÔjôÔjõÔjöÔj÷ÔjøÔjùÔjúÔjûÔjüÔjýÔjþÔjÿÔjÕjÕjÕjÕjÕjÕjÕjÕjÕj Õj Õj Õj Õj ÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕjÕj Õj!Õj"Õj#Õj$Õj%Õj&Õj'Õj(Õj)Õj*Õj+Õj,Õj-Õj.Õj/Õj0Õj1Õj2Õj3Õj4Õj5Õj6Õj7Õj8Õj9Õj:Õj;Õj<Õj=Õj>Õj?Õj@ÕjAÕjBÕjCÕjDÕjEÕjFÕjGÕjHÕjIÕjJÕjKÕjLÕjMÕjNÕjOÕjPÕjQÕjRÕjSÕjTÕjUÕjVÕjWÕjXÕjYÕjZÕj[Õj\Õj]Õj^Õj_Õj`ÕjaÕjbÕjcÕjdÕjeÕjfÕjgÕjhÕjiÕjjÕjkÕjlÕjmÕjnÕjoÕjpÕjqÕjrÕjsÕjtÕjuÕjvÕjwÕjxÕjyÕjzÕj{Õj|Õj}Õj~ÕjÕj€ÕjÕj‚ÕjƒÕj„Õj…Õj†Õj‡ÕjˆÕj‰ÕjŠÕj‹ÕjŒÕjÕjŽÕjÕjÕj‘Õj’Õj“Õj”Õj•Õj–Õj—Õj˜Õj™ÕjšÕj›ÕjœÕjÕjžÕjŸÕj Õj¡Õj¢Õj£Õj¤Õj¥Õj¦Õj§Õj¨Õj©ÕjªÕj«Õj¬Õj­Õj®Õj¯Õj°Õj±Õj²Õj³Õj´ÕjµÕj¶Õj·Õj¸Õj¹ÕjºÕj»Õj¼Õj½Õj¾Õj¿ÕjÀÕjÁÕjÂÕjÃÕjÄÕjÅÕjÆÕjÇÕjÈÕjÉÕjÊÕjËÕjÌÕjÍÕjÎÕjÏÕjÐÕjÑÕjÒÕjÓÕjÔÕjÕÕjÖÕj×ÕjØÕjÙÕjÚÕjÛÕjÜÕjÝÕjÞÕjßÕjàÕjáÕjâÕjãÕjäÕjåÕjæÕjçÕjèÕjéÕjêÕjëÕjìÕjíÕjîÕjïÕjðÕjñÕjòÕjóÕjôÕjõÕjöÕj÷ÕjøÕjùÕjúÕjûÕjüÕjýÕjþÕjÿÕjÖjÖjÖjÖjÖjÖjÖjÖjÖj Öj Öj Öj Öj ÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖjÖj Öj!Öj"Öj#Öj$Öj%Öj&Öj'Öj(Öj)Öj*Öj+Öj,Öj-Öj.Öj/Öj0Öj1Öj2Öj3Öj4Öj5Öj6Öj7Öj8Öj9Öj:Öj;Öj<Öj=Öj>Öj?Öj@ÖjAÖjBÖjCÖjDÖjEÖjFÖjGÖjHÖjIÖjJÖjKÖjLÖjMÖjNÖjOÖjPÖjQÖjRÖjSÖjTÖjUÖjVÖjWÖjXÖjYÖjZÖj[Öj\Öj]Öj^Öj_Öj`ÖjaÖjbÖjcÖjdÖjeÖjfÖjgÖjhÖjiÖjjÖjkÖjlÖjmÖjnÖjoÖjpÖjqÖjrÖjsÖjtÖjuÖjvÖjwÖjxÖjyÖjzÖj{Öj|Öj}Öj~ÖjÖj€ÖjÖj‚ÖjƒÖj„Öj…Öj†Öj‡ÖjˆÖj‰ÖjŠÖj‹ÖjŒÖjÖjŽÖjÖjÖj‘Öj’Öj“Öj”Öj•Öj–Öj—Öj˜Öj™ÖjšÖj›ÖjœÖjÖjžÖjŸÖj Öj¡Öj¢Öj£Öj¤Öj¥Öj¦Öj§Öj¨Öj©ÖjªÖj«Öj¬Öj­Öj®Öj¯Öj°Öj±Öj²Öj³Öj´ÖjµÖj¶Öj·Öj¸Öj¹Ö(jºÖj»Öj¼Öj½Öj¾Öj¿ÖjÀÖjÁÖjÂÖjÃÖjÄÖjÅÖjÆÖjÇÖjÈÖjÉÖjÊÖjËÖjÌÖjÍÖjÎÖjÏÖjÐÖjÑÖjÒÖjÓÖjÔÖjÕÖjÖÖj×ÖjØÖjÙÖjÚÖjÛÖjÜÖjÝÖjÞÖjßÖjàÖjáÖjâÖjãÖjäÖjåÖjæÖjçÖjèÖjéÖjêÖjëÖjìÖjíÖjîÖjïÖjðÖjñÖjòÖjóÖjôÖjõÖjöÖj÷ÖjøÖjùÖjúÖjûÖjüÖjýÖjþÖjÿÖj×j×j×j×j×j×j×j×j×j ×j ×j ×j ×j ×j×j×j×j×j×j×j×j×j×j×j×j×j×j×j×j×j×j×j ×j!×j"×j#×j$×j%×j&×j'×j(×j)×j*×j+×j,×j-×j.×j/×j0×j1×j2×j3×j4×j5×j6×j7×j8×j9×j:×j;×j<×j=×j>×j?×j@×jA×jB×jC×jD×jE×jF×jG×jH×jI×jJ×jK×jL×jM×jN×jO×jP×jQ×jR×jS×jT×jU×jV×jW×jX×jY×jZ×j[×j\×j]×j^×j_×j`×ja×jb×jc×jd×je×jf×jg×jh×ji×jj×jk×jl×jm×jn×jo×jp×jq×jr×js×jt×ju×jv×jw×jx×jy×jz×j{×j|×j}×j~×j×j€×j×j‚×jƒ×j„×j…×j†×j‡×jˆ×j‰×jŠ×j‹×jŒ×j×jŽ×j×j×j‘×j’×j“×j”×j•×j–×j—×j˜×j™×jš×j›×jœ×j×jž×jŸ×j ×j¡×j¢×j£×j¤×j¥×j¦×j§×j¨×j©×jª×j«×j¬×j­×j®×j¯×j°×j±×j²×j³×j´×jµ×j¶×j·×j¸×j¹×jº×j»×j¼×j½×j¾×j¿×jÀ×jÁ×jÂ×jÃ×jÄ×jÅ×jÆ×jÇ×jÈ×jÉ×jÊ×jË×jÌ×jÍ×jÎ×jÏ×jÐ×jÑ×jÒ×jÓ×jÔ×jÕ×jÖ×j××jØ×jÙ×jÚ×jÛ×jÜ×jÝ×jÞ×jß×jà×já×jâ×jã×jä×jå×jæ×jç×jè×jé×jê×jë×jì×jí×jî×jï×jð×jñ×jò×jó×jô×jõ×jö×j÷×jø×jù×jú×jû×jü×jý×jþ×jÿ×jØjØjØjØjØjØjØjØjØj Øj Øj Øj Øj ØjØjØjØjØjØjØjØjØjØjØjØjØjØjØjØjØjØjØj Øj!Øj"Øj#Øj$Øj%Øj&Øj'Øj(Øj)Øj*Øj+Øj,Øj-Øj.Øj/Øj0Øj1Øj2Øj3Øj4Øj5Øj6Øj7Øj8Øj9Øj:Øj;Øj<Øj=Øj>Øj?Øj@ØjAØjBØjCØjDØjEØjFØjGØjHØjIØjJØjKØjLØjMØjNØjOØjPØjQØjRØjSØjTØjUØjVØjWØjXØjYØjZØj[Øj\Øj]Øj^Øj_Øj`ØjaØjbØjcØjdØjeØjfØjgØjhØjiØjjØjkØjlØjmØjnØjoØjpØjqØjrØjsØjtØjuØjvØjwØjxØjyØjzØj{Øj|Øj}Øj~ØjØj€ØjØj‚ØjƒØj„Øj…Øj†Øj‡ØjˆØj‰ØjŠØj‹ØjŒØjØjŽØjØjØj‘Øj’Øj“Øj”Øj•Øj–Øj—Øj˜Øj™ØjšØj›ØjœØjØjžØjŸØj Øj¡Øj¢Øj£Øj¤Øj¥Øj¦Øj§Øj¨Øj©ØjªØj«Øj¬Øj­Øj®Øj¯Øj°Øj±Øj²Øj³Øj´ØjµØj¶Øj·Øj¸Øj¹ØjºØj»Øj¼Øj½Øj¾Øj¿ØjÀØjÁØjÂØjÃØjÄØjÅØjÆØjÇØjÈØjÉØjÊØjËØjÌØjÍØjÎØjÏØjÐØjÑØjÒØjÓØjÔØjÕØjÖØjרjØØjÙØjÚØjÛØjÜØjÝØjÞØjߨjàØjáØjâØjãØjäØjåØjæØjçØjèØjéØjêØjëØjìØjíØjîØjïØjðØjñØjòØjóØjôØjõØjöØj÷ØjøØjùØjúØjûØjüØjýØjþØjÿØjÙjÙjÙjÙjÙjÙjÙjÙjÙj Ùj Ùj Ùj Ùj ÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙjÙj Ùj!Ùj"Ùj#Ùj$Ùj%Ùj&Ùj'Ùj(Ùj)Ùj*Ùj+Ùj,Ùj-Ùj.Ùj/Ùj0Ùj1Ùj2Ùj3Ùj4Ùj5Ùj6Ùj7Ùj8Ùj9Ùj:Ùj;Ùj<Ùj=Ùj>Ùj?Ùj@ÙjAÙjBÙjCÙjDÙjEÙjFÙjGÙjHÙjIÙjJÙjKÙjLÙjMÙjNÙjOÙjPÙjQÙjRÙjSÙjTÙjUÙjVÙjWÙjXÙjYÙjZÙj[Ùj\Ùj]Ùj^Ùj_Ùj`ÙjaÙjbÙjcÙjdÙjeÙjfÙjgÙjhÙjiÙjjÙjkÙjlÙjmÙjnÙjoÙjpÙjqÙjrÙjsÙjtÙjuÙjvÙjwÙjxÙjyÙjzÙj{Ùj|Ùj}Ùj~ÙjÙj€ÙjÙj‚ÙjƒÙj„Ùj…Ùj†Ùj‡ÙjˆÙj‰ÙjŠÙj‹ÙjŒÙjÙjŽÙjÙjÙj‘Ùj’Ùj“Ùj”Ùj•Ùj–Ùj—Ùj˜Ùj™ÙjšÙj›ÙjœÙjÙjžÙjŸÙj Ùj¡Ùj¢Ùj£Ùj¤Ùj¥Ùj¦Ùj§Ùj¨Ùj©ÙjªÙj«Ùj¬Ùj­Ùj®Ùj¯Ùj°Ùj±Ùj²Ùj³Ùj´ÙjµÙj¶Ùj·Ùj¸Ùj¹ÙjºÙj»Ùj¼Ùj½Ùj¾Ùj¿ÙjÀÙjÁÙjÂÙjÃÙjÄÙjÅÙjÆÙjÇÙjÈÙjÉÙjÊÙjËÙjÌÙjÍÙjÎÙjÏÙjÐÙjÑÙjÒÙjÓÙjÔÙjÕÙjÖÙj×ÙjØÙjÙÙjÚÙjÛÙjÜÙjÝÙjÞÙjßÙjàÙjáÙjâÙjãÙjäÙjåÙjæÙjçÙjèÙjéÙjêÙjëÙjìÙjíÙjîÙjïÙjðÙjñÙjòÙjóÙjôÙjõÙjöÙj÷ÙjøÙjùÙjúÙjûÙjüÙjýÙjþÙjÿÙjÚjÚjÚjÚjÚjÚjÚjÚjÚj Új Új Új Új ÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚjÚj Új!Új"Új#Új$Új%Új&Új'Új(Új)Új*Új+Új,Új-Új.Új/Új0Új1Új2Új3Új4Új5Új6Új7Új8Új9Új:Új;Új<Új=Új>Új?Új@ÚjAÚjBÚjCÚjDÚjEÚjFÚjGÚjHÚjIÚjJÚjKÚjLÚjMÚjNÚjOÚjPÚjQÚjRÚjSÚjTÚjUÚjVÚjWÚjXÚjYÚjZÚj[Új\Új]Új^Új_Új`ÚjaÚjbÚjcÚjdÚjeÚjfÚjgÚjhÚjiÚjjÚjkÚjlÚjmÚjnÚjoÚjpÚjqÚjrÚjsÚjtÚjuÚjvÚjwÚjxÚjyÚjzÚj{Új|Új}Új~ÚjÚj€ÚjÚj‚ÚjƒÚj„Új…Új†Új‡ÚjˆÚj‰ÚjŠÚj‹ÚjŒÚjÚjŽÚjÚjÚj‘Új’Új“Új”Új•Új–Új—Új˜Új™ÚjšÚj›ÚjœÚjÚjžÚjŸÚj Új¡Ú(j¢Új£Új¤Új¥Új¦Új§Új¨Új©ÚjªÚj«Új¬Új­Új®Új¯Új°Új±Új²Új³Új´ÚjµÚj¶Új·Új¸Új¹ÚjºÚj»Új¼Új½Új¾Új¿ÚjÀÚjÁÚjÂÚjÃÚjÄÚjÅÚjÆÚjÇÚjÈÚjÉÚjÊÚjËÚjÌÚjÍÚjÎÚjÏÚjÐÚjÑÚjÒÚjÓÚjÔÚjÕÚjÖÚj×ÚjØÚjÙÚjÚÚjÛÚjÜÚjÝÚjÞÚjßÚjàÚjáÚjâÚjãÚjäÚjåÚjæÚjçÚjèÚjéÚjêÚjëÚjìÚjíÚjîÚjïÚjðÚjñÚjòÚjóÚjôÚjõÚjöÚj÷ÚjøÚjùÚjúÚjûÚjüÚjýÚjþÚjÿÚjÛjÛjÛjÛjÛjÛjÛjÛjÛj Ûj Ûj Ûj Ûj ÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛjÛj Ûj!Ûj"Ûj#Ûj$Ûj%Ûj&Ûj'Ûj(Ûj)Ûj*Ûj+Ûj,Ûj-Ûj.Ûj/Ûj0Ûj1Ûj2Ûj3Ûj4Ûj5Ûj6Ûj7Ûj8Ûj9Ûj:Ûj;Ûj<Ûj=Ûj>Ûj?Ûj@ÛjAÛjBÛjCÛjDÛjEÛjFÛjGÛjHÛjIÛjJÛjKÛjLÛjMÛjNÛjOÛjPÛjQÛjRÛjSÛjTÛjUÛjVÛjWÛjXÛjYÛjZÛj[Ûj\Ûj]Ûj^Ûj_Ûj`ÛjaÛjbÛjcÛjdÛjeÛjfÛjgÛjhÛjiÛjjÛjkÛjlÛjmÛjnÛjoÛjpÛjqÛjrÛjsÛjtÛjuÛjvÛjwÛjxÛjyÛjzÛj{Ûj|Ûj}Ûj~ÛjÛj€ÛjÛj‚ÛjƒÛj„Ûj…Ûj†Ûj‡ÛjˆÛj‰ÛjŠÛj‹ÛjŒÛjÛjŽÛjÛjÛj‘Ûj’Ûj“Ûj”Ûj•Ûj–Ûj—Ûj˜Ûj™ÛjšÛj›ÛjœÛjÛjžÛjŸÛj Ûj¡Ûj¢Ûj£Ûj¤Ûj¥Ûj¦Ûj§Ûj¨Ûj©ÛjªÛj«Ûj¬Ûj­Ûj®Ûj¯Ûj°Ûj±Ûj²Ûj³Ûj´ÛjµÛj¶Ûj·Ûj¸Ûj¹ÛjºÛj»Ûj¼Ûj½Ûj¾Ûj¿ÛjÀÛjÁÛjÂÛjÃÛjÄÛjÅÛjÆÛjÇÛjÈÛjÉÛjÊÛjËÛjÌÛjÍÛjÎÛjÏÛjÐÛjÑÛjÒÛjÓÛjÔÛjÕÛjÖÛj×ÛjØÛjÙÛjÚÛjÛÛjÜÛjÝÛjÞÛjßÛjàÛjáÛjâÛjãÛjäÛjåÛjæÛjçÛjèÛjéÛjêÛjëÛjìÛjíÛjîÛjïÛjðÛjñÛjòÛjóÛjôÛjõÛjöÛj÷ÛjøÛjùÛjúÛjûÛjüÛjýÛjþÛjÿÛjÜjÜjÜjÜjÜjÜjÜjÜjÜj Üj Üj Üj Üj ÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜjÜj Üj!Üj"Üj#Üj$Üj%Üj&Üj'Üj(Üj)Üj*Üj+Üj,Üj-Üj.Üj/Üj0Üj1Üj2Üj3Üj4Üj5Üj6Üj7Üj8Üj9Üj:Üj;Üj<Üj=Üj>Üj?Üj@ÜjAÜjBÜjCÜjDÜjEÜjFÜjGÜjHÜjIÜjJÜjKÜjLÜjMÜjNÜjOÜjPÜjQÜjRÜjSÜjTÜjUÜjVÜjWÜjXÜjYÜjZÜj[Üj\Üj]Üj^Üj_Üj`ÜjaÜjbÜjcÜjdÜjeÜjfÜjgÜjhÜjiÜjjÜjkÜjlÜjmÜjnÜjoÜjpÜjqÜjrÜjsÜjtÜjuÜjvÜjwÜjxÜjyÜjzÜj{Üj|Üj}Üj~ÜjÜj€ÜjÜj‚ÜjƒÜj„Üj…Üj†Üj‡ÜjˆÜj‰ÜjŠÜj‹ÜjŒÜjÜjŽÜjÜjÜj‘Üj’Üj“Üj”Üj•Üj–Üj—Üj˜Üj™ÜjšÜj›ÜjœÜjÜjžÜjŸÜj Üj¡Üj¢Üj£Üj¤Üj¥Üj¦Üj§Üj¨Üj©ÜjªÜj«Üj¬Üj­Üj®Üj¯Üj°Üj±Üj²Üj³Üj´ÜjµÜj¶Üj·Üj¸Üj¹ÜjºÜj»Üj¼Üj½Üj¾Üj¿ÜjÀÜjÁÜjÂÜjÃÜjÄÜjÅÜjÆÜjÇÜjÈÜjÉÜjÊÜjËÜjÌÜjÍÜjÎÜjÏÜjÐÜjÑÜjÒÜjÓÜjÔÜjÕÜjÖÜj×ÜjØÜjÙÜjÚÜjÛÜjÜÜjÝÜjÞÜjßÜjàÜjáÜjâÜjãÜjäÜjåÜjæÜjçÜjèÜjéÜjêÜjëÜjìÜjíÜjîÜjïÜjðÜjñÜjòÜjóÜjôÜjõÜjöÜj÷ÜjøÜjùÜjúÜjûÜjüÜjýÜjþÜjÿÜjÝjÝjÝjÝjÝjÝjÝjÝjÝj Ýj Ýj Ýj Ýj ÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝjÝj Ýj!Ýj"Ýj#Ýj$Ýj%Ýj&Ýj'Ýj(Ýj)Ýj*Ýj+Ýj,Ýj-Ýj.Ýj/Ýj0Ýj1Ýj2Ýj3Ýj4Ýj5Ýj6Ýj7Ýj8Ýj9Ýj:Ýj;Ýj<Ýj=Ýj>Ýj?Ýj@ÝjAÝjBÝjCÝjDÝjEÝjFÝjGÝjHÝjIÝjJÝjKÝjLÝjMÝjNÝjOÝjPÝjQÝjRÝjSÝjTÝjUÝjVÝjWÝjXÝjYÝjZÝj[Ýj\Ýj]Ýj^Ýj_Ýj`ÝjaÝjbÝjcÝjdÝjeÝjfÝjgÝjhÝjiÝjjÝjkÝjlÝjmÝjnÝjoÝjpÝjqÝjrÝjsÝjtÝjuÝjvÝjwÝjxÝjyÝjzÝj{Ýj|Ýj}Ýj~ÝjÝj€ÝjÝj‚ÝjƒÝj„Ýj…Ýj†Ýj‡ÝjˆÝj‰ÝjŠÝj‹ÝjŒÝjÝjŽÝjÝjÝj‘Ýj’Ýj“Ýj”Ýj•Ýj–Ýj—Ýj˜Ýj™ÝjšÝj›ÝjœÝjÝjžÝjŸÝj Ýj¡Ýj¢Ýj£Ýj¤Ýj¥Ýj¦Ýj§Ýj¨Ýj©ÝjªÝj«Ýj¬Ýj­Ýj®Ýj¯Ýj°Ýj±Ýj²Ýj³Ýj´ÝjµÝj¶Ýj·Ýj¸Ýj¹ÝjºÝj»Ýj¼Ýj½Ýj¾Ýj¿ÝjÀÝjÁÝjÂÝjÃÝjÄÝjÅÝjÆÝjÇÝjÈÝjÉÝjÊÝjËÝjÌÝjÍÝjÎÝjÏÝjÐÝjÑÝjÒÝjÓÝjÔÝjÕÝjÖÝj×ÝjØÝjÙÝjÚÝjÛÝjÜÝjÝÝjÞÝjßÝjàÝjáÝjâÝjãÝjäÝjåÝjæÝjçÝjèÝjéÝjêÝjëÝjìÝjíÝjîÝjïÝjðÝjñÝjòÝjóÝjôÝjõÝjöÝj÷ÝjøÝjùÝjúÝjûÝjüÝjýÝjþÝjÿÝjÞjÞjÞjÞjÞjÞjÞjÞjÞj Þj Þj Þj Þj ÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞjÞj Þj!Þj"Þj#Þj$Þj%Þj&Þj'Þj(Þj)Þj*Þj+Þj,Þj-Þj.Þj/Þj0Þj1Þj2Þj3Þj4Þj5Þj6Þj7Þj8Þj9Þj:Þj;Þj<Þj=Þj>Þj?Þj@ÞjAÞjBÞjCÞjDÞjEÞjFÞjGÞjHÞjIÞjJÞjKÞjLÞjMÞjNÞjOÞjPÞjQÞjRÞjSÞjTÞjUÞjVÞjWÞjXÞjYÞjZÞj[Þj\Þj]Þj^Þj_Þj`ÞjaÞjbÞjcÞjdÞjeÞjfÞjgÞjhÞjiÞjjÞjkÞjlÞjmÞjnÞjoÞjpÞjqÞjrÞjsÞjtÞjuÞjvÞjwÞjxÞjyÞjzÞj{Þj|Þj}Þj~ÞjÞj€ÞjÞj‚ÞjƒÞj„Þj…Þj†Þj‡ÞjˆÞj‰Þ(jŠÞj‹ÞjŒÞjÞjŽÞjÞjÞj‘Þj’Þj“Þj”Þj•Þj–Þj—Þj˜Þj™ÞjšÞj›ÞjœÞjÞjžÞjŸÞj Þj¡Þj¢Þj£Þj¤Þj¥Þj¦Þj§Þj¨Þj©ÞjªÞj«Þj¬Þj­Þj®Þj¯Þj°Þj±Þj²Þj³Þj´ÞjµÞj¶Þj·Þj¸Þj¹ÞjºÞj»Þj¼Þj½Þj¾Þj¿ÞjÀÞjÁÞjÂÞjÃÞjÄÞjÅÞjÆÞjÇÞjÈÞjÉÞjÊÞjËÞjÌÞjÍÞjÎÞjÏÞjÐÞjÑÞjÒÞjÓÞjÔÞjÕÞjÖÞj×ÞjØÞjÙÞjÚÞjÛÞjÜÞjÝÞjÞÞjßÞjàÞjáÞjâÞjãÞjäÞjåÞjæÞjçÞjèÞjéÞjêÞjëÞjìÞjíÞjîÞjïÞjðÞjñÞjòÞjóÞjôÞjõÞjöÞj÷ÞjøÞjùÞjúÞjûÞjüÞjýÞjþÞjÿÞjßjßjßjßjßjßjßjßjßj ßj ßj ßj ßj ßjßjßjßjßjßjßjßjßjßjßjßjßjßjßjßjßjßjßj ßj!ßj"ßj#ßj$ßj%ßj&ßj'ßj(ßj)ßj*ßj+ßj,ßj-ßj.ßj/ßj0ßj1ßj2ßj3ßj4ßj5ßj6ßj7ßj8ßj9ßj:ßj;ßj<ßj=ßj>ßj?ßj@ßjAßjBßjCßjDßjEßjFßjGßjHßjIßjJßjKßjLßjMßjNßjOßjPßjQßjRßjSßjTßjUßjVßjWßjXßjYßjZßj[ßj\ßj]ßj^ßj_ßj`ßjaßjbßjcßjdßjeßjfßjgßjhßjißjjßjkßjlßjmßjnßjoßjpßjqßjrßjsßjtßjußjvßjwßjxßjyßjzßj{ßj|ßj}ßj~ßjßj€ßjßj‚ßjƒßj„ßj…ßj†ßj‡ßjˆßj‰ßjŠßj‹ßjŒßjßjŽßjßjßj‘ßj’ßj“ßj”ßj•ßj–ßj—ßj˜ßj™ßjšßj›ßjœßjßjžßjŸßj ßj¡ßj¢ßj£ßj¤ßj¥ßj¦ßj§ßj¨ßj©ßjªßj«ßj¬ßj­ßj®ßj¯ßj°ßj±ßj²ßj³ßj´ßjµßj¶ßj·ßj¸ßj¹ßjºßj»ßj¼ßj½ßj¾ßj¿ßjÀßjÁßjÂßjÃßjÄßjÅßjÆßjÇßjÈßjÉßjÊßjËßjÌßjÍßjÎßjÏßjÐßjÑßjÒßjÓßjÔßjÕßjÖßj×ßjØßjÙßjÚßjÛßjÜßjÝßjÞßjßßjàßjáßjâßjãßjäßjåßjæßjçßjèßjéßjêßjëßjìßjíßjîßjïßjðßjñßjòßjóßjôßjõßjößj÷ßjøßjùßjúßjûßjüßjýßjþßjÿßjàjàjàjàjàjàjàjàjàj àj àj àj àj àjàjàjàjàjàjàjàjàjàjàjàjàjàjàjàjàjàjàj àj!àj"àj#àj$àj%àj&àj'àj(àj)àj*àj+àj,àj-àj.àj/àj0àj1àj2àj3àj4àj5àj6àj7àj8àj9àj:àj;àj<àj=àj>àj?àj@àjAàjBàjCàjDàjEàjFàjGàjHàjIàjJàjKàjLàjMàjNàjOàjPàjQàjRàjSàjTàjUàjVàjWàjXàjYàjZàj[àj\àj]àj^àj_àj`àjaàjbàjcàjdàjeàjfàjgàjhàjiàjjàjkàjlàjmàjnàjoàjpàjqàjràjsàjtàjuàjvàjwàjxàjyàjzàj{àj|àj}àj~àjàj€àjàj‚àjƒàj„àj…àj†àj‡àjˆàj‰àjŠàj‹àjŒàjàjŽàjàjàj‘àj’àj“àj”àj•àj–àj—àj˜àj™àjšàj›àjœàjàjžàjŸàj àj¡àj¢àj£àj¤àj¥àj¦àj§àj¨àj©àjªàj«àj¬àj­àj®àj¯àj°àj±àj²àj³àj´àjµàj¶àj·àj¸àj¹àjºàj»àj¼àj½àj¾àj¿àjÀàjÁàjÂàjÃàjÄàjÅàjÆàjÇàjÈàjÉàjÊàjËàjÌàjÍàjÎàjÏàjÐàjÑàjÒàjÓàjÔàjÕàjÖàj×àjØàjÙàjÚàjÛàjÜàjÝàjÞàjßàjààjáàjâàjãàjäàjåàjæàjçàjèàjéàjêàjëàjìàjíàjîàjïàjðàjñàjòàjóàjôàjõàjöàj÷àjøàjùàjúàjûàjüàjýàjþàjÿàjájájájájájájájájáj áj áj áj áj ájájájájájájájájájájájájájájájájájájáj áj!áj"áj#áj$áj%áj&áj'áj(áj)áj*áj+áj,áj-áj.áj/áj0áj1áj2áj3áj4áj5áj6áj7áj8áj9áj:áj;áj<áj=áj>áj?áj@ájAájBájCájDájEájFájGájHájIájJájKájLájMájNájOájPájQájRájSájTájUájVájWájXájYájZáj[áj\áj]áj^áj_áj`ájaájbájcájdájeájfájgájhájiájjájkájlájmájnájoájpájqájrájsájtájuájvájwájxájyájzáj{áj|áj}áj~ájáj€ájáj‚ájƒáj„áj…áj†áj‡ájˆáj‰ájŠáj‹ájŒájájŽájájáj‘áj’áj“áj”áj•áj–áj—áj˜áj™ájšáj›ájœájájžájŸáj áj¡áj¢áj£áj¤áj¥áj¦áj§áj¨áj©ájªáj«áj¬áj­áj®áj¯áj°áj±áj²áj³áj´ájµáj¶áj·áj¸áj¹ájºáj»áj¼áj½áj¾áj¿ájÀájÁájÂájÃájÄájÅájÆájÇájÈájÉájÊájËájÌájÍájÎájÏájÐájÑájÒájÓájÔájÕájÖáj×ájØájÙájÚájÛájÜájÝájÞájßájàájáájâájãájäájåájæájçájèájéájêájëájìájíájîájïájðájñájòájóájôájõájöáj÷ájøájùájúájûájüájýájþájÿájâjâjâjâjâjâjâjâjâj âj âj âj âj âjâjâjâjâjâjâjâjâjâjâjâjâjâjâjâjâjâjâj âj!âj"âj#âj$âj%âj&âj'âj(âj)âj*âj+âj,âj-âj.âj/âj0âj1âj2âj3âj4âj5âj6âj7âj8âj9âj:âj;âj<âj=âj>âj?âj@âjAâjBâjCâjDâjEâjFâjGâjHâjIâjJâjKâjLâjMâjNâjOâjPâjQâjRâjSâjTâjUâjVâjWâjXâjYâjZâj[âj\âj]âj^âj_âj`âjaâjbâjcâjdâjeâjfâjgâjhâjiâjjâjkâjlâjmâjnâjoâjpâjqâ(jrâjsâjtâjuâjvâjwâjxâjyâjzâj{âj|âj}âj~âjâj€âjâj‚âjƒâj„âj…âj†âj‡âjˆâj‰âjŠâj‹âjŒâjâjŽâjâjâj‘âj’âj“âj”âj•âj–âj—âj˜âj™âjšâj›âjœâjâjžâjŸâj âj¡âj¢âj£âj¤âj¥âj¦âj§âj¨âj©âjªâj«âj¬âj­âj®âj¯âj°âj±âj²âj³âj´âjµâj¶âj·âj¸âj¹âjºâj»âj¼âj½âj¾âj¿âjÀâjÁâjÂâjÃâjÄâjÅâjÆâjÇâjÈâjÉâjÊâjËâjÌâjÍâjÎâjÏâjÐâjÑâjÒâjÓâjÔâjÕâjÖâj×âjØâjÙâjÚâjÛâjÜâjÝâjÞâjßâjàâjáâjââjãâjäâjåâjæâjçâjèâjéâjêâjëâjìâjíâjîâjïâjðâjñâjòâjóâjôâjõâjöâj÷âjøâjùâjúâjûâjüâjýâjþâjÿâjãjãjãjãjãjãjãjãjãj ãj ãj ãj ãj ãjãjãjãjãjãjãjãjãjãjãjãjãjãjãjãjãjãjãj ãj!ãj"ãj#ãj$ãj%ãj&ãj'ãj(ãj)ãj*ãj+ãj,ãj-ãj.ãj/ãj0ãj1ãj2ãj3ãj4ãj5ãj6ãj7ãj8ãj9ãj:ãj;ãj<ãj=ãj>ãj?ãj@ãjAãjBãjCãjDãjEãjFãjGãjHãjIãjJãjKãjLãjMãjNãjOãjPãjQãjRãjSãjTãjUãjVãjWãjXãjYãjZãj[ãj\ãj]ãj^ãj_ãj`ãjaãjbãjcãjdãjeãjfãjgãjhãjiãjjãjkãjlãjmãjnãjoãjpãjqãjrãjsãjtãjuãjvãjwãjxãjyãjzãj{ãj|ãj}ãj~ãjãj€ãjãj‚ãjƒãj„ãj…ãj†ãj‡ãjˆãj‰ãjŠãj‹ãjŒãjãjŽãjãjãj‘ãj’ãj“ãj”ãj•ãj–ãj—ãj˜ãj™ãjšãj›ãjœãjãjžãjŸãj ãj¡ãj¢ãj£ãj¤ãj¥ãj¦ãj§ãj¨ãj©ãjªãj«ãj¬ãj­ãj®ãj¯ãj°ãj±ãj²ãj³ãj´ãjµãj¶ãj·ãj¸ãj¹ãjºãj»ãj¼ãj½ãj¾ãj¿ãjÀãjÁãjÂãjÃãjÄãjÅãjÆãjÇãjÈãjÉãjÊãjËãjÌãjÍãjÎãjÏãjÐãjÑãjÒãjÓãjÔãjÕãjÖãj×ãjØãjÙãjÚãjÛãjÜãjÝãjÞãjßãjàãjáãjâãjããjäãjåãjæãjçãjèãjéãjêãjëãjìãjíãjîãjïãjðãjñãjòãjóãjôãjõãjöãj÷ãjøãjùãjúãjûãjüãjýãjþãjÿãjäjäjäjäjäjäjäjäjäj äj äj äj äj äjäjäjäjäjäjäjäjäjäjäjäjäjäjäjäjäjäjäj äj!äj"äj#äj$äj%äj&äj'äj(äj)äj*äj+äj,äj-äj.äj/äj0äj1äj2äj3äj4äj5äj6äj7äj8äj9äj:äj;äj<äj=äj>äj?äj@äjAäjBäjCäjDäjEäjFäjGäjHäjIäjJäjKäjLäjMäjNäjOäjPäjQäjRäjSäjTäjUäjVäjWäjXäjYäjZäj[äj\äj]äj^äj_äj`äjaäjbäjcäjdäjeäjfäjgäjhäjiäjjäjkäjläjmäjnäjoäjpäjqäjräjsäjtäjuäjväjwäjxäjyäjzäj{äj|äj}äj~äjäj€äjäj‚äjƒäj„äj…äj†äj‡äjˆäj‰äjŠäj‹äjŒäjäjŽäjäjäj‘äj’äj“äj”äj•äj–äj—äj˜äj™äjšäj›äjœäjäjžäjŸäj äj¡äj¢äj£äj¤äj¥äj¦äj§äj¨äj©äjªäj«äj¬äj­äj®äj¯äj°äj±äj²äj³äj´äjµäj¶äj·äj¸äj¹äjºäj»äj¼äj½äj¾äj¿äjÀäjÁäjÂäjÃäjÄäjÅäjÆäjÇäjÈäjÉäjÊäjËäjÌäjÍäjÎäjÏäjÐäjÑäjÒäjÓäjÔäjÕäjÖäj×äjØäjÙäjÚäjÛäjÜäjÝäjÞäjßäjàäjáäjâäjãäjääjåäjæäjçäjèäjéäjêäjëäjìäjíäjîäjïäjðäjñäjòäjóäjôäjõäjöäj÷äjøäjùäjúäjûäjüäjýäjþäjÿäjåjåjåjåjåjåjåjåjåj åj åj åj åj åjåjåjåjåjåjåjåjåjåjåjåjåjåjåjåjåjåjåj åj!åj"åj#åj$åj%åj&åj'åj(åj)åj*åj+åj,åj-åj.åj/åj0åj1åj2åj3åj4åj5åj6åj7åj8åj9åj:åj;åj<åj=åj>åj?åj@åjAåjBåjCåjDåjEåjFåjGåjHåjIåjJåjKåjLåjMåjNåjOåjPåjQåjRåjSåjTåjUåjVåjWåjXåjYåjZåj[åj\åj]åj^åj_åj`åjaåjbåjcåjdåjeåjfåjgåjhåjiåjjåjkåjlåjmåjnåjoåjpåjqåjråjsåjtåjuåjvåjwåjxåjyåjzåj{åj|åj}åj~åjåj€åjåj‚åjƒåj„åj…åj†åj‡åjˆåj‰åjŠåj‹åjŒåjåjŽåjåjåj‘åj’åj“åj”åj•åj–åj—åj˜åj™åjšåj›åjœåjåjžåjŸåj åj¡åj¢åj£åj¤åj¥åj¦åj§åj¨åj©åjªåj«åj¬åj­åj®åj¯åj°åj±åj²åj³åj´åjµåj¶åj·åj¸åj¹åjºåj»åj¼åj½åj¾åj¿åjÀåjÁåjÂåjÃåjÄåjÅåjÆåjÇåjÈåjÉåjÊåjËåjÌåjÍåjÎåjÏåjÐåjÑåjÒåjÓåjÔåjÕåjÖåj×åjØåjÙåjÚåjÛåjÜåjÝåjÞåjßåjàåjáåjâåjãåjäåjååjæåjçåjèåjéåjêåjëåjìåjíåjîåjïåjðåjñåjòåjóåjôåjõåjöåj÷åjøåjùåjúåjûåjüåjýåjþåjÿåjæjæjæjæjæjæjæjæjæj æj æj æj æj æjæjæjæjæjæjæjæjæjæjæjæjæjæjæjæjæjæjæj æj!æj"æj#æj$æj%æj&æj'æj(æj)æj*æj+æj,æj-æj.æj/æj0æj1æj2æj3æj4æj5æj6æj7æj8æj9æj:æj;æj<æj=æj>æj?æj@æjAæjBæjCæjDæjEæjFæjGæjHæjIæjJæjKæjLæjMæjNæjOæjPæjQæjRæjSæjTæjUæjVæjWæjXæjYæ(jZæj[æj\æj]æj^æj_æj`æjaæjbæjcæjdæjeæjfæjgæjhæjiæjjæjkæjlæjmæjnæjoæjpæjqæjræjsæjtæjuæjvæjwæjxæjyæjzæj{æj|æj}æj~æjæj€æjæj‚æjƒæj„æj…æj†æj‡æjˆæj‰æjŠæj‹æjŒæjæjŽæjæjæj‘æj’æj“æj”æj•æj–æj—æj˜æj™æjšæj›æjœæjæjžæjŸæj æj¡æj¢æj£æj¤æj¥æj¦æj§æj¨æj©æjªæj«æj¬æj­æj®æj¯æj°æj±æj²æj³æj´æjµæj¶æj·æj¸æj¹æjºæj»æj¼æj½æj¾æj¿æjÀæjÁæjÂæjÃæjÄæjÅæjÆæjÇæjÈæjÉæjÊæjËæjÌæjÍæjÎæjÏæjÐæjÑæjÒæjÓæjÔæjÕæjÖæj׿jØæjÙæjÚæjÛæjÜæjÝæjÞæjßæjàæjáæjâæjãæjäæjåæjææjçæjèæjéæjêæjëæjìæjíæjîæjïæjðæjñæjòæjóæjôæjõæjöæj÷æjøæjùæjúæjûæjüæjýæjþæjÿæjçjçjçjçjçjçjçjçjçj çj çj çj çj çjçjçjçjçjçjçjçjçjçjçjçjçjçjçjçjçjçjçj çj!çj"çj#çj$çj%çj&çj'çj(çj)çj*çj+çj,çj-çj.çj/çj0çj1çj2çj3çj4çj5çj6çj7çj8çj9çj:çj;çj<çj=çj>çj?çj@çjAçjBçjCçjDçjEçjFçjGçjHçjIçjJçjKçjLçjMçjNçjOçjPçjQçjRçjSçjTçjUçjVçjWçjXçjYçjZçj[çj\çj]çj^çj_çj`çjaçjbçjcçjdçjeçjfçjgçjhçjiçjjçjkçjlçjmçjnçjoçjpçjqçjrçjsçjtçjuçjvçjwçjxçjyçjzçj{çj|çj}çj~çjçj€çjçj‚çjƒçj„çj…çj†çj‡çjˆçj‰çjŠçj‹çjŒçjçjŽçjçjçj‘çj’çj“çj”çj•çj–çj—çj˜çj™çjšçj›çjœçjçjžçjŸçj çj¡çj¢çj£çj¤çj¥çj¦çj§çj¨çj©çjªçj«çj¬çj­çj®çj¯çj°çj±çj²çj³çj´çjµçj¶çj·çj¸çj¹çjºçj»çj¼çj½çj¾çj¿çjÀçjÁçjÂçjÃçjÄçjÅçjÆçjÇçjÈçjÉçjÊçjËçjÌçjÍçjÎçjÏçjÐçjÑçjÒçjÓçjÔçjÕçjÖçj×çjØçjÙçjÚçjÛçjÜçjÝçjÞçjßçjàçjáçjâçjãçjäçjåçjæçjççjèçjéçjêçjëçjìçjíçjîçjïçjðçjñçjòçjóçjôçjõçjöçj÷çjøçjùçjúçjûçjüçjýçjþçjÿçjèjèjèjèjèjèjèjèjèj èj èj èj èj èjèjèjèjèjèjèjèjèjèjèjèjèjèjèjèjèjèjèj èj!èj"èj#èj$èj%èj&èj'èj(èj)èj*èj+èj,èj-èj.èj/èj0èj1èj2èj3èj4èj5èj6èj7èj8èj9èj:èj;èj<èj=èj>èj?èj@èjAèjBèjCèjDèjEèjFèjGèjHèjIèjJèjKèjLèjMèjNèjOèjPèjQèjRèjSèjTèjUèjVèjWèjXèjYèjZèj[èj\èj]èj^èj_èj`èjaèjbèjcèjdèjeèjfèjgèjhèjièjjèjkèjlèjmèjnèjoèjpèjqèjrèjsèjtèjuèjvèjwèjxèjyèjzèj{èj|èj}èj~èjèj€èjèj‚èjƒèj„èj…èj†èj‡èjˆèj‰èjŠèj‹èjŒèjèjŽèjèjèj‘èj’èj“èj”èj•èj–èj—èj˜èj™èjšèj›èjœèjèjžèjŸèj èj¡èj¢èj£èj¤èj¥èj¦èj§èj¨èj©èjªèj«èj¬èj­èj®èj¯èj°èj±èj²èj³èj´èjµèj¶èj·èj¸èj¹èjºèj»èj¼èj½èj¾èj¿èjÀèjÁèjÂèjÃèjÄèjÅèjÆèjÇèjÈèjÉèjÊèjËèjÌèjÍèjÎèjÏèjÐèjÑèjÒèjÓèjÔèjÕèjÖèj×èjØèjÙèjÚèjÛèjÜèjÝèjÞèjßèjàèjáèjâèjãèjäèjåèjæèjçèjèèjéèjêèjëèjìèjíèjîèjïèjðèjñèjòèjóèjôèjõèjöèj÷èjøèjùèjúèjûèjüèjýèjþèjÿèjéjéjéjéjéjéjéjéjéj éj éj éj éj éjéjéjéjéjéjéjéjéjéjéjéjéjéjéjéjéjéjéj éj!éj"éj#éj$éj%éj&éj'éj(éj)éj*éj+éj,éj-éj.éj/éj0éj1éj2éj3éj4éj5éj6éj7éj8éj9éj:éj;éj<éj=éj>éj?éj@éjAéjBéjCéjDéjEéjFéjGéjHéjIéjJéjKéjLéjMéjNéjOéjPéjQéjRéjSéjTéjUéjVéjWéjXéjYéjZéj[éj\éj]éj^éj_éj`éjaéjbéjcéjdéjeéjféjgéjhéjiéjjéjkéjléjméjnéjoéjpéjqéjréjséjtéjuéjvéjwéjxéjyéjzéj{éj|éj}éj~éjéj€éjéj‚éjƒéj„éj…éj†éj‡éjˆéj‰éjŠéj‹éjŒéjéjŽéjéjéj‘éj’éj“éj”éj•éj–éj—éj˜éj™éjšéj›éjœéjéjžéjŸéj éj¡éj¢éj£éj¤éj¥éj¦éj§éj¨éj©éjªéj«éj¬éj­éj®éj¯éj°éj±éj²éj³éj´éjµéj¶éj·éj¸éj¹éjºéj»éj¼éj½éj¾éj¿éjÀéjÁéjÂéjÃéjÄéjÅéjÆéjÇéjÈéjÉéjÊéjËéjÌéjÍéjÎéjÏéjÐéjÑéjÒéjÓéjÔéjÕéjÖéj×éjØéjÙéjÚéjÛéjÜéjÝéjÞéjßéjàéjáéjâéjãéjäéjåéjæéjçéjèéjééjêéjëéjìéjíéjîéjïéjðéjñéjòéjóéjôéjõéjöéj÷éjøéjùéjúéjûéjüéjýéjþéjÿéjêjêjêjêjêjêjêjêjêj êj êj êj êj êjêjêjêjêjêjêjêjêjêjêjêjêjêjêjêjêjêjêj êj!êj"êj#êj$êj%êj&êj'êj(êj)êj*êj+êj,êj-êj.êj/êj0êj1êj2êj3êj4êj5êj6êj7êj8êj9êj:êj;êj<êj=êj>êj?êj@êjAê(jBêjCêjDêjEêjFêjGêjHêjIêjJêjKêjLêjMêjNêjOêjPêjQêjRêjSêjTêjUêjVêjWêjXêjYêjZêj[êj\êj]êj^êj_êj`êjaêjbêjcêjdêjeêjfêjgêjhêjiêjjêjkêjlêjmêjnêjoêjpêjqêjrêjsêjtêjuêjvêjwêjxêjyêjzêj{êj|êj}êj~êjêj€êjêj‚êjƒêj„êj…êj†êj‡êjˆêj‰êjŠêj‹êjŒêjêjŽêjêjêj‘êj’êj“êj”êj•êj–êj—êj˜êj™êjšêj›êjœêjêjžêjŸêj êj¡êj¢êj£êj¤êj¥êj¦êj§êj¨êj©êjªêj«êj¬êj­êj®êj¯êj°êj±êj²êj³êj´êjµêj¶êj·êj¸êj¹êjºêj»êj¼êj½êj¾êj¿êjÀêjÁêjÂêjÃêjÄêjÅêjÆêjÇêjÈêjÉêjÊêjËêjÌêjÍêjÎêjÏêjÐêjÑêjÒêjÓêjÔêjÕêjÖêj×êjØêjÙêjÚêjÛêjÜêjÝêjÞêjßêjàêjáêjâêjãêjäêjåêjæêjçêjèêjéêjêêjëêjìêjíêjîêjïêjðêjñêjòêjóêjôêjõêjöêj÷êjøêjùêjúêjûêjüêjýêjþêjÿêjëjëjëjëjëjëjëjëjëj ëj ëj ëj ëj ëjëjëjëjëjëjëjëjëjëjëjëjëjëjëjëjëjëjëj ëj!ëj"ëj#ëj$ëj%ëj&ëj'ëj(ëj)ëj*ëj+ëj,ëj-ëj.ëj/ëj0ëj1ëj2ëj3ëj4ëj5ëj6ëj7ëj8ëj9ëj:ëj;ëj<ëj=ëj>ëj?ëj@ëjAëjBëjCëjDëjEëjFëjGëjHëjIëjJëjKëjLëjMëjNëjOëjPëjQëjRëjSëjTëjUëjVëjWëjXëjYëjZëj[ëj\ëj]ëj^ëj_ëj`ëjaëjbëjcëjdëjeëjfëjgëjhëjiëjjëjkëjlëjmëjnëjoëjpëjqëjrëjsëjtëjuëjvëjwëjxëjyëjzëj{ëj|ëj}ëj~ëjëj€ëjëj‚ëjƒëj„ëj…ëj†ëj‡ëjˆëj‰ëjŠëj‹ëjŒëjëjŽëjëjëj‘ëj’ëj“ëj”ëj•ëj–ëj—ëj˜ëj™ëjšëj›ëjœëjëjžëjŸëj ëj¡ëj¢ëj£ëj¤ëj¥ëj¦ëj§ëj¨ëj©ëjªëj«ëj¬ëj­ëj®ëj¯ëj°ëj±ëj²ëj³ëj´ëjµëj¶ëj·ëj¸ëj¹ëjºëj»ëj¼ëj½ëj¾ëj¿ëjÀëjÁëjÂëjÃëjÄëjÅëjÆëjÇëjÈëjÉëjÊëjËëjÌëjÍëjÎëjÏëjÐëjÑëjÒëjÓëjÔëjÕëjÖëj×ëjØëjÙëjÚëjÛëjÜëjÝëjÞëjßëjàëjáëjâëjãëjäëjåëjæëjçëjèëjéëjêëjëëjìëjíëjîëjïëjðëjñëjòëjóëjôëjõëjöëj÷ëjøëjùëjúëjûëjüëjýëjþëjÿëjìjìjìjìjìjìjìjìjìj ìj ìj ìj ìj ìjìjìjìjìjìjìjìjìjìjìjìjìjìjìjìjìjìjìj ìj!ìj"ìj#ìj$ìj%ìj&ìj'ìj(ìj)ìj*ìj+ìj,ìj-ìj.ìj/ìj0ìj1ìj2ìj3ìj4ìj5ìj6ìj7ìj8ìj9ìj:ìj;ìj<ìj=ìj>ìj?ìj@ìjAìjBìjCìjDìjEìjFìjGìjHìjIìjJìjKìjLìjMìjNìjOìjPìjQìjRìjSìjTìjUìjVìjWìjXìjYìjZìj[ìj\ìj]ìj^ìj_ìj`ìjaìjbìjcìjdìjeìjfìjgìjhìjiìjjìjkìjlìjmìjnìjoìjpìjqìjrìjsìjtìjuìjvìjwìjxìjyìjzìj{ìj|ìj}ìj~ìjìj€ìjìj‚ìjƒìj„ìj…ìj†ìj‡ìjˆìj‰ìjŠìj‹ìjŒìjìjŽìjìjìj‘ìj’ìj“ìj”ìj•ìj–ìj—ìj˜ìj™ìjšìj›ìjœìjìjžìjŸìj ìj¡ìj¢ìj£ìj¤ìj¥ìj¦ìj§ìj¨ìj©ìjªìj«ìj¬ìj­ìj®ìj¯ìj°ìj±ìj²ìj³ìj´ìjµìj¶ìj·ìj¸ìj¹ìjºìj»ìj¼ìj½ìj¾ìj¿ìjÀìjÁìjÂìjÃìjÄìjÅìjÆìjÇìjÈìjÉìjÊìjËìjÌìjÍìjÎìjÏìjÐìjÑìjÒìjÓìjÔìjÕìjÖìj×ìjØìjÙìjÚìjÛìjÜìjÝìjÞìjßìjàìjáìjâìjãìjäìjåìjæìjçìjèìjéìjêìjëìjììjíìjîìjïìjðìjñìjòìjóìjôìjõìjöìj÷ìjøìjùìjúìjûìjüìjýìjþìjÿìjíjíjíjíjíjíjíjíjíj íj íj íj íj íjíjíjíjíjíjíjíjíjíjíjíjíjíjíjíjíjíjíj íj!íj"íj#íj$íj%íj&íj'íj(íj)íj*íj+íj,íj-íj.íj/íj0íj1íj2íj3íj4íj5íj6íj7íj8íj9íj:íj;íj<íj=íj>íj?íj@íjAíjBíjCíjDíjEíjFíjGíjHíjIíjJíjKíjLíjMíjNíjOíjPíjQíjRíjSíjTíjUíjVíjWíjXíjYíjZíj[íj\íj]íj^íj_íj`íjaíjbíjcíjdíjeíjfíjgíjhíjiíjjíjkíjlíjmíjníjoíjpíjqíjríjsíjtíjuíjvíjwíjxíjyíjzíj{íj|íj}íj~íjíj€íjíj‚íjƒíj„íj…íj†íj‡íjˆíj‰íjŠíj‹íjŒíjíjŽíjíjíj‘íj’íj“íj”íj•íj–íj—íj˜íj™íjšíj›íjœíjíjžíjŸíj íj¡íj¢íj£íj¤íj¥íj¦íj§íj¨íj©íjªíj«íj¬íj­íj®íuŒ_Memory__all_contexts””(jdŒ_Memory__defaultContexts”}”(j_‰N‰uubh†”.pyshacl-0.30.1/pyshacl/assets/schema.ttl0000644000000000000000000454140100000000000015070 0ustar00# baseURI: http://datashapes.org/schema # imports: http://datashapes.org/dash @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix sh: . @prefix xsd: . a owl:Ontology ; rdfs:comment "

This is an RDF/SHACL version of schema.org, generated based on the official Turtle file https://schema.org/version/latest/schemaorg-all-http.ttl. Alignments with common RDF practices have been made, e.g. using rdfs:Class instead of schema:Class.

Contact: Holger Knublauch

"^^rdf:HTML ; rdfs:label "Schema.org SHACL shapes" ; owl:imports ; owl:versionInfo "2021-04-21T09:18:09.748+10:00"^^xsd:dateTime ; . a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A 3D model represents some kind of 3D content, which may have [[encoding]]s in one or more [[MediaObject]]s. Many 3D formats are available (e.g. see [Wikipedia](https://en.wikipedia.org/wiki/Category:3D_graphics_file_formats)); specific encoding formats can be represented using the [[encodingFormat]] property applied to the relevant [[MediaObject]]. For the case of a single file published after Zip compression, the convention of appending '+zip' to the [[encodingFormat]] can be used. Geospatial, AR/VR, artistic/animation, gaming, engineering and scientific content can all be represented using [[3DModel]]."""^^rdf:HTML ; rdfs:label "3DModel" ; rdfs:subClassOf schema:MediaObject ; sh:property ; . a sh:PropertyShape ; sh:path schema:isResizable ; sh:datatype xsd:boolean ; sh:description "Whether the 3DModel allows resizing. For example, room layout applications often do not allow 3DModel elements to be resized to reflect reality."^^rdf:HTML ; sh:name "isResizable" ; . schema:AMRadioChannel a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A radio channel that uses AM."^^rdf:HTML ; rdfs:label "AMRadio channel" ; rdfs:subClassOf schema:RadioChannel ; . schema:APIReference a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Reference documentation for application programming interfaces (APIs)."^^rdf:HTML ; rdfs:label "APIReference" ; rdfs:subClassOf schema:TechArticle ; sh:property schema:APIReference-assembly ; sh:property schema:APIReference-assemblyVersion ; sh:property schema:APIReference-executableLibraryName ; sh:property schema:APIReference-programmingModel ; sh:property schema:APIReference-targetPlatform ; . schema:APIReference-assembly a sh:PropertyShape ; sh:path schema:assembly ; sh:datatype xsd:string ; sh:description "Library file name e.g., mscorlib.dll, system.web.dll."^^rdf:HTML ; sh:name "assembly" ; . schema:APIReference-assemblyVersion a sh:PropertyShape ; sh:path schema:assemblyVersion ; sh:datatype xsd:string ; sh:description "Associated product/technology version. e.g., .NET Framework 4.5."^^rdf:HTML ; sh:name "assemblyVersion" ; . schema:APIReference-executableLibraryName a sh:PropertyShape ; sh:path schema:executableLibraryName ; sh:datatype xsd:string ; sh:description "Library file name e.g., mscorlib.dll, system.web.dll."^^rdf:HTML ; sh:name "executableLibraryName" ; . schema:APIReference-programmingModel a sh:PropertyShape ; sh:path schema:programmingModel ; sh:datatype xsd:string ; sh:description "Indicates whether API is managed or unmanaged."^^rdf:HTML ; sh:name "programmingModel" ; . schema:APIReference-targetPlatform a sh:PropertyShape ; sh:path schema:targetPlatform ; sh:datatype xsd:string ; sh:description "Type of app development: phone, Metro style, desktop, XBox, etc."^^rdf:HTML ; sh:name "targetPlatform" ; . schema:Abdomen a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Abdomen clinical examination." ; rdfs:label "Abdomen" ; . schema:AboutPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: About page."^^rdf:HTML ; rdfs:label "About page" ; rdfs:subClassOf schema:WebPage ; . schema:AcceptAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of committing to/adopting an object.\\n\\nRelated actions:\\n\\n* [[RejectAction]]: The antonym of AcceptAction."^^rdf:HTML ; rdfs:label "Accept action" ; rdfs:subClassOf schema:AllocateAction ; . schema:Accommodation a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """An accommodation is a place that can accommodate human beings, e.g. a hotel room, a camping pitch, or a meeting room. Many accommodations are for overnight stays, but this is not a mandatory requirement. For more specific types of accommodations not defined in schema.org, one can use additionalType with external vocabularies.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Accommodation" ; rdfs:subClassOf schema:Place ; sh:property schema:Accommodation-accommodationCategory ; sh:property schema:Accommodation-accommodationFloorPlan ; sh:property schema:Accommodation-amenityFeature ; sh:property schema:Accommodation-floorLevel ; sh:property schema:Accommodation-floorSize ; sh:property schema:Accommodation-leaseLength ; sh:property schema:Accommodation-numberOfBathroomsTotal ; sh:property schema:Accommodation-numberOfBedrooms ; sh:property schema:Accommodation-numberOfFullBathrooms ; sh:property schema:Accommodation-numberOfPartialBathrooms ; sh:property schema:Accommodation-numberOfRooms ; sh:property schema:Accommodation-permittedUsage ; sh:property schema:Accommodation-petsAllowed ; sh:property schema:Accommodation-tourBookingPage ; sh:property schema:Accommodation-yearBuilt ; . schema:Accommodation-accommodationCategory a sh:PropertyShape ; sh:path schema:accommodationCategory ; sh:datatype xsd:string ; sh:description "Category of an [[Accommodation]], following real estate conventions e.g. RESO (see [PropertySubType](https://ddwiki.reso.org/display/DDW17/PropertySubType+Field), and [PropertyType](https://ddwiki.reso.org/display/DDW17/PropertyType+Field) fields for suggested values)."^^rdf:HTML ; sh:name "accommodationCategory" ; . schema:Accommodation-accommodationFloorPlan a sh:PropertyShape ; sh:path schema:accommodationFloorPlan ; sh:class schema:FloorPlan ; sh:description "A floorplan of some [[Accommodation]]."^^rdf:HTML ; sh:name "accommodationFloorPlan" ; . schema:Accommodation-amenityFeature a sh:PropertyShape ; sh:path schema:amenityFeature ; sh:class schema:LocationFeatureSpecification ; sh:description "An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs."^^rdf:HTML ; sh:name "amenityFeature" ; . schema:Accommodation-floorLevel a sh:PropertyShape ; sh:path schema:floorLevel ; sh:datatype xsd:string ; sh:description """The floor level for an [[Accommodation]] in a multi-storey building. Since counting systems [vary internationally](https://en.wikipedia.org/wiki/Storey#Consecutive_number_floor_designations), the local system should be used where possible."""^^rdf:HTML ; sh:name "floorLevel" ; . schema:Accommodation-floorSize a sh:PropertyShape ; sh:path schema:floorSize ; sh:class schema:QuantitativeValue ; sh:description """The size of the accommodation, e.g. in square meter or squarefoot. Typical unit code(s): MTK for square meter, FTK for square foot, or YDK for square yard """^^rdf:HTML ; sh:name "floorSize" ; . schema:Accommodation-leaseLength a sh:PropertyShape ; sh:path schema:leaseLength ; sh:description "Length of the lease for some [[Accommodation]], either particular to some [[Offer]] or in some cases intrinsic to the property."^^rdf:HTML ; sh:name "leaseLength" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:duration ; ] ) ; . schema:Accommodation-numberOfBathroomsTotal a sh:PropertyShape ; sh:path schema:numberOfBathroomsTotal ; sh:datatype xsd:integer ; sh:description "The total integer number of bathrooms in a some [[Accommodation]], following real estate conventions as [documented in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsTotalInteger+Field): \"The simple sum of the number of bathrooms. For example for a property with two Full Bathrooms and one Half Bathroom, the Bathrooms Total Integer will be 3.\". See also [[numberOfRooms]]."^^rdf:HTML ; sh:name "numberOfBathroomsTotal" ; . schema:Accommodation-numberOfBedrooms a sh:PropertyShape ; sh:path schema:numberOfBedrooms ; sh:description "The total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]]."^^rdf:HTML ; sh:name "numberOfBedrooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Accommodation-numberOfFullBathrooms a sh:PropertyShape ; sh:path schema:numberOfFullBathrooms ; sh:datatype xsd:float ; sh:description "Number of full bathrooms - The total number of full and ¾ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsFull field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsFull+Field)."^^rdf:HTML ; sh:name "numberOfFullBathrooms" ; . schema:Accommodation-numberOfPartialBathrooms a sh:PropertyShape ; sh:path schema:numberOfPartialBathrooms ; sh:datatype xsd:float ; sh:description "Number of partial bathrooms - The total number of half and ¼ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsPartial field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsPartial+Field). "^^rdf:HTML ; sh:name "numberOfPartialBathrooms" ; . schema:Accommodation-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Accommodation-permittedUsage a sh:PropertyShape ; sh:path schema:permittedUsage ; sh:datatype xsd:string ; sh:description "Indications regarding the permitted usage of the accommodation."^^rdf:HTML ; sh:name "permittedUsage" ; . schema:Accommodation-petsAllowed a sh:PropertyShape ; sh:path schema:petsAllowed ; sh:description "Indicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value."^^rdf:HTML ; sh:name "petsAllowed" ; sh:or ( [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Accommodation-tourBookingPage a sh:PropertyShape ; sh:path schema:tourBookingPage ; sh:description "A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate."^^rdf:HTML ; sh:name "tourBookingPage" ; sh:nodeKind sh:IRI ; . schema:Accommodation-yearBuilt a sh:PropertyShape ; sh:path schema:yearBuilt ; sh:datatype xsd:float ; sh:description "The year an [[Accommodation]] was constructed. This corresponds to the [YearBuilt field in RESO](https://ddwiki.reso.org/display/DDW17/YearBuilt+Field). "^^rdf:HTML ; sh:name "yearBuilt" ; . schema:AccountingService a rdfs:Class ; a sh:NodeShape ; rdfs:comment """Accountancy business.\\n\\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\\(s). """^^rdf:HTML ; rdfs:label "Accounting service" ; rdfs:subClassOf schema:FinancialService ; . schema:AchieveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of accomplishing something via previous efforts. It is an instantaneous action rather than an ongoing process."^^rdf:HTML ; rdfs:label "Achieve action" ; rdfs:subClassOf schema:Action ; . schema:Action a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An action performed by a direct agent and indirect participants upon a direct object. Optionally happens at a location with the help of an inanimate instrument. The execution of the action may produce a result. Specific action sub-type documentation specifies the exact expectation of each argument/role.\\n\\nSee also [blog post](http://blog.schema.org/2014/04/announcing-schemaorg-actions.html) and [Actions overview document](http://schema.org/docs/actions.html)."^^rdf:HTML ; rdfs:label "Action" ; rdfs:subClassOf schema:Thing ; sh:property schema:Action-actionStatus ; sh:property schema:Action-agent ; sh:property schema:Action-endTime ; sh:property schema:Action-error ; sh:property schema:Action-instrument ; sh:property schema:Action-location ; sh:property schema:Action-object ; sh:property schema:Action-participant ; sh:property schema:Action-result ; sh:property schema:Action-startTime ; sh:property schema:Action-target ; . schema:Action-actionStatus a sh:PropertyShape ; sh:path schema:actionStatus ; sh:class schema:ActionStatusType ; sh:description "Indicates the current disposition of the Action."^^rdf:HTML ; sh:name "actionStatus" ; . schema:Action-agent a sh:PropertyShape ; sh:path schema:agent ; sh:description "The direct performer or driver of the action (animate or inanimate). e.g. *John* wrote a book."^^rdf:HTML ; sh:name "agent" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Action-endTime a sh:PropertyShape ; sh:path schema:endTime ; sh:description "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "endTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Action-error a sh:PropertyShape ; sh:path schema:error ; sh:class schema:Thing ; sh:description "For failed actions, more information on the cause of the failure."^^rdf:HTML ; sh:name "error" ; . schema:Action-instrument a sh:PropertyShape ; sh:path schema:instrument ; sh:class schema:Thing ; sh:description "The object that helped the agent perform the action. e.g. John wrote a book with *a pen*."^^rdf:HTML ; sh:name "instrument" ; . schema:Action-location a sh:PropertyShape ; sh:path schema:location ; sh:description "The location of, for example, where an event is happening, where an organization is located, or where an action takes place."^^rdf:HTML ; sh:name "location" ; sh:or ( [ sh:class schema:Place ; ] [ sh:class schema:PostalAddress ; ] [ sh:class schema:VirtualLocation ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Action-object a sh:PropertyShape ; sh:path schema:object ; sh:class schema:Thing ; sh:description "The object upon which the action is carried out, whose state is kept intact or changed. Also known as the semantic roles patient, affected or undergoer (which change their state) or theme (which doesn't). e.g. John read *a book*."^^rdf:HTML ; sh:name "object" ; . schema:Action-participant a sh:PropertyShape ; sh:path schema:participant ; sh:description "Other co-agents that participated in the action indirectly. e.g. John wrote a book with *Steve*."^^rdf:HTML ; sh:name "participant" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Action-result a sh:PropertyShape ; sh:path schema:result ; sh:class schema:Thing ; sh:description "The result produced in the action. e.g. John wrote *a book*."^^rdf:HTML ; sh:name "result" ; . schema:Action-startTime a sh:PropertyShape ; sh:path schema:startTime ; sh:description "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "startTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Action-target a sh:PropertyShape ; sh:path schema:target ; sh:class schema:EntryPoint ; sh:description "Indicates a target EntryPoint for an Action."^^rdf:HTML ; sh:name "target" ; . schema:ActionAccessSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A set of requirements that a must be fulfilled in order to perform an Action."^^rdf:HTML ; rdfs:label "Action access specification" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ActionAccessSpecification-availabilityEnds ; sh:property schema:ActionAccessSpecification-availabilityStarts ; sh:property schema:ActionAccessSpecification-category ; sh:property schema:ActionAccessSpecification-eligibleRegion ; sh:property schema:ActionAccessSpecification-expectsAcceptanceOf ; sh:property schema:ActionAccessSpecification-ineligibleRegion ; sh:property schema:ActionAccessSpecification-requiresSubscription ; . schema:ActionAccessSpecification-availabilityEnds a sh:PropertyShape ; sh:path schema:availabilityEnds ; sh:description "The end of the availability of the product or service included in the offer."^^rdf:HTML ; sh:name "availabilityEnds" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:ActionAccessSpecification-availabilityStarts a sh:PropertyShape ; sh:path schema:availabilityStarts ; sh:description "The beginning of the availability of the product or service included in the offer."^^rdf:HTML ; sh:name "availabilityStarts" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:ActionAccessSpecification-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ActionAccessSpecification-eligibleRegion a sh:PropertyShape ; sh:path schema:eligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid.\\n\\nSee also [[ineligibleRegion]]. """^^rdf:HTML ; sh:name "eligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ActionAccessSpecification-expectsAcceptanceOf a sh:PropertyShape ; sh:path schema:expectsAcceptanceOf ; sh:class schema:Offer ; sh:description "An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it."^^rdf:HTML ; sh:name "expectsAcceptanceOf" ; . schema:ActionAccessSpecification-ineligibleRegion a sh:PropertyShape ; sh:path schema:ineligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\\n\\nSee also [[eligibleRegion]]. """^^rdf:HTML ; sh:name "ineligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ActionAccessSpecification-requiresSubscription a sh:PropertyShape ; sh:path schema:requiresSubscription ; sh:description "Indicates if use of the media require a subscription (either paid or free). Allowed values are ```true``` or ```false``` (note that an earlier version had 'yes', 'no')."^^rdf:HTML ; sh:name "requiresSubscription" ; sh:or ( [ sh:class schema:MediaSubscription ; ] [ sh:datatype xsd:boolean ; ] ) ; . schema:ActionStatusType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The status of an Action."^^rdf:HTML ; rdfs:label "Action status type" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:ActivateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of starting or activating a device or application (e.g. starting a timer or turning on a flashlight)."^^rdf:HTML ; rdfs:label "Activate action" ; rdfs:subClassOf schema:ControlAction ; . schema:ActivationFee a schema:PriceComponentTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the activation fee part of the total price for an offered product, for example a cellphone contract." ; rdfs:label "Activation fee" ; . schema:ActiveActionStatus a schema:ActionStatusType ; rdfs:comment "An in-progress action (e.g, while watching the movie, or driving to a location)." ; rdfs:label "Active action status" ; . schema:ActiveNotRecruiting a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Active, but not recruiting new participants." ; rdfs:label "Active not recruiting" ; . schema:AddAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of editing by adding an object to a collection."^^rdf:HTML ; rdfs:label "Add action" ; rdfs:subClassOf schema:UpdateAction ; . schema:AdministrativeArea a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A geographical region, typically under the jurisdiction of a particular government."^^rdf:HTML ; rdfs:label "Administrative area" ; rdfs:subClassOf schema:Place ; . schema:AdultEntertainment a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An adult entertainment establishment."^^rdf:HTML ; rdfs:label "Adult entertainment" ; rdfs:subClassOf schema:EntertainmentBusiness ; . schema:AdvertiserContentArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "An [[Article]] that an external entity has paid to place or to produce to its specifications. Includes [advertorials](https://en.wikipedia.org/wiki/Advertorial), sponsored content, native advertising and other paid content."^^rdf:HTML ; rdfs:label "Advertiser content article" ; rdfs:subClassOf schema:Article ; . schema:AerobicActivity a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Physical activity of relatively low intensity that depends primarily on the aerobic energy-generating process; during activity, the aerobic metabolism uses oxygen to adequately meet energy demands during exercise." ; rdfs:label "Aerobic activity" ; . schema:AggregateOffer a rdfs:Class ; a sh:NodeShape ; rdfs:comment "When a single product is associated with multiple offers (for example, the same pair of shoes is offered by different merchants), then AggregateOffer can be used.\\n\\nNote: AggregateOffers are normally expected to associate multiple offers that all share the same defined [[businessFunction]] value, or default to http://purl.org/goodrelations/v1#Sell if businessFunction is not explicitly defined."^^rdf:HTML ; rdfs:label "Aggregate offer" ; rdfs:subClassOf schema:Offer ; sh:property schema:AggregateOffer-highPrice ; sh:property schema:AggregateOffer-lowPrice ; sh:property schema:AggregateOffer-offerCount ; sh:property schema:AggregateOffer-offers ; . schema:AggregateOffer-highPrice a sh:PropertyShape ; sh:path schema:highPrice ; sh:description "The highest price of all offers available.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "highPrice" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:AggregateOffer-lowPrice a sh:PropertyShape ; sh:path schema:lowPrice ; sh:description "The lowest price of all offers available.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "lowPrice" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:AggregateOffer-offerCount a sh:PropertyShape ; sh:path schema:offerCount ; sh:datatype xsd:integer ; sh:description "The number of offers for the product."^^rdf:HTML ; sh:name "offerCount" ; . schema:AggregateOffer-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:AggregateRating a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The average rating based on multiple ratings or reviews."^^rdf:HTML ; rdfs:label "Aggregate rating" ; rdfs:subClassOf schema:Rating ; sh:property schema:AggregateRating-itemReviewed ; sh:property schema:AggregateRating-ratingCount ; sh:property schema:AggregateRating-reviewCount ; . schema:AggregateRating-itemReviewed a sh:PropertyShape ; sh:path schema:itemReviewed ; sh:class schema:Thing ; sh:description "The item that is being reviewed/rated."^^rdf:HTML ; sh:name "itemReviewed" ; . schema:AggregateRating-ratingCount a sh:PropertyShape ; sh:path schema:ratingCount ; sh:datatype xsd:integer ; sh:description "The count of total number of ratings."^^rdf:HTML ; sh:name "ratingCount" ; . schema:AggregateRating-reviewCount a sh:PropertyShape ; sh:path schema:reviewCount ; sh:datatype xsd:integer ; sh:description "The count of total number of reviews."^^rdf:HTML ; sh:name "reviewCount" ; . schema:AgreeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a consistency of opinion with the object. An agent agrees to/about an object (a proposition, topic or theme) with participants."^^rdf:HTML ; rdfs:label "Agree action" ; rdfs:subClassOf schema:ReactAction ; . schema:Airline a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An organization that provides flights for passengers."^^rdf:HTML ; rdfs:label "Airline" ; rdfs:subClassOf schema:Organization ; sh:property schema:Airline-boardingPolicy ; sh:property schema:Airline-iataCode ; . schema:Airline-boardingPolicy a sh:PropertyShape ; sh:path schema:boardingPolicy ; sh:class schema:BoardingPolicyType ; sh:description "The type of boarding policy used by the airline (e.g. zone-based or group-based)."^^rdf:HTML ; sh:name "boardingPolicy" ; . schema:Airline-iataCode a sh:PropertyShape ; sh:path schema:iataCode ; sh:datatype xsd:string ; sh:description "IATA identifier for an airline or airport."^^rdf:HTML ; sh:name "iataCode" ; . schema:Airport a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An airport."^^rdf:HTML ; rdfs:label "Airport" ; rdfs:subClassOf schema:CivicStructure ; sh:property schema:Airport-iataCode ; sh:property schema:Airport-icaoCode ; . schema:Airport-iataCode a sh:PropertyShape ; sh:path schema:iataCode ; sh:datatype xsd:string ; sh:description "IATA identifier for an airline or airport."^^rdf:HTML ; sh:name "iataCode" ; . schema:Airport-icaoCode a sh:PropertyShape ; sh:path schema:icaoCode ; sh:datatype xsd:string ; sh:description "ICAO identifier for an airport."^^rdf:HTML ; sh:name "icaoCode" ; . schema:AlbumRelease a schema:MusicAlbumReleaseType ; schema:source ; rdfs:comment "AlbumRelease." ; rdfs:label "Album release" ; . schema:AlignmentObject a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """An intangible item that describes an alignment between a learning resource and a node in an educational framework. Should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency."""^^rdf:HTML ; rdfs:label "Alignment object" ; rdfs:subClassOf schema:Intangible ; sh:property schema:AlignmentObject-alignmentType ; sh:property schema:AlignmentObject-educationalFramework ; sh:property schema:AlignmentObject-targetDescription ; sh:property schema:AlignmentObject-targetName ; sh:property schema:AlignmentObject-targetUrl ; . schema:AlignmentObject-alignmentType a sh:PropertyShape ; sh:path schema:alignmentType ; sh:datatype xsd:string ; sh:description "A category of alignment between the learning resource and the framework node. Recommended values include: 'requires', 'textComplexity', 'readingLevel', and 'educationalSubject'."^^rdf:HTML ; sh:name "alignmentType" ; . schema:AlignmentObject-educationalFramework a sh:PropertyShape ; sh:path schema:educationalFramework ; sh:datatype xsd:string ; sh:description "The framework to which the resource being described is aligned."^^rdf:HTML ; sh:name "educationalFramework" ; . schema:AlignmentObject-targetDescription a sh:PropertyShape ; sh:path schema:targetDescription ; sh:datatype xsd:string ; sh:description "The description of a node in an established educational framework."^^rdf:HTML ; sh:name "targetDescription" ; . schema:AlignmentObject-targetName a sh:PropertyShape ; sh:path schema:targetName ; sh:datatype xsd:string ; sh:description "The name of a node in an established educational framework."^^rdf:HTML ; sh:name "targetName" ; . schema:AlignmentObject-targetUrl a sh:PropertyShape ; sh:path schema:targetUrl ; sh:description "The URL of a node in an established educational framework."^^rdf:HTML ; sh:name "targetUrl" ; sh:nodeKind sh:IRI ; . schema:AllWheelDriveConfiguration a schema:DriveWheelConfigurationValue ; schema:source ; rdfs:comment "All-wheel Drive is a transmission layout where the engine drives all four wheels." ; rdfs:label "All wheel drive configuration" ; . schema:AllergiesHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about the allergy-related aspects of a health topic." ; rdfs:label "Allergies health aspect" ; . schema:AllocateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of organizing tasks/objects/events by associating resources to it."^^rdf:HTML ; rdfs:label "Allocate action" ; rdfs:subClassOf schema:OrganizeAction ; . schema:AmpStory a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A creative work with a visual storytelling format intended to be viewed online, particularly on mobile devices."^^rdf:HTML ; rdfs:label "Amp story" ; rdfs:subClassOf schema:CreativeWork ; . schema:AmusementPark a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An amusement park."^^rdf:HTML ; rdfs:label "Amusement park" ; rdfs:subClassOf schema:EntertainmentBusiness ; . schema:AnaerobicActivity a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Physical activity that is of high-intensity which utilizes the anaerobic metabolism of the body." ; rdfs:label "Anaerobic activity" ; . schema:AnalysisNewsArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "An AnalysisNewsArticle is a [[NewsArticle]] that, while based on factual reporting, incorporates the expertise of the author/producer, offering interpretations and conclusions."^^rdf:HTML ; rdfs:label "Analysis news article" ; rdfs:subClassOf schema:NewsArticle ; . schema:AnatomicalStructure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any part of the human body, typically a component of an anatomical system. Organs, tissues, and cells are all anatomical structures."^^rdf:HTML ; rdfs:label "Anatomical structure" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:AnatomicalStructure-associatedPathophysiology ; sh:property schema:AnatomicalStructure-bodyLocation ; sh:property schema:AnatomicalStructure-connectedTo ; sh:property schema:AnatomicalStructure-diagram ; sh:property schema:AnatomicalStructure-partOfSystem ; sh:property schema:AnatomicalStructure-relatedCondition ; sh:property schema:AnatomicalStructure-relatedTherapy ; sh:property schema:AnatomicalStructure-subStructure ; . schema:AnatomicalStructure-associatedPathophysiology a sh:PropertyShape ; sh:path schema:associatedPathophysiology ; sh:datatype xsd:string ; sh:description "If applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system."^^rdf:HTML ; sh:name "associatedPathophysiology" ; . schema:AnatomicalStructure-bodyLocation a sh:PropertyShape ; sh:path schema:bodyLocation ; sh:datatype xsd:string ; sh:description "Location in the body of the anatomical structure."^^rdf:HTML ; sh:name "bodyLocation" ; . schema:AnatomicalStructure-connectedTo a sh:PropertyShape ; sh:path schema:connectedTo ; sh:class schema:AnatomicalStructure ; sh:description "Other anatomical structures to which this structure is connected."^^rdf:HTML ; sh:name "connectedTo" ; . schema:AnatomicalStructure-diagram a sh:PropertyShape ; sh:path schema:diagram ; sh:class schema:ImageObject ; sh:description "An image containing a diagram that illustrates the structure and/or its component substructures and/or connections with other structures."^^rdf:HTML ; sh:name "diagram" ; . schema:AnatomicalStructure-partOfSystem a sh:PropertyShape ; sh:path schema:partOfSystem ; sh:class schema:AnatomicalSystem ; sh:description "The anatomical or organ system that this structure is part of."^^rdf:HTML ; sh:name "partOfSystem" ; . schema:AnatomicalStructure-relatedCondition a sh:PropertyShape ; sh:path schema:relatedCondition ; sh:class schema:MedicalCondition ; sh:description "A medical condition associated with this anatomy."^^rdf:HTML ; sh:name "relatedCondition" ; . schema:AnatomicalStructure-relatedTherapy a sh:PropertyShape ; sh:path schema:relatedTherapy ; sh:class schema:MedicalTherapy ; sh:description "A medical therapy related to this anatomy."^^rdf:HTML ; sh:name "relatedTherapy" ; . schema:AnatomicalStructure-subStructure a sh:PropertyShape ; sh:path schema:subStructure ; sh:class schema:AnatomicalStructure ; sh:description "Component (sub-)structure(s) that comprise this anatomical structure."^^rdf:HTML ; sh:name "subStructure" ; . schema:AnatomicalSystem a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An anatomical system is a group of anatomical structures that work together to perform a certain task. Anatomical systems, such as organ systems, are one organizing principle of anatomy, and can includes circulatory, digestive, endocrine, integumentary, immune, lymphatic, muscular, nervous, reproductive, respiratory, skeletal, urinary, vestibular, and other systems."^^rdf:HTML ; rdfs:label "Anatomical system" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:AnatomicalSystem-associatedPathophysiology ; sh:property schema:AnatomicalSystem-comprisedOf ; sh:property schema:AnatomicalSystem-relatedCondition ; sh:property schema:AnatomicalSystem-relatedStructure ; sh:property schema:AnatomicalSystem-relatedTherapy ; . schema:AnatomicalSystem-associatedPathophysiology a sh:PropertyShape ; sh:path schema:associatedPathophysiology ; sh:datatype xsd:string ; sh:description "If applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system."^^rdf:HTML ; sh:name "associatedPathophysiology" ; . schema:AnatomicalSystem-comprisedOf a sh:PropertyShape ; sh:path schema:comprisedOf ; sh:description "Specifying something physically contained by something else. Typically used here for the underlying anatomical structures, such as organs, that comprise the anatomical system."^^rdf:HTML ; sh:name "comprisedOf" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:AnatomicalSystem ; ] ) ; . schema:AnatomicalSystem-relatedCondition a sh:PropertyShape ; sh:path schema:relatedCondition ; sh:class schema:MedicalCondition ; sh:description "A medical condition associated with this anatomy."^^rdf:HTML ; sh:name "relatedCondition" ; . schema:AnatomicalSystem-relatedStructure a sh:PropertyShape ; sh:path schema:relatedStructure ; sh:class schema:AnatomicalStructure ; sh:description "Related anatomical structure(s) that are not part of the system but relate or connect to it, such as vascular bundles associated with an organ system."^^rdf:HTML ; sh:name "relatedStructure" ; . schema:AnatomicalSystem-relatedTherapy a sh:PropertyShape ; sh:path schema:relatedTherapy ; sh:class schema:MedicalTherapy ; sh:description "A medical therapy related to this anatomy."^^rdf:HTML ; sh:name "relatedTherapy" ; . schema:Anesthesia a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to study of anesthetics and their application." ; rdfs:label "Anesthesia" ; . schema:AnimalShelter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Animal shelter."^^rdf:HTML ; rdfs:label "Animal shelter" ; rdfs:subClassOf schema:LocalBusiness ; . schema:Answer a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An answer offered to a question; perhaps correct, perhaps opinionated or wrong."^^rdf:HTML ; rdfs:label "Answer" ; rdfs:subClassOf schema:Comment ; sh:property schema:Answer-answerExplanation ; . schema:Answer-answerExplanation a sh:PropertyShape ; sh:path schema:answerExplanation ; sh:description "A step-by-step or full explanation about Answer. Can outline how this Answer was achieved or contain more broad clarification or statement about it. "^^rdf:HTML ; sh:name "answerExplanation" ; sh:or ( [ sh:class schema:Comment ; ] [ sh:class schema:WebContent ; ] ) ; . schema:Apartment a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An apartment (in American English) or flat (in British English) is a self-contained housing unit (a type of residential real estate) that occupies only part of a building (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Apartment)."^^rdf:HTML ; rdfs:label "Apartment" ; rdfs:subClassOf schema:Accommodation ; sh:property schema:Apartment-numberOfRooms ; sh:property schema:Apartment-occupancy ; . schema:Apartment-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Apartment-occupancy a sh:PropertyShape ; sh:path schema:occupancy ; sh:class schema:QuantitativeValue ; sh:description """The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person"""^^rdf:HTML ; sh:name "occupancy" ; . schema:ApartmentComplex a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Residence type: Apartment complex."^^rdf:HTML ; rdfs:label "Apartment complex" ; rdfs:subClassOf schema:Residence ; sh:property schema:ApartmentComplex-numberOfAccommodationUnits ; sh:property schema:ApartmentComplex-numberOfAvailableAccommodationUnits ; sh:property schema:ApartmentComplex-numberOfBedrooms ; sh:property schema:ApartmentComplex-petsAllowed ; sh:property schema:ApartmentComplex-tourBookingPage ; . schema:ApartmentComplex-numberOfAccommodationUnits a sh:PropertyShape ; sh:path schema:numberOfAccommodationUnits ; sh:class schema:QuantitativeValue ; sh:description "Indicates the total (available plus unavailable) number of accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAvailableAccommodationUnits]]."^^rdf:HTML ; sh:name "numberOfAccommodationUnits" ; . schema:ApartmentComplex-numberOfAvailableAccommodationUnits a sh:PropertyShape ; sh:path schema:numberOfAvailableAccommodationUnits ; sh:class schema:QuantitativeValue ; sh:description "Indicates the number of available accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAccommodationUnits]]."^^rdf:HTML ; sh:name "numberOfAvailableAccommodationUnits" ; . schema:ApartmentComplex-numberOfBedrooms a sh:PropertyShape ; sh:path schema:numberOfBedrooms ; sh:description "The total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]]."^^rdf:HTML ; sh:name "numberOfBedrooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:ApartmentComplex-petsAllowed a sh:PropertyShape ; sh:path schema:petsAllowed ; sh:description "Indicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value."^^rdf:HTML ; sh:name "petsAllowed" ; sh:or ( [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ApartmentComplex-tourBookingPage a sh:PropertyShape ; sh:path schema:tourBookingPage ; sh:description "A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate."^^rdf:HTML ; sh:name "tourBookingPage" ; sh:nodeKind sh:IRI ; . schema:Appearance a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Appearance assessment with clinical examination." ; rdfs:label "Appearance" ; . schema:AppendAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of inserting at the end if an ordered collection."^^rdf:HTML ; rdfs:label "Append action" ; rdfs:subClassOf schema:InsertAction ; . schema:ApplyAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of registering to an organization/service without the guarantee to receive it.\\n\\nRelated actions:\\n\\n* [[RegisterAction]]: Unlike RegisterAction, ApplyAction has no guarantees that the application will be accepted."^^rdf:HTML ; rdfs:label "Apply action" ; rdfs:subClassOf schema:OrganizeAction ; . schema:ApprovedIndication a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An indication for a medical therapy that has been formally specified or approved by a regulatory body that regulates use of the therapy; for example, the US FDA approves indications for most drugs in the US."^^rdf:HTML ; rdfs:label "Approved indication" ; rdfs:subClassOf schema:MedicalIndication ; . schema:Aquarium a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Aquarium."^^rdf:HTML ; rdfs:label "Aquarium" ; rdfs:subClassOf schema:CivicStructure ; . schema:ArchiveComponent a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An intangible type to be applied to any archive content, carrying with it a set of properties required to describe archival items and collections."^^rdf:HTML ; rdfs:label "Archive component" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:ArchiveComponent-holdingArchive ; sh:property schema:ArchiveComponent-itemLocation ; . schema:ArchiveComponent-holdingArchive a sh:PropertyShape ; sh:path schema:holdingArchive ; sh:class schema:ArchiveOrganization ; sh:description "[[ArchiveOrganization]] that holds, keeps or maintains the [[ArchiveComponent]]."^^rdf:HTML ; sh:name "holdingArchive"@en ; . schema:ArchiveComponent-itemLocation a sh:PropertyShape ; sh:path schema:itemLocation ; sh:description "Current location of the item."^^rdf:HTML ; sh:name "itemLocation"@en ; sh:or ( [ sh:class schema:Place ; ] [ sh:class schema:PostalAddress ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ArchiveOrganization a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An organization with archival holdings. An organization which keeps and preserves archival material and typically makes it accessible to the public."^^rdf:HTML ; rdfs:label "Archive organization" ; rdfs:subClassOf schema:LocalBusiness ; sh:property schema:ArchiveOrganization-archiveHeld ; . schema:ArchiveOrganization-archiveHeld a sh:PropertyShape ; sh:path schema:archiveHeld ; sh:class schema:ArchiveComponent ; sh:description "Collection, [fonds](https://en.wikipedia.org/wiki/Fonds), or item held, kept or maintained by an [[ArchiveOrganization]]."^^rdf:HTML ; sh:name "archiveHeld"@en ; . schema:ArriveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of arriving at a place. An agent arrives at a destination from a fromLocation, optionally with participants."^^rdf:HTML ; rdfs:label "Arrive action" ; rdfs:subClassOf schema:MoveAction ; . schema:ArtGallery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An art gallery."^^rdf:HTML ; rdfs:label "Art gallery" ; rdfs:subClassOf schema:EntertainmentBusiness ; . schema:Artery a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A type of blood vessel that specifically carries blood away from the heart."^^rdf:HTML ; rdfs:label "Artery" ; rdfs:subClassOf schema:Vessel ; owl:equivalentClass ; sh:property schema:Artery-arterialBranch ; sh:property schema:Artery-supplyTo ; . schema:Artery-arterialBranch a sh:PropertyShape ; sh:path schema:arterialBranch ; sh:class schema:AnatomicalStructure ; sh:description "The branches that comprise the arterial structure."^^rdf:HTML ; sh:name "arterialBranch" ; . schema:Artery-supplyTo a sh:PropertyShape ; sh:path schema:supplyTo ; sh:class schema:AnatomicalStructure ; sh:description "The area to which the artery supplies blood."^^rdf:HTML ; sh:name "supplyTo" ; . schema:Article a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An article, such as a news article or piece of investigative report. Newspapers and magazines have articles of many different types and this is intended to cover them all.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)."^^rdf:HTML ; rdfs:label "Article" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Article-articleBody ; sh:property schema:Article-articleSection ; sh:property schema:Article-backstory ; sh:property schema:Article-pageEnd ; sh:property schema:Article-pageStart ; sh:property schema:Article-pagination ; sh:property schema:Article-speakable ; sh:property schema:Article-wordCount ; . schema:Article-articleBody a sh:PropertyShape ; sh:path schema:articleBody ; sh:datatype xsd:string ; sh:description "The actual body of the article."^^rdf:HTML ; sh:name "articleBody" ; . schema:Article-articleSection a sh:PropertyShape ; sh:path schema:articleSection ; sh:datatype xsd:string ; sh:description "Articles may belong to one or more 'sections' in a magazine or newspaper, such as Sports, Lifestyle, etc."^^rdf:HTML ; sh:name "articleSection" ; . schema:Article-backstory a sh:PropertyShape ; sh:path schema:backstory ; sh:description "For an [[Article]], typically a [[NewsArticle]], the backstory property provides a textual summary giving a brief explanation of why and how an article was created. In a journalistic setting this could include information about reporting process, methods, interviews, data sources, etc."^^rdf:HTML ; sh:name "backstory" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Article-pageEnd a sh:PropertyShape ; sh:path schema:pageEnd ; sh:description "The page on which the work ends; for example \"138\" or \"xvi\"."^^rdf:HTML ; sh:name "pageEnd" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Article-pageStart a sh:PropertyShape ; sh:path schema:pageStart ; sh:description "The page on which the work starts; for example \"135\" or \"xiii\"."^^rdf:HTML ; sh:name "pageStart" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Article-pagination a sh:PropertyShape ; sh:path schema:pagination ; sh:datatype xsd:string ; sh:description "Any description of pages that is not separated into pageStart and pageEnd; for example, \"1-6, 9, 55\" or \"10-12, 46-49\"."^^rdf:HTML ; sh:name "pagination" ; . schema:Article-speakable a sh:PropertyShape ; sh:path schema:speakable ; sh:description """Indicates sections of a Web page that are particularly 'speakable' in the sense of being highlighted as being especially appropriate for text-to-speech conversion. Other sections of a page may also be usefully spoken in particular circumstances; the 'speakable' property serves to indicate the parts most likely to be generally useful for speech. The *speakable* property can be repeated an arbitrary number of times, with three kinds of possible 'content-locator' values: 1.) *id-value* URL references - uses *id-value* of an element in the page being annotated. The simplest use of *speakable* has (potentially relative) URL values, referencing identified sections of the document concerned. 2.) CSS Selectors - addresses content in the annotated page, eg. via class attribute. Use the [[cssSelector]] property. 3.) XPaths - addresses content via XPaths (assuming an XML view of the content). Use the [[xpath]] property. For more sophisticated markup of speakable sections beyond simple ID references, either CSS selectors or XPath expressions to pick out document section(s) as speakable. For this we define a supporting type, [[SpeakableSpecification]] which is defined to be a possible value of the *speakable* property. """^^rdf:HTML ; sh:name "speakable" ; sh:or ( [ sh:class schema:SpeakableSpecification ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Article-wordCount a sh:PropertyShape ; sh:path schema:wordCount ; sh:datatype xsd:integer ; sh:description "The number of words in the text of the Article."^^rdf:HTML ; sh:name "wordCount" ; . schema:AskAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of posing a question / favor to someone.\\n\\nRelated actions:\\n\\n* [[ReplyAction]]: Appears generally as a response to AskAction."^^rdf:HTML ; rdfs:label "Ask action" ; rdfs:subClassOf schema:CommunicateAction ; sh:property schema:AskAction-question ; . schema:AskAction-question a sh:PropertyShape ; sh:path schema:question ; sh:class schema:Question ; sh:description "A sub property of object. A question."^^rdf:HTML ; sh:name "question" ; . schema:AskPublicNewsArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A [[NewsArticle]] expressing an open call by a [[NewsMediaOrganization]] asking the public for input, insights, clarifications, anecdotes, documentation, etc., on an issue, for reporting purposes."^^rdf:HTML ; rdfs:label "Ask public news article" ; rdfs:subClassOf schema:NewsArticle ; . schema:AssessAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of forming one's opinion, reaction or sentiment."^^rdf:HTML ; rdfs:label "Assess action" ; rdfs:subClassOf schema:Action ; . schema:AssignAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of allocating an action/event/task to some destination (someone or something)."^^rdf:HTML ; rdfs:label "Assign action" ; rdfs:subClassOf schema:AllocateAction ; . schema:Atlas a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A collection or bound volume of maps, charts, plates or tables, physical or in media form illustrating any subject."^^rdf:HTML ; rdfs:label "Atlas" ; rdfs:subClassOf schema:CreativeWork ; . schema:Attorney a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Professional service: Attorney. \\n\\nThis type is deprecated - [[LegalService]] is more inclusive and less ambiguous."^^rdf:HTML ; rdfs:label "Attorney" ; rdfs:subClassOf schema:LegalService ; . schema:Audience a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Intended audience for an item, i.e. the group for whom the item was created."^^rdf:HTML ; rdfs:label "Audience" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Audience-audienceType ; sh:property schema:Audience-geographicArea ; . schema:Audience-audienceType a sh:PropertyShape ; sh:path schema:audienceType ; sh:datatype xsd:string ; sh:description "The target group associated with a given audience (e.g. veterans, car owners, musicians, etc.)."^^rdf:HTML ; sh:name "audienceType" ; . schema:Audience-geographicArea a sh:PropertyShape ; sh:path schema:geographicArea ; sh:class schema:AdministrativeArea ; sh:description "The geographic area associated with the audience."^^rdf:HTML ; sh:name "geographicArea" ; . schema:AudioObject a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An audio file."^^rdf:HTML ; rdfs:label "Audio object" ; rdfs:subClassOf schema:MediaObject ; sh:property schema:AudioObject-caption ; sh:property schema:AudioObject-transcript ; . schema:AudioObject-caption a sh:PropertyShape ; sh:path schema:caption ; sh:description "The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]]."^^rdf:HTML ; sh:name "caption" ; sh:or ( [ sh:class schema:MediaObject ; ] [ sh:datatype xsd:string ; ] ) ; . schema:AudioObject-transcript a sh:PropertyShape ; sh:path schema:transcript ; sh:datatype xsd:string ; sh:description "If this MediaObject is an AudioObject or VideoObject, the transcript of that object."^^rdf:HTML ; sh:name "transcript" ; . schema:Audiobook a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An audiobook."^^rdf:HTML ; rdfs:label "Audiobook" ; rdfs:subClassOf schema:AudioObject ; rdfs:subClassOf schema:Book ; sh:property schema:Audiobook-duration ; sh:property schema:Audiobook-readBy ; . schema:Audiobook-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:Audiobook-readBy a sh:PropertyShape ; sh:path schema:readBy ; sh:class schema:Person ; sh:description "A person who reads (performs) the audiobook."^^rdf:HTML ; sh:name "readBy" ; . schema:AudiobookFormat a schema:BookFormatType ; rdfs:comment "Book format: Audiobook. This is an enumerated value for use with the bookFormat property. There is also a type 'Audiobook' in the bib extension which includes Audiobook specific properties." ; rdfs:label "Audiobook format" ; . schema:AuthoritativeLegalValue a schema:LegalValueLevel ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "Indicates that the publisher gives some special status to the publication of the document. (\"The Queens Printer\" version of a UK Act of Parliament, or the PDF version of a Directive published by the EU Office of Publications). Something \"Authoritative\" is considered to be also [[OfficialLegalValue]]\"." ; rdfs:label "Authoritative legal value" ; . schema:AuthorizeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of granting permission to an object."^^rdf:HTML ; rdfs:label "Authorize action" ; rdfs:subClassOf schema:AllocateAction ; sh:property schema:AuthorizeAction-recipient ; . schema:AuthorizeAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:AutoBodyShop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Auto body shop."^^rdf:HTML ; rdfs:label "Auto body shop" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:AutoDealer a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An car dealership."^^rdf:HTML ; rdfs:label "Auto dealer" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:AutoPartsStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An auto parts store."^^rdf:HTML ; rdfs:label "Auto parts store" ; rdfs:subClassOf schema:AutomotiveBusiness ; rdfs:subClassOf schema:Store ; . schema:AutoRental a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A car rental business."^^rdf:HTML ; rdfs:label "Auto rental" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:AutoRepair a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Car repair business."^^rdf:HTML ; rdfs:label "Auto repair" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:AutoWash a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A car wash business."^^rdf:HTML ; rdfs:label "Auto wash" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:AutomatedTeller a rdfs:Class ; a sh:NodeShape ; rdfs:comment "ATM/cash machine."^^rdf:HTML ; rdfs:label "Automated teller" ; rdfs:subClassOf schema:FinancialService ; . schema:AutomotiveBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Car repair, sales, or parts."^^rdf:HTML ; rdfs:label "Automotive business" ; rdfs:subClassOf schema:LocalBusiness ; . schema:Ayurvedic a schema:MedicineSystem ; schema:isPartOf ; rdfs:comment "A system of medicine that originated in India over thousands of years and that focuses on integrating and balancing the body, mind, and spirit." ; rdfs:label "Ayurvedic" ; . schema:BackOrder a schema:ItemAvailability ; rdfs:comment "Indicates that the item is available on back order." ; rdfs:label "Back order" ; . schema:BackgroundNewsArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A [[NewsArticle]] providing historical context, definition and detail on a specific topic (aka \"explainer\" or \"backgrounder\"). For example, an in-depth article or frequently-asked-questions ([FAQ](https://en.wikipedia.org/wiki/FAQ)) document on topics such as Climate Change or the European Union. Other kinds of background material from a non-news setting are often described using [[Book]] or [[Article]], in particular [[ScholarlyArticle]]. See also [[NewsArticle]] for related vocabulary from a learning/education perspective."^^rdf:HTML ; rdfs:label "Background news article" ; rdfs:subClassOf schema:NewsArticle ; . schema:Bacteria a schema:InfectiousAgentClass ; schema:isPartOf ; rdfs:comment "Pathogenic bacteria that cause bacterial infection." ; rdfs:label "Bacteria" ; . schema:Bakery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bakery."^^rdf:HTML ; rdfs:label "Bakery" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:Balance a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Physical activity that is engaged to help maintain posture and balance." ; rdfs:label "Balance" ; . schema:BankAccount a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A product or service offered by a bank whereby one may deposit, withdraw or transfer money and in some cases be paid interest."^^rdf:HTML ; rdfs:label "Bank account" ; rdfs:subClassOf schema:FinancialProduct ; sh:property schema:BankAccount-accountMinimumInflow ; sh:property schema:BankAccount-accountOverdraftLimit ; sh:property schema:BankAccount-bankAccountType ; . schema:BankAccount-accountMinimumInflow a sh:PropertyShape ; sh:path schema:accountMinimumInflow ; sh:class schema:MonetaryAmount ; sh:description "A minimum amount that has to be paid in every month."^^rdf:HTML ; sh:name "accountMinimumInflow" ; . schema:BankAccount-accountOverdraftLimit a sh:PropertyShape ; sh:path schema:accountOverdraftLimit ; sh:class schema:MonetaryAmount ; sh:description "An overdraft is an extension of credit from a lending institution when an account reaches zero. An overdraft allows the individual to continue withdrawing money even if the account has no funds in it. Basically the bank allows people to borrow a set amount of money."^^rdf:HTML ; sh:name "accountOverdraftLimit" ; . schema:BankAccount-bankAccountType a sh:PropertyShape ; sh:path schema:bankAccountType ; sh:description "The type of a bank account."^^rdf:HTML ; sh:name "bankAccountType" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BankOrCreditUnion a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Bank or credit union."^^rdf:HTML ; rdfs:label "Bank or credit union" ; rdfs:subClassOf schema:FinancialService ; . schema:BarOrPub a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bar or pub."^^rdf:HTML ; rdfs:label "Bar or pub" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:Barcode a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An image of a visual machine-readable code such as a barcode or QR code."^^rdf:HTML ; rdfs:label "Barcode" ; rdfs:subClassOf schema:ImageObject ; . schema:BasicIncome a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "BasicIncome: this is a benefit for basic income." ; rdfs:label "Basic income" ; . schema:Beach a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Beach."^^rdf:HTML ; rdfs:label "Beach" ; rdfs:subClassOf schema:CivicStructure ; . schema:BeautySalon a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Beauty salon."^^rdf:HTML ; rdfs:label "Beauty salon" ; rdfs:subClassOf schema:HealthAndBeautyBusiness ; . schema:BedAndBreakfast a rdfs:Class ; a sh:NodeShape ; rdfs:comment """Bed and breakfast.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Bed and breakfast" ; rdfs:subClassOf schema:LodgingBusiness ; . schema:BedDetails a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An entity holding detailed information about the available bed types, e.g. the quantity of twin beds for a hotel room. For the single case of just one bed of a certain type, you can use bed directly with a text. See also [[BedType]] (under development)."^^rdf:HTML ; rdfs:label "Bed details" ; rdfs:subClassOf schema:Intangible ; sh:property schema:BedDetails-numberOfBeds ; sh:property schema:BedDetails-typeOfBed ; . schema:BedDetails-numberOfBeds a sh:PropertyShape ; sh:path schema:numberOfBeds ; sh:datatype xsd:float ; sh:description "The quantity of the given bed type available in the HotelRoom, Suite, House, or Apartment."^^rdf:HTML ; sh:name "numberOfBeds" ; . schema:BedDetails-typeOfBed a sh:PropertyShape ; sh:path schema:typeOfBed ; sh:description "The type of bed to which the BedDetail refers, i.e. the type of bed available in the quantity indicated by quantity."^^rdf:HTML ; sh:name "typeOfBed" ; sh:or ( [ sh:class schema:BedType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BedType a rdfs:Class ; a sh:NodeShape ; schema:source ; schema:source ; rdfs:comment "A type of bed. This is used for indicating the bed or beds available in an accommodation."^^rdf:HTML ; rdfs:label "Bed type" ; rdfs:subClassOf schema:QualitativeValue ; . schema:BefriendAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of forming a personal connection with someone (object) mutually/bidirectionally/symmetrically.\\n\\nRelated actions:\\n\\n* [[FollowAction]]: Unlike FollowAction, BefriendAction implies that the connection is reciprocal."^^rdf:HTML ; rdfs:label "Befriend action" ; rdfs:subClassOf schema:InteractAction ; . schema:BenefitsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about the benefits and advantages of usage or utilization of topic." ; rdfs:label "Benefits health aspect" ; . schema:BikeStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bike store."^^rdf:HTML ; rdfs:label "Bike store" ; rdfs:subClassOf schema:Store ; . schema:Blog a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A blog."^^rdf:HTML ; rdfs:label "Blog" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Blog-blogPost ; sh:property schema:Blog-blogPosts ; sh:property schema:Blog-issn ; . schema:Blog-blogPost a sh:PropertyShape ; sh:path schema:blogPost ; sh:class schema:BlogPosting ; sh:description "A posting that is part of this blog."^^rdf:HTML ; sh:name "blogPost" ; . schema:Blog-blogPosts a sh:PropertyShape ; sh:path schema:blogPosts ; sh:class schema:BlogPosting ; sh:description "The postings that are part of this blog."^^rdf:HTML ; sh:name "blogPosts" ; . schema:Blog-issn a sh:PropertyShape ; sh:path schema:issn ; sh:datatype xsd:string ; sh:description "The International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication."^^rdf:HTML ; sh:name "issn" ; . schema:BlogPosting a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A blog post."^^rdf:HTML ; rdfs:label "Blog posting" ; rdfs:subClassOf schema:SocialMediaPosting ; . schema:BloodTest a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical test performed on a sample of a patient's blood."^^rdf:HTML ; rdfs:label "Blood test" ; rdfs:subClassOf schema:MedicalTest ; . schema:BoardingPolicyType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A type of boarding policy used by an airline."^^rdf:HTML ; rdfs:label "Boarding policy type" ; rdfs:subClassOf schema:Enumeration ; . schema:BoatReservation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A reservation for boat travel. Note: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]."""^^rdf:HTML ; rdfs:label "Boat reservation" ; rdfs:subClassOf schema:Reservation ; . schema:BoatTerminal a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A terminal for boats, ships, and other water vessels."^^rdf:HTML ; rdfs:label "Boat terminal" ; rdfs:subClassOf schema:CivicStructure ; . schema:BoatTrip a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A trip on a commercial ferry line."^^rdf:HTML ; rdfs:label "Boat trip" ; rdfs:subClassOf schema:Trip ; sh:property schema:BoatTrip-arrivalBoatTerminal ; sh:property schema:BoatTrip-departureBoatTerminal ; . schema:BoatTrip-arrivalBoatTerminal a sh:PropertyShape ; sh:path schema:arrivalBoatTerminal ; sh:class schema:BoatTerminal ; sh:description "The terminal or port from which the boat arrives."^^rdf:HTML ; sh:name "arrivalBoatTerminal" ; . schema:BoatTrip-departureBoatTerminal a sh:PropertyShape ; sh:path schema:departureBoatTerminal ; sh:class schema:BoatTerminal ; sh:description "The terminal or port from which the boat departs."^^rdf:HTML ; sh:name "departureBoatTerminal" ; . schema:BodyMeasurementArm a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Arm length (measured between arms/shoulder line intersection and the prominent wrist bone). Used, for example, to fit shirts." ; rdfs:label "Body measurement arm" ; . schema:BodyMeasurementBust a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Maximum girth of bust. Used, for example, to fit women's suits." ; rdfs:label "Body measurement bust" ; . schema:BodyMeasurementChest a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Maximum girth of chest. Used, for example, to fit men's suits." ; rdfs:label "Body measurement chest" ; . schema:BodyMeasurementFoot a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Foot length (measured between end of the most prominent toe and the most prominent part of the heel). Used, for example, to measure socks." ; rdfs:label "Body measurement foot" ; . schema:BodyMeasurementHand a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Maximum hand girth (measured over the knuckles of the open right hand excluding thumb, fingers together). Used, for example, to fit gloves." ; rdfs:label "Body measurement hand" ; . schema:BodyMeasurementHead a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Maximum girth of head above the ears. Used, for example, to fit hats." ; rdfs:label "Body measurement head" ; . schema:BodyMeasurementHeight a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Body height (measured between crown of head and soles of feet). Used, for example, to fit jackets." ; rdfs:label "Body measurement height" ; . schema:BodyMeasurementHips a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Girth of hips (measured around the buttocks). Used, for example, to fit skirts." ; rdfs:label "Body measurement hips" ; . schema:BodyMeasurementInsideLeg a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Inside leg (measured between crotch and soles of feet). Used, for example, to fit pants." ; rdfs:label "Body measurement inside leg" ; . schema:BodyMeasurementNeck a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Girth of neck. Used, for example, to fit shirts." ; rdfs:label "Body measurement neck" ; . schema:BodyMeasurementTypeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates types (or dimensions) of a person's body measurements, for example for fitting of clothes."^^rdf:HTML ; rdfs:label "Body measurement type enumeration" ; rdfs:subClassOf schema:MeasurementTypeEnumeration ; . schema:BodyMeasurementUnderbust a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Girth of body just below the bust. Used, for example, to fit women's swimwear." ; rdfs:label "Body measurement underbust" ; . schema:BodyMeasurementWaist a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Girth of natural waistline (between hip bones and lower ribs). Used, for example, to fit pants." ; rdfs:label "Body measurement waist" ; . schema:BodyMeasurementWeight a schema:BodyMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Body weight. Used, for example, to measure pantyhose." ; rdfs:label "Body measurement weight" ; . schema:BodyOfWater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A body of water, such as a sea, ocean, or lake."^^rdf:HTML ; rdfs:label "Body of water" ; rdfs:subClassOf schema:Landform ; . schema:Bone a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Rigid connective tissue that comprises up the skeletal structure of the human body."^^rdf:HTML ; rdfs:label "Bone" ; rdfs:subClassOf schema:AnatomicalStructure ; . schema:Book a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A book."^^rdf:HTML ; rdfs:label "Book" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Book-abridged ; sh:property schema:Book-bookEdition ; sh:property schema:Book-bookFormat ; sh:property schema:Book-illustrator ; sh:property schema:Book-isbn ; sh:property schema:Book-numberOfPages ; . schema:Book-abridged a sh:PropertyShape ; sh:path schema:abridged ; sh:datatype xsd:boolean ; sh:description "Indicates whether the book is an abridged edition."^^rdf:HTML ; sh:name "abridged" ; . schema:Book-bookEdition a sh:PropertyShape ; sh:path schema:bookEdition ; sh:datatype xsd:string ; sh:description "The edition of the book."^^rdf:HTML ; sh:name "bookEdition" ; . schema:Book-bookFormat a sh:PropertyShape ; sh:path schema:bookFormat ; sh:class schema:BookFormatType ; sh:description "The format of the book."^^rdf:HTML ; sh:name "bookFormat" ; . schema:Book-illustrator a sh:PropertyShape ; sh:path schema:illustrator ; sh:class schema:Person ; sh:description "The illustrator of the book."^^rdf:HTML ; sh:name "illustrator" ; . schema:Book-isbn a sh:PropertyShape ; sh:path schema:isbn ; sh:datatype xsd:string ; sh:description "The ISBN of the book."^^rdf:HTML ; sh:name "isbn" ; . schema:Book-numberOfPages a sh:PropertyShape ; sh:path schema:numberOfPages ; sh:datatype xsd:integer ; sh:description "The number of pages in the book."^^rdf:HTML ; sh:name "numberOfPages" ; . schema:BookFormatType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The publication format of the book."^^rdf:HTML ; rdfs:label "Book format type" ; rdfs:subClassOf schema:Enumeration ; . schema:BookSeries a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A series of books. Included books can be indicated with the hasPart property."^^rdf:HTML ; rdfs:label "Book series" ; rdfs:subClassOf schema:CreativeWorkSeries ; . schema:BookStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bookstore."^^rdf:HTML ; rdfs:label "Book store" ; rdfs:subClassOf schema:Store ; . schema:BookmarkAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent bookmarks/flags/labels/tags/marks an object."^^rdf:HTML ; rdfs:label "Bookmark action" ; rdfs:subClassOf schema:OrganizeAction ; . schema:Boolean a schema:DataType ; a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Boolean: True or False."^^rdf:HTML ; rdfs:label "Boolean" ; rdfs:subClassOf rdfs:Resource ; . schema:BorrowAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of obtaining an object under an agreement to return it at a later date. Reciprocal of LendAction.\\n\\nRelated actions:\\n\\n* [[LendAction]]: Reciprocal of BorrowAction."^^rdf:HTML ; rdfs:label "Borrow action" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:BorrowAction-lender ; . schema:BorrowAction-lender a sh:PropertyShape ; sh:path schema:lender ; sh:description "A sub property of participant. The person that lends the object being borrowed."^^rdf:HTML ; sh:name "lender" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:BowlingAlley a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bowling alley."^^rdf:HTML ; rdfs:label "Bowling alley" ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:BrainStructure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any anatomical structure which pertains to the soft nervous tissue functioning as the coordinating center of sensation and intellectual and nervous activity."^^rdf:HTML ; rdfs:label "Brain structure" ; rdfs:subClassOf schema:AnatomicalStructure ; . schema:Brand a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A brand is a name used by an organization or business person for labeling a product, product group, or similar."^^rdf:HTML ; rdfs:label "Brand" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Brand-aggregateRating ; sh:property schema:Brand-logo ; sh:property schema:Brand-review ; sh:property schema:Brand-slogan ; . schema:Brand-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Brand-logo a sh:PropertyShape ; sh:path schema:logo ; sh:description "An associated logo."^^rdf:HTML ; sh:name "logo" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Brand-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Brand-slogan a sh:PropertyShape ; sh:path schema:slogan ; sh:datatype xsd:string ; sh:description "A slogan or motto associated with the item."^^rdf:HTML ; sh:name "slogan" ; . schema:BreadcrumbList a rdfs:Class ; a sh:NodeShape ; rdfs:comment """A BreadcrumbList is an ItemList consisting of a chain of linked Web pages, typically described using at least their URL and their name, and typically ending with the current page.\\n\\nThe [[position]] property is used to reconstruct the order of the items in a BreadcrumbList The convention is that a breadcrumb list has an [[itemListOrder]] of [[ItemListOrderAscending]] (lower values listed first), and that the first items in this list correspond to the \"top\" or beginning of the breadcrumb trail, e.g. with a site or section homepage. The specific values of 'position' are not assigned meaning for a BreadcrumbList, but they should be integers, e.g. beginning with '1' for the first item in the list. """^^rdf:HTML ; rdfs:label "Breadcrumb list" ; rdfs:subClassOf schema:ItemList ; . schema:Brewery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Brewery."^^rdf:HTML ; rdfs:label "Brewery" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:Bridge a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bridge."^^rdf:HTML ; rdfs:label "Bridge" ; rdfs:subClassOf schema:CivicStructure ; . schema:BroadcastChannel a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A unique instance of a BroadcastService on a CableOrSatelliteService lineup."^^rdf:HTML ; rdfs:label "Broadcast channel" ; rdfs:subClassOf schema:Intangible ; sh:property schema:BroadcastChannel-broadcastChannelId ; sh:property schema:BroadcastChannel-broadcastFrequency ; sh:property schema:BroadcastChannel-broadcastServiceTier ; sh:property schema:BroadcastChannel-genre ; sh:property schema:BroadcastChannel-inBroadcastLineup ; sh:property schema:BroadcastChannel-providesBroadcastService ; . schema:BroadcastChannel-broadcastChannelId a sh:PropertyShape ; sh:path schema:broadcastChannelId ; sh:datatype xsd:string ; sh:description "The unique address by which the BroadcastService can be identified in a provider lineup. In US, this is typically a number."^^rdf:HTML ; sh:name "broadcastChannelId" ; . schema:BroadcastChannel-broadcastFrequency a sh:PropertyShape ; sh:path schema:broadcastFrequency ; sh:description "The frequency used for over-the-air broadcasts. Numeric values or simple ranges e.g. 87-99. In addition a shortcut idiom is supported for frequences of AM and FM radio channels, e.g. \"87 FM\"."^^rdf:HTML ; sh:name "broadcastFrequency" ; sh:or ( [ sh:class schema:BroadcastFrequencySpecification ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BroadcastChannel-broadcastServiceTier a sh:PropertyShape ; sh:path schema:broadcastServiceTier ; sh:datatype xsd:string ; sh:description "The type of service required to have access to the channel (e.g. Standard or Premium)."^^rdf:HTML ; sh:name "broadcastServiceTier" ; . schema:BroadcastChannel-genre a sh:PropertyShape ; sh:path schema:genre ; sh:description "Genre of the creative work, broadcast channel or group."^^rdf:HTML ; sh:name "genre" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BroadcastChannel-inBroadcastLineup a sh:PropertyShape ; sh:path schema:inBroadcastLineup ; sh:class schema:CableOrSatelliteService ; sh:description "The CableOrSatelliteService offering the channel."^^rdf:HTML ; sh:name "inBroadcastLineup" ; . schema:BroadcastChannel-providesBroadcastService a sh:PropertyShape ; sh:path schema:providesBroadcastService ; sh:class schema:BroadcastService ; sh:description "The BroadcastService offered on this channel."^^rdf:HTML ; sh:name "providesBroadcastService" ; . schema:BroadcastEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An over the air or online broadcast event."^^rdf:HTML ; rdfs:label "Broadcast event" ; rdfs:subClassOf schema:PublicationEvent ; sh:property schema:BroadcastEvent-broadcastOfEvent ; sh:property schema:BroadcastEvent-isLiveBroadcast ; sh:property schema:BroadcastEvent-subtitleLanguage ; sh:property schema:BroadcastEvent-videoFormat ; . schema:BroadcastEvent-broadcastOfEvent a sh:PropertyShape ; sh:path schema:broadcastOfEvent ; sh:class schema:Event ; sh:description "The event being broadcast such as a sporting event or awards ceremony."^^rdf:HTML ; sh:name "broadcastOfEvent" ; . schema:BroadcastEvent-isLiveBroadcast a sh:PropertyShape ; sh:path schema:isLiveBroadcast ; sh:datatype xsd:boolean ; sh:description "True if the broadcast is of a live event."^^rdf:HTML ; sh:name "isLiveBroadcast" ; . schema:BroadcastEvent-subtitleLanguage a sh:PropertyShape ; sh:path schema:subtitleLanguage ; sh:description "Languages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47)."^^rdf:HTML ; sh:name "subtitleLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BroadcastEvent-videoFormat a sh:PropertyShape ; sh:path schema:videoFormat ; sh:datatype xsd:string ; sh:description "The type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.)."^^rdf:HTML ; sh:name "videoFormat" ; . schema:BroadcastFrequencySpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The frequency in MHz and the modulation used for a particular BroadcastService."^^rdf:HTML ; rdfs:label "Broadcast frequency specification" ; rdfs:subClassOf schema:Intangible ; sh:property schema:BroadcastFrequencySpecification-broadcastFrequencyValue ; sh:property schema:BroadcastFrequencySpecification-broadcastSignalModulation ; sh:property schema:BroadcastFrequencySpecification-broadcastSubChannel ; . schema:BroadcastFrequencySpecification-broadcastFrequencyValue a sh:PropertyShape ; sh:path schema:broadcastFrequencyValue ; sh:description "The frequency in MHz for a particular broadcast."^^rdf:HTML ; sh:name "broadcastFrequencyValue" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:BroadcastFrequencySpecification-broadcastSignalModulation a sh:PropertyShape ; sh:path schema:broadcastSignalModulation ; sh:description "The modulation (e.g. FM, AM, etc) used by a particular broadcast service."^^rdf:HTML ; sh:name "broadcastSignalModulation" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BroadcastFrequencySpecification-broadcastSubChannel a sh:PropertyShape ; sh:path schema:broadcastSubChannel ; sh:datatype xsd:string ; sh:description "The subchannel used for the broadcast."^^rdf:HTML ; sh:name "broadcastSubChannel" ; . schema:BroadcastRelease a schema:MusicAlbumReleaseType ; schema:source ; rdfs:comment "BroadcastRelease." ; rdfs:label "Broadcast release" ; . schema:BroadcastService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A delivery service through which content is provided via broadcast over the air or online."^^rdf:HTML ; rdfs:label "Broadcast service" ; rdfs:subClassOf schema:Service ; sh:property schema:BroadcastService-area ; sh:property schema:BroadcastService-broadcastAffiliateOf ; sh:property schema:BroadcastService-broadcastDisplayName ; sh:property schema:BroadcastService-broadcastFrequency ; sh:property schema:BroadcastService-broadcastTimezone ; sh:property schema:BroadcastService-broadcaster ; sh:property schema:BroadcastService-callSign ; sh:property schema:BroadcastService-hasBroadcastChannel ; sh:property schema:BroadcastService-inLanguage ; sh:property schema:BroadcastService-parentService ; sh:property schema:BroadcastService-videoFormat ; . schema:BroadcastService-area a sh:PropertyShape ; sh:path schema:area ; sh:class schema:Place ; sh:description "The area within which users can expect to reach the broadcast service."^^rdf:HTML ; sh:name "area" ; . schema:BroadcastService-broadcastAffiliateOf a sh:PropertyShape ; sh:path schema:broadcastAffiliateOf ; sh:class schema:Organization ; sh:description "The media network(s) whose content is broadcast on this station."^^rdf:HTML ; sh:name "broadcastAffiliateOf" ; . schema:BroadcastService-broadcastDisplayName a sh:PropertyShape ; sh:path schema:broadcastDisplayName ; sh:datatype xsd:string ; sh:description "The name displayed in the channel guide. For many US affiliates, it is the network name."^^rdf:HTML ; sh:name "broadcastDisplayName" ; . schema:BroadcastService-broadcastFrequency a sh:PropertyShape ; sh:path schema:broadcastFrequency ; sh:description "The frequency used for over-the-air broadcasts. Numeric values or simple ranges e.g. 87-99. In addition a shortcut idiom is supported for frequences of AM and FM radio channels, e.g. \"87 FM\"."^^rdf:HTML ; sh:name "broadcastFrequency" ; sh:or ( [ sh:class schema:BroadcastFrequencySpecification ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BroadcastService-broadcastTimezone a sh:PropertyShape ; sh:path schema:broadcastTimezone ; sh:datatype xsd:string ; sh:description "The timezone in [ISO 8601 format](http://en.wikipedia.org/wiki/ISO_8601) for which the service bases its broadcasts"^^rdf:HTML ; sh:name "broadcastTimezone" ; . schema:BroadcastService-broadcaster a sh:PropertyShape ; sh:path schema:broadcaster ; sh:class schema:Organization ; sh:description "The organization owning or operating the broadcast service."^^rdf:HTML ; sh:name "broadcaster" ; . schema:BroadcastService-callSign a sh:PropertyShape ; sh:path schema:callSign ; sh:datatype xsd:string ; sh:description "A [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles."^^rdf:HTML ; sh:name "callSign" ; . schema:BroadcastService-hasBroadcastChannel a sh:PropertyShape ; sh:path schema:hasBroadcastChannel ; sh:class schema:BroadcastChannel ; sh:description "A broadcast channel of a broadcast service."^^rdf:HTML ; sh:name "hasBroadcastChannel" ; . schema:BroadcastService-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:BroadcastService-parentService a sh:PropertyShape ; sh:path schema:parentService ; sh:class schema:BroadcastService ; sh:description "A broadcast service to which the broadcast service may belong to such as regional variations of a national channel."^^rdf:HTML ; sh:name "parentService" ; . schema:BroadcastService-videoFormat a sh:PropertyShape ; sh:path schema:videoFormat ; sh:datatype xsd:string ; sh:description "The type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.)."^^rdf:HTML ; sh:name "videoFormat" ; . schema:BrokerageAccount a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "An account that allows an investor to deposit funds and place investment orders with a licensed broker or brokerage firm."^^rdf:HTML ; rdfs:label "Brokerage account" ; rdfs:subClassOf schema:InvestmentOrDeposit ; . schema:BuddhistTemple a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A Buddhist temple."^^rdf:HTML ; rdfs:label "Buddhist temple" ; rdfs:subClassOf schema:PlaceOfWorship ; . schema:BusOrCoach a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A bus (also omnibus or autobus) is a road vehicle designed to carry passengers. Coaches are luxury busses, usually in service for long distance travel."^^rdf:HTML ; rdfs:label "Bus or coach" ; rdfs:subClassOf schema:Vehicle ; sh:property schema:BusOrCoach-acrissCode ; sh:property schema:BusOrCoach-roofLoad ; . schema:BusOrCoach-acrissCode a sh:PropertyShape ; sh:path schema:acrissCode ; sh:datatype xsd:string ; sh:description "The ACRISS Car Classification Code is a code used by many car rental companies, for classifying vehicles. ACRISS stands for Association of Car Rental Industry Systems and Standards."^^rdf:HTML ; sh:name "acrissCode" ; . schema:BusOrCoach-roofLoad a sh:PropertyShape ; sh:path schema:roofLoad ; sh:class schema:QuantitativeValue ; sh:description "The permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]]\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "roofLoad" ; . schema:BusReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for bus travel. \\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]."^^rdf:HTML ; rdfs:label "Bus reservation" ; rdfs:subClassOf schema:Reservation ; . schema:BusStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bus station."^^rdf:HTML ; rdfs:label "Bus station" ; rdfs:subClassOf schema:CivicStructure ; . schema:BusStop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A bus stop."^^rdf:HTML ; rdfs:label "Bus stop" ; rdfs:subClassOf schema:CivicStructure ; . schema:BusTrip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A trip on a commercial bus line."^^rdf:HTML ; rdfs:label "Bus trip" ; rdfs:subClassOf schema:Trip ; sh:property schema:BusTrip-arrivalBusStop ; sh:property schema:BusTrip-busName ; sh:property schema:BusTrip-busNumber ; sh:property schema:BusTrip-departureBusStop ; . schema:BusTrip-arrivalBusStop a sh:PropertyShape ; sh:path schema:arrivalBusStop ; sh:description "The stop or station from which the bus arrives."^^rdf:HTML ; sh:name "arrivalBusStop" ; sh:or ( [ sh:class schema:BusStation ; ] [ sh:class schema:BusStop ; ] ) ; . schema:BusTrip-busName a sh:PropertyShape ; sh:path schema:busName ; sh:datatype xsd:string ; sh:description "The name of the bus (e.g. Bolt Express)."^^rdf:HTML ; sh:name "busName" ; . schema:BusTrip-busNumber a sh:PropertyShape ; sh:path schema:busNumber ; sh:datatype xsd:string ; sh:description "The unique identifier for the bus."^^rdf:HTML ; sh:name "busNumber" ; . schema:BusTrip-departureBusStop a sh:PropertyShape ; sh:path schema:departureBusStop ; sh:description "The stop or station from which the bus departs."^^rdf:HTML ; sh:name "departureBusStop" ; sh:or ( [ sh:class schema:BusStation ; ] [ sh:class schema:BusStop ; ] ) ; . schema:BusinessAudience a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A set of characteristics belonging to businesses, e.g. who compose an item's target audience."^^rdf:HTML ; rdfs:label "Business audience" ; rdfs:subClassOf schema:Audience ; sh:property schema:BusinessAudience-numberOfEmployees ; sh:property schema:BusinessAudience-yearlyRevenue ; sh:property schema:BusinessAudience-yearsInOperation ; . schema:BusinessAudience-numberOfEmployees a sh:PropertyShape ; sh:path schema:numberOfEmployees ; sh:class schema:QuantitativeValue ; sh:description "The number of employees in an organization e.g. business."^^rdf:HTML ; sh:name "numberOfEmployees" ; . schema:BusinessAudience-yearlyRevenue a sh:PropertyShape ; sh:path schema:yearlyRevenue ; sh:class schema:QuantitativeValue ; sh:description "The size of the business in annual revenue."^^rdf:HTML ; sh:name "yearlyRevenue" ; . schema:BusinessAudience-yearsInOperation a sh:PropertyShape ; sh:path schema:yearsInOperation ; sh:class schema:QuantitativeValue ; sh:description "The age of the business."^^rdf:HTML ; sh:name "yearsInOperation" ; . schema:BusinessEntityType a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A business entity type is a conceptual entity representing the legal form, the size, the main line of business, the position in the value chain, or any combination thereof, of an organization or business person.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#Business\\n* http://purl.org/goodrelations/v1#Enduser\\n* http://purl.org/goodrelations/v1#PublicInstitution\\n* http://purl.org/goodrelations/v1#Reseller """^^rdf:HTML ; rdfs:label "Business entity type" ; rdfs:subClassOf schema:Enumeration ; . schema:BusinessEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Business event."^^rdf:HTML ; rdfs:label "Business event" ; rdfs:subClassOf schema:Event ; . schema:BusinessFunction a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """The business function specifies the type of activity or access (i.e., the bundle of rights) offered by the organization or business person through the offer. Typical are sell, rental or lease, maintenance or repair, manufacture / produce, recycle / dispose, engineering / construction, or installation. Proprietary specifications of access rights are also instances of this class.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#ConstructionInstallation\\n* http://purl.org/goodrelations/v1#Dispose\\n* http://purl.org/goodrelations/v1#LeaseOut\\n* http://purl.org/goodrelations/v1#Maintain\\n* http://purl.org/goodrelations/v1#ProvideService\\n* http://purl.org/goodrelations/v1#Repair\\n* http://purl.org/goodrelations/v1#Sell\\n* http://purl.org/goodrelations/v1#Buy """^^rdf:HTML ; rdfs:label "Business function" ; rdfs:subClassOf schema:Enumeration ; . schema:BusinessSupport a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "BusinessSupport: this is a benefit for supporting businesses." ; rdfs:label "Business support" ; . schema:BuyAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of giving money to a seller in exchange for goods or services rendered. An agent buys an object, product, or service from a seller for a price. Reciprocal of SellAction."^^rdf:HTML ; rdfs:label "Buy action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:BuyAction-seller ; sh:property schema:BuyAction-vendor ; sh:property schema:BuyAction-warrantyPromise ; . schema:BuyAction-seller a sh:PropertyShape ; sh:path schema:seller ; sh:description "An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider."^^rdf:HTML ; sh:name "seller" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:BuyAction-vendor a sh:PropertyShape ; sh:path schema:vendor ; sh:description "'vendor' is an earlier term for 'seller'."^^rdf:HTML ; sh:name "vendor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:BuyAction-warrantyPromise a sh:PropertyShape ; sh:path schema:warrantyPromise ; sh:class schema:WarrantyPromise ; sh:description "The warranty promise(s) included in the offer."^^rdf:HTML ; sh:name "warrantyPromise" ; . schema:CDCPMDRecord a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A CDCPMDRecord is a data structure representing a record in a CDC tabular data format used for hospital data reporting. See [documentation](/docs/cdc-covid.html) for details, and the linked CDC materials for authoritative definitions used as the source here. """^^rdf:HTML ; rdfs:label "CDCPMDRecord" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:CDCPMDRecord-cvdCollectionDate ; sh:property schema:CDCPMDRecord-cvdFacilityCounty ; sh:property schema:CDCPMDRecord-cvdFacilityId ; sh:property schema:CDCPMDRecord-cvdNumBeds ; sh:property schema:CDCPMDRecord-cvdNumBedsOcc ; sh:property schema:CDCPMDRecord-cvdNumC19Died ; sh:property schema:CDCPMDRecord-cvdNumC19HOPats ; sh:property schema:CDCPMDRecord-cvdNumC19HospPats ; sh:property schema:CDCPMDRecord-cvdNumC19MechVentPats ; sh:property schema:CDCPMDRecord-cvdNumC19OFMechVentPats ; sh:property schema:CDCPMDRecord-cvdNumC19OverflowPats ; sh:property schema:CDCPMDRecord-cvdNumICUBeds ; sh:property schema:CDCPMDRecord-cvdNumICUBedsOcc ; sh:property schema:CDCPMDRecord-cvdNumTotBeds ; sh:property schema:CDCPMDRecord-cvdNumVent ; sh:property schema:CDCPMDRecord-cvdNumVentUse ; sh:property schema:CDCPMDRecord-datePosted ; . schema:CDCPMDRecord-cvdCollectionDate a sh:PropertyShape ; sh:path schema:cvdCollectionDate ; sh:description "collectiondate - Date for which patient counts are reported."^^rdf:HTML ; sh:name "cvdCollectionDate" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CDCPMDRecord-cvdFacilityCounty a sh:PropertyShape ; sh:path schema:cvdFacilityCounty ; sh:datatype xsd:string ; sh:description "Name of the County of the NHSN facility that this data record applies to. Use [[cvdFacilityId]] to identify the facility. To provide other details, [[healthcareReportingData]] can be used on a [[Hospital]] entry."^^rdf:HTML ; sh:name "cvdFacilityCounty" ; . schema:CDCPMDRecord-cvdFacilityId a sh:PropertyShape ; sh:path schema:cvdFacilityId ; sh:datatype xsd:string ; sh:description "Identifier of the NHSN facility that this data record applies to. Use [[cvdFacilityCounty]] to indicate the county. To provide other details, [[healthcareReportingData]] can be used on a [[Hospital]] entry."^^rdf:HTML ; sh:name "cvdFacilityId" ; . schema:CDCPMDRecord-cvdNumBeds a sh:PropertyShape ; sh:path schema:cvdNumBeds ; sh:datatype xsd:float ; sh:description "numbeds - HOSPITAL INPATIENT BEDS: Inpatient beds, including all staffed, licensed, and overflow (surge) beds used for inpatients."^^rdf:HTML ; sh:name "cvdNumBeds" ; . schema:CDCPMDRecord-cvdNumBedsOcc a sh:PropertyShape ; sh:path schema:cvdNumBedsOcc ; sh:datatype xsd:float ; sh:description "numbedsocc - HOSPITAL INPATIENT BED OCCUPANCY: Total number of staffed inpatient beds that are occupied."^^rdf:HTML ; sh:name "cvdNumBedsOcc" ; . schema:CDCPMDRecord-cvdNumC19Died a sh:PropertyShape ; sh:path schema:cvdNumC19Died ; sh:datatype xsd:float ; sh:description "numc19died - DEATHS: Patients with suspected or confirmed COVID-19 who died in the hospital, ED, or any overflow location."^^rdf:HTML ; sh:name "cvdNumC19Died" ; . schema:CDCPMDRecord-cvdNumC19HOPats a sh:PropertyShape ; sh:path schema:cvdNumC19HOPats ; sh:datatype xsd:float ; sh:description "numc19hopats - HOSPITAL ONSET: Patients hospitalized in an NHSN inpatient care location with onset of suspected or confirmed COVID-19 14 or more days after hospitalization."^^rdf:HTML ; sh:name "cvdNumC19HOPats" ; . schema:CDCPMDRecord-cvdNumC19HospPats a sh:PropertyShape ; sh:path schema:cvdNumC19HospPats ; sh:datatype xsd:float ; sh:description "numc19hosppats - HOSPITALIZED: Patients currently hospitalized in an inpatient care location who have suspected or confirmed COVID-19."^^rdf:HTML ; sh:name "cvdNumC19HospPats" ; . schema:CDCPMDRecord-cvdNumC19MechVentPats a sh:PropertyShape ; sh:path schema:cvdNumC19MechVentPats ; sh:datatype xsd:float ; sh:description "numc19mechventpats - HOSPITALIZED and VENTILATED: Patients hospitalized in an NHSN inpatient care location who have suspected or confirmed COVID-19 and are on a mechanical ventilator."^^rdf:HTML ; sh:name "cvdNumC19MechVentPats" ; . schema:CDCPMDRecord-cvdNumC19OFMechVentPats a sh:PropertyShape ; sh:path schema:cvdNumC19OFMechVentPats ; sh:datatype xsd:float ; sh:description "numc19ofmechventpats - ED/OVERFLOW and VENTILATED: Patients with suspected or confirmed COVID-19 who are in the ED or any overflow location awaiting an inpatient bed and on a mechanical ventilator."^^rdf:HTML ; sh:name "cvdNumC19OFMechVentPats" ; . schema:CDCPMDRecord-cvdNumC19OverflowPats a sh:PropertyShape ; sh:path schema:cvdNumC19OverflowPats ; sh:datatype xsd:float ; sh:description "numc19overflowpats - ED/OVERFLOW: Patients with suspected or confirmed COVID-19 who are in the ED or any overflow location awaiting an inpatient bed."^^rdf:HTML ; sh:name "cvdNumC19OverflowPats" ; . schema:CDCPMDRecord-cvdNumICUBeds a sh:PropertyShape ; sh:path schema:cvdNumICUBeds ; sh:datatype xsd:float ; sh:description "numicubeds - ICU BEDS: Total number of staffed inpatient intensive care unit (ICU) beds."^^rdf:HTML ; sh:name "cvdNumICUBeds" ; . schema:CDCPMDRecord-cvdNumICUBedsOcc a sh:PropertyShape ; sh:path schema:cvdNumICUBedsOcc ; sh:datatype xsd:float ; sh:description "numicubedsocc - ICU BED OCCUPANCY: Total number of staffed inpatient ICU beds that are occupied."^^rdf:HTML ; sh:name "cvdNumICUBedsOcc" ; . schema:CDCPMDRecord-cvdNumTotBeds a sh:PropertyShape ; sh:path schema:cvdNumTotBeds ; sh:datatype xsd:float ; sh:description "numtotbeds - ALL HOSPITAL BEDS: Total number of all Inpatient and outpatient beds, including all staffed,ICU, licensed, and overflow (surge) beds used for inpatients or outpatients."^^rdf:HTML ; sh:name "cvdNumTotBeds" ; . schema:CDCPMDRecord-cvdNumVent a sh:PropertyShape ; sh:path schema:cvdNumVent ; sh:datatype xsd:float ; sh:description "numvent - MECHANICAL VENTILATORS: Total number of ventilators available."^^rdf:HTML ; sh:name "cvdNumVent" ; . schema:CDCPMDRecord-cvdNumVentUse a sh:PropertyShape ; sh:path schema:cvdNumVentUse ; sh:datatype xsd:float ; sh:description "numventuse - MECHANICAL VENTILATORS IN USE: Total number of ventilators in use."^^rdf:HTML ; sh:name "cvdNumVentUse" ; . schema:CDCPMDRecord-datePosted a sh:PropertyShape ; sh:path schema:datePosted ; sh:description "Publication date of an online listing."^^rdf:HTML ; sh:name "datePosted" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CDFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "CDFormat." ; rdfs:label "CDFormat" ; . schema:CT a schema:MedicalImagingTechnique ; schema:isPartOf ; rdfs:comment "X-ray computed tomography imaging." ; rdfs:label "CT" ; . schema:CableOrSatelliteService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A service which provides access to media programming like TV or radio. Access may be via cable or satellite."^^rdf:HTML ; rdfs:label "Cable or satellite service" ; rdfs:subClassOf schema:Service ; . schema:CafeOrCoffeeShop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A cafe or coffee shop."^^rdf:HTML ; rdfs:label "Cafe or coffee shop" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:Campground a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A camping site, campsite, or [[Campground]] is a place used for overnight stay in the outdoors, typically containing individual [[CampingPitch]] locations. \\n\\n In British English a campsite is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites (Source: Wikipedia see [https://en.wikipedia.org/wiki/Campsite](https://en.wikipedia.org/wiki/Campsite)).\\n\\n See also the dedicated [document on the use of schema.org for marking up hotels and other forms of accommodations](/docs/hotels.html). """^^rdf:HTML ; rdfs:label "Campground" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:LodgingBusiness ; . schema:CampingPitch a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A [[CampingPitch]] is an individual place for overnight stay in the outdoors, typically being part of a larger camping site, or [[Campground]].\\n\\n In British English a campsite, or campground, is an area, usually divided into a number of pitches, where people can camp overnight using tents or camper vans or caravans; this British English use of the word is synonymous with the American English expression campground. In American English the term campsite generally means an area where an individual, family, group, or military unit can pitch a tent or park a camper; a campground may contain many campsites. (Source: Wikipedia see [https://en.wikipedia.org/wiki/Campsite](https://en.wikipedia.org/wiki/Campsite)).\\n\\n See also the dedicated [document on the use of schema.org for marking up hotels and other forms of accommodations](/docs/hotels.html). """^^rdf:HTML ; rdfs:label "Camping pitch" ; rdfs:subClassOf schema:Accommodation ; . schema:Canal a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A canal, like the Panama Canal."^^rdf:HTML ; rdfs:label "Canal" ; rdfs:subClassOf schema:BodyOfWater ; . schema:CancelAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of asserting that a future event/action is no longer going to happen.\\n\\nRelated actions:\\n\\n* [[ConfirmAction]]: The antonym of CancelAction."^^rdf:HTML ; rdfs:label "Cancel action" ; rdfs:subClassOf schema:PlanAction ; . schema:Car a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A car is a wheeled, self-powered motor vehicle used for transportation."^^rdf:HTML ; rdfs:label "Car" ; rdfs:subClassOf schema:Vehicle ; sh:property schema:Car-acrissCode ; sh:property schema:Car-roofLoad ; . schema:Car-acrissCode a sh:PropertyShape ; sh:path schema:acrissCode ; sh:datatype xsd:string ; sh:description "The ACRISS Car Classification Code is a code used by many car rental companies, for classifying vehicles. ACRISS stands for Association of Car Rental Industry Systems and Standards."^^rdf:HTML ; sh:name "acrissCode" ; . schema:Car-roofLoad a sh:PropertyShape ; sh:path schema:roofLoad ; sh:class schema:QuantitativeValue ; sh:description "The permitted total weight of cargo and installations (e.g. a roof rack) on top of the vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]]\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "roofLoad" ; . schema:CarUsageType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A value indicating a special usage of a car, e.g. commercial rental, driving school, or as a taxi."^^rdf:HTML ; rdfs:label "Car usage type" ; rdfs:subClassOf schema:Enumeration ; . schema:Cardiovascular a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to diagnosis and treatment of disorders of heart and vasculature." ; rdfs:label "Cardiovascular" ; . schema:CardiovascularExam a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Cardiovascular system assessment withclinical examination." ; rdfs:label "Cardiovascular exam" ; . schema:CaseSeries a schema:MedicalObservationalStudyDesign ; schema:isPartOf ; rdfs:comment "A case series (also known as a clinical series) is a medical research study that tracks patients with a known exposure given similar treatment or examines their medical records for exposure and outcome. A case series can be retrospective or prospective and usually involves a smaller number of patients than the more powerful case-control studies or randomized controlled trials. Case series may be consecutive or non-consecutive, depending on whether all cases presenting to the reporting authors over a period of time were included, or only a selection." ; rdfs:label "Case series" ; . schema:Casino a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A casino."^^rdf:HTML ; rdfs:label "Casino" ; rdfs:subClassOf schema:EntertainmentBusiness ; . schema:CassetteFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "CassetteFormat." ; rdfs:label "Cassette format" ; . schema:CategoryCode a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A Category Code."^^rdf:HTML ; rdfs:label "Category code" ; rdfs:subClassOf schema:DefinedTerm ; sh:property schema:CategoryCode-codeValue ; sh:property schema:CategoryCode-inCodeSet ; . schema:CategoryCode-codeValue a sh:PropertyShape ; sh:path schema:codeValue ; sh:datatype xsd:string ; sh:description "A short textual code that uniquely identifies the value."^^rdf:HTML ; sh:name "codeValue" ; . schema:CategoryCode-inCodeSet a sh:PropertyShape ; sh:path schema:inCodeSet ; sh:description "A [[CategoryCodeSet]] that contains this category code."^^rdf:HTML ; sh:name "inCodeSet" ; sh:or ( [ sh:class schema:CategoryCodeSet ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CategoryCodeSet a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A set of Category Code values."^^rdf:HTML ; rdfs:label "Category code set" ; rdfs:subClassOf schema:DefinedTermSet ; sh:property schema:CategoryCodeSet-hasCategoryCode ; . schema:CategoryCodeSet-hasCategoryCode a sh:PropertyShape ; sh:path schema:hasCategoryCode ; sh:class schema:CategoryCode ; sh:description "A Category code contained in this code set."^^rdf:HTML ; sh:name "hasCategoryCode" ; . schema:CatholicChurch a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A Catholic church."^^rdf:HTML ; rdfs:label "Catholic church" ; rdfs:subClassOf schema:Church ; . schema:CausesHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Information about the causes and main actions that gave rise to the topic." ; rdfs:label "Causes health aspect" ; . schema:Cemetery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A graveyard."^^rdf:HTML ; rdfs:label "Cemetery" ; rdfs:subClassOf schema:CivicStructure ; . schema:Chapter a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "One of the sections into which a book is divided. A chapter usually has a section number or a name."^^rdf:HTML ; rdfs:label "Chapter" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Chapter-pageEnd ; sh:property schema:Chapter-pageStart ; sh:property schema:Chapter-pagination ; . schema:Chapter-pageEnd a sh:PropertyShape ; sh:path schema:pageEnd ; sh:description "The page on which the work ends; for example \"138\" or \"xvi\"."^^rdf:HTML ; sh:name "pageEnd" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Chapter-pageStart a sh:PropertyShape ; sh:path schema:pageStart ; sh:description "The page on which the work starts; for example \"135\" or \"xiii\"."^^rdf:HTML ; sh:name "pageStart" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Chapter-pagination a sh:PropertyShape ; sh:path schema:pagination ; sh:datatype xsd:string ; sh:description "Any description of pages that is not separated into pageStart and pageEnd; for example, \"1-6, 9, 55\" or \"10-12, 46-49\"."^^rdf:HTML ; sh:name "pagination" ; . schema:CharitableIncorporatedOrganization a schema:UKNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "CharitableIncorporatedOrganization: Non-profit type referring to a Charitable Incorporated Organization (UK)." ; rdfs:label "Charitable incorporated organization" ; . schema:CheckAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent inspects, determines, investigates, inquires, or examines an object's accuracy, quality, condition, or state."^^rdf:HTML ; rdfs:label "Check action" ; rdfs:subClassOf schema:FindAction ; . schema:CheckInAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of an agent communicating (service provider, social media, etc) their arrival by registering/confirming for a previously reserved service (e.g. flight check in) or at a place (e.g. hotel), possibly resulting in a result (boarding pass, etc).\\n\\nRelated actions:\\n\\n* [[CheckOutAction]]: The antonym of CheckInAction.\\n* [[ArriveAction]]: Unlike ArriveAction, CheckInAction implies that the agent is informing/confirming the start of a previously reserved service.\\n* [[ConfirmAction]]: Unlike ConfirmAction, CheckInAction implies that the agent is informing/confirming the *start* of a previously reserved service rather than its validity/existence."^^rdf:HTML ; rdfs:label "Check in action" ; rdfs:subClassOf schema:CommunicateAction ; . schema:CheckOutAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of an agent communicating (service provider, social media, etc) their departure of a previously reserved service (e.g. flight check in) or place (e.g. hotel).\\n\\nRelated actions:\\n\\n* [[CheckInAction]]: The antonym of CheckOutAction.\\n* [[DepartAction]]: Unlike DepartAction, CheckOutAction implies that the agent is informing/confirming the end of a previously reserved service.\\n* [[CancelAction]]: Unlike CancelAction, CheckOutAction implies that the agent is informing/confirming the end of a previously reserved service."^^rdf:HTML ; rdfs:label "Check out action" ; rdfs:subClassOf schema:CommunicateAction ; . schema:CheckoutPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Checkout page."^^rdf:HTML ; rdfs:label "Checkout page" ; rdfs:subClassOf schema:WebPage ; . schema:ChildCare a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A Childcare center."^^rdf:HTML ; rdfs:label "Child care" ; rdfs:subClassOf schema:LocalBusiness ; . schema:ChildrensEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Children's event."^^rdf:HTML ; rdfs:label "Childrens event" ; rdfs:subClassOf schema:Event ; . schema:Chiropractic a schema:MedicineSystem ; schema:isPartOf ; rdfs:comment "A system of medicine focused on the relationship between the body's structure, mainly the spine, and its functioning." ; rdfs:label "Chiropractic" ; . schema:ChooseAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a preference from a set of options or a large or unbounded set of choices/options."^^rdf:HTML ; rdfs:label "Choose action" ; rdfs:subClassOf schema:AssessAction ; sh:property schema:ChooseAction-actionOption ; sh:property schema:ChooseAction-option ; . schema:ChooseAction-actionOption a sh:PropertyShape ; sh:path schema:actionOption ; sh:description "A sub property of object. The options subject to this action."^^rdf:HTML ; sh:name "actionOption" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ChooseAction-option a sh:PropertyShape ; sh:path schema:option ; sh:description "A sub property of object. The options subject to this action."^^rdf:HTML ; sh:name "option" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Church a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A church."^^rdf:HTML ; rdfs:label "Church" ; rdfs:subClassOf schema:PlaceOfWorship ; . schema:City a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A city or town."^^rdf:HTML ; rdfs:label "City" ; rdfs:subClassOf schema:AdministrativeArea ; . schema:CityHall a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A city hall."^^rdf:HTML ; rdfs:label "City hall" ; rdfs:subClassOf schema:GovernmentBuilding ; . schema:CivicStructure a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A public structure, such as a town hall or concert hall."^^rdf:HTML ; rdfs:label "Civic structure" ; rdfs:subClassOf schema:Place ; sh:property schema:CivicStructure-openingHours ; . schema:CivicStructure-openingHours a sh:PropertyShape ; sh:path schema:openingHours ; sh:datatype xsd:string ; sh:description "The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ',' separating each day. Day or time ranges are specified using a hyphen '-'.\\n\\n* Days are specified using the following two-letter combinations: ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```.\\n* Times are specified using 24:00 format. For example, 3pm is specified as ```15:00```, 10am as ```10:00```. \\n* Here is an example: <time itemprop=\"openingHours\" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time>.\\n* If a business is open 7 days a week, then it can be specified as <time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time>."^^rdf:HTML ; sh:name "openingHours" ; . schema:Claim a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A [[Claim]] in Schema.org represents a specific, factually-oriented claim that could be the [[itemReviewed]] in a [[ClaimReview]]. The content of a claim can be summarized with the [[text]] property. Variations on well known claims can have their common identity indicated via [[sameAs]] links, and summarized with a [[name]]. Ideally, a [[Claim]] description includes enough contextual information to minimize the risk of ambiguity or inclarity. In practice, many claims are better understood in the context in which they appear or the interpretations provided by claim reviews. Beyond [[ClaimReview]], the Claim type can be associated with related creative works - for example a [[ScholarlyArticle]] or [[Question]] might be [[about]] some [[Claim]]. At this time, Schema.org does not define any types of relationship between claims. This is a natural area for future exploration. """^^rdf:HTML ; rdfs:label "Claim" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Claim-appearance ; sh:property schema:Claim-firstAppearance ; . schema:Claim-appearance a sh:PropertyShape ; sh:path schema:appearance ; sh:class schema:CreativeWork ; sh:description "Indicates an occurence of a [[Claim]] in some [[CreativeWork]]."^^rdf:HTML ; sh:name "appearance" ; . schema:Claim-firstAppearance a sh:PropertyShape ; sh:path schema:firstAppearance ; sh:class schema:CreativeWork ; sh:description "Indicates the first known occurence of a [[Claim]] in some [[CreativeWork]]."^^rdf:HTML ; sh:name "firstAppearance" ; . schema:ClaimReview a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A fact-checking review of claims made (or reported) in some creative work (referenced via itemReviewed)."^^rdf:HTML ; rdfs:label "Claim review" ; rdfs:subClassOf schema:Review ; sh:property schema:ClaimReview-claimReviewed ; . schema:ClaimReview-claimReviewed a sh:PropertyShape ; sh:path schema:claimReviewed ; sh:datatype xsd:string ; sh:description "A short summary of the specific claims reviewed in a ClaimReview."^^rdf:HTML ; sh:name "claimReviewed" ; . schema:CleaningFee a schema:PriceComponentTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the cleaning fee part of the total price for an offered product, for example a vacation rental." ; rdfs:label "Cleaning fee" ; . schema:Clinician a schema:MedicalAudienceType ; schema:isPartOf ; rdfs:comment "Medical clinicians, including practicing physicians and other medical professionals involved in clinical practice." ; rdfs:label "Clinician" ; . schema:Clip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A short TV or radio program or a segment/part of a program."^^rdf:HTML ; rdfs:label "Clip" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Clip-actor ; sh:property schema:Clip-actors ; sh:property schema:Clip-clipNumber ; sh:property schema:Clip-director ; sh:property schema:Clip-directors ; sh:property schema:Clip-endOffset ; sh:property schema:Clip-musicBy ; sh:property schema:Clip-partOfEpisode ; sh:property schema:Clip-partOfSeason ; sh:property schema:Clip-partOfSeries ; sh:property schema:Clip-startOffset ; . schema:Clip-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:Clip-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:Clip-clipNumber a sh:PropertyShape ; sh:path schema:clipNumber ; sh:description "Position of the clip within an ordered group of clips."^^rdf:HTML ; sh:name "clipNumber" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Clip-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:Clip-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:Clip-endOffset a sh:PropertyShape ; sh:path schema:endOffset ; sh:description "The end time of the clip expressed as the number of seconds from the beginning of the work."^^rdf:HTML ; sh:name "endOffset" ; sh:or ( [ sh:class schema:HyperTocEntry ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Clip-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:Clip-partOfEpisode a sh:PropertyShape ; sh:path schema:partOfEpisode ; sh:class schema:Episode ; sh:description "The episode to which this clip belongs."^^rdf:HTML ; sh:name "partOfEpisode" ; . schema:Clip-partOfSeason a sh:PropertyShape ; sh:path schema:partOfSeason ; sh:class schema:CreativeWorkSeason ; sh:description "The season to which this episode belongs."^^rdf:HTML ; sh:name "partOfSeason" ; . schema:Clip-partOfSeries a sh:PropertyShape ; sh:path schema:partOfSeries ; sh:class schema:CreativeWorkSeries ; sh:description "The series to which this episode or season belongs."^^rdf:HTML ; sh:name "partOfSeries" ; . schema:Clip-startOffset a sh:PropertyShape ; sh:path schema:startOffset ; sh:description "The start time of the clip expressed as the number of seconds from the beginning of the work."^^rdf:HTML ; sh:name "startOffset" ; sh:or ( [ sh:class schema:HyperTocEntry ; ] [ sh:datatype xsd:float ; ] ) ; . schema:ClothingStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A clothing store."^^rdf:HTML ; rdfs:label "Clothing store" ; rdfs:subClassOf schema:Store ; . schema:CoOp a schema:GamePlayMode ; rdfs:comment "Play mode: CoOp. Co-operative games, where you play on the same team with friends." ; rdfs:label "Co op" ; . schema:Code a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:SoftwareSourceCode ; rdfs:comment "Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates."^^rdf:HTML ; rdfs:label "Code" ; rdfs:subClassOf schema:CreativeWork ; . schema:CohortStudy a schema:MedicalObservationalStudyDesign ; schema:isPartOf ; rdfs:comment "Also known as a panel study. A cohort study is a form of longitudinal study used in medicine and social science. It is one type of study design and should be compared with a cross-sectional study. A cohort is a group of people who share a common characteristic or experience within a defined period (e.g., are born, leave school, lose their job, are exposed to a drug or a vaccine, etc.). The comparison group may be the general population from which the cohort is drawn, or it may be another cohort of persons thought to have had little or no exposure to the substance under investigation, but otherwise similar. Alternatively, subgroups within the cohort may be compared with each other." ; rdfs:label "Cohort study" ; . schema:Collection a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A collection of items e.g. creative works or products."^^rdf:HTML ; rdfs:label "Collection" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Collection-collectionSize ; . schema:Collection-collectionSize a sh:PropertyShape ; sh:path schema:collectionSize ; sh:datatype xsd:integer ; sh:description "The number of items in the [[Collection]]."^^rdf:HTML ; sh:name "collectionSize"@en ; . schema:CollectionPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Collection page."^^rdf:HTML ; rdfs:label "Collection page" ; rdfs:subClassOf schema:WebPage ; . schema:CollegeOrUniversity a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A college, university, or other third-level educational institution."^^rdf:HTML ; rdfs:label "College or university" ; rdfs:subClassOf schema:EducationalOrganization ; . schema:ComedyClub a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A comedy club."^^rdf:HTML ; rdfs:label "Comedy club" ; rdfs:subClassOf schema:EntertainmentBusiness ; . schema:ComedyEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Comedy event."^^rdf:HTML ; rdfs:label "Comedy event" ; rdfs:subClassOf schema:Event ; . schema:ComicCoverArt a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The artwork on the cover of a comic."^^rdf:HTML ; rdfs:label "Comic cover art" ; rdfs:subClassOf schema:ComicStory ; rdfs:subClassOf schema:CoverArt ; . schema:ComicIssue a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment """Individual comic issues are serially published as part of a larger series. For the sake of consistency, even one-shot issues belong to a series comprised of a single issue. All comic issues can be uniquely identified by: the combination of the name and volume number of the series to which the issue belongs; the issue number; and the variant description of the issue (if any)."""^^rdf:HTML ; rdfs:label "Comic issue" ; rdfs:subClassOf schema:PublicationIssue ; sh:property schema:ComicIssue-artist ; sh:property schema:ComicIssue-colorist ; sh:property schema:ComicIssue-inker ; sh:property schema:ComicIssue-letterer ; sh:property schema:ComicIssue-penciler ; sh:property schema:ComicIssue-variantCover ; . schema:ComicIssue-artist a sh:PropertyShape ; sh:path schema:artist ; sh:class schema:Person ; sh:description """The primary artist for a work in a medium other than pencils or digital line art--for example, if the primary artwork is done in watercolors or digital paints."""^^rdf:HTML ; sh:name "artist" ; . schema:ComicIssue-colorist a sh:PropertyShape ; sh:path schema:colorist ; sh:class schema:Person ; sh:description "The individual who adds color to inked drawings."^^rdf:HTML ; sh:name "colorist" ; . schema:ComicIssue-inker a sh:PropertyShape ; sh:path schema:inker ; sh:class schema:Person ; sh:description "The individual who traces over the pencil drawings in ink after pencils are complete."^^rdf:HTML ; sh:name "inker" ; . schema:ComicIssue-letterer a sh:PropertyShape ; sh:path schema:letterer ; sh:class schema:Person ; sh:description "The individual who adds lettering, including speech balloons and sound effects, to artwork."^^rdf:HTML ; sh:name "letterer" ; . schema:ComicIssue-penciler a sh:PropertyShape ; sh:path schema:penciler ; sh:class schema:Person ; sh:description "The individual who draws the primary narrative artwork."^^rdf:HTML ; sh:name "penciler" ; . schema:ComicIssue-variantCover a sh:PropertyShape ; sh:path schema:variantCover ; sh:datatype xsd:string ; sh:description """A description of the variant cover for the issue, if the issue is a variant printing. For example, \"Bryan Hitch Variant Cover\" or \"2nd Printing Variant\"."""^^rdf:HTML ; sh:name "variantCover" ; . schema:ComicSeries a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment """A sequential publication of comic stories under a unifying title, for example \"The Amazing Spider-Man\" or \"Groo the Wanderer\"."""^^rdf:HTML ; rdfs:label "Comic series" ; rdfs:subClassOf schema:Periodical ; . schema:ComicStory a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment """The term \"story\" is any indivisible, re-printable unit of a comic, including the interior stories, covers, and backmatter. Most comics have at least two stories: a cover (ComicCoverArt) and an interior story."""^^rdf:HTML ; rdfs:label "Comic story" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:ComicStory-artist ; sh:property schema:ComicStory-colorist ; sh:property schema:ComicStory-inker ; sh:property schema:ComicStory-letterer ; sh:property schema:ComicStory-penciler ; . schema:ComicStory-artist a sh:PropertyShape ; sh:path schema:artist ; sh:class schema:Person ; sh:description """The primary artist for a work in a medium other than pencils or digital line art--for example, if the primary artwork is done in watercolors or digital paints."""^^rdf:HTML ; sh:name "artist" ; . schema:ComicStory-colorist a sh:PropertyShape ; sh:path schema:colorist ; sh:class schema:Person ; sh:description "The individual who adds color to inked drawings."^^rdf:HTML ; sh:name "colorist" ; . schema:ComicStory-inker a sh:PropertyShape ; sh:path schema:inker ; sh:class schema:Person ; sh:description "The individual who traces over the pencil drawings in ink after pencils are complete."^^rdf:HTML ; sh:name "inker" ; . schema:ComicStory-letterer a sh:PropertyShape ; sh:path schema:letterer ; sh:class schema:Person ; sh:description "The individual who adds lettering, including speech balloons and sound effects, to artwork."^^rdf:HTML ; sh:name "letterer" ; . schema:ComicStory-penciler a sh:PropertyShape ; sh:path schema:penciler ; sh:class schema:Person ; sh:description "The individual who draws the primary narrative artwork."^^rdf:HTML ; sh:name "penciler" ; . schema:Comment a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A comment on an item - for example, a comment on a blog post. The comment's content is expressed via the [[text]] property, and its topic via [[about]], properties shared with all CreativeWorks."^^rdf:HTML ; rdfs:label "Comment" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Comment-downvoteCount ; sh:property schema:Comment-parentItem ; sh:property schema:Comment-upvoteCount ; . schema:Comment-downvoteCount a sh:PropertyShape ; sh:path schema:downvoteCount ; sh:datatype xsd:integer ; sh:description "The number of downvotes this question, answer or comment has received from the community."^^rdf:HTML ; sh:name "downvoteCount" ; . schema:Comment-parentItem a sh:PropertyShape ; sh:path schema:parentItem ; sh:class schema:Comment ; sh:description "The parent of a question, answer or item in general."^^rdf:HTML ; sh:name "parentItem" ; . schema:Comment-upvoteCount a sh:PropertyShape ; sh:path schema:upvoteCount ; sh:datatype xsd:integer ; sh:description "The number of upvotes this question, answer or comment has received from the community."^^rdf:HTML ; sh:name "upvoteCount" ; . schema:CommentAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of generating a comment about a subject."^^rdf:HTML ; rdfs:label "Comment action" ; rdfs:subClassOf schema:CommunicateAction ; sh:property schema:CommentAction-resultComment ; . schema:CommentAction-resultComment a sh:PropertyShape ; sh:path schema:resultComment ; sh:class schema:Comment ; sh:description "A sub property of result. The Comment created or sent as a result of this action."^^rdf:HTML ; sh:name "resultComment" ; . schema:CommentPermission a schema:DigitalDocumentPermissionType ; rdfs:comment "Permission to add comments to the document." ; rdfs:label "Comment permission" ; . schema:CommunicateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of conveying information to another person via a communication medium (instrument) such as speech, email, or telephone conversation."^^rdf:HTML ; rdfs:label "Communicate action" ; rdfs:subClassOf schema:InteractAction ; sh:property schema:CommunicateAction-about ; sh:property schema:CommunicateAction-inLanguage ; sh:property schema:CommunicateAction-language ; sh:property schema:CommunicateAction-recipient ; . schema:CommunicateAction-about a sh:PropertyShape ; sh:path schema:about ; sh:class schema:Thing ; sh:description "The subject matter of the content."^^rdf:HTML ; sh:name "about" ; . schema:CommunicateAction-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CommunicateAction-language a sh:PropertyShape ; sh:path schema:language ; sh:class schema:Language ; sh:description "A sub property of instrument. The language used on this action."^^rdf:HTML ; sh:name "language" ; . schema:CommunicateAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CommunityHealth a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A field of public health focusing on improving health characteristics of a defined population in relation with their geographical or environment areas." ; rdfs:label "Community health" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:CompilationAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "CompilationAlbum." ; rdfs:label "Compilation album" ; . schema:CompleteDataFeed a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A [[CompleteDataFeed]] is a [[DataFeed]] whose standard representation includes content for every item currently in the feed. This is the equivalent of Atom's element as defined in Feed Paging and Archiving [RFC 5005](https://tools.ietf.org/html/rfc5005), For example (and as defined for Atom), when using data from a feed that represents a collection of items that varies over time (e.g. \"Top Twenty Records\") there is no need to have newer entries mixed in alongside older, obsolete entries. By marking this feed as a CompleteDataFeed, old entries can be safely discarded when the feed is refreshed, since we can assume the feed has provided descriptions for all current items."""^^rdf:HTML ; rdfs:label "Complete data feed" ; rdfs:subClassOf schema:DataFeed ; . schema:Completed a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Completed." ; rdfs:label "Completed" ; . schema:CompletedActionStatus a schema:ActionStatusType ; rdfs:comment "An action that has already taken place." ; rdfs:label "Completed action status" ; . schema:CompoundPriceSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A compound price specification is one that bundles multiple prices that all apply in combination for different dimensions of consumption. Use the name property of the attached unit price specification for indicating the dimension of a price component (e.g. \"electricity\" or \"final cleaning\")."^^rdf:HTML ; rdfs:label "Compound price specification" ; rdfs:subClassOf schema:PriceSpecification ; sh:property schema:CompoundPriceSpecification-priceComponent ; sh:property schema:CompoundPriceSpecification-priceType ; . schema:CompoundPriceSpecification-priceComponent a sh:PropertyShape ; sh:path schema:priceComponent ; sh:class schema:UnitPriceSpecification ; sh:description "This property links to all [[UnitPriceSpecification]] nodes that apply in parallel for the [[CompoundPriceSpecification]] node."^^rdf:HTML ; sh:name "priceComponent" ; . schema:CompoundPriceSpecification-priceType a sh:PropertyShape ; sh:path schema:priceType ; sh:description "Defines the type of a price specified for an offered product, for example a list price, a (temporary) sale price or a manufacturer suggested retail price. If multiple prices are specified for an offer the [[priceType]] property can be used to identify the type of each such specified price. The value of priceType can be specified as a value from enumeration PriceTypeEnumeration or as a free form text string for price types that are not already predefined in PriceTypeEnumeration."^^rdf:HTML ; sh:name "priceType" ; sh:or ( [ sh:class schema:PriceTypeEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ComputerLanguage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "This type covers computer programming languages such as Scheme and Lisp, as well as other language-like computer representations. Natural languages are best represented with the [[Language]] type."^^rdf:HTML ; rdfs:label "Computer language" ; rdfs:subClassOf schema:Intangible ; . schema:ComputerStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A computer store."^^rdf:HTML ; rdfs:label "Computer store" ; rdfs:subClassOf schema:Store ; . schema:ConfirmAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of notifying someone that a future event/action is going to happen as expected.\\n\\nRelated actions:\\n\\n* [[CancelAction]]: The antonym of ConfirmAction."^^rdf:HTML ; rdfs:label "Confirm action" ; rdfs:subClassOf schema:InformAction ; . schema:Consortium a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A Consortium is a membership [[Organization]] whose members are typically Organizations."^^rdf:HTML ; rdfs:label "Consortium" ; rdfs:subClassOf schema:Organization ; . schema:ConsumeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of ingesting information/resources/food."^^rdf:HTML ; rdfs:label "Consume action" ; rdfs:subClassOf schema:Action ; sh:property schema:ConsumeAction-actionAccessibilityRequirement ; sh:property schema:ConsumeAction-expectsAcceptanceOf ; . schema:ConsumeAction-actionAccessibilityRequirement a sh:PropertyShape ; sh:path schema:actionAccessibilityRequirement ; sh:class schema:ActionAccessSpecification ; sh:description "A set of requirements that a must be fulfilled in order to perform an Action. If more than one value is specied, fulfilling one set of requirements will allow the Action to be performed."^^rdf:HTML ; sh:name "actionAccessibilityRequirement" ; . schema:ConsumeAction-expectsAcceptanceOf a sh:PropertyShape ; sh:path schema:expectsAcceptanceOf ; sh:class schema:Offer ; sh:description "An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it."^^rdf:HTML ; sh:name "expectsAcceptanceOf" ; . schema:ContactPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Contact page."^^rdf:HTML ; rdfs:label "Contact page" ; rdfs:subClassOf schema:WebPage ; . schema:ContactPoint a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A contact point—for example, a Customer Complaints department."^^rdf:HTML ; rdfs:label "Contact point" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:ContactPoint-areaServed ; sh:property schema:ContactPoint-availableLanguage ; sh:property schema:ContactPoint-contactOption ; sh:property schema:ContactPoint-contactType ; sh:property schema:ContactPoint-email ; sh:property schema:ContactPoint-faxNumber ; sh:property schema:ContactPoint-hoursAvailable ; sh:property schema:ContactPoint-productSupported ; sh:property schema:ContactPoint-serviceArea ; sh:property schema:ContactPoint-telephone ; . schema:ContactPoint-areaServed a sh:PropertyShape ; sh:path schema:areaServed ; sh:description "The geographic area where a service or offered item is provided."^^rdf:HTML ; sh:name "areaServed" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ContactPoint-availableLanguage a sh:PropertyShape ; sh:path schema:availableLanguage ; sh:description "A language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]"^^rdf:HTML ; sh:name "availableLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ContactPoint-contactOption a sh:PropertyShape ; sh:path schema:contactOption ; sh:class schema:ContactPointOption ; sh:description "An option available on this contact point (e.g. a toll-free number or support for hearing-impaired callers)."^^rdf:HTML ; sh:name "contactOption" ; . schema:ContactPoint-contactType a sh:PropertyShape ; sh:path schema:contactType ; sh:datatype xsd:string ; sh:description "A person or organization can have different contact points, for different purposes. For example, a sales contact point, a PR contact point and so on. This property is used to specify the kind of contact point."^^rdf:HTML ; sh:name "contactType" ; . schema:ContactPoint-email a sh:PropertyShape ; sh:path schema:email ; sh:datatype xsd:string ; sh:description "Email address."^^rdf:HTML ; sh:name "email" ; . schema:ContactPoint-faxNumber a sh:PropertyShape ; sh:path schema:faxNumber ; sh:datatype xsd:string ; sh:description "The fax number."^^rdf:HTML ; sh:name "faxNumber" ; . schema:ContactPoint-hoursAvailable a sh:PropertyShape ; sh:path schema:hoursAvailable ; sh:class schema:OpeningHoursSpecification ; sh:description "The hours during which this service or contact is available."^^rdf:HTML ; sh:name "hoursAvailable" ; . schema:ContactPoint-productSupported a sh:PropertyShape ; sh:path schema:productSupported ; sh:description "The product or service this support contact point is related to (such as product support for a particular product line). This can be a specific product or product line (e.g. \"iPhone\") or a general category of products or services (e.g. \"smartphones\")."^^rdf:HTML ; sh:name "productSupported" ; sh:or ( [ sh:class schema:Product ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ContactPoint-serviceArea a sh:PropertyShape ; sh:path schema:serviceArea ; sh:description "The geographic area where the service is provided."^^rdf:HTML ; sh:name "serviceArea" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] ) ; . schema:ContactPoint-telephone a sh:PropertyShape ; sh:path schema:telephone ; sh:datatype xsd:string ; sh:description "The telephone number."^^rdf:HTML ; sh:name "telephone" ; . schema:ContactPointOption a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Enumerated options related to a ContactPoint."^^rdf:HTML ; rdfs:label "Contact point option" ; rdfs:subClassOf schema:Enumeration ; . schema:ContagiousnessHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about contagion mechanisms and contagiousness information over the topic." ; rdfs:label "Contagiousness health aspect" ; . schema:Continent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "One of the continents (for example, Europe or Africa)."^^rdf:HTML ; rdfs:label "Continent" ; rdfs:subClassOf schema:Landform ; . schema:ControlAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent controls a device or application."^^rdf:HTML ; rdfs:label "Control action" ; rdfs:subClassOf schema:Action ; . schema:ConvenienceStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A convenience store."^^rdf:HTML ; rdfs:label "Convenience store" ; rdfs:subClassOf schema:Store ; . schema:Conversation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "One or more messages between organizations or people on a particular topic. Individual messages can be linked to the conversation with isPartOf or hasPart properties."^^rdf:HTML ; rdfs:label "Conversation" ; rdfs:subClassOf schema:CreativeWork ; . schema:CookAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of producing/preparing food."^^rdf:HTML ; rdfs:label "Cook action" ; rdfs:subClassOf schema:CreateAction ; sh:property schema:CookAction-foodEstablishment ; sh:property schema:CookAction-foodEvent ; sh:property schema:CookAction-recipe ; . schema:CookAction-foodEstablishment a sh:PropertyShape ; sh:path schema:foodEstablishment ; sh:description "A sub property of location. The specific food establishment where the action occurred."^^rdf:HTML ; sh:name "foodEstablishment" ; sh:or ( [ sh:class schema:FoodEstablishment ; ] [ sh:class schema:Place ; ] ) ; . schema:CookAction-foodEvent a sh:PropertyShape ; sh:path schema:foodEvent ; sh:class schema:FoodEvent ; sh:description "A sub property of location. The specific food event where the action occurred."^^rdf:HTML ; sh:name "foodEvent" ; . schema:CookAction-recipe a sh:PropertyShape ; sh:path schema:recipe ; sh:class schema:Recipe ; sh:description "A sub property of instrument. The recipe/instructions used to perform the action."^^rdf:HTML ; sh:name "recipe" ; . schema:Corporation a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Organization: A business corporation."^^rdf:HTML ; rdfs:label "Corporation" ; rdfs:subClassOf schema:Organization ; sh:property schema:Corporation-tickerSymbol ; . schema:Corporation-tickerSymbol a sh:PropertyShape ; sh:path schema:tickerSymbol ; sh:datatype xsd:string ; sh:description "The exchange traded instrument associated with a Corporation object. The tickerSymbol is expressed as an exchange and an instrument name separated by a space character. For the exchange component of the tickerSymbol attribute, we recommend using the controlled vocabulary of Market Identifier Codes (MIC) specified in ISO15022."^^rdf:HTML ; sh:name "tickerSymbol" ; . schema:CorrectionComment a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A [[comment]] that corrects [[CreativeWork]]."^^rdf:HTML ; rdfs:label "Correction comment" ; rdfs:subClassOf schema:Comment ; . schema:Country a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A country."^^rdf:HTML ; rdfs:label "Country" ; rdfs:subClassOf schema:AdministrativeArea ; . schema:Course a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A description of an educational course which may be offered as distinct instances at which take place at different times or take place at different locations, or be offered through different media or modes of study. An educational course is a sequence of one or more educational events and/or creative works which aims to build knowledge, competence or ability of learners."^^rdf:HTML ; rdfs:label "Course" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:LearningResource ; sh:property schema:Course-courseCode ; sh:property schema:Course-coursePrerequisites ; sh:property schema:Course-educationalCredentialAwarded ; sh:property schema:Course-hasCourseInstance ; sh:property schema:Course-numberOfCredits ; sh:property schema:Course-occupationalCredentialAwarded ; . schema:Course-courseCode a sh:PropertyShape ; sh:path schema:courseCode ; sh:datatype xsd:string ; sh:description "The identifier for the [[Course]] used by the course [[provider]] (e.g. CS101 or 6.001)."^^rdf:HTML ; sh:name "courseCode" ; . schema:Course-coursePrerequisites a sh:PropertyShape ; sh:path schema:coursePrerequisites ; sh:description "Requirements for taking the Course. May be completion of another [[Course]] or a textual description like \"permission of instructor\". Requirements may be a pre-requisite competency, referenced using [[AlignmentObject]]."^^rdf:HTML ; sh:name "coursePrerequisites" ; sh:or ( [ sh:class schema:AlignmentObject ; ] [ sh:class schema:Course ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Course-educationalCredentialAwarded a sh:PropertyShape ; sh:path schema:educationalCredentialAwarded ; sh:description "A description of the qualification, award, certificate, diploma or other educational credential awarded as a consequence of successful completion of this course or program."^^rdf:HTML ; sh:name "educationalCredentialAwarded" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Course-hasCourseInstance a sh:PropertyShape ; sh:path schema:hasCourseInstance ; sh:class schema:CourseInstance ; sh:description "An offering of the course at a specific time and place or through specific media or mode of study or to a specific section of students."^^rdf:HTML ; sh:name "hasCourseInstance" ; . schema:Course-numberOfCredits a sh:PropertyShape ; sh:path schema:numberOfCredits ; sh:description "The number of credits or units awarded by a Course or required to complete an EducationalOccupationalProgram."^^rdf:HTML ; sh:name "numberOfCredits" ; sh:or ( [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:Course-occupationalCredentialAwarded a sh:PropertyShape ; sh:path schema:occupationalCredentialAwarded ; sh:description "A description of the qualification, award, certificate, diploma or other occupational credential awarded as a consequence of successful completion of this course or program."^^rdf:HTML ; sh:name "occupationalCredentialAwarded" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CourseInstance a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An instance of a [[Course]] which is distinct from other instances because it is offered at a different time or location or through different media or modes of study or to a specific section of students."^^rdf:HTML ; rdfs:label "Course instance" ; rdfs:subClassOf schema:Event ; sh:property schema:CourseInstance-courseMode ; sh:property schema:CourseInstance-courseWorkload ; sh:property schema:CourseInstance-instructor ; . schema:CourseInstance-courseMode a sh:PropertyShape ; sh:path schema:courseMode ; sh:description "The medium or means of delivery of the course instance or the mode of study, either as a text label (e.g. \"online\", \"onsite\" or \"blended\"; \"synchronous\" or \"asynchronous\"; \"full-time\" or \"part-time\") or as a URL reference to a term from a controlled vocabulary (e.g. https://ceds.ed.gov/element/001311#Asynchronous )."^^rdf:HTML ; sh:name "courseMode" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CourseInstance-courseWorkload a sh:PropertyShape ; sh:path schema:courseWorkload ; sh:datatype xsd:string ; sh:description "The amount of work expected of students taking the course, often provided as a figure per week or per month, and may be broken down by type. For example, \"2 hours of lectures, 1 hour of lab work and 3 hours of independent study per week\"."^^rdf:HTML ; sh:name "courseWorkload" ; . schema:CourseInstance-instructor a sh:PropertyShape ; sh:path schema:instructor ; sh:class schema:Person ; sh:description "A person assigned to instruct or provide instructional assistance for the [[CourseInstance]]."^^rdf:HTML ; sh:name "instructor" ; . schema:Courthouse a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A courthouse."^^rdf:HTML ; rdfs:label "Courthouse" ; rdfs:subClassOf schema:GovernmentBuilding ; . schema:CoverArt a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The artwork on the outer surface of a CreativeWork."^^rdf:HTML ; rdfs:label "Cover art" ; rdfs:subClassOf schema:VisualArtwork ; . schema:CovidTestingFacility a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A CovidTestingFacility is a [[MedicalClinic]] where testing for the COVID-19 Coronavirus disease is available. If the facility is being made available from an established [[Pharmacy]], [[Hotel]], or other non-medical organization, multiple types can be listed. This makes it easier to re-use existing schema.org information about that place e.g. contact info, address, opening hours. Note that in an emergency, such information may not always be reliable. """^^rdf:HTML ; rdfs:label "Covid testing facility" ; rdfs:subClassOf schema:MedicalClinic ; . schema:CreateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of deliberately creating/producing/generating/building a result out of the agent."^^rdf:HTML ; rdfs:label "Create action" ; rdfs:subClassOf schema:Action ; . schema:CreativeWork a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The most generic kind of creative work, including books, movies, photographs, software programs, etc."^^rdf:HTML ; rdfs:label "Creative work" ; rdfs:subClassOf schema:Thing ; sh:property schema:CreativeWork-about ; sh:property schema:CreativeWork-abstract ; sh:property schema:CreativeWork-accessMode ; sh:property schema:CreativeWork-accessModeSufficient ; sh:property schema:CreativeWork-accessibilityAPI ; sh:property schema:CreativeWork-accessibilityControl ; sh:property schema:CreativeWork-accessibilityFeature ; sh:property schema:CreativeWork-accessibilityHazard ; sh:property schema:CreativeWork-accessibilitySummary ; sh:property schema:CreativeWork-accountablePerson ; sh:property schema:CreativeWork-acquireLicensePage ; sh:property schema:CreativeWork-aggregateRating ; sh:property schema:CreativeWork-alternativeHeadline ; sh:property schema:CreativeWork-assesses ; sh:property schema:CreativeWork-associatedMedia ; sh:property schema:CreativeWork-audience ; sh:property schema:CreativeWork-audio ; sh:property schema:CreativeWork-author ; sh:property schema:CreativeWork-award ; sh:property schema:CreativeWork-awards ; sh:property schema:CreativeWork-character ; sh:property schema:CreativeWork-citation ; sh:property schema:CreativeWork-comment ; sh:property schema:CreativeWork-commentCount ; sh:property schema:CreativeWork-conditionsOfAccess ; sh:property schema:CreativeWork-contentLocation ; sh:property schema:CreativeWork-contentRating ; sh:property schema:CreativeWork-contentReferenceTime ; sh:property schema:CreativeWork-contributor ; sh:property schema:CreativeWork-copyrightHolder ; sh:property schema:CreativeWork-copyrightNotice ; sh:property schema:CreativeWork-copyrightYear ; sh:property schema:CreativeWork-correction ; sh:property schema:CreativeWork-creativeWorkStatus ; sh:property schema:CreativeWork-creator ; sh:property schema:CreativeWork-creditText ; sh:property schema:CreativeWork-dateCreated ; sh:property schema:CreativeWork-dateModified ; sh:property schema:CreativeWork-datePublished ; sh:property schema:CreativeWork-discussionUrl ; sh:property schema:CreativeWork-editEIDR ; sh:property schema:CreativeWork-editor ; sh:property schema:CreativeWork-educationalAlignment ; sh:property schema:CreativeWork-educationalLevel ; sh:property schema:CreativeWork-educationalUse ; sh:property schema:CreativeWork-encoding ; sh:property schema:CreativeWork-encodingFormat ; sh:property schema:CreativeWork-encodings ; sh:property schema:CreativeWork-exampleOfWork ; sh:property schema:CreativeWork-expires ; sh:property schema:CreativeWork-fileFormat ; sh:property schema:CreativeWork-funder ; sh:property schema:CreativeWork-genre ; sh:property schema:CreativeWork-hasPart ; sh:property schema:CreativeWork-headline ; sh:property schema:CreativeWork-inLanguage ; sh:property schema:CreativeWork-interactionStatistic ; sh:property schema:CreativeWork-interactivityType ; sh:property schema:CreativeWork-isAccessibleForFree ; sh:property schema:CreativeWork-isBasedOn ; sh:property schema:CreativeWork-isBasedOnUrl ; sh:property schema:CreativeWork-isFamilyFriendly ; sh:property schema:CreativeWork-isPartOf ; sh:property schema:CreativeWork-keywords ; sh:property schema:CreativeWork-learningResourceType ; sh:property schema:CreativeWork-license ; sh:property schema:CreativeWork-locationCreated ; sh:property schema:CreativeWork-mainEntity ; sh:property schema:CreativeWork-maintainer ; sh:property schema:CreativeWork-material ; sh:property schema:CreativeWork-materialExtent ; sh:property schema:CreativeWork-mentions ; sh:property schema:CreativeWork-offers ; sh:property schema:CreativeWork-pattern ; sh:property schema:CreativeWork-position ; sh:property schema:CreativeWork-producer ; sh:property schema:CreativeWork-provider ; sh:property schema:CreativeWork-publication ; sh:property schema:CreativeWork-publisher ; sh:property schema:CreativeWork-publisherImprint ; sh:property schema:CreativeWork-publishingPrinciples ; sh:property schema:CreativeWork-recordedAt ; sh:property schema:CreativeWork-releasedEvent ; sh:property schema:CreativeWork-review ; sh:property schema:CreativeWork-reviews ; sh:property schema:CreativeWork-schemaVersion ; sh:property schema:CreativeWork-sdDatePublished ; sh:property schema:CreativeWork-sdLicense ; sh:property schema:CreativeWork-sdPublisher ; sh:property schema:CreativeWork-size ; sh:property schema:CreativeWork-sourceOrganization ; sh:property schema:CreativeWork-spatial ; sh:property schema:CreativeWork-spatialCoverage ; sh:property schema:CreativeWork-sponsor ; sh:property schema:CreativeWork-teaches ; sh:property schema:CreativeWork-temporal ; sh:property schema:CreativeWork-temporalCoverage ; sh:property schema:CreativeWork-text ; sh:property schema:CreativeWork-thumbnailUrl ; sh:property schema:CreativeWork-timeRequired ; sh:property schema:CreativeWork-translationOfWork ; sh:property schema:CreativeWork-translator ; sh:property schema:CreativeWork-typicalAgeRange ; sh:property schema:CreativeWork-usageInfo ; sh:property schema:CreativeWork-version ; sh:property schema:CreativeWork-video ; sh:property schema:CreativeWork-workExample ; sh:property schema:CreativeWork-workTranslation ; . schema:CreativeWork-about a sh:PropertyShape ; sh:path schema:about ; sh:class schema:Thing ; sh:description "The subject matter of the content."^^rdf:HTML ; sh:name "about" ; . schema:CreativeWork-abstract a sh:PropertyShape ; sh:path schema:abstract ; sh:datatype xsd:string ; sh:description "An abstract is a short description that summarizes a [[CreativeWork]]."^^rdf:HTML ; sh:name "abstract" ; . schema:CreativeWork-accessMode a sh:PropertyShape ; sh:path schema:accessMode ; sh:datatype xsd:string ; sh:description """The human sensory perceptual system or cognitive faculty through which a person may process or perceive information. Expected values include: auditory, tactile, textual, visual, colorDependent, chartOnVisual, chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual. """^^rdf:HTML ; sh:name "accessMode" ; . schema:CreativeWork-accessModeSufficient a sh:PropertyShape ; sh:path schema:accessModeSufficient ; sh:class schema:ItemList ; sh:description """A list of single or combined accessModes that are sufficient to understand all the intellectual content of a resource. Expected values include: auditory, tactile, textual, visual. """^^rdf:HTML ; sh:name "accessModeSufficient" ; . schema:CreativeWork-accessibilityAPI a sh:PropertyShape ; sh:path schema:accessibilityAPI ; sh:datatype xsd:string ; sh:description "Indicates that the resource is compatible with the referenced accessibility API ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))."^^rdf:HTML ; sh:name "accessibilityAPI" ; . schema:CreativeWork-accessibilityControl a sh:PropertyShape ; sh:path schema:accessibilityControl ; sh:datatype xsd:string ; sh:description "Identifies input methods that are sufficient to fully control the described resource ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))."^^rdf:HTML ; sh:name "accessibilityControl" ; . schema:CreativeWork-accessibilityFeature a sh:PropertyShape ; sh:path schema:accessibilityFeature ; sh:datatype xsd:string ; sh:description "Content features of the resource, such as accessible media, alternatives and supported enhancements for accessibility ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))."^^rdf:HTML ; sh:name "accessibilityFeature" ; . schema:CreativeWork-accessibilityHazard a sh:PropertyShape ; sh:path schema:accessibilityHazard ; sh:datatype xsd:string ; sh:description "A characteristic of the described resource that is physiologically dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas wiki lists possible values](http://www.w3.org/wiki/WebSchemas/Accessibility))."^^rdf:HTML ; sh:name "accessibilityHazard" ; . schema:CreativeWork-accessibilitySummary a sh:PropertyShape ; sh:path schema:accessibilitySummary ; sh:datatype xsd:string ; sh:description "A human-readable summary of specific accessibility features or deficiencies, consistent with the other accessibility metadata but expressing subtleties such as \"short descriptions are present but long descriptions will be needed for non-visual users\" or \"short descriptions are present and no long descriptions are needed.\""^^rdf:HTML ; sh:name "accessibilitySummary" ; . schema:CreativeWork-accountablePerson a sh:PropertyShape ; sh:path schema:accountablePerson ; sh:class schema:Person ; sh:description "Specifies the Person that is legally accountable for the CreativeWork."^^rdf:HTML ; sh:name "accountablePerson" ; . schema:CreativeWork-acquireLicensePage a sh:PropertyShape ; sh:path schema:acquireLicensePage ; sh:description "Indicates a page documenting how licenses can be purchased or otherwise acquired, for the current item."^^rdf:HTML ; sh:name "acquireLicensePage" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:CreativeWork-alternativeHeadline a sh:PropertyShape ; sh:path schema:alternativeHeadline ; sh:datatype xsd:string ; sh:description "A secondary title of the CreativeWork."^^rdf:HTML ; sh:name "alternativeHeadline" ; . schema:CreativeWork-assesses a sh:PropertyShape ; sh:path schema:assesses ; sh:description "The item being described is intended to assess the competency or learning outcome defined by the referenced term."^^rdf:HTML ; sh:name "assesses" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-associatedMedia a sh:PropertyShape ; sh:path schema:associatedMedia ; sh:class schema:MediaObject ; sh:description "A media object that encodes this CreativeWork. This property is a synonym for encoding."^^rdf:HTML ; sh:name "associatedMedia" ; . schema:CreativeWork-audience a sh:PropertyShape ; sh:path schema:audience ; sh:class schema:Audience ; sh:description "An intended audience, i.e. a group for whom something was created."^^rdf:HTML ; sh:name "audience" ; . schema:CreativeWork-audio a sh:PropertyShape ; sh:path schema:audio ; sh:description "An embedded audio object."^^rdf:HTML ; sh:name "audio" ; sh:or ( [ sh:class schema:AudioObject ; ] [ sh:class schema:Clip ; ] [ sh:class schema:MusicRecording ; ] ) ; . schema:CreativeWork-author a sh:PropertyShape ; sh:path schema:author ; sh:description "The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably."^^rdf:HTML ; sh:name "author" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-award a sh:PropertyShape ; sh:path schema:award ; sh:datatype xsd:string ; sh:description "An award won by or for this item."^^rdf:HTML ; sh:name "award" ; . schema:CreativeWork-awards a sh:PropertyShape ; sh:path schema:awards ; sh:datatype xsd:string ; sh:description "Awards won by or for this item."^^rdf:HTML ; sh:name "awards" ; . schema:CreativeWork-character a sh:PropertyShape ; sh:path schema:character ; sh:class schema:Person ; sh:description "Fictional person connected with a creative work."^^rdf:HTML ; sh:name "character" ; . schema:CreativeWork-citation a sh:PropertyShape ; sh:path schema:citation ; sh:description "A citation or reference to another creative work, such as another publication, web page, scholarly article, etc."^^rdf:HTML ; sh:name "citation" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-comment a sh:PropertyShape ; sh:path schema:comment ; sh:class schema:Comment ; sh:description "Comments, typically from users."^^rdf:HTML ; sh:name "comment" ; . schema:CreativeWork-commentCount a sh:PropertyShape ; sh:path schema:commentCount ; sh:datatype xsd:integer ; sh:description "The number of comments this CreativeWork (e.g. Article, Question or Answer) has received. This is most applicable to works published in Web sites with commenting system; additional comments may exist elsewhere."^^rdf:HTML ; sh:name "commentCount" ; . schema:CreativeWork-conditionsOfAccess a sh:PropertyShape ; sh:path schema:conditionsOfAccess ; sh:datatype xsd:string ; sh:description "Conditions that affect the availability of, or method(s) of access to, an item. Typically used for real world items such as an [[ArchiveComponent]] held by an [[ArchiveOrganization]]. This property is not suitable for use as a general Web access control mechanism. It is expressed only in natural language.\\n\\nFor example \"Available by appointment from the Reading Room\" or \"Accessible only from logged-in accounts \". "^^rdf:HTML ; sh:name "conditionsOfAccess" ; . schema:CreativeWork-contentLocation a sh:PropertyShape ; sh:path schema:contentLocation ; sh:class schema:Place ; sh:description "The location depicted or described in the content. For example, the location in a photograph or painting."^^rdf:HTML ; sh:name "contentLocation" ; . schema:CreativeWork-contentRating a sh:PropertyShape ; sh:path schema:contentRating ; sh:description "Official rating of a piece of content—for example,'MPAA PG-13'."^^rdf:HTML ; sh:name "contentRating" ; sh:or ( [ sh:class schema:Rating ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-contentReferenceTime a sh:PropertyShape ; sh:path schema:contentReferenceTime ; sh:datatype xsd:dateTime ; sh:description "The specific time described by a creative work, for works (e.g. articles, video objects etc.) that emphasise a particular moment within an Event."^^rdf:HTML ; sh:name "contentReferenceTime" ; . schema:CreativeWork-contributor a sh:PropertyShape ; sh:path schema:contributor ; sh:description "A secondary contributor to the CreativeWork or Event."^^rdf:HTML ; sh:name "contributor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-copyrightHolder a sh:PropertyShape ; sh:path schema:copyrightHolder ; sh:description "The party holding the legal copyright to the CreativeWork."^^rdf:HTML ; sh:name "copyrightHolder" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-copyrightNotice a sh:PropertyShape ; sh:path schema:copyrightNotice ; sh:datatype xsd:string ; sh:description "Text of a notice appropriate for describing the copyright aspects of this Creative Work, ideally indicating the owner of the copyright for the Work."^^rdf:HTML ; sh:name "copyrightNotice" ; . schema:CreativeWork-copyrightYear a sh:PropertyShape ; sh:path schema:copyrightYear ; sh:datatype xsd:float ; sh:description "The year during which the claimed copyright for the CreativeWork was first asserted."^^rdf:HTML ; sh:name "copyrightYear" ; . schema:CreativeWork-correction a sh:PropertyShape ; sh:path schema:correction ; sh:description "Indicates a correction to a [[CreativeWork]], either via a [[CorrectionComment]], textually or in another document."^^rdf:HTML ; sh:name "correction" ; sh:or ( [ sh:class schema:CorrectionComment ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-creativeWorkStatus a sh:PropertyShape ; sh:path schema:creativeWorkStatus ; sh:description "The status of a creative work in terms of its stage in a lifecycle. Example terms include Incomplete, Draft, Published, Obsolete. Some organizations define a set of terms for the stages of their publication lifecycle."^^rdf:HTML ; sh:name "creativeWorkStatus" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-creator a sh:PropertyShape ; sh:path schema:creator ; sh:description "The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork."^^rdf:HTML ; sh:name "creator" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-creditText a sh:PropertyShape ; sh:path schema:creditText ; sh:datatype xsd:string ; sh:description "Text that can be used to credit person(s) and/or organization(s) associated with a published Creative Work."^^rdf:HTML ; sh:name "creditText" ; . schema:CreativeWork-dateCreated a sh:PropertyShape ; sh:path schema:dateCreated ; sh:description "The date on which the CreativeWork was created or the item was added to a DataFeed."^^rdf:HTML ; sh:name "dateCreated" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreativeWork-dateModified a sh:PropertyShape ; sh:path schema:dateModified ; sh:description "The date on which the CreativeWork was most recently modified or when the item's entry was modified within a DataFeed."^^rdf:HTML ; sh:name "dateModified" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreativeWork-datePublished a sh:PropertyShape ; sh:path schema:datePublished ; sh:description "Date of first broadcast/publication."^^rdf:HTML ; sh:name "datePublished" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreativeWork-discussionUrl a sh:PropertyShape ; sh:path schema:discussionUrl ; sh:description "A link to the page containing the comments of the CreativeWork."^^rdf:HTML ; sh:name "discussionUrl" ; sh:nodeKind sh:IRI ; . schema:CreativeWork-editEIDR a sh:PropertyShape ; sh:path schema:editEIDR ; sh:description """An [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing a specific edit / edition for a work of film or television. For example, the motion picture known as \"Ghostbusters\" whose [[titleEIDR]] is \"10.5240/7EC7-228A-510A-053E-CBB8-J\", has several edits e.g. \"10.5240/1F2A-E1C5-680A-14C6-E76B-I\" and \"10.5240/8A35-3BEE-6497-5D12-9E4F-3\". Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. """^^rdf:HTML ; sh:name "editEIDR" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-editor a sh:PropertyShape ; sh:path schema:editor ; sh:class schema:Person ; sh:description "Specifies the Person who edited the CreativeWork."^^rdf:HTML ; sh:name "editor" ; . schema:CreativeWork-educationalAlignment a sh:PropertyShape ; sh:path schema:educationalAlignment ; sh:class schema:AlignmentObject ; sh:description """An alignment to an established educational framework. This property should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency."""^^rdf:HTML ; sh:name "educationalAlignment" ; . schema:CreativeWork-educationalLevel a sh:PropertyShape ; sh:path schema:educationalLevel ; sh:description "The level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators."^^rdf:HTML ; sh:name "educationalLevel" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-educationalUse a sh:PropertyShape ; sh:path schema:educationalUse ; sh:description "The purpose of a work in the context of education; for example, 'assignment', 'group work'."^^rdf:HTML ; sh:name "educationalUse" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-encoding a sh:PropertyShape ; sh:path schema:encoding ; sh:class schema:MediaObject ; sh:description "A media object that encodes this CreativeWork. This property is a synonym for associatedMedia."^^rdf:HTML ; sh:name "encoding" ; . schema:CreativeWork-encodingFormat a sh:PropertyShape ; sh:path schema:encodingFormat ; sh:description """Media type typically expressed using a MIME format (see [IANA site](http://www.iana.org/assignments/media-types/media-types.xhtml) and [MDN reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)) e.g. application/zip for a SoftwareApplication binary, audio/mpeg for .mp3 etc.). In cases where a [[CreativeWork]] has several media type representations, [[encoding]] can be used to indicate each [[MediaObject]] alongside particular [[encodingFormat]] information. Unregistered or niche encoding and file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia/Wikidata entry."""^^rdf:HTML ; sh:name "encodingFormat" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-encodings a sh:PropertyShape ; sh:path schema:encodings ; sh:class schema:MediaObject ; sh:description "A media object that encodes this CreativeWork."^^rdf:HTML ; sh:name "encodings" ; . schema:CreativeWork-exampleOfWork a sh:PropertyShape ; sh:path schema:exampleOfWork ; sh:class schema:CreativeWork ; sh:description "A creative work that this work is an example/instance/realization/derivation of."^^rdf:HTML ; sh:name "exampleOfWork" ; . schema:CreativeWork-expires a sh:PropertyShape ; sh:path schema:expires ; sh:datatype xsd:date ; sh:description "Date the content expires and is no longer useful or available. For example a [[VideoObject]] or [[NewsArticle]] whose availability or relevance is time-limited, or a [[ClaimReview]] fact check whose publisher wants to indicate that it may no longer be relevant (or helpful to highlight) after some date."^^rdf:HTML ; sh:name "expires" ; . schema:CreativeWork-fileFormat a sh:PropertyShape ; sh:path schema:fileFormat ; sh:description "Media type, typically MIME format (see [IANA site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of the content e.g. application/zip of a SoftwareApplication binary. In cases where a CreativeWork has several media type representations, 'encoding' can be used to indicate each MediaObject alongside particular fileFormat information. Unregistered or niche file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia entry."^^rdf:HTML ; sh:name "fileFormat" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-funder a sh:PropertyShape ; sh:path schema:funder ; sh:description "A person or organization that supports (sponsors) something through some kind of financial contribution."^^rdf:HTML ; sh:name "funder" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-genre a sh:PropertyShape ; sh:path schema:genre ; sh:description "Genre of the creative work, broadcast channel or group."^^rdf:HTML ; sh:name "genre" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-hasPart a sh:PropertyShape ; sh:path schema:hasPart ; sh:class schema:CreativeWork ; sh:description "Indicates an item or CreativeWork that is part of this item, or CreativeWork (in some sense)."^^rdf:HTML ; sh:name "hasPart" ; . schema:CreativeWork-headline a sh:PropertyShape ; sh:path schema:headline ; sh:datatype xsd:string ; sh:description "Headline of the article."^^rdf:HTML ; sh:name "headline" ; . schema:CreativeWork-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-interactionStatistic a sh:PropertyShape ; sh:path schema:interactionStatistic ; sh:class schema:InteractionCounter ; sh:description "The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used."^^rdf:HTML ; sh:name "interactionStatistic" ; . schema:CreativeWork-interactivityType a sh:PropertyShape ; sh:path schema:interactivityType ; sh:datatype xsd:string ; sh:description "The predominant mode of learning supported by the learning resource. Acceptable values are 'active', 'expositive', or 'mixed'."^^rdf:HTML ; sh:name "interactivityType" ; . schema:CreativeWork-isAccessibleForFree a sh:PropertyShape ; sh:path schema:isAccessibleForFree ; sh:datatype xsd:boolean ; sh:description "A flag to signal that the item, event, or place is accessible for free."^^rdf:HTML ; sh:name "isAccessibleForFree" ; . schema:CreativeWork-isBasedOn a sh:PropertyShape ; sh:path schema:isBasedOn ; sh:description "A resource from which this work is derived or from which it is a modification or adaption."^^rdf:HTML ; sh:name "isBasedOn" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:Product ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-isBasedOnUrl a sh:PropertyShape ; sh:path schema:isBasedOnUrl ; sh:description "A resource that was used in the creation of this resource. This term can be repeated for multiple sources. For example, http://example.com/great-multiplication-intro.html."^^rdf:HTML ; sh:name "isBasedOnUrl" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:Product ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-isFamilyFriendly a sh:PropertyShape ; sh:path schema:isFamilyFriendly ; sh:datatype xsd:boolean ; sh:description "Indicates whether this content is family friendly."^^rdf:HTML ; sh:name "isFamilyFriendly" ; . schema:CreativeWork-isPartOf a sh:PropertyShape ; sh:path schema:isPartOf ; sh:description "Indicates an item or CreativeWork that this item, or CreativeWork (in some sense), is part of."^^rdf:HTML ; sh:name "isPartOf" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-keywords a sh:PropertyShape ; sh:path schema:keywords ; sh:description "Keywords or tags used to describe this content. Multiple entries in a keywords list are typically delimited by commas."^^rdf:HTML ; sh:name "keywords" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-learningResourceType a sh:PropertyShape ; sh:path schema:learningResourceType ; sh:description "The predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'."^^rdf:HTML ; sh:name "learningResourceType" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-license a sh:PropertyShape ; sh:path schema:license ; sh:description "A license document that applies to this content, typically indicated by URL."^^rdf:HTML ; sh:name "license" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-locationCreated a sh:PropertyShape ; sh:path schema:locationCreated ; sh:class schema:Place ; sh:description "The location where the CreativeWork was created, which may not be the same as the location depicted in the CreativeWork."^^rdf:HTML ; sh:name "locationCreated" ; . schema:CreativeWork-mainEntity a sh:PropertyShape ; sh:path schema:mainEntity ; sh:class schema:Thing ; sh:description "Indicates the primary entity described in some page or other CreativeWork."^^rdf:HTML ; sh:name "mainEntity" ; . schema:CreativeWork-maintainer a sh:PropertyShape ; sh:path schema:maintainer ; sh:description """A maintainer of a [[Dataset]], software package ([[SoftwareApplication]]), or other [[Project]]. A maintainer is a [[Person]] or [[Organization]] that manages contributions to, and/or publication of, some (typically complex) artifact. It is common for distributions of software and data to be based on \"upstream\" sources. When [[maintainer]] is applied to a specific version of something e.g. a particular version or packaging of a [[Dataset]], it is always possible that the upstream source has a different maintainer. The [[isBasedOn]] property can be used to indicate such relationships between datasets to make the different maintenance roles clear. Similarly in the case of software, a package may have dedicated maintainers working on integration into software distributions such as Ubuntu, as well as upstream maintainers of the underlying work. """^^rdf:HTML ; sh:name "maintainer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-material a sh:PropertyShape ; sh:path schema:material ; sh:description "A material that something is made from, e.g. leather, wool, cotton, paper."^^rdf:HTML ; sh:name "material" ; sh:or ( [ sh:class schema:Product ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-materialExtent a sh:PropertyShape ; sh:path schema:materialExtent ; sh:description "The quantity of the materials being described or an expression of the physical space they occupy."^^rdf:HTML ; sh:name "materialExtent"@en ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-mentions a sh:PropertyShape ; sh:path schema:mentions ; sh:class schema:Thing ; sh:description "Indicates that the CreativeWork contains a reference to, but is not necessarily about a concept."^^rdf:HTML ; sh:name "mentions" ; . schema:CreativeWork-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:CreativeWork-pattern a sh:PropertyShape ; sh:path schema:pattern ; sh:description "A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported."^^rdf:HTML ; sh:name "pattern" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-position a sh:PropertyShape ; sh:path schema:position ; sh:description "The position of an item in a series or sequence of items."^^rdf:HTML ; sh:name "position" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-producer a sh:PropertyShape ; sh:path schema:producer ; sh:description "The person or organization who produced the work (e.g. music album, movie, tv/radio series etc.)."^^rdf:HTML ; sh:name "producer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-publication a sh:PropertyShape ; sh:path schema:publication ; sh:class schema:PublicationEvent ; sh:description "A publication event associated with the item."^^rdf:HTML ; sh:name "publication" ; . schema:CreativeWork-publisher a sh:PropertyShape ; sh:path schema:publisher ; sh:description "The publisher of the creative work."^^rdf:HTML ; sh:name "publisher" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-publisherImprint a sh:PropertyShape ; sh:path schema:publisherImprint ; sh:class schema:Organization ; sh:description "The publishing division which published the comic."^^rdf:HTML ; sh:name "publisherImprint" ; . schema:CreativeWork-publishingPrinciples a sh:PropertyShape ; sh:path schema:publishingPrinciples ; sh:description """The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. """^^rdf:HTML ; sh:name "publishingPrinciples" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-recordedAt a sh:PropertyShape ; sh:path schema:recordedAt ; sh:class schema:Event ; sh:description "The Event where the CreativeWork was recorded. The CreativeWork may capture all or part of the event."^^rdf:HTML ; sh:name "recordedAt" ; . schema:CreativeWork-releasedEvent a sh:PropertyShape ; sh:path schema:releasedEvent ; sh:class schema:PublicationEvent ; sh:description "The place and time the release was issued, expressed as a PublicationEvent."^^rdf:HTML ; sh:name "releasedEvent" ; . schema:CreativeWork-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:CreativeWork-reviews a sh:PropertyShape ; sh:path schema:reviews ; sh:class schema:Review ; sh:description "Review of the item."^^rdf:HTML ; sh:name "reviews" ; . schema:CreativeWork-schemaVersion a sh:PropertyShape ; sh:path schema:schemaVersion ; sh:description """Indicates (by URL or string) a particular version of a schema used in some CreativeWork. This property was created primarily to indicate the use of a specific schema.org release, e.g. ```10.0``` as a simple string, or more explicitly via URL, ```http://schema.org/docs/releases.html#v10.0```. There may be situations in which other schemas might usefully be referenced this way, e.g. ```http://dublincore.org/specifications/dublin-core/dces/1999-07-02/``` but this has not been carefully explored in the community."""^^rdf:HTML ; sh:name "schemaVersion" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-sdDatePublished a sh:PropertyShape ; sh:path schema:sdDatePublished ; sh:datatype xsd:date ; sh:description "Indicates the date on which the current structured data was generated / published. Typically used alongside [[sdPublisher]]"^^rdf:HTML ; sh:name "sdDatePublished" ; . schema:CreativeWork-sdLicense a sh:PropertyShape ; sh:path schema:sdLicense ; sh:description "A license document that applies to this structured data, typically indicated by URL."^^rdf:HTML ; sh:name "sdLicense" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-sdPublisher a sh:PropertyShape ; sh:path schema:sdPublisher ; sh:description """Indicates the party responsible for generating and publishing the current structured data markup, typically in cases where the structured data is derived automatically from existing published content but published on a different site. For example, student projects and open data initiatives often re-publish existing content with more explicitly structured metadata. The [[sdPublisher]] property helps make such practices more explicit."""^^rdf:HTML ; sh:name "sdPublisher" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-size a sh:PropertyShape ; sh:path schema:size ; sh:description "A standardized size of a product or creative work, specified either through a simple textual string (for example 'XL', '32Wx34L'), a QuantitativeValue with a unitCode, or a comprehensive and structured [[SizeSpecification]]; in other cases, the [[width]], [[height]], [[depth]] and [[weight]] properties may be more applicable. "^^rdf:HTML ; sh:name "size" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:class schema:QuantitativeValue ; ] [ sh:class schema:SizeSpecification ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-sourceOrganization a sh:PropertyShape ; sh:path schema:sourceOrganization ; sh:class schema:Organization ; sh:description "The Organization on whose behalf the creator was working."^^rdf:HTML ; sh:name "sourceOrganization" ; . schema:CreativeWork-spatial a sh:PropertyShape ; sh:path schema:spatial ; sh:class schema:Place ; sh:description """The \"spatial\" property can be used in cases when more specific properties (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are not known to be appropriate."""^^rdf:HTML ; sh:name "spatial" ; . schema:CreativeWork-spatialCoverage a sh:PropertyShape ; sh:path schema:spatialCoverage ; sh:class schema:Place ; sh:description """The spatialCoverage of a CreativeWork indicates the place(s) which are the focus of the content. It is a subproperty of contentLocation intended primarily for more technical and detailed materials. For example with a Dataset, it indicates areas that the dataset describes: a dataset of New York weather would have spatialCoverage which was the place: the state of New York."""^^rdf:HTML ; sh:name "spatialCoverage" ; . schema:CreativeWork-sponsor a sh:PropertyShape ; sh:path schema:sponsor ; sh:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event."^^rdf:HTML ; sh:name "sponsor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-teaches a sh:PropertyShape ; sh:path schema:teaches ; sh:description "The item being described is intended to help a person learn the competency or learning outcome defined by the referenced term."^^rdf:HTML ; sh:name "teaches" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-temporal a sh:PropertyShape ; sh:path schema:temporal ; sh:description """The \"temporal\" property can be used in cases where more specific properties (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]], [[datePublished]]) are not known to be appropriate."""^^rdf:HTML ; sh:name "temporal" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-temporalCoverage a sh:PropertyShape ; sh:path schema:temporalCoverage ; sh:description """The temporalCoverage of a CreativeWork indicates the period that the content applies to, i.e. that it describes, either as a DateTime or as a textual string indicating a time period in [ISO 8601 time interval format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In the case of a Dataset it will typically indicate the relevant time period in a precise notation (e.g. for a 2011 census dataset, the year 2011 would be written \"2011/2012\"). Other forms of content e.g. ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their temporalCoverage in broader terms - textually or via well-known URL. Written works such as books may sometimes have precise temporal coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601 interval format format via \"1939/1945\". Open-ended date ranges can be written with \"..\" in place of the end date. For example, \"2015-11/..\" indicates a range beginning in November 2015 and with no specified final date. This is tentative and might be updated in future when ISO 8601 is officially updated."""^^rdf:HTML ; sh:name "temporalCoverage" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-text a sh:PropertyShape ; sh:path schema:text ; sh:datatype xsd:string ; sh:description "The textual content of this CreativeWork."^^rdf:HTML ; sh:name "text" ; . schema:CreativeWork-thumbnailUrl a sh:PropertyShape ; sh:path schema:thumbnailUrl ; sh:description "A thumbnail image relevant to the Thing."^^rdf:HTML ; sh:name "thumbnailUrl" ; sh:nodeKind sh:IRI ; . schema:CreativeWork-timeRequired a sh:PropertyShape ; sh:path schema:timeRequired ; sh:datatype xsd:duration ; sh:description "Approximate or typical time it takes to work with or through this learning resource for the typical intended target audience, e.g. 'PT30M', 'PT1H25M'."^^rdf:HTML ; sh:name "timeRequired" ; . schema:CreativeWork-translationOfWork a sh:PropertyShape ; sh:path schema:translationOfWork ; sh:class schema:CreativeWork ; sh:description "The work that this work has been translated from. e.g. 物ç§èµ·æº is a translationOf “On the Origin of Speciesâ€"^^rdf:HTML ; sh:name "translationOfWork" ; . schema:CreativeWork-translator a sh:PropertyShape ; sh:path schema:translator ; sh:description "Organization or person who adapts a creative work to different languages, regional differences and technical requirements of a target market, or that translates during some event."^^rdf:HTML ; sh:name "translator" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:CreativeWork-typicalAgeRange a sh:PropertyShape ; sh:path schema:typicalAgeRange ; sh:datatype xsd:string ; sh:description "The typical expected age range, e.g. '7-9', '11-'."^^rdf:HTML ; sh:name "typicalAgeRange" ; . schema:CreativeWork-usageInfo a sh:PropertyShape ; sh:path schema:usageInfo ; sh:description """The schema.org [[usageInfo]] property indicates further information about a [[CreativeWork]]. This property is applicable both to works that are freely available and to those that require payment or other transactions. It can reference additional information e.g. community expectations on preferred linking and citation conventions, as well as purchasing details. For something that can be commercially licensed, usageInfo can provide detailed, resource-specific information about licensing options. This property can be used alongside the license property which indicates license(s) applicable to some piece of content. The usageInfo property can provide information about other licensing options, e.g. acquiring commercial usage rights for an image that is also available under non-commercial creative commons licenses."""^^rdf:HTML ; sh:name "usageInfo" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:CreativeWork-version a sh:PropertyShape ; sh:path schema:version ; sh:description "The version of the CreativeWork embodied by a specified resource."^^rdf:HTML ; sh:name "version" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWork-video a sh:PropertyShape ; sh:path schema:video ; sh:description "An embedded video object."^^rdf:HTML ; sh:name "video" ; sh:or ( [ sh:class schema:Clip ; ] [ sh:class schema:VideoObject ; ] ) ; . schema:CreativeWork-workExample a sh:PropertyShape ; sh:path schema:workExample ; sh:class schema:CreativeWork ; sh:description "Example/instance/realization/derivation of the concept of this creative work. eg. The paperback edition, first edition, or eBook."^^rdf:HTML ; sh:name "workExample" ; . schema:CreativeWork-workTranslation a sh:PropertyShape ; sh:path schema:workTranslation ; sh:class schema:CreativeWork ; sh:description "A work that is a translation of the content of this work. e.g. 西éŠè¨˜ has an English workTranslation “Journey to the Westâ€,a German workTranslation “Monkeys Pilgerfahrt†and a Vietnamese translation Tây du ký bình khảo."^^rdf:HTML ; sh:name "workTranslation" ; . schema:CreativeWorkSeason a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A media season e.g. tv, radio, video game etc."^^rdf:HTML ; rdfs:label "Creative work season" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:CreativeWorkSeason-actor ; sh:property schema:CreativeWorkSeason-director ; sh:property schema:CreativeWorkSeason-endDate ; sh:property schema:CreativeWorkSeason-episode ; sh:property schema:CreativeWorkSeason-episodes ; sh:property schema:CreativeWorkSeason-numberOfEpisodes ; sh:property schema:CreativeWorkSeason-partOfSeries ; sh:property schema:CreativeWorkSeason-productionCompany ; sh:property schema:CreativeWorkSeason-seasonNumber ; sh:property schema:CreativeWorkSeason-startDate ; sh:property schema:CreativeWorkSeason-trailer ; . schema:CreativeWorkSeason-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:CreativeWorkSeason-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:CreativeWorkSeason-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreativeWorkSeason-episode a sh:PropertyShape ; sh:path schema:episode ; sh:class schema:Episode ; sh:description "An episode of a tv, radio or game media within a series or season."^^rdf:HTML ; sh:name "episode" ; . schema:CreativeWorkSeason-episodes a sh:PropertyShape ; sh:path schema:episodes ; sh:class schema:Episode ; sh:description "An episode of a TV/radio series or season."^^rdf:HTML ; sh:name "episodes" ; . schema:CreativeWorkSeason-numberOfEpisodes a sh:PropertyShape ; sh:path schema:numberOfEpisodes ; sh:datatype xsd:integer ; sh:description "The number of episodes in this season or series."^^rdf:HTML ; sh:name "numberOfEpisodes" ; . schema:CreativeWorkSeason-partOfSeries a sh:PropertyShape ; sh:path schema:partOfSeries ; sh:class schema:CreativeWorkSeries ; sh:description "The series to which this episode or season belongs."^^rdf:HTML ; sh:name "partOfSeries" ; . schema:CreativeWorkSeason-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:CreativeWorkSeason-seasonNumber a sh:PropertyShape ; sh:path schema:seasonNumber ; sh:description "Position of the season within an ordered group of seasons."^^rdf:HTML ; sh:name "seasonNumber" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:CreativeWorkSeason-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreativeWorkSeason-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:CreativeWorkSeries a rdfs:Class ; a sh:NodeShape ; rdfs:comment """A CreativeWorkSeries in schema.org is a group of related items, typically but not necessarily of the same kind. CreativeWorkSeries are usually organized into some order, often chronological. Unlike [[ItemList]] which is a general purpose data structure for lists of things, the emphasis with CreativeWorkSeries is on published materials (written e.g. books and periodicals, or media such as tv, radio and games).\\n\\nSpecific subtypes are available for describing [[TVSeries]], [[RadioSeries]], [[MovieSeries]], [[BookSeries]], [[Periodical]] and [[VideoGameSeries]]. In each case, the [[hasPart]] / [[isPartOf]] properties can be used to relate the CreativeWorkSeries to its parts. The general CreativeWorkSeries type serves largely just to organize these more specific and practical subtypes.\\n\\nIt is common for properties applicable to an item from the series to be usefully applied to the containing group. Schema.org attempts to anticipate some of these cases, but publishers should be free to apply properties of the series parts to the series as a whole wherever they seem appropriate. """^^rdf:HTML ; rdfs:label "Creative work series" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:Series ; sh:property schema:CreativeWorkSeries-endDate ; sh:property schema:CreativeWorkSeries-issn ; sh:property schema:CreativeWorkSeries-startDate ; . schema:CreativeWorkSeries-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreativeWorkSeries-issn a sh:PropertyShape ; sh:path schema:issn ; sh:datatype xsd:string ; sh:description "The International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication."^^rdf:HTML ; sh:name "issn" ; . schema:CreativeWorkSeries-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:CreditCard a rdfs:Class ; a sh:NodeShape ; schema:source ; schema:source ; rdfs:comment """A card payment method of a particular brand or name. Used to mark up a particular payment method and/or the financial product/service that supplies the card account.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#AmericanExpress\\n* http://purl.org/goodrelations/v1#DinersClub\\n* http://purl.org/goodrelations/v1#Discover\\n* http://purl.org/goodrelations/v1#JCB\\n* http://purl.org/goodrelations/v1#MasterCard\\n* http://purl.org/goodrelations/v1#VISA """^^rdf:HTML ; rdfs:label "Credit card" ; rdfs:subClassOf schema:LoanOrCredit ; rdfs:subClassOf schema:PaymentCard ; . schema:Crematorium a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A crematorium."^^rdf:HTML ; rdfs:label "Crematorium" ; rdfs:subClassOf schema:CivicStructure ; . schema:CriticReview a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A [[CriticReview]] is a more specialized form of Review written or published by a source that is recognized for its reviewing activities. These can include online columns, travel and food guides, TV and radio shows, blogs and other independent Web sites. [[CriticReview]]s are typically more in-depth and professionally written. For simpler, casually written user/visitor/viewer/customer reviews, it is more appropriate to use the [[UserReview]] type. Review aggregator sites such as Metacritic already separate out the site's user reviews from selected critic reviews that originate from third-party sources."^^rdf:HTML ; rdfs:label "Critic review" ; rdfs:subClassOf schema:Review ; . schema:CrossSectional a schema:MedicalObservationalStudyDesign ; schema:isPartOf ; rdfs:comment "Studies carried out on pre-existing data (usually from 'snapshot' surveys), such as that collected by the Census Bureau. Sometimes called Prevalence Studies." ; rdfs:label "Cross sectional" ; . schema:CssSelectorType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Text representing a CSS selector."^^rdf:HTML ; rdfs:label "Css selector type" ; rdfs:subClassOf xsd:string ; . schema:CurrencyConversionService a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A service to convert funds from one currency to another currency."^^rdf:HTML ; rdfs:label "Currency conversion service" ; rdfs:subClassOf schema:FinancialProduct ; . schema:DDxElement a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An alternative, closely-related condition typically considered later in the differential diagnosis process along with the signs that are used to distinguish it."^^rdf:HTML ; rdfs:label "DDx element" ; rdfs:subClassOf schema:MedicalIntangible ; sh:property schema:DDxElement-diagnosis ; sh:property schema:DDxElement-distinguishingSign ; . schema:DDxElement-diagnosis a sh:PropertyShape ; sh:path schema:diagnosis ; sh:class schema:MedicalCondition ; sh:description "One or more alternative conditions considered in the differential diagnosis process as output of a diagnosis process."^^rdf:HTML ; sh:name "diagnosis" ; . schema:DDxElement-distinguishingSign a sh:PropertyShape ; sh:path schema:distinguishingSign ; sh:class schema:MedicalSignOrSymptom ; sh:description "One of a set of signs and symptoms that can be used to distinguish this diagnosis from others in the differential diagnosis."^^rdf:HTML ; sh:name "distinguishingSign" ; . schema:DJMixAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "DJMixAlbum." ; rdfs:label "DJMix album" ; . schema:DVDFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "DVDFormat." ; rdfs:label "DVDFormat" ; . schema:DamagedCondition a schema:OfferItemCondition ; rdfs:comment "Indicates that the item is damaged." ; rdfs:label "Damaged condition" ; . schema:DanceEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: A social dance."^^rdf:HTML ; rdfs:label "Dance event" ; rdfs:subClassOf schema:Event ; . schema:DanceGroup a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A dance group—for example, the Alvin Ailey Dance Theater or Riverdance."^^rdf:HTML ; rdfs:label "Dance group" ; rdfs:subClassOf schema:PerformingGroup ; . schema:DataCatalog a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A collection of datasets."^^rdf:HTML ; rdfs:label "Data catalog" ; rdfs:subClassOf schema:CreativeWork ; owl:equivalentClass ; sh:property schema:DataCatalog-dataset ; sh:property schema:DataCatalog-measurementTechnique ; . schema:DataCatalog-dataset a sh:PropertyShape ; sh:path schema:dataset ; sh:class schema:Dataset ; sh:description "A dataset contained in this catalog."^^rdf:HTML ; sh:name "dataset" ; . schema:DataCatalog-measurementTechnique a sh:PropertyShape ; sh:path schema:measurementTechnique ; sh:description """A technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: \"mass spectrometry\" or \"nmr spectroscopy\" or \"colorimetry\" or \"immunofluorescence\". If the [[variableMeasured]] is \"depression rating\", the [[measurementTechnique]] could be \"Zung Scale\" or \"HAM-D\" or \"Beck Depression Inventory\". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. """^^rdf:HTML ; sh:name "measurementTechnique" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DataDownload a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A dataset in downloadable form."^^rdf:HTML ; rdfs:label "Data download" ; rdfs:subClassOf schema:MediaObject ; owl:equivalentClass ; sh:property schema:DataDownload-measurementTechnique ; . schema:DataDownload-measurementTechnique a sh:PropertyShape ; sh:path schema:measurementTechnique ; sh:description """A technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: \"mass spectrometry\" or \"nmr spectroscopy\" or \"colorimetry\" or \"immunofluorescence\". If the [[variableMeasured]] is \"depression rating\", the [[measurementTechnique]] could be \"Zung Scale\" or \"HAM-D\" or \"Beck Depression Inventory\". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. """^^rdf:HTML ; sh:name "measurementTechnique" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DataFeed a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A single feed providing structured information about one or more entities or topics."^^rdf:HTML ; rdfs:label "Data feed" ; rdfs:subClassOf schema:Dataset ; sh:property schema:DataFeed-dataFeedElement ; . schema:DataFeed-dataFeedElement a sh:PropertyShape ; sh:path schema:dataFeedElement ; sh:description "An item within in a data feed. Data feeds may have many elements."^^rdf:HTML ; sh:name "dataFeedElement" ; sh:or ( [ sh:class schema:DataFeedItem ; ] [ sh:class schema:Thing ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DataFeedItem a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A single item within a larger data feed."^^rdf:HTML ; rdfs:label "Data feed item" ; rdfs:subClassOf schema:Intangible ; sh:property schema:DataFeedItem-dateCreated ; sh:property schema:DataFeedItem-dateDeleted ; sh:property schema:DataFeedItem-dateModified ; sh:property schema:DataFeedItem-item ; . schema:DataFeedItem-dateCreated a sh:PropertyShape ; sh:path schema:dateCreated ; sh:description "The date on which the CreativeWork was created or the item was added to a DataFeed."^^rdf:HTML ; sh:name "dateCreated" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:DataFeedItem-dateDeleted a sh:PropertyShape ; sh:path schema:dateDeleted ; sh:description "The datetime the item was removed from the DataFeed."^^rdf:HTML ; sh:name "dateDeleted" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:DataFeedItem-dateModified a sh:PropertyShape ; sh:path schema:dateModified ; sh:description "The date on which the CreativeWork was most recently modified or when the item's entry was modified within a DataFeed."^^rdf:HTML ; sh:name "dateModified" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:DataFeedItem-item a sh:PropertyShape ; sh:path schema:item ; sh:class schema:Thing ; sh:description "An entity represented by an entry in a list or data feed (e.g. an 'artist' in a list of 'artists')’."^^rdf:HTML ; sh:name "item" ; . schema:DataType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The basic data types such as Integers, Strings, etc."^^rdf:HTML ; rdfs:label "Data type" ; rdfs:subClassOf rdfs:Class ; . schema:Dataset a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A body of structured information describing some topic(s) of interest."^^rdf:HTML ; rdfs:label "Dataset" ; rdfs:subClassOf schema:CreativeWork ; owl:equivalentClass ; owl:equivalentClass ; owl:equivalentClass ; sh:property schema:Dataset-catalog ; sh:property schema:Dataset-datasetTimeInterval ; sh:property schema:Dataset-distribution ; sh:property schema:Dataset-includedDataCatalog ; sh:property schema:Dataset-includedInDataCatalog ; sh:property schema:Dataset-issn ; sh:property schema:Dataset-measurementTechnique ; sh:property schema:Dataset-variableMeasured ; sh:property schema:Dataset-variablesMeasured ; . schema:Dataset-catalog a sh:PropertyShape ; sh:path schema:catalog ; sh:class schema:DataCatalog ; sh:description "A data catalog which contains this dataset."^^rdf:HTML ; sh:name "catalog" ; . schema:Dataset-datasetTimeInterval a sh:PropertyShape ; sh:path schema:datasetTimeInterval ; sh:datatype xsd:dateTime ; sh:description "The range of temporal applicability of a dataset, e.g. for a 2011 census dataset, the year 2011 (in ISO 8601 time interval format)."^^rdf:HTML ; sh:name "datasetTimeInterval" ; . schema:Dataset-distribution a sh:PropertyShape ; sh:path schema:distribution ; sh:class schema:DataDownload ; sh:description "A downloadable form of this dataset, at a specific location, in a specific format."^^rdf:HTML ; sh:name "distribution" ; . schema:Dataset-includedDataCatalog a sh:PropertyShape ; sh:path schema:includedDataCatalog ; sh:class schema:DataCatalog ; sh:description "A data catalog which contains this dataset (this property was previously 'catalog', preferred name is now 'includedInDataCatalog')."^^rdf:HTML ; sh:name "includedDataCatalog" ; . schema:Dataset-includedInDataCatalog a sh:PropertyShape ; sh:path schema:includedInDataCatalog ; sh:class schema:DataCatalog ; sh:description "A data catalog which contains this dataset."^^rdf:HTML ; sh:name "includedInDataCatalog" ; . schema:Dataset-issn a sh:PropertyShape ; sh:path schema:issn ; sh:datatype xsd:string ; sh:description "The International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication."^^rdf:HTML ; sh:name "issn" ; . schema:Dataset-measurementTechnique a sh:PropertyShape ; sh:path schema:measurementTechnique ; sh:description """A technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: \"mass spectrometry\" or \"nmr spectroscopy\" or \"colorimetry\" or \"immunofluorescence\". If the [[variableMeasured]] is \"depression rating\", the [[measurementTechnique]] could be \"Zung Scale\" or \"HAM-D\" or \"Beck Depression Inventory\". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. """^^rdf:HTML ; sh:name "measurementTechnique" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Dataset-variableMeasured a sh:PropertyShape ; sh:path schema:variableMeasured ; sh:description "The variableMeasured property can indicate (repeated as necessary) the variables that are measured in some dataset, either described as text or as pairs of identifier and description using PropertyValue."^^rdf:HTML ; sh:name "variableMeasured" ; sh:or ( [ sh:class schema:PropertyValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Dataset-variablesMeasured a sh:PropertyShape ; sh:path schema:variablesMeasured ; sh:description "Originally named [[variablesMeasured]], The [[variableMeasured]] property can indicate (repeated as necessary) the variables that are measured in some dataset, either described as text or as pairs of identifier and description using PropertyValue."^^rdf:HTML ; sh:name "variablesMeasured" ; sh:or ( [ sh:class schema:PropertyValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Date a schema:DataType ; a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A date value in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; rdfs:label "Date" ; rdfs:subClassOf rdfs:Resource ; . schema:DateTime a schema:DataType ; a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A combination of date and time of day in the form [-]CCYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm] (see Chapter 5.4 of ISO 8601)."^^rdf:HTML ; rdfs:label "Date time" ; rdfs:subClassOf rdfs:Resource ; . schema:DatedMoneySpecification a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:MonetaryAmount ; rdfs:comment "A DatedMoneySpecification represents monetary values with optional start and end dates. For example, this could represent an employee's salary over a specific period of time. __Note:__ This type has been superseded by [[MonetaryAmount]] use of that type is recommended"^^rdf:HTML ; rdfs:label "Dated money specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:DatedMoneySpecification-amount ; sh:property schema:DatedMoneySpecification-currency ; sh:property schema:DatedMoneySpecification-endDate ; sh:property schema:DatedMoneySpecification-startDate ; . schema:DatedMoneySpecification-amount a sh:PropertyShape ; sh:path schema:amount ; sh:description "The amount of money."^^rdf:HTML ; sh:name "amount" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:DatedMoneySpecification-currency a sh:PropertyShape ; sh:path schema:currency ; sh:datatype xsd:string ; sh:description "The currency in which the monetary amount is expressed.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "currency" ; . schema:DatedMoneySpecification-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:DatedMoneySpecification-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:DayOfWeek a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """The day of the week, e.g. used to specify to which day the opening hours of an OpeningHoursSpecification refer. Originally, URLs from [GoodRelations](http://purl.org/goodrelations/v1) were used (for [[Monday]], [[Tuesday]], [[Wednesday]], [[Thursday]], [[Friday]], [[Saturday]], [[Sunday]] plus a special entry for [[PublicHolidays]]); these have now been integrated directly into schema.org. """^^rdf:HTML ; rdfs:label "Day of week" ; rdfs:subClassOf schema:Enumeration ; . schema:DaySpa a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A day spa."^^rdf:HTML ; rdfs:label "Day spa" ; rdfs:subClassOf schema:HealthAndBeautyBusiness ; . schema:DeactivateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of stopping or deactivating a device or application (e.g. stopping a timer or turning off a flashlight)."^^rdf:HTML ; rdfs:label "Deactivate action" ; rdfs:subClassOf schema:ControlAction ; . schema:DecontextualizedContent a schema:MediaManipulationRatingEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment """Content coded 'missing context' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'missing context': Presenting unaltered video in an inaccurate manner that misrepresents the footage. For example, using incorrect dates or locations, altering the transcript or sharing brief clips from a longer video to mislead viewers. (A video rated 'original' can also be missing context.) For an [[ImageObject]] to be 'missing context': Presenting unaltered images in an inaccurate manner to misrepresent the image and mislead the viewer. For example, a common tactic is using an unaltered image but saying it came from a different time or place. (An image rated 'original' can also be missing context.) For an [[ImageObject]] with embedded text to be 'missing context': An unaltered image presented in an inaccurate manner to misrepresent the image and mislead the viewer. For example, a common tactic is using an unaltered image but saying it came from a different time or place. (An 'original' image with inaccurate text would generally fall in this category.) For an [[AudioObject]] to be 'missing context': Unaltered audio presented in an inaccurate manner that misrepresents it. For example, using incorrect dates or locations, or sharing brief clips from a longer recording to mislead viewers. (Audio rated “original†can also be missing context.) """ ; rdfs:label "Decontextualized content" ; . schema:DefenceEstablishment a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A defence establishment, such as an army or navy base."^^rdf:HTML ; rdfs:label "Defence establishment" ; rdfs:subClassOf schema:GovernmentBuilding ; . schema:DefinedRegion a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A DefinedRegion is a geographic area defined by potentially arbitrary (rather than political, administrative or natural geographical) criteria. Properties are provided for defining a region by reference to sets of postal codes. Examples: a delivery destination when shopping. Region where regional pricing is configured. Requirement 1: Country: US States: \"NY\", \"CA\" Requirement 2: Country: US PostalCode Set: { [94000-94585], [97000, 97999], [13000, 13599]} { [12345, 12345], [78945, 78945], } Region = state, canton, prefecture, autonomous community... """^^rdf:HTML ; rdfs:label "Defined region" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:DefinedRegion-addressCountry ; sh:property schema:DefinedRegion-addressRegion ; sh:property schema:DefinedRegion-postalCode ; sh:property schema:DefinedRegion-postalCodePrefix ; sh:property schema:DefinedRegion-postalCodeRange ; . schema:DefinedRegion-addressCountry a sh:PropertyShape ; sh:path schema:addressCountry ; sh:description "The country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1)."^^rdf:HTML ; sh:name "addressCountry" ; sh:or ( [ sh:class schema:Country ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DefinedRegion-addressRegion a sh:PropertyShape ; sh:path schema:addressRegion ; sh:datatype xsd:string ; sh:description "The region in which the locality is, and which is in the country. For example, California or another appropriate first-level [Administrative division](https://en.wikipedia.org/wiki/List_of_administrative_divisions_by_country) "^^rdf:HTML ; sh:name "addressRegion" ; . schema:DefinedRegion-postalCode a sh:PropertyShape ; sh:path schema:postalCode ; sh:datatype xsd:string ; sh:description "The postal code. For example, 94043."^^rdf:HTML ; sh:name "postalCode" ; . schema:DefinedRegion-postalCodePrefix a sh:PropertyShape ; sh:path schema:postalCodePrefix ; sh:datatype xsd:string ; sh:description "A defined range of postal codes indicated by a common textual prefix. Used for non-numeric systems such as UK."^^rdf:HTML ; sh:name "postalCodePrefix" ; . schema:DefinedRegion-postalCodeRange a sh:PropertyShape ; sh:path schema:postalCodeRange ; sh:class schema:PostalCodeRangeSpecification ; sh:description "A defined range of postal codes."^^rdf:HTML ; sh:name "postalCodeRange" ; . schema:DefinedTerm a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A word, name, acronym, phrase, etc. with a formal definition. Often used in the context of category or subject classification, glossaries or dictionaries, product or creative work types, etc. Use the name property for the term being defined, use termCode if the term has an alpha-numeric code allocated, use description to provide the definition of the term."^^rdf:HTML ; rdfs:label "Defined term" ; rdfs:subClassOf schema:Intangible ; sh:property schema:DefinedTerm-inDefinedTermSet ; sh:property schema:DefinedTerm-termCode ; . schema:DefinedTerm-inDefinedTermSet a sh:PropertyShape ; sh:path schema:inDefinedTermSet ; sh:description "A [[DefinedTermSet]] that contains this term."^^rdf:HTML ; sh:name "inDefinedTermSet" ; sh:or ( [ sh:class schema:DefinedTermSet ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:DefinedTerm-termCode a sh:PropertyShape ; sh:path schema:termCode ; sh:datatype xsd:string ; sh:description "A code that identifies this [[DefinedTerm]] within a [[DefinedTermSet]]"^^rdf:HTML ; sh:name "termCode" ; . schema:DefinedTermSet a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A set of defined terms for example a set of categories or a classification scheme, a glossary, dictionary or enumeration."^^rdf:HTML ; rdfs:label "Defined term set" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:DefinedTermSet-hasDefinedTerm ; . schema:DefinedTermSet-hasDefinedTerm a sh:PropertyShape ; sh:path schema:hasDefinedTerm ; sh:class schema:DefinedTerm ; sh:description "A Defined Term contained in this term set."^^rdf:HTML ; sh:name "hasDefinedTerm" ; . schema:DefinitiveLegalValue a schema:LegalValueLevel ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment """Indicates a document for which the text is conclusively what the law says and is legally binding. (e.g. The digitally signed version of an Official Journal.) Something \"Definitive\" is considered to be also [[AuthoritativeLegalValue]].""" ; rdfs:label "Definitive legal value" ; . schema:DeleteAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of editing a recipient by removing one of its objects."^^rdf:HTML ; rdfs:label "Delete action" ; rdfs:subClassOf schema:UpdateAction ; . schema:DeliveryChargeSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The price for the delivery of an offer using a particular delivery method."^^rdf:HTML ; rdfs:label "Delivery charge specification" ; rdfs:subClassOf schema:PriceSpecification ; sh:property schema:DeliveryChargeSpecification-appliesToDeliveryMethod ; sh:property schema:DeliveryChargeSpecification-areaServed ; sh:property schema:DeliveryChargeSpecification-eligibleRegion ; sh:property schema:DeliveryChargeSpecification-ineligibleRegion ; . schema:DeliveryChargeSpecification-appliesToDeliveryMethod a sh:PropertyShape ; sh:path schema:appliesToDeliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "The delivery method(s) to which the delivery charge or payment charge specification applies."^^rdf:HTML ; sh:name "appliesToDeliveryMethod" ; . schema:DeliveryChargeSpecification-areaServed a sh:PropertyShape ; sh:path schema:areaServed ; sh:description "The geographic area where a service or offered item is provided."^^rdf:HTML ; sh:name "areaServed" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DeliveryChargeSpecification-eligibleRegion a sh:PropertyShape ; sh:path schema:eligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid.\\n\\nSee also [[ineligibleRegion]]. """^^rdf:HTML ; sh:name "eligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DeliveryChargeSpecification-ineligibleRegion a sh:PropertyShape ; sh:path schema:ineligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\\n\\nSee also [[eligibleRegion]]. """^^rdf:HTML ; sh:name "ineligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DeliveryEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An event involving the delivery of an item."^^rdf:HTML ; rdfs:label "Delivery event" ; rdfs:subClassOf schema:Event ; sh:property schema:DeliveryEvent-accessCode ; sh:property schema:DeliveryEvent-availableFrom ; sh:property schema:DeliveryEvent-availableThrough ; sh:property schema:DeliveryEvent-hasDeliveryMethod ; . schema:DeliveryEvent-accessCode a sh:PropertyShape ; sh:path schema:accessCode ; sh:datatype xsd:string ; sh:description "Password, PIN, or access code needed for delivery (e.g. from a locker)."^^rdf:HTML ; sh:name "accessCode" ; . schema:DeliveryEvent-availableFrom a sh:PropertyShape ; sh:path schema:availableFrom ; sh:datatype xsd:dateTime ; sh:description "When the item is available for pickup from the store, locker, etc."^^rdf:HTML ; sh:name "availableFrom" ; . schema:DeliveryEvent-availableThrough a sh:PropertyShape ; sh:path schema:availableThrough ; sh:datatype xsd:dateTime ; sh:description "After this date, the item will no longer be available for pickup."^^rdf:HTML ; sh:name "availableThrough" ; . schema:DeliveryEvent-hasDeliveryMethod a sh:PropertyShape ; sh:path schema:hasDeliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "Method used for delivery or shipping."^^rdf:HTML ; sh:name "hasDeliveryMethod" ; . schema:DeliveryMethod a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A delivery method is a standardized procedure for transferring the product or service to the destination of fulfillment chosen by the customer. Delivery methods are characterized by the means of transportation used, and by the organization or group that is the contracting party for the sending organization or person.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#DeliveryModeDirectDownload\\n* http://purl.org/goodrelations/v1#DeliveryModeFreight\\n* http://purl.org/goodrelations/v1#DeliveryModeMail\\n* http://purl.org/goodrelations/v1#DeliveryModeOwnFleet\\n* http://purl.org/goodrelations/v1#DeliveryModePickUp\\n* http://purl.org/goodrelations/v1#DHL\\n* http://purl.org/goodrelations/v1#FederalExpress\\n* http://purl.org/goodrelations/v1#UPS """^^rdf:HTML ; rdfs:label "Delivery method" ; rdfs:subClassOf schema:Enumeration ; . schema:DeliveryTimeSettings a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A DeliveryTimeSettings represents re-usable pieces of shipping information, relating to timing. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of a [[OfferShippingDetails]]. Several occurrences can be published, distinguished (and identified/referenced) by their different values for [[transitTimeLabel]]."^^rdf:HTML ; rdfs:label "Delivery time settings" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:DeliveryTimeSettings-deliveryTime ; sh:property schema:DeliveryTimeSettings-isUnlabelledFallback ; sh:property schema:DeliveryTimeSettings-shippingDestination ; sh:property schema:DeliveryTimeSettings-transitTimeLabel ; . schema:DeliveryTimeSettings-deliveryTime a sh:PropertyShape ; sh:path schema:deliveryTime ; sh:class schema:ShippingDeliveryTime ; sh:description "The total delay between the receipt of the order and the goods reaching the final customer."^^rdf:HTML ; sh:name "deliveryTime" ; . schema:DeliveryTimeSettings-isUnlabelledFallback a sh:PropertyShape ; sh:path schema:isUnlabelledFallback ; sh:datatype xsd:boolean ; sh:description "This can be marked 'true' to indicate that some published [[DeliveryTimeSettings]] or [[ShippingRateSettings]] are intended to apply to all [[OfferShippingDetails]] published by the same merchant, when referenced by a [[shippingSettingsLink]] in those settings. It is not meaningful to use a 'true' value for this property alongside a transitTimeLabel (for [[DeliveryTimeSettings]]) or shippingLabel (for [[ShippingRateSettings]]), since this property is for use with unlabelled settings."^^rdf:HTML ; sh:name "isUnlabelledFallback" ; . schema:DeliveryTimeSettings-shippingDestination a sh:PropertyShape ; sh:path schema:shippingDestination ; sh:class schema:DefinedRegion ; sh:description "indicates (possibly multiple) shipping destinations. These can be defined in several ways e.g. postalCode ranges."^^rdf:HTML ; sh:name "shippingDestination" ; . schema:DeliveryTimeSettings-transitTimeLabel a sh:PropertyShape ; sh:path schema:transitTimeLabel ; sh:datatype xsd:string ; sh:description "Label to match an [[OfferShippingDetails]] with a [[DeliveryTimeSettings]] (within the context of a [[shippingSettingsLink]] cross-reference)."^^rdf:HTML ; sh:name "transitTimeLabel" ; . schema:Demand a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A demand entity represents the public, not necessarily binding, not necessarily exclusive, announcement by an organization or person to seek a certain type of goods or services. For describing demand using this type, the very same properties used for Offer apply."^^rdf:HTML ; rdfs:label "Demand" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Demand-acceptedPaymentMethod ; sh:property schema:Demand-advanceBookingRequirement ; sh:property schema:Demand-areaServed ; sh:property schema:Demand-availability ; sh:property schema:Demand-availabilityEnds ; sh:property schema:Demand-availabilityStarts ; sh:property schema:Demand-availableAtOrFrom ; sh:property schema:Demand-availableDeliveryMethod ; sh:property schema:Demand-businessFunction ; sh:property schema:Demand-deliveryLeadTime ; sh:property schema:Demand-eligibleCustomerType ; sh:property schema:Demand-eligibleDuration ; sh:property schema:Demand-eligibleQuantity ; sh:property schema:Demand-eligibleRegion ; sh:property schema:Demand-eligibleTransactionVolume ; sh:property schema:Demand-gtin ; sh:property schema:Demand-gtin12 ; sh:property schema:Demand-gtin13 ; sh:property schema:Demand-gtin14 ; sh:property schema:Demand-gtin8 ; sh:property schema:Demand-includesObject ; sh:property schema:Demand-ineligibleRegion ; sh:property schema:Demand-inventoryLevel ; sh:property schema:Demand-itemCondition ; sh:property schema:Demand-itemOffered ; sh:property schema:Demand-mpn ; sh:property schema:Demand-priceSpecification ; sh:property schema:Demand-seller ; sh:property schema:Demand-serialNumber ; sh:property schema:Demand-sku ; sh:property schema:Demand-validFrom ; sh:property schema:Demand-validThrough ; sh:property schema:Demand-warranty ; . schema:Demand-acceptedPaymentMethod a sh:PropertyShape ; sh:path schema:acceptedPaymentMethod ; sh:description "The payment method(s) accepted by seller for this offer."^^rdf:HTML ; sh:name "acceptedPaymentMethod" ; sh:or ( [ sh:class schema:LoanOrCredit ; ] [ sh:class schema:PaymentMethod ; ] ) ; . schema:Demand-advanceBookingRequirement a sh:PropertyShape ; sh:path schema:advanceBookingRequirement ; sh:class schema:QuantitativeValue ; sh:description "The amount of time that is required between accepting the offer and the actual usage of the resource or service."^^rdf:HTML ; sh:name "advanceBookingRequirement" ; . schema:Demand-areaServed a sh:PropertyShape ; sh:path schema:areaServed ; sh:description "The geographic area where a service or offered item is provided."^^rdf:HTML ; sh:name "areaServed" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Demand-availability a sh:PropertyShape ; sh:path schema:availability ; sh:class schema:ItemAvailability ; sh:description "The availability of this item—for example In stock, Out of stock, Pre-order, etc."^^rdf:HTML ; sh:name "availability" ; . schema:Demand-availabilityEnds a sh:PropertyShape ; sh:path schema:availabilityEnds ; sh:description "The end of the availability of the product or service included in the offer."^^rdf:HTML ; sh:name "availabilityEnds" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Demand-availabilityStarts a sh:PropertyShape ; sh:path schema:availabilityStarts ; sh:description "The beginning of the availability of the product or service included in the offer."^^rdf:HTML ; sh:name "availabilityStarts" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Demand-availableAtOrFrom a sh:PropertyShape ; sh:path schema:availableAtOrFrom ; sh:class schema:Place ; sh:description "The place(s) from which the offer can be obtained (e.g. store locations)."^^rdf:HTML ; sh:name "availableAtOrFrom" ; . schema:Demand-availableDeliveryMethod a sh:PropertyShape ; sh:path schema:availableDeliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "The delivery method(s) available for this offer."^^rdf:HTML ; sh:name "availableDeliveryMethod" ; . schema:Demand-businessFunction a sh:PropertyShape ; sh:path schema:businessFunction ; sh:class schema:BusinessFunction ; sh:description "The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell."^^rdf:HTML ; sh:name "businessFunction" ; . schema:Demand-deliveryLeadTime a sh:PropertyShape ; sh:path schema:deliveryLeadTime ; sh:class schema:QuantitativeValue ; sh:description "The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup."^^rdf:HTML ; sh:name "deliveryLeadTime" ; . schema:Demand-eligibleCustomerType a sh:PropertyShape ; sh:path schema:eligibleCustomerType ; sh:class schema:BusinessEntityType ; sh:description "The type(s) of customers for which the given offer is valid."^^rdf:HTML ; sh:name "eligibleCustomerType" ; . schema:Demand-eligibleDuration a sh:PropertyShape ; sh:path schema:eligibleDuration ; sh:class schema:QuantitativeValue ; sh:description "The duration for which the given offer is valid."^^rdf:HTML ; sh:name "eligibleDuration" ; . schema:Demand-eligibleQuantity a sh:PropertyShape ; sh:path schema:eligibleQuantity ; sh:class schema:QuantitativeValue ; sh:description "The interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity."^^rdf:HTML ; sh:name "eligibleQuantity" ; . schema:Demand-eligibleRegion a sh:PropertyShape ; sh:path schema:eligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid.\\n\\nSee also [[ineligibleRegion]]. """^^rdf:HTML ; sh:name "eligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Demand-eligibleTransactionVolume a sh:PropertyShape ; sh:path schema:eligibleTransactionVolume ; sh:class schema:PriceSpecification ; sh:description "The transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount."^^rdf:HTML ; sh:name "eligibleTransactionVolume" ; . schema:Demand-gtin a sh:PropertyShape ; sh:path schema:gtin ; sh:datatype xsd:string ; sh:description """A Global Trade Item Number ([GTIN](https://www.gs1.org/standards/id-keys/gtin)). GTINs identify trade items, including products and services, using numeric identification codes. The [[gtin]] property generalizes the earlier [[gtin8]], [[gtin12]], [[gtin13]], and [[gtin14]] properties. The GS1 [digital link specifications](https://www.gs1.org/standards/Digital-Link/) express GTINs as URLs. A correct [[gtin]] value should be a valid GTIN, which means that it should be an all-numeric string of either 8, 12, 13 or 14 digits, or a \"GS1 Digital Link\" URL based on such a string. The numeric component should also have a [valid GS1 check digit](https://www.gs1.org/services/check-digit-calculator) and meet the other rules for valid GTINs. See also [GS1's GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) and [Wikipedia](https://en.wikipedia.org/wiki/Global_Trade_Item_Number) for more details. Left-padding of the gtin values is not required or encouraged. """^^rdf:HTML ; sh:name "gtin" ; . schema:Demand-gtin12 a sh:PropertyShape ; sh:path schema:gtin12 ; sh:datatype xsd:string ; sh:description "The GTIN-12 code of the product, or the product to which the offer refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a U.P.C. Company Prefix, Item Reference, and Check Digit used to identify trade items. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin12" ; . schema:Demand-gtin13 a sh:PropertyShape ; sh:path schema:gtin13 ; sh:datatype xsd:string ; sh:description "The GTIN-13 code of the product, or the product to which the offer refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former 12-digit UPC codes can be converted into a GTIN-13 code by simply adding a preceding zero. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin13" ; . schema:Demand-gtin14 a sh:PropertyShape ; sh:path schema:gtin14 ; sh:datatype xsd:string ; sh:description "The GTIN-14 code of the product, or the product to which the offer refers. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin14" ; . schema:Demand-gtin8 a sh:PropertyShape ; sh:path schema:gtin8 ; sh:datatype xsd:string ; sh:description "The GTIN-8 code of the product, or the product to which the offer refers. This code is also known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin8" ; . schema:Demand-includesObject a sh:PropertyShape ; sh:path schema:includesObject ; sh:class schema:TypeAndQuantityNode ; sh:description "This links to a node or nodes indicating the exact quantity of the products included in an [[Offer]] or [[ProductCollection]]."^^rdf:HTML ; sh:name "includesObject" ; . schema:Demand-ineligibleRegion a sh:PropertyShape ; sh:path schema:ineligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\\n\\nSee also [[eligibleRegion]]. """^^rdf:HTML ; sh:name "ineligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Demand-inventoryLevel a sh:PropertyShape ; sh:path schema:inventoryLevel ; sh:class schema:QuantitativeValue ; sh:description "The current approximate inventory level for the item or items."^^rdf:HTML ; sh:name "inventoryLevel" ; . schema:Demand-itemCondition a sh:PropertyShape ; sh:path schema:itemCondition ; sh:class schema:OfferItemCondition ; sh:description "A predefined value from OfferItemCondition or a textual description of the condition of the product or service, or the products or services included in the offer."^^rdf:HTML ; sh:name "itemCondition" ; . schema:Demand-itemOffered a sh:PropertyShape ; sh:path schema:itemOffered ; sh:description "An item being offered (or demanded). The transactional nature of the offer or demand is documented using [[businessFunction]], e.g. sell, lease etc. While several common expected types are listed explicitly in this definition, others can be used. Using a second type, such as Product or a subtype of Product, can clarify the nature of the offer."^^rdf:HTML ; sh:name "itemOffered" ; sh:or ( [ sh:class schema:AggregateOffer ; ] [ sh:class schema:CreativeWork ; ] [ sh:class schema:Event ; ] [ sh:class schema:MenuItem ; ] [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] [ sh:class schema:Trip ; ] ) ; . schema:Demand-mpn a sh:PropertyShape ; sh:path schema:mpn ; sh:datatype xsd:string ; sh:description "The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers."^^rdf:HTML ; sh:name "mpn" ; . schema:Demand-priceSpecification a sh:PropertyShape ; sh:path schema:priceSpecification ; sh:class schema:PriceSpecification ; sh:description "One or more detailed price specifications, indicating the unit price and delivery or payment charges."^^rdf:HTML ; sh:name "priceSpecification" ; . schema:Demand-seller a sh:PropertyShape ; sh:path schema:seller ; sh:description "An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider."^^rdf:HTML ; sh:name "seller" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Demand-serialNumber a sh:PropertyShape ; sh:path schema:serialNumber ; sh:datatype xsd:string ; sh:description "The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer."^^rdf:HTML ; sh:name "serialNumber" ; . schema:Demand-sku a sh:PropertyShape ; sh:path schema:sku ; sh:datatype xsd:string ; sh:description "The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers."^^rdf:HTML ; sh:name "sku" ; . schema:Demand-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Demand-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Demand-warranty a sh:PropertyShape ; sh:path schema:warranty ; sh:class schema:WarrantyPromise ; sh:description "The warranty promise(s) included in the offer."^^rdf:HTML ; sh:name "warranty" ; . schema:DemoAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "DemoAlbum." ; rdfs:label "Demo album" ; . schema:Dentist a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A dentist."^^rdf:HTML ; rdfs:label "Dentist" ; rdfs:subClassOf schema:LocalBusiness ; rdfs:subClassOf schema:MedicalBusiness ; rdfs:subClassOf schema:MedicalOrganization ; . schema:Dentistry a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A branch of medicine that is involved in the dental care." ; rdfs:label "Dentistry" ; . schema:DepartAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of departing from a place. An agent departs from an fromLocation for a destination, optionally with participants."^^rdf:HTML ; rdfs:label "Depart action" ; rdfs:subClassOf schema:MoveAction ; . schema:DepartmentStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A department store."^^rdf:HTML ; rdfs:label "Department store" ; rdfs:subClassOf schema:Store ; . schema:DepositAccount a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A type of Bank Account with a main purpose of depositing funds to gain interest or other benefits."^^rdf:HTML ; rdfs:label "Deposit account" ; rdfs:subClassOf schema:BankAccount ; rdfs:subClassOf schema:InvestmentOrDeposit ; . schema:Dermatologic a schema:MedicalSpecialty ; schema:isPartOf ; schema:supersededBy schema:Dermatology ; rdfs:comment "Something relating to or practicing dermatology." ; rdfs:label "Dermatologic" ; . schema:Dermatology a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to diagnosis and treatment of disorders of skin." ; rdfs:label "Dermatology" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:DiabeticDiet a schema:RestrictedDiet ; rdfs:comment "A diet appropriate for people with diabetes." ; rdfs:label "Diabetic diet" ; . schema:Diagnostic a schema:MedicalDevicePurpose ; schema:isPartOf ; rdfs:comment "A medical device used for diagnostic purposes." ; rdfs:label "Diagnostic" ; . schema:DiagnosticLab a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical laboratory that offers on-site or off-site diagnostic services."^^rdf:HTML ; rdfs:label "Diagnostic lab" ; rdfs:subClassOf schema:MedicalOrganization ; sh:property schema:DiagnosticLab-availableTest ; . schema:DiagnosticLab-availableTest a sh:PropertyShape ; sh:path schema:availableTest ; sh:class schema:MedicalTest ; sh:description "A diagnostic test or procedure offered by this lab."^^rdf:HTML ; sh:name "availableTest" ; . schema:DiagnosticProcedure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical procedure intended primarily for diagnostic, as opposed to therapeutic, purposes."^^rdf:HTML ; rdfs:label "Diagnostic procedure" ; rdfs:subClassOf schema:MedicalProcedure ; . schema:Diet a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A strategy of regulating the intake of food to achieve or maintain a specific health-related goal."^^rdf:HTML ; rdfs:label "Diet" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:LifestyleModification ; sh:property schema:Diet-dietFeatures ; sh:property schema:Diet-endorsers ; sh:property schema:Diet-expertConsiderations ; sh:property schema:Diet-physiologicalBenefits ; sh:property schema:Diet-risks ; . schema:Diet-dietFeatures a sh:PropertyShape ; sh:path schema:dietFeatures ; sh:datatype xsd:string ; sh:description "Nutritional information specific to the dietary plan. May include dietary recommendations on what foods to avoid, what foods to consume, and specific alterations/deviations from the USDA or other regulatory body's approved dietary guidelines."^^rdf:HTML ; sh:name "dietFeatures" ; . schema:Diet-endorsers a sh:PropertyShape ; sh:path schema:endorsers ; sh:description "People or organizations that endorse the plan."^^rdf:HTML ; sh:name "endorsers" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Diet-expertConsiderations a sh:PropertyShape ; sh:path schema:expertConsiderations ; sh:datatype xsd:string ; sh:description "Medical expert advice related to the plan."^^rdf:HTML ; sh:name "expertConsiderations" ; . schema:Diet-physiologicalBenefits a sh:PropertyShape ; sh:path schema:physiologicalBenefits ; sh:datatype xsd:string ; sh:description "Specific physiologic benefits associated to the plan."^^rdf:HTML ; sh:name "physiologicalBenefits" ; . schema:Diet-risks a sh:PropertyShape ; sh:path schema:risks ; sh:datatype xsd:string ; sh:description "Specific physiologic risks associated to the diet plan."^^rdf:HTML ; sh:name "risks" ; . schema:DietNutrition a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "Dietetic and nutrition as a medical specialty." ; rdfs:label "Diet nutrition" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:DietarySupplement a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A product taken by mouth that contains a dietary ingredient intended to supplement the diet. Dietary ingredients may include vitamins, minerals, herbs or other botanicals, amino acids, and substances such as enzymes, organ tissues, glandulars and metabolites."^^rdf:HTML ; rdfs:label "Dietary supplement" ; rdfs:subClassOf schema:Substance ; sh:property schema:DietarySupplement-activeIngredient ; sh:property schema:DietarySupplement-isProprietary ; sh:property schema:DietarySupplement-legalStatus ; sh:property schema:DietarySupplement-manufacturer ; sh:property schema:DietarySupplement-maximumIntake ; sh:property schema:DietarySupplement-mechanismOfAction ; sh:property schema:DietarySupplement-nonProprietaryName ; sh:property schema:DietarySupplement-proprietaryName ; sh:property schema:DietarySupplement-recommendedIntake ; sh:property schema:DietarySupplement-safetyConsideration ; sh:property schema:DietarySupplement-targetPopulation ; . schema:DietarySupplement-activeIngredient a sh:PropertyShape ; sh:path schema:activeIngredient ; sh:datatype xsd:string ; sh:description "An active ingredient, typically chemical compounds and/or biologic substances."^^rdf:HTML ; sh:name "activeIngredient" ; . schema:DietarySupplement-isProprietary a sh:PropertyShape ; sh:path schema:isProprietary ; sh:datatype xsd:boolean ; sh:description "True if this item's name is a proprietary/brand name (vs. generic name)."^^rdf:HTML ; sh:name "isProprietary" ; . schema:DietarySupplement-legalStatus a sh:PropertyShape ; sh:path schema:legalStatus ; sh:description "The drug or supplement's legal status, including any controlled substance schedules that apply."^^rdf:HTML ; sh:name "legalStatus" ; sh:or ( [ sh:class schema:DrugLegalStatus ; ] [ sh:class schema:MedicalEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DietarySupplement-manufacturer a sh:PropertyShape ; sh:path schema:manufacturer ; sh:class schema:Organization ; sh:description "The manufacturer of the product."^^rdf:HTML ; sh:name "manufacturer" ; . schema:DietarySupplement-maximumIntake a sh:PropertyShape ; sh:path schema:maximumIntake ; sh:class schema:MaximumDoseSchedule ; sh:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority."^^rdf:HTML ; sh:name "maximumIntake" ; . schema:DietarySupplement-mechanismOfAction a sh:PropertyShape ; sh:path schema:mechanismOfAction ; sh:datatype xsd:string ; sh:description "The specific biochemical interaction through which this drug or supplement produces its pharmacological effect."^^rdf:HTML ; sh:name "mechanismOfAction" ; . schema:DietarySupplement-nonProprietaryName a sh:PropertyShape ; sh:path schema:nonProprietaryName ; sh:datatype xsd:string ; sh:description "The generic name of this drug or supplement."^^rdf:HTML ; sh:name "nonProprietaryName" ; . schema:DietarySupplement-proprietaryName a sh:PropertyShape ; sh:path schema:proprietaryName ; sh:datatype xsd:string ; sh:description "Proprietary name given to the diet plan, typically by its originator or creator."^^rdf:HTML ; sh:name "proprietaryName" ; . schema:DietarySupplement-recommendedIntake a sh:PropertyShape ; sh:path schema:recommendedIntake ; sh:class schema:RecommendedDoseSchedule ; sh:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority."^^rdf:HTML ; sh:name "recommendedIntake" ; . schema:DietarySupplement-safetyConsideration a sh:PropertyShape ; sh:path schema:safetyConsideration ; sh:datatype xsd:string ; sh:description "Any potential safety concern associated with the supplement. May include interactions with other drugs and foods, pregnancy, breastfeeding, known adverse reactions, and documented efficacy of the supplement."^^rdf:HTML ; sh:name "safetyConsideration" ; . schema:DietarySupplement-targetPopulation a sh:PropertyShape ; sh:path schema:targetPopulation ; sh:datatype xsd:string ; sh:description "Characteristics of the population for which this is intended, or which typically uses it, e.g. 'adults'."^^rdf:HTML ; sh:name "targetPopulation" ; . schema:DigitalAudioTapeFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "DigitalAudioTapeFormat." ; rdfs:label "Digital audio tape format" ; . schema:DigitalDocument a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An electronic file or document."^^rdf:HTML ; rdfs:label "Digital document" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:DigitalDocument-hasDigitalDocumentPermission ; . schema:DigitalDocument-hasDigitalDocumentPermission a sh:PropertyShape ; sh:path schema:hasDigitalDocumentPermission ; sh:class schema:DigitalDocumentPermission ; sh:description "A permission related to the access to this document (e.g. permission to read or write an electronic document). For a public document, specify a grantee with an Audience with audienceType equal to \"public\"."^^rdf:HTML ; sh:name "hasDigitalDocumentPermission" ; . schema:DigitalDocumentPermission a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A permission for a particular person or group to access a particular file."^^rdf:HTML ; rdfs:label "Digital document permission" ; rdfs:subClassOf schema:Intangible ; sh:property schema:DigitalDocumentPermission-grantee ; sh:property schema:DigitalDocumentPermission-permissionType ; . schema:DigitalDocumentPermission-grantee a sh:PropertyShape ; sh:path schema:grantee ; sh:description "The person, organization, contact point, or audience that has been granted this permission."^^rdf:HTML ; sh:name "grantee" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:DigitalDocumentPermission-permissionType a sh:PropertyShape ; sh:path schema:permissionType ; sh:class schema:DigitalDocumentPermissionType ; sh:description "The type of permission granted the person, organization, or audience."^^rdf:HTML ; sh:name "permissionType" ; . schema:DigitalDocumentPermissionType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A type of permission which can be granted for accessing a digital document."^^rdf:HTML ; rdfs:label "Digital document permission type" ; rdfs:subClassOf schema:Enumeration ; . schema:DigitalFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "DigitalFormat." ; rdfs:label "Digital format" ; . schema:DisabilitySupport a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "DisabilitySupport: this is a benefit for disability support." ; rdfs:label "Disability support" ; . schema:DisagreeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a difference of opinion with the object. An agent disagrees to/about an object (a proposition, topic or theme) with participants."^^rdf:HTML ; rdfs:label "Disagree action" ; rdfs:subClassOf schema:ReactAction ; . schema:Discontinued a schema:ItemAvailability ; rdfs:comment "Indicates that the item has been discontinued." ; rdfs:label "Discontinued" ; . schema:DiscoverAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of discovering/finding an object."^^rdf:HTML ; rdfs:label "Discover action" ; rdfs:subClassOf schema:FindAction ; . schema:DiscussionForumPosting a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A posting to a discussion forum."^^rdf:HTML ; rdfs:label "Discussion forum posting" ; rdfs:subClassOf schema:SocialMediaPosting ; . schema:DislikeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a negative sentiment about the object. An agent dislikes an object (a proposition, topic or theme) with participants."^^rdf:HTML ; rdfs:label "Dislike action" ; rdfs:subClassOf schema:ReactAction ; . schema:Distance a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Properties that take Distances as values are of the form '<Number> <Length unit of measure>'. E.g., '7 ft'."^^rdf:HTML ; rdfs:label "Distance" ; rdfs:subClassOf schema:Quantity ; . schema:DistanceFee a schema:PriceComponentTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the distance fee (e.g., price per km or mile) part of the total price for an offered product, for example a car rental." ; rdfs:label "Distance fee" ; . schema:Distillery a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A distillery."^^rdf:HTML ; rdfs:label "Distillery" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:DonateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of providing goods, services, or money without compensation, often for philanthropic reasons."^^rdf:HTML ; rdfs:label "Donate action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:DonateAction-recipient ; . schema:DonateAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:DoseSchedule a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A specific dosing schedule for a drug or supplement."^^rdf:HTML ; rdfs:label "Dose schedule" ; rdfs:subClassOf schema:MedicalIntangible ; sh:property schema:DoseSchedule-doseUnit ; sh:property schema:DoseSchedule-doseValue ; sh:property schema:DoseSchedule-frequency ; sh:property schema:DoseSchedule-targetPopulation ; . schema:DoseSchedule-doseUnit a sh:PropertyShape ; sh:path schema:doseUnit ; sh:datatype xsd:string ; sh:description "The unit of the dose, e.g. 'mg'."^^rdf:HTML ; sh:name "doseUnit" ; . schema:DoseSchedule-doseValue a sh:PropertyShape ; sh:path schema:doseValue ; sh:description "The value of the dose, e.g. 500."^^rdf:HTML ; sh:name "doseValue" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:DoseSchedule-frequency a sh:PropertyShape ; sh:path schema:frequency ; sh:datatype xsd:string ; sh:description "How often the dose is taken, e.g. 'daily'."^^rdf:HTML ; sh:name "frequency" ; . schema:DoseSchedule-targetPopulation a sh:PropertyShape ; sh:path schema:targetPopulation ; sh:datatype xsd:string ; sh:description "Characteristics of the population for which this is intended, or which typically uses it, e.g. 'adults'."^^rdf:HTML ; sh:name "targetPopulation" ; . schema:DoubleBlindedTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A trial design in which neither the researcher nor the patient knows the details of the treatment the patient was randomly assigned to." ; rdfs:label "Double blinded trial" ; . schema:DownloadAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of downloading an object."^^rdf:HTML ; rdfs:label "Download action" ; rdfs:subClassOf schema:TransferAction ; . schema:Downpayment a schema:PriceComponentTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the downpayment (up-front payment) price component of the total price for an offered product that has additional installment payments." ; rdfs:label "Downpayment" ; . schema:DrawAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of producing a visual/graphical representation of an object, typically with a pen/pencil and paper as instruments."^^rdf:HTML ; rdfs:label "Draw action" ; rdfs:subClassOf schema:CreateAction ; . schema:Drawing a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A picture or diagram made with a pencil, pen, or crayon rather than paint."^^rdf:HTML ; rdfs:label "Drawing" ; rdfs:subClassOf schema:CreativeWork ; . schema:DrinkAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of swallowing liquids."^^rdf:HTML ; rdfs:label "Drink action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:DriveWheelConfigurationValue a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A value indicating which roadwheels will receive torque."^^rdf:HTML ; rdfs:label "Drive wheel configuration value" ; rdfs:subClassOf schema:QualitativeValue ; . schema:DrivingSchoolVehicleUsage a schema:CarUsageType ; schema:isPartOf ; schema:source ; rdfs:comment "Indicates the usage of the vehicle for driving school." ; rdfs:label "Driving school vehicle usage" ; . schema:Drug a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A chemical or biologic substance, used as a medical therapy, that has a physiological effect on an organism. Here the term drug is used interchangeably with the term medicine although clinical knowledge make a clear difference between them."^^rdf:HTML ; rdfs:label "Drug" ; rdfs:subClassOf schema:Substance ; owl:equivalentClass ; sh:property schema:Drug-activeIngredient ; sh:property schema:Drug-administrationRoute ; sh:property schema:Drug-alcoholWarning ; sh:property schema:Drug-availableStrength ; sh:property schema:Drug-breastfeedingWarning ; sh:property schema:Drug-clincalPharmacology ; sh:property schema:Drug-clinicalPharmacology ; sh:property schema:Drug-dosageForm ; sh:property schema:Drug-doseSchedule ; sh:property schema:Drug-drugClass ; sh:property schema:Drug-drugUnit ; sh:property schema:Drug-foodWarning ; sh:property schema:Drug-includedInHealthInsurancePlan ; sh:property schema:Drug-interactingDrug ; sh:property schema:Drug-isAvailableGenerically ; sh:property schema:Drug-isProprietary ; sh:property schema:Drug-labelDetails ; sh:property schema:Drug-legalStatus ; sh:property schema:Drug-manufacturer ; sh:property schema:Drug-maximumIntake ; sh:property schema:Drug-mechanismOfAction ; sh:property schema:Drug-nonProprietaryName ; sh:property schema:Drug-overdosage ; sh:property schema:Drug-pregnancyCategory ; sh:property schema:Drug-pregnancyWarning ; sh:property schema:Drug-prescribingInfo ; sh:property schema:Drug-prescriptionStatus ; sh:property schema:Drug-proprietaryName ; sh:property schema:Drug-relatedDrug ; sh:property schema:Drug-rxcui ; sh:property schema:Drug-warning ; . schema:Drug-activeIngredient a sh:PropertyShape ; sh:path schema:activeIngredient ; sh:datatype xsd:string ; sh:description "An active ingredient, typically chemical compounds and/or biologic substances."^^rdf:HTML ; sh:name "activeIngredient" ; . schema:Drug-administrationRoute a sh:PropertyShape ; sh:path schema:administrationRoute ; sh:datatype xsd:string ; sh:description "A route by which this drug may be administered, e.g. 'oral'."^^rdf:HTML ; sh:name "administrationRoute" ; . schema:Drug-alcoholWarning a sh:PropertyShape ; sh:path schema:alcoholWarning ; sh:datatype xsd:string ; sh:description "Any precaution, guidance, contraindication, etc. related to consumption of alcohol while taking this drug."^^rdf:HTML ; sh:name "alcoholWarning" ; . schema:Drug-availableStrength a sh:PropertyShape ; sh:path schema:availableStrength ; sh:class schema:DrugStrength ; sh:description "An available dosage strength for the drug."^^rdf:HTML ; sh:name "availableStrength" ; . schema:Drug-breastfeedingWarning a sh:PropertyShape ; sh:path schema:breastfeedingWarning ; sh:datatype xsd:string ; sh:description "Any precaution, guidance, contraindication, etc. related to this drug's use by breastfeeding mothers."^^rdf:HTML ; sh:name "breastfeedingWarning" ; . schema:Drug-clincalPharmacology a sh:PropertyShape ; sh:path schema:clincalPharmacology ; sh:datatype xsd:string ; sh:description "Description of the absorption and elimination of drugs, including their concentration (pharmacokinetics, pK) and biological effects (pharmacodynamics, pD)."^^rdf:HTML ; sh:name "clincalPharmacology" ; . schema:Drug-clinicalPharmacology a sh:PropertyShape ; sh:path schema:clinicalPharmacology ; sh:datatype xsd:string ; sh:description "Description of the absorption and elimination of drugs, including their concentration (pharmacokinetics, pK) and biological effects (pharmacodynamics, pD)."^^rdf:HTML ; sh:name "clinicalPharmacology" ; . schema:Drug-dosageForm a sh:PropertyShape ; sh:path schema:dosageForm ; sh:datatype xsd:string ; sh:description "A dosage form in which this drug/supplement is available, e.g. 'tablet', 'suspension', 'injection'."^^rdf:HTML ; sh:name "dosageForm" ; . schema:Drug-doseSchedule a sh:PropertyShape ; sh:path schema:doseSchedule ; sh:class schema:DoseSchedule ; sh:description "A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used."^^rdf:HTML ; sh:name "doseSchedule" ; . schema:Drug-drugClass a sh:PropertyShape ; sh:path schema:drugClass ; sh:class schema:DrugClass ; sh:description "The class of drug this belongs to (e.g., statins)."^^rdf:HTML ; sh:name "drugClass" ; . schema:Drug-drugUnit a sh:PropertyShape ; sh:path schema:drugUnit ; sh:datatype xsd:string ; sh:description "The unit in which the drug is measured, e.g. '5 mg tablet'."^^rdf:HTML ; sh:name "drugUnit" ; . schema:Drug-foodWarning a sh:PropertyShape ; sh:path schema:foodWarning ; sh:datatype xsd:string ; sh:description "Any precaution, guidance, contraindication, etc. related to consumption of specific foods while taking this drug."^^rdf:HTML ; sh:name "foodWarning" ; . schema:Drug-includedInHealthInsurancePlan a sh:PropertyShape ; sh:path schema:includedInHealthInsurancePlan ; sh:class schema:HealthInsurancePlan ; sh:description "The insurance plans that cover this drug."^^rdf:HTML ; sh:name "includedInHealthInsurancePlan" ; . schema:Drug-interactingDrug a sh:PropertyShape ; sh:path schema:interactingDrug ; sh:class schema:Drug ; sh:description "Another drug that is known to interact with this drug in a way that impacts the effect of this drug or causes a risk to the patient. Note: disease interactions are typically captured as contraindications."^^rdf:HTML ; sh:name "interactingDrug" ; . schema:Drug-isAvailableGenerically a sh:PropertyShape ; sh:path schema:isAvailableGenerically ; sh:datatype xsd:boolean ; sh:description "True if the drug is available in a generic form (regardless of name)."^^rdf:HTML ; sh:name "isAvailableGenerically" ; . schema:Drug-isProprietary a sh:PropertyShape ; sh:path schema:isProprietary ; sh:datatype xsd:boolean ; sh:description "True if this item's name is a proprietary/brand name (vs. generic name)."^^rdf:HTML ; sh:name "isProprietary" ; . schema:Drug-labelDetails a sh:PropertyShape ; sh:path schema:labelDetails ; sh:description "Link to the drug's label details."^^rdf:HTML ; sh:name "labelDetails" ; sh:nodeKind sh:IRI ; . schema:Drug-legalStatus a sh:PropertyShape ; sh:path schema:legalStatus ; sh:description "The drug or supplement's legal status, including any controlled substance schedules that apply."^^rdf:HTML ; sh:name "legalStatus" ; sh:or ( [ sh:class schema:DrugLegalStatus ; ] [ sh:class schema:MedicalEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Drug-manufacturer a sh:PropertyShape ; sh:path schema:manufacturer ; sh:class schema:Organization ; sh:description "The manufacturer of the product."^^rdf:HTML ; sh:name "manufacturer" ; . schema:Drug-maximumIntake a sh:PropertyShape ; sh:path schema:maximumIntake ; sh:class schema:MaximumDoseSchedule ; sh:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority."^^rdf:HTML ; sh:name "maximumIntake" ; . schema:Drug-mechanismOfAction a sh:PropertyShape ; sh:path schema:mechanismOfAction ; sh:datatype xsd:string ; sh:description "The specific biochemical interaction through which this drug or supplement produces its pharmacological effect."^^rdf:HTML ; sh:name "mechanismOfAction" ; . schema:Drug-nonProprietaryName a sh:PropertyShape ; sh:path schema:nonProprietaryName ; sh:datatype xsd:string ; sh:description "The generic name of this drug or supplement."^^rdf:HTML ; sh:name "nonProprietaryName" ; . schema:Drug-overdosage a sh:PropertyShape ; sh:path schema:overdosage ; sh:datatype xsd:string ; sh:description "Any information related to overdose on a drug, including signs or symptoms, treatments, contact information for emergency response."^^rdf:HTML ; sh:name "overdosage" ; . schema:Drug-pregnancyCategory a sh:PropertyShape ; sh:path schema:pregnancyCategory ; sh:class schema:DrugPregnancyCategory ; sh:description "Pregnancy category of this drug."^^rdf:HTML ; sh:name "pregnancyCategory" ; . schema:Drug-pregnancyWarning a sh:PropertyShape ; sh:path schema:pregnancyWarning ; sh:datatype xsd:string ; sh:description "Any precaution, guidance, contraindication, etc. related to this drug's use during pregnancy."^^rdf:HTML ; sh:name "pregnancyWarning" ; . schema:Drug-prescribingInfo a sh:PropertyShape ; sh:path schema:prescribingInfo ; sh:description "Link to prescribing information for the drug."^^rdf:HTML ; sh:name "prescribingInfo" ; sh:nodeKind sh:IRI ; . schema:Drug-prescriptionStatus a sh:PropertyShape ; sh:path schema:prescriptionStatus ; sh:description "Indicates the status of drug prescription eg. local catalogs classifications or whether the drug is available by prescription or over-the-counter, etc."^^rdf:HTML ; sh:name "prescriptionStatus" ; sh:or ( [ sh:class schema:DrugPrescriptionStatus ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Drug-proprietaryName a sh:PropertyShape ; sh:path schema:proprietaryName ; sh:datatype xsd:string ; sh:description "Proprietary name given to the diet plan, typically by its originator or creator."^^rdf:HTML ; sh:name "proprietaryName" ; . schema:Drug-relatedDrug a sh:PropertyShape ; sh:path schema:relatedDrug ; sh:class schema:Drug ; sh:description "Any other drug related to this one, for example commonly-prescribed alternatives."^^rdf:HTML ; sh:name "relatedDrug" ; . schema:Drug-rxcui a sh:PropertyShape ; sh:path schema:rxcui ; sh:datatype xsd:string ; sh:description "The RxCUI drug identifier from RXNORM."^^rdf:HTML ; sh:name "rxcui" ; . schema:Drug-warning a sh:PropertyShape ; sh:path schema:warning ; sh:description "Any FDA or other warnings about the drug (text or URL)."^^rdf:HTML ; sh:name "warning" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DrugClass a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A class of medical drugs, e.g., statins. Classes can represent general pharmacological class, common mechanisms of action, common physiological effects, etc."^^rdf:HTML ; rdfs:label "Drug class" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:DrugClass-drug ; . schema:DrugClass-drug a sh:PropertyShape ; sh:path schema:drug ; sh:class schema:Drug ; sh:description "Specifying a drug or medicine used in a medication procedure."^^rdf:HTML ; sh:name "drug" ; . schema:DrugCost a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The cost per unit of a medical drug. Note that this type is not meant to represent the price in an offer of a drug for sale; see the Offer type for that. This type will typically be used to tag wholesale or average retail cost of a drug, or maximum reimbursable cost. Costs of medical drugs vary widely depending on how and where they are paid for, so while this type captures some of the variables, costs should be used with caution by consumers of this schema's markup."^^rdf:HTML ; rdfs:label "Drug cost" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:DrugCost-applicableLocation ; sh:property schema:DrugCost-costCategory ; sh:property schema:DrugCost-costCurrency ; sh:property schema:DrugCost-costOrigin ; sh:property schema:DrugCost-costPerUnit ; sh:property schema:DrugCost-drugUnit ; . schema:DrugCost-applicableLocation a sh:PropertyShape ; sh:path schema:applicableLocation ; sh:class schema:AdministrativeArea ; sh:description "The location in which the status applies."^^rdf:HTML ; sh:name "applicableLocation" ; . schema:DrugCost-costCategory a sh:PropertyShape ; sh:path schema:costCategory ; sh:class schema:DrugCostCategory ; sh:description "The category of cost, such as wholesale, retail, reimbursement cap, etc."^^rdf:HTML ; sh:name "costCategory" ; . schema:DrugCost-costCurrency a sh:PropertyShape ; sh:path schema:costCurrency ; sh:datatype xsd:string ; sh:description "The currency (in 3-letter of the drug cost. See: http://en.wikipedia.org/wiki/ISO_4217. "^^rdf:HTML ; sh:name "costCurrency" ; . schema:DrugCost-costOrigin a sh:PropertyShape ; sh:path schema:costOrigin ; sh:datatype xsd:string ; sh:description "Additional details to capture the origin of the cost data. For example, 'Medicare Part B'."^^rdf:HTML ; sh:name "costOrigin" ; . schema:DrugCost-costPerUnit a sh:PropertyShape ; sh:path schema:costPerUnit ; sh:description "The cost per unit of the drug."^^rdf:HTML ; sh:name "costPerUnit" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:DrugCost-drugUnit a sh:PropertyShape ; sh:path schema:drugUnit ; sh:datatype xsd:string ; sh:description "The unit in which the drug is measured, e.g. '5 mg tablet'."^^rdf:HTML ; sh:name "drugUnit" ; . schema:DrugCostCategory a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Enumerated categories of medical drug costs."^^rdf:HTML ; rdfs:label "Drug cost category" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:DrugLegalStatus a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The legal availability status of a medical drug."^^rdf:HTML ; rdfs:label "Drug legal status" ; rdfs:subClassOf schema:MedicalIntangible ; sh:property schema:DrugLegalStatus-applicableLocation ; . schema:DrugLegalStatus-applicableLocation a sh:PropertyShape ; sh:path schema:applicableLocation ; sh:class schema:AdministrativeArea ; sh:description "The location in which the status applies."^^rdf:HTML ; sh:name "applicableLocation" ; . schema:DrugPregnancyCategory a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Categories that represent an assessment of the risk of fetal injury due to a drug or pharmaceutical used as directed by the mother during pregnancy."^^rdf:HTML ; rdfs:label "Drug pregnancy category" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:DrugPrescriptionStatus a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Indicates whether this drug is available by prescription or over-the-counter."^^rdf:HTML ; rdfs:label "Drug prescription status" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:DrugStrength a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A specific strength in which a medical drug is available in a specific country."^^rdf:HTML ; rdfs:label "Drug strength" ; rdfs:subClassOf schema:MedicalIntangible ; sh:property schema:DrugStrength-activeIngredient ; sh:property schema:DrugStrength-availableIn ; sh:property schema:DrugStrength-maximumIntake ; sh:property schema:DrugStrength-strengthUnit ; sh:property schema:DrugStrength-strengthValue ; . schema:DrugStrength-activeIngredient a sh:PropertyShape ; sh:path schema:activeIngredient ; sh:datatype xsd:string ; sh:description "An active ingredient, typically chemical compounds and/or biologic substances."^^rdf:HTML ; sh:name "activeIngredient" ; . schema:DrugStrength-availableIn a sh:PropertyShape ; sh:path schema:availableIn ; sh:class schema:AdministrativeArea ; sh:description "The location in which the strength is available."^^rdf:HTML ; sh:name "availableIn" ; . schema:DrugStrength-maximumIntake a sh:PropertyShape ; sh:path schema:maximumIntake ; sh:class schema:MaximumDoseSchedule ; sh:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority."^^rdf:HTML ; sh:name "maximumIntake" ; . schema:DrugStrength-strengthUnit a sh:PropertyShape ; sh:path schema:strengthUnit ; sh:datatype xsd:string ; sh:description "The units of an active ingredient's strength, e.g. mg."^^rdf:HTML ; sh:name "strengthUnit" ; . schema:DrugStrength-strengthValue a sh:PropertyShape ; sh:path schema:strengthValue ; sh:datatype xsd:float ; sh:description "The value of an active ingredient's strength, e.g. 325."^^rdf:HTML ; sh:name "strengthValue" ; . schema:DryCleaningOrLaundry a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A dry-cleaning business."^^rdf:HTML ; rdfs:label "Dry cleaning or laundry" ; rdfs:subClassOf schema:LocalBusiness ; . schema:Duration a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Quantity: Duration (use [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; rdfs:label "Duration" ; rdfs:subClassOf schema:Quantity ; . schema:EBook a schema:BookFormatType ; rdfs:comment "Book format: Ebook." ; rdfs:label "EBook" ; . schema:EPRelease a schema:MusicAlbumReleaseType ; schema:source ; rdfs:comment "EPRelease." ; rdfs:label "EPRelease" ; . schema:EUEnergyEfficiencyCategoryA a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class A as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category a" ; . schema:EUEnergyEfficiencyCategoryA1Plus a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class A+ as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category a1Plus" ; . schema:EUEnergyEfficiencyCategoryA2Plus a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class A++ as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category a2Plus" ; . schema:EUEnergyEfficiencyCategoryA3Plus a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class A+++ as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category a3Plus" ; . schema:EUEnergyEfficiencyCategoryB a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class B as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category b" ; . schema:EUEnergyEfficiencyCategoryC a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class C as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category c" ; . schema:EUEnergyEfficiencyCategoryD a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class D as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category d" ; . schema:EUEnergyEfficiencyCategoryE a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class E as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category e" ; . schema:EUEnergyEfficiencyCategoryF a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class F as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category f" ; . schema:EUEnergyEfficiencyCategoryG a schema:EUEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EU Energy Efficiency Class G as defined in EU energy labeling regulations." ; rdfs:label "EUEnergy efficiency category g" ; . schema:EUEnergyEfficiencyEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates the EU energy efficiency classes A-G as well as A+, A++, and A+++ as defined in EU directive 2017/1369."^^rdf:HTML ; rdfs:label "EUEnergy efficiency enumeration" ; rdfs:subClassOf schema:EnergyEfficiencyEnumeration ; . schema:Ear a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Ear function assessment with clinical examination." ; rdfs:label "Ear" ; . schema:EatAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of swallowing solid objects."^^rdf:HTML ; rdfs:label "Eat action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:EditedOrCroppedContent a schema:MediaManipulationRatingEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment """Content coded 'edited or cropped content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'edited or cropped content': The video has been edited or rearranged. This category applies to time edits, including editing multiple videos together to alter the story being told or editing out large portions from a video. For an [[ImageObject]] to be 'edited or cropped content': Presenting a part of an image from a larger whole to mislead the viewer. For an [[ImageObject]] with embedded text to be 'edited or cropped content': Presenting a part of an image from a larger whole to mislead the viewer. For an [[AudioObject]] to be 'edited or cropped content': The audio has been edited or rearranged. This category applies to time edits, including editing multiple audio clips together to alter the story being told or editing out large portions from the recording. """ ; rdfs:label "Edited or cropped content" ; . schema:EducationEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Education event."^^rdf:HTML ; rdfs:label "Education event" ; rdfs:subClassOf schema:Event ; sh:property schema:EducationEvent-assesses ; sh:property schema:EducationEvent-educationalLevel ; sh:property schema:EducationEvent-teaches ; . schema:EducationEvent-assesses a sh:PropertyShape ; sh:path schema:assesses ; sh:description "The item being described is intended to assess the competency or learning outcome defined by the referenced term."^^rdf:HTML ; sh:name "assesses" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationEvent-educationalLevel a sh:PropertyShape ; sh:path schema:educationalLevel ; sh:description "The level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators."^^rdf:HTML ; sh:name "educationalLevel" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationEvent-teaches a sh:PropertyShape ; sh:path schema:teaches ; sh:description "The item being described is intended to help a person learn the competency or learning outcome defined by the referenced term."^^rdf:HTML ; sh:name "teaches" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalAudience a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An EducationalAudience."^^rdf:HTML ; rdfs:label "Educational audience" ; rdfs:subClassOf schema:Audience ; sh:property schema:EducationalAudience-educationalRole ; . schema:EducationalAudience-educationalRole a sh:PropertyShape ; sh:path schema:educationalRole ; sh:datatype xsd:string ; sh:description "An educationalRole of an EducationalAudience."^^rdf:HTML ; sh:name "educationalRole" ; . schema:EducationalOccupationalCredential a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An educational or occupational credential. A diploma, academic degree, certification, qualification, badge, etc., that may be awarded to a person or other entity that meets the requirements defined by the credentialer."^^rdf:HTML ; rdfs:label "Educational occupational credential" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:EducationalOccupationalCredential-competencyRequired ; sh:property schema:EducationalOccupationalCredential-credentialCategory ; sh:property schema:EducationalOccupationalCredential-educationalLevel ; sh:property schema:EducationalOccupationalCredential-recognizedBy ; sh:property schema:EducationalOccupationalCredential-validFor ; sh:property schema:EducationalOccupationalCredential-validIn ; . schema:EducationalOccupationalCredential-competencyRequired a sh:PropertyShape ; sh:path schema:competencyRequired ; sh:description "Knowledge, skill, ability or personal attribute that must be demonstrated by a person or other entity in order to do something such as earn an Educational Occupational Credential or understand a LearningResource."^^rdf:HTML ; sh:name "competencyRequired" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalCredential-credentialCategory a sh:PropertyShape ; sh:path schema:credentialCategory ; sh:description "The category or type of credential being described, for example \"degreeâ€, “certificateâ€, “badgeâ€, or more specific term."^^rdf:HTML ; sh:name "credentialCategory" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalCredential-educationalLevel a sh:PropertyShape ; sh:path schema:educationalLevel ; sh:description "The level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators."^^rdf:HTML ; sh:name "educationalLevel" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalCredential-recognizedBy a sh:PropertyShape ; sh:path schema:recognizedBy ; sh:class schema:Organization ; sh:description "An organization that acknowledges the validity, value or utility of a credential. Note: recognition may include a process of quality assurance or accreditation."^^rdf:HTML ; sh:name "recognizedBy" ; . schema:EducationalOccupationalCredential-validFor a sh:PropertyShape ; sh:path schema:validFor ; sh:datatype xsd:duration ; sh:description "The duration of validity of a permit or similar thing."^^rdf:HTML ; sh:name "validFor" ; . schema:EducationalOccupationalCredential-validIn a sh:PropertyShape ; sh:path schema:validIn ; sh:class schema:AdministrativeArea ; sh:description "The geographic area where a permit or similar thing is valid."^^rdf:HTML ; sh:name "validIn" ; . schema:EducationalOccupationalProgram a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A program offered by an institution which determines the learning progress to achieve an outcome, usually a credential like a degree or certificate. This would define a discrete set of opportunities (e.g., job, courses) that together constitute a program with a clear start, end, set of requirements, and transition to a new occupational opportunity (e.g., a job), or sometimes a higher educational opportunity (e.g., an advanced degree)."^^rdf:HTML ; rdfs:label "Educational occupational program" ; rdfs:subClassOf schema:Intangible ; sh:property schema:EducationalOccupationalProgram-applicationDeadline ; sh:property schema:EducationalOccupationalProgram-applicationStartDate ; sh:property schema:EducationalOccupationalProgram-dayOfWeek ; sh:property schema:EducationalOccupationalProgram-educationalCredentialAwarded ; sh:property schema:EducationalOccupationalProgram-educationalProgramMode ; sh:property schema:EducationalOccupationalProgram-endDate ; sh:property schema:EducationalOccupationalProgram-financialAidEligible ; sh:property schema:EducationalOccupationalProgram-hasCourse ; sh:property schema:EducationalOccupationalProgram-maximumEnrollment ; sh:property schema:EducationalOccupationalProgram-numberOfCredits ; sh:property schema:EducationalOccupationalProgram-occupationalCategory ; sh:property schema:EducationalOccupationalProgram-occupationalCredentialAwarded ; sh:property schema:EducationalOccupationalProgram-offers ; sh:property schema:EducationalOccupationalProgram-programPrerequisites ; sh:property schema:EducationalOccupationalProgram-programType ; sh:property schema:EducationalOccupationalProgram-provider ; sh:property schema:EducationalOccupationalProgram-salaryUponCompletion ; sh:property schema:EducationalOccupationalProgram-startDate ; sh:property schema:EducationalOccupationalProgram-termDuration ; sh:property schema:EducationalOccupationalProgram-termsPerYear ; sh:property schema:EducationalOccupationalProgram-timeOfDay ; sh:property schema:EducationalOccupationalProgram-timeToComplete ; sh:property schema:EducationalOccupationalProgram-trainingSalary ; sh:property schema:EducationalOccupationalProgram-typicalCreditsPerTerm ; . schema:EducationalOccupationalProgram-applicationDeadline a sh:PropertyShape ; sh:path schema:applicationDeadline ; sh:datatype xsd:date ; sh:description "The date at which the program stops collecting applications for the next enrollment cycle."^^rdf:HTML ; sh:name "applicationDeadline" ; . schema:EducationalOccupationalProgram-applicationStartDate a sh:PropertyShape ; sh:path schema:applicationStartDate ; sh:datatype xsd:date ; sh:description "The date at which the program begins collecting applications for the next enrollment cycle."^^rdf:HTML ; sh:name "applicationStartDate" ; . schema:EducationalOccupationalProgram-dayOfWeek a sh:PropertyShape ; sh:path schema:dayOfWeek ; sh:class schema:DayOfWeek ; sh:description "The day of the week for which these opening hours are valid."^^rdf:HTML ; sh:name "dayOfWeek" ; . schema:EducationalOccupationalProgram-educationalCredentialAwarded a sh:PropertyShape ; sh:path schema:educationalCredentialAwarded ; sh:description "A description of the qualification, award, certificate, diploma or other educational credential awarded as a consequence of successful completion of this course or program."^^rdf:HTML ; sh:name "educationalCredentialAwarded" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-educationalProgramMode a sh:PropertyShape ; sh:path schema:educationalProgramMode ; sh:description "Similar to courseMode, The medium or means of delivery of the program as a whole. The value may either be a text label (e.g. \"online\", \"onsite\" or \"blended\"; \"synchronous\" or \"asynchronous\"; \"full-time\" or \"part-time\") or a URL reference to a term from a controlled vocabulary (e.g. https://ceds.ed.gov/element/001311#Asynchronous )."^^rdf:HTML ; sh:name "educationalProgramMode" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:EducationalOccupationalProgram-financialAidEligible a sh:PropertyShape ; sh:path schema:financialAidEligible ; sh:description "A financial aid type or program which students may use to pay for tuition or fees associated with the program."^^rdf:HTML ; sh:name "financialAidEligible" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-hasCourse a sh:PropertyShape ; sh:path schema:hasCourse ; sh:class schema:Course ; sh:description "A course or class that is one of the learning opportunities that constitute an educational / occupational program. No information is implied about whether the course is mandatory or optional; no guarantee is implied about whether the course will be available to everyone on the program."^^rdf:HTML ; sh:name "hasCourse" ; . schema:EducationalOccupationalProgram-maximumEnrollment a sh:PropertyShape ; sh:path schema:maximumEnrollment ; sh:datatype xsd:integer ; sh:description "The maximum number of students who may be enrolled in the program."^^rdf:HTML ; sh:name "maximumEnrollment" ; . schema:EducationalOccupationalProgram-numberOfCredits a sh:PropertyShape ; sh:path schema:numberOfCredits ; sh:description "The number of credits or units awarded by a Course or required to complete an EducationalOccupationalProgram."^^rdf:HTML ; sh:name "numberOfCredits" ; sh:or ( [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:EducationalOccupationalProgram-occupationalCategory a sh:PropertyShape ; sh:path schema:occupationalCategory ; sh:description """A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\\n Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC."""^^rdf:HTML ; sh:name "occupationalCategory" ; sh:or ( [ sh:class schema:CategoryCode ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-occupationalCredentialAwarded a sh:PropertyShape ; sh:path schema:occupationalCredentialAwarded ; sh:description "A description of the qualification, award, certificate, diploma or other occupational credential awarded as a consequence of successful completion of this course or program."^^rdf:HTML ; sh:name "occupationalCredentialAwarded" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:EducationalOccupationalProgram-programPrerequisites a sh:PropertyShape ; sh:path schema:programPrerequisites ; sh:description "Prerequisites for enrolling in the program."^^rdf:HTML ; sh:name "programPrerequisites" ; sh:or ( [ sh:class schema:AlignmentObject ; ] [ sh:class schema:Course ; ] [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-programType a sh:PropertyShape ; sh:path schema:programType ; sh:description "The type of educational or occupational program. For example, classroom, internship, alternance, etc.."^^rdf:HTML ; sh:name "programType" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EducationalOccupationalProgram-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:EducationalOccupationalProgram-salaryUponCompletion a sh:PropertyShape ; sh:path schema:salaryUponCompletion ; sh:class schema:MonetaryAmountDistribution ; sh:description "The expected salary upon completing the training."^^rdf:HTML ; sh:name "salaryUponCompletion" ; . schema:EducationalOccupationalProgram-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:EducationalOccupationalProgram-termDuration a sh:PropertyShape ; sh:path schema:termDuration ; sh:datatype xsd:duration ; sh:description "The amount of time in a term as defined by the institution. A term is a length of time where students take one or more classes. Semesters and quarters are common units for term."^^rdf:HTML ; sh:name "termDuration" ; . schema:EducationalOccupationalProgram-termsPerYear a sh:PropertyShape ; sh:path schema:termsPerYear ; sh:datatype xsd:float ; sh:description "The number of times terms of study are offered per year. Semesters and quarters are common units for term. For example, if the student can only take 2 semesters for the program in one year, then termsPerYear should be 2."^^rdf:HTML ; sh:name "termsPerYear" ; . schema:EducationalOccupationalProgram-timeOfDay a sh:PropertyShape ; sh:path schema:timeOfDay ; sh:datatype xsd:string ; sh:description "The time of day the program normally runs. For example, \"evenings\"."^^rdf:HTML ; sh:name "timeOfDay" ; . schema:EducationalOccupationalProgram-timeToComplete a sh:PropertyShape ; sh:path schema:timeToComplete ; sh:datatype xsd:duration ; sh:description "The expected length of time to complete the program if attending full-time."^^rdf:HTML ; sh:name "timeToComplete" ; . schema:EducationalOccupationalProgram-trainingSalary a sh:PropertyShape ; sh:path schema:trainingSalary ; sh:class schema:MonetaryAmountDistribution ; sh:description "The estimated salary earned while in the program."^^rdf:HTML ; sh:name "trainingSalary" ; . schema:EducationalOccupationalProgram-typicalCreditsPerTerm a sh:PropertyShape ; sh:path schema:typicalCreditsPerTerm ; sh:description "The number of credits or units a full-time student would be expected to take in 1 term however 'term' is defined by the institution."^^rdf:HTML ; sh:name "typicalCreditsPerTerm" ; sh:or ( [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:EducationalOrganization a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An educational organization."^^rdf:HTML ; rdfs:label "Educational organization" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:Organization ; sh:property schema:EducationalOrganization-alumni ; . schema:EducationalOrganization-alumni a sh:PropertyShape ; sh:path schema:alumni ; sh:class schema:Person ; sh:description "Alumni of an organization."^^rdf:HTML ; sh:name "alumni" ; . schema:EffectivenessHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about the effectiveness-related aspects of a health topic." ; rdfs:label "Effectiveness health aspect" ; . schema:Electrician a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An electrician."^^rdf:HTML ; rdfs:label "Electrician" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:ElectronicsStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An electronics store."^^rdf:HTML ; rdfs:label "Electronics store" ; rdfs:subClassOf schema:Store ; . schema:ElementarySchool a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An elementary school."^^rdf:HTML ; rdfs:label "Elementary school" ; rdfs:subClassOf schema:EducationalOrganization ; . schema:EmailMessage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An email message."^^rdf:HTML ; rdfs:label "Email message" ; rdfs:subClassOf schema:Message ; . schema:Embassy a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An embassy."^^rdf:HTML ; rdfs:label "Embassy" ; rdfs:subClassOf schema:GovernmentBuilding ; . schema:Emergency a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that deals with the evaluation and initial treatment of medical conditions caused by trauma or sudden illness." ; rdfs:label "Emergency" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:EmergencyService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An emergency service, such as a fire station or ER."^^rdf:HTML ; rdfs:label "Emergency service" ; rdfs:subClassOf schema:LocalBusiness ; . schema:EmployeeRole a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A subclass of OrganizationRole used to describe employee relationships."^^rdf:HTML ; rdfs:label "Employee role" ; rdfs:subClassOf schema:OrganizationRole ; sh:property schema:EmployeeRole-baseSalary ; sh:property schema:EmployeeRole-salaryCurrency ; . schema:EmployeeRole-baseSalary a sh:PropertyShape ; sh:path schema:baseSalary ; sh:description "The base salary of the job or of an employee in an EmployeeRole."^^rdf:HTML ; sh:name "baseSalary" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:PriceSpecification ; ] [ sh:datatype xsd:float ; ] ) ; . schema:EmployeeRole-salaryCurrency a sh:PropertyShape ; sh:path schema:salaryCurrency ; sh:datatype xsd:string ; sh:description "The currency (coded using [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) ) used for the main salary information in this job posting or for this employee."^^rdf:HTML ; sh:name "salaryCurrency" ; . schema:EmployerAggregateRating a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An aggregate rating of an Organization related to its role as an employer."^^rdf:HTML ; rdfs:label "Employer aggregate rating" ; rdfs:subClassOf schema:AggregateRating ; . schema:EmployerReview a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An [[EmployerReview]] is a review of an [[Organization]] regarding its role as an employer, written by a current or former employee of that organization."^^rdf:HTML ; rdfs:label "Employer review" ; rdfs:subClassOf schema:Review ; . schema:EmploymentAgency a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An employment agency."^^rdf:HTML ; rdfs:label "Employment agency" ; rdfs:subClassOf schema:LocalBusiness ; . schema:Endocrine a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to diagnosis and treatment of disorders of endocrine glands and their secretions." ; rdfs:label "Endocrine" ; . schema:EndorseAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent approves/certifies/likes/supports/sanction an object."^^rdf:HTML ; rdfs:label "Endorse action" ; rdfs:subClassOf schema:ReactAction ; sh:property schema:EndorseAction-endorsee ; . schema:EndorseAction-endorsee a sh:PropertyShape ; sh:path schema:endorsee ; sh:description "A sub property of participant. The person/organization being supported."^^rdf:HTML ; sh:name "endorsee" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:EndorsementRating a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """An EndorsementRating is a rating that expresses some level of endorsement, for example inclusion in a \"critic's pick\" blog, a \"Like\" or \"+1\" on a social network. It can be considered the [[result]] of an [[EndorseAction]] in which the [[object]] of the action is rated positively by some [[agent]]. As is common elsewhere in schema.org, it is sometimes more useful to describe the results of such an action without explicitly describing the [[Action]]. An [[EndorsementRating]] may be part of a numeric scale or organized system, but this is not required: having an explicit type for indicating a positive, endorsement rating is particularly useful in the absence of numeric scales as it helps consumers understand that the rating is broadly positive. """^^rdf:HTML ; rdfs:label "Endorsement rating" ; rdfs:subClassOf schema:Rating ; . schema:Energy a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Properties that take Energy as values are of the form '<Number> <Energy unit of measure>'."^^rdf:HTML ; rdfs:label "Energy" ; rdfs:subClassOf schema:Quantity ; . schema:EnergyConsumptionDetails a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "EnergyConsumptionDetails represents information related to the energy efficiency of a product that consumes energy. The information that can be provided is based on international regulations such as for example [EU directive 2017/1369](https://eur-lex.europa.eu/eli/reg/2017/1369/oj) for energy labeling and the [Energy labeling rule](https://www.ftc.gov/enforcement/rules/rulemaking-regulatory-reform-proceedings/energy-water-use-labeling-consumer) under the Energy Policy and Conservation Act (EPCA) in the US."^^rdf:HTML ; rdfs:label "Energy consumption details" ; rdfs:subClassOf schema:Intangible ; sh:property schema:EnergyConsumptionDetails-energyEfficiencyScaleMax ; sh:property schema:EnergyConsumptionDetails-energyEfficiencyScaleMin ; sh:property schema:EnergyConsumptionDetails-hasEnergyEfficiencyCategory ; . schema:EnergyConsumptionDetails-energyEfficiencyScaleMax a sh:PropertyShape ; sh:path schema:energyEfficiencyScaleMax ; sh:class schema:EUEnergyEfficiencyEnumeration ; sh:description "Specifies the most energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++."^^rdf:HTML ; sh:name "energyEfficiencyScaleMax" ; . schema:EnergyConsumptionDetails-energyEfficiencyScaleMin a sh:PropertyShape ; sh:path schema:energyEfficiencyScaleMin ; sh:class schema:EUEnergyEfficiencyEnumeration ; sh:description "Specifies the least energy efficient class on the regulated EU energy consumption scale for the product category a product belongs to. For example, energy consumption for televisions placed on the market after January 1, 2020 is scaled from D to A+++."^^rdf:HTML ; sh:name "energyEfficiencyScaleMin" ; . schema:EnergyConsumptionDetails-hasEnergyEfficiencyCategory a sh:PropertyShape ; sh:path schema:hasEnergyEfficiencyCategory ; sh:class schema:EnergyEfficiencyEnumeration ; sh:description "Defines the energy efficiency Category (which could be either a rating out of range of values or a yes/no certification) for a product according to an international energy efficiency standard."^^rdf:HTML ; sh:name "hasEnergyEfficiencyCategory" ; . schema:EnergyEfficiencyEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates energy efficiency levels (also known as \"classes\" or \"ratings\") and certifications that are part of several international energy efficiency standards."^^rdf:HTML ; rdfs:label "Energy efficiency enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:EnergyStarCertified a schema:EnergyStarEnergyEfficiencyEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents EnergyStar certification." ; rdfs:label "Energy star certified" ; . schema:EnergyStarEnergyEfficiencyEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Used to indicate whether a product is EnergyStar certified."^^rdf:HTML ; rdfs:label "Energy star energy efficiency enumeration" ; rdfs:subClassOf schema:EnergyEfficiencyEnumeration ; . schema:EngineSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Information about the engine of the vehicle. A vehicle can have multiple engines represented by multiple engine specification entities."^^rdf:HTML ; rdfs:label "Engine specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:EngineSpecification-engineDisplacement ; sh:property schema:EngineSpecification-enginePower ; sh:property schema:EngineSpecification-engineType ; sh:property schema:EngineSpecification-fuelType ; sh:property schema:EngineSpecification-torque ; . schema:EngineSpecification-engineDisplacement a sh:PropertyShape ; sh:path schema:engineDisplacement ; sh:class schema:QuantitativeValue ; sh:description "The volume swept by all of the pistons inside the cylinders of an internal combustion engine in a single movement. \\n\\nTypical unit code(s): CMQ for cubic centimeter, LTR for liters, INQ for cubic inches\\n* Note 1: You can link to information about how the given value has been determined using the [[valueReference]] property.\\n* Note 2: You can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "engineDisplacement" ; . schema:EngineSpecification-enginePower a sh:PropertyShape ; sh:path schema:enginePower ; sh:class schema:QuantitativeValue ; sh:description """The power of the vehicle's engine. Typical unit code(s): KWT for kilowatt, BHP for brake horsepower, N12 for metric horsepower (PS, with 1 PS = 735,49875 W)\\n\\n* Note 1: There are many different ways of measuring an engine's power. For an overview, see [http://en.wikipedia.org/wiki/Horsepower#Engine_power_test_codes](http://en.wikipedia.org/wiki/Horsepower#Engine_power_test_codes).\\n* Note 2: You can link to information about how the given value has been determined using the [[valueReference]] property.\\n* Note 3: You can use [[minValue]] and [[maxValue]] to indicate ranges."""^^rdf:HTML ; sh:name "enginePower" ; . schema:EngineSpecification-engineType a sh:PropertyShape ; sh:path schema:engineType ; sh:description "The type of engine or engines powering the vehicle."^^rdf:HTML ; sh:name "engineType" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EngineSpecification-fuelType a sh:PropertyShape ; sh:path schema:fuelType ; sh:description "The type of fuel suitable for the engine or engines of the vehicle. If the vehicle has only one engine, this property can be attached directly to the vehicle."^^rdf:HTML ; sh:name "fuelType" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EngineSpecification-torque a sh:PropertyShape ; sh:path schema:torque ; sh:class schema:QuantitativeValue ; sh:description "The torque (turning force) of the vehicle's engine.\\n\\nTypical unit code(s): NU for newton metre (N m), F17 for pound-force per foot, or F48 for pound-force per inch\\n\\n* Note 1: You can link to information about how the given value has been determined (e.g. reference RPM) using the [[valueReference]] property.\\n* Note 2: You can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "torque" ; . schema:EnrollingByInvitation a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Enrolling participants by invitation only." ; rdfs:label "Enrolling by invitation" ; . schema:EntertainmentBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A business providing entertainment."^^rdf:HTML ; rdfs:label "Entertainment business" ; rdfs:subClassOf schema:LocalBusiness ; . schema:EntryPoint a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An entry point, within some Web-based protocol."^^rdf:HTML ; rdfs:label "Entry point" ; rdfs:subClassOf schema:Intangible ; sh:property schema:EntryPoint-actionApplication ; sh:property schema:EntryPoint-actionPlatform ; sh:property schema:EntryPoint-application ; sh:property schema:EntryPoint-contentType ; sh:property schema:EntryPoint-encodingType ; sh:property schema:EntryPoint-httpMethod ; sh:property schema:EntryPoint-urlTemplate ; . schema:EntryPoint-actionApplication a sh:PropertyShape ; sh:path schema:actionApplication ; sh:class schema:SoftwareApplication ; sh:description "An application that can complete the request."^^rdf:HTML ; sh:name "actionApplication" ; . schema:EntryPoint-actionPlatform a sh:PropertyShape ; sh:path schema:actionPlatform ; sh:description "The high level platform(s) where the Action can be performed for the given URL. To specify a specific application or operating system instance, use actionApplication."^^rdf:HTML ; sh:name "actionPlatform" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:EntryPoint-application a sh:PropertyShape ; sh:path schema:application ; sh:class schema:SoftwareApplication ; sh:description "An application that can complete the request."^^rdf:HTML ; sh:name "application" ; . schema:EntryPoint-contentType a sh:PropertyShape ; sh:path schema:contentType ; sh:datatype xsd:string ; sh:description "The supported content type(s) for an EntryPoint response."^^rdf:HTML ; sh:name "contentType" ; . schema:EntryPoint-encodingType a sh:PropertyShape ; sh:path schema:encodingType ; sh:datatype xsd:string ; sh:description "The supported encoding type(s) for an EntryPoint request."^^rdf:HTML ; sh:name "encodingType" ; . schema:EntryPoint-httpMethod a sh:PropertyShape ; sh:path schema:httpMethod ; sh:datatype xsd:string ; sh:description "An HTTP method that specifies the appropriate HTTP method for a request to an HTTP EntryPoint. Values are capitalized strings as used in HTTP."^^rdf:HTML ; sh:name "httpMethod" ; . schema:EntryPoint-urlTemplate a sh:PropertyShape ; sh:path schema:urlTemplate ; sh:datatype xsd:string ; sh:description "An url template (RFC6570) that will be used to construct the target of the execution of the action."^^rdf:HTML ; sh:name "urlTemplate" ; . schema:Enumeration a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Lists or enumerations—for example, a list of cuisines or music genres, etc."^^rdf:HTML ; rdfs:label "Enumeration" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Enumeration-supersededBy ; . schema:Enumeration-supersededBy a sh:PropertyShape ; sh:path schema:supersededBy ; sh:description "Relates a term (i.e. a property, class or enumeration) to one that supersedes it."^^rdf:HTML ; sh:name "supersededBy" ; sh:or ( [ sh:class rdfs:Class ; ] [ sh:class schema:Enumeration ; ] [ sh:class rdf:Property ; ] ) ; . schema:Episode a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A media episode (e.g. TV, radio, video game) which can be part of a series or season."^^rdf:HTML ; rdfs:label "Episode" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Episode-actor ; sh:property schema:Episode-actors ; sh:property schema:Episode-director ; sh:property schema:Episode-directors ; sh:property schema:Episode-duration ; sh:property schema:Episode-episodeNumber ; sh:property schema:Episode-musicBy ; sh:property schema:Episode-partOfSeason ; sh:property schema:Episode-partOfSeries ; sh:property schema:Episode-productionCompany ; sh:property schema:Episode-trailer ; . schema:Episode-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:Episode-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:Episode-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:Episode-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:Episode-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:Episode-episodeNumber a sh:PropertyShape ; sh:path schema:episodeNumber ; sh:description "Position of the episode within an ordered group of episodes."^^rdf:HTML ; sh:name "episodeNumber" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Episode-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:Episode-partOfSeason a sh:PropertyShape ; sh:path schema:partOfSeason ; sh:class schema:CreativeWorkSeason ; sh:description "The season to which this episode belongs."^^rdf:HTML ; sh:name "partOfSeason" ; . schema:Episode-partOfSeries a sh:PropertyShape ; sh:path schema:partOfSeries ; sh:class schema:CreativeWorkSeries ; sh:description "The series to which this episode or season belongs."^^rdf:HTML ; sh:name "partOfSeries" ; . schema:Episode-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:Episode-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:Event a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An event happening at a certain time and location, such as a concert, lecture, or festival. Ticketing information may be added via the [[offers]] property. Repeated events may be structured as separate Event objects."^^rdf:HTML ; rdfs:label "Event" ; rdfs:subClassOf schema:Thing ; owl:equivalentClass ; sh:property schema:Event-about ; sh:property schema:Event-actor ; sh:property schema:Event-aggregateRating ; sh:property schema:Event-attendee ; sh:property schema:Event-attendees ; sh:property schema:Event-audience ; sh:property schema:Event-composer ; sh:property schema:Event-contributor ; sh:property schema:Event-director ; sh:property schema:Event-doorTime ; sh:property schema:Event-duration ; sh:property schema:Event-endDate ; sh:property schema:Event-eventAttendanceMode ; sh:property schema:Event-eventSchedule ; sh:property schema:Event-eventStatus ; sh:property schema:Event-funder ; sh:property schema:Event-inLanguage ; sh:property schema:Event-isAccessibleForFree ; sh:property schema:Event-location ; sh:property schema:Event-maximumAttendeeCapacity ; sh:property schema:Event-maximumPhysicalAttendeeCapacity ; sh:property schema:Event-maximumVirtualAttendeeCapacity ; sh:property schema:Event-offers ; sh:property schema:Event-organizer ; sh:property schema:Event-performer ; sh:property schema:Event-performers ; sh:property schema:Event-previousStartDate ; sh:property schema:Event-recordedIn ; sh:property schema:Event-remainingAttendeeCapacity ; sh:property schema:Event-review ; sh:property schema:Event-sponsor ; sh:property schema:Event-startDate ; sh:property schema:Event-subEvent ; sh:property schema:Event-subEvents ; sh:property schema:Event-superEvent ; sh:property schema:Event-translator ; sh:property schema:Event-typicalAgeRange ; sh:property schema:Event-workFeatured ; sh:property schema:Event-workPerformed ; . schema:Event-about a sh:PropertyShape ; sh:path schema:about ; sh:class schema:Thing ; sh:description "The subject matter of the content."^^rdf:HTML ; sh:name "about" ; . schema:Event-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:Event-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Event-attendee a sh:PropertyShape ; sh:path schema:attendee ; sh:description "A person or organization attending the event."^^rdf:HTML ; sh:name "attendee" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-attendees a sh:PropertyShape ; sh:path schema:attendees ; sh:description "A person attending the event."^^rdf:HTML ; sh:name "attendees" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-audience a sh:PropertyShape ; sh:path schema:audience ; sh:class schema:Audience ; sh:description "An intended audience, i.e. a group for whom something was created."^^rdf:HTML ; sh:name "audience" ; . schema:Event-composer a sh:PropertyShape ; sh:path schema:composer ; sh:description "The person or organization who wrote a composition, or who is the composer of a work performed at some event."^^rdf:HTML ; sh:name "composer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-contributor a sh:PropertyShape ; sh:path schema:contributor ; sh:description "A secondary contributor to the CreativeWork or Event."^^rdf:HTML ; sh:name "contributor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:Event-doorTime a sh:PropertyShape ; sh:path schema:doorTime ; sh:description "The time admission will commence."^^rdf:HTML ; sh:name "doorTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Event-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:Event-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Event-eventAttendanceMode a sh:PropertyShape ; sh:path schema:eventAttendanceMode ; sh:class schema:EventAttendanceModeEnumeration ; sh:description "The eventAttendanceMode of an event indicates whether it occurs online, offline, or a mix."^^rdf:HTML ; sh:name "eventAttendanceMode" ; . schema:Event-eventSchedule a sh:PropertyShape ; sh:path schema:eventSchedule ; sh:class schema:Schedule ; sh:description """Associates an [[Event]] with a [[Schedule]]. There are circumstances where it is preferable to share a schedule for a series of repeating events rather than data on the individual events themselves. For example, a website or application might prefer to publish a schedule for a weekly gym class rather than provide data on every event. A schedule could be processed by applications to add forthcoming events to a calendar. An [[Event]] that is associated with a [[Schedule]] using this property should not have [[startDate]] or [[endDate]] properties. These are instead defined within the associated [[Schedule]], this avoids any ambiguity for clients using the data. The property might have repeated values to specify different schedules, e.g. for different months or seasons."""^^rdf:HTML ; sh:name "eventSchedule" ; . schema:Event-eventStatus a sh:PropertyShape ; sh:path schema:eventStatus ; sh:class schema:EventStatusType ; sh:description "An eventStatus of an event represents its status; particularly useful when an event is cancelled or rescheduled."^^rdf:HTML ; sh:name "eventStatus" ; . schema:Event-funder a sh:PropertyShape ; sh:path schema:funder ; sh:description "A person or organization that supports (sponsors) something through some kind of financial contribution."^^rdf:HTML ; sh:name "funder" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Event-isAccessibleForFree a sh:PropertyShape ; sh:path schema:isAccessibleForFree ; sh:datatype xsd:boolean ; sh:description "A flag to signal that the item, event, or place is accessible for free."^^rdf:HTML ; sh:name "isAccessibleForFree" ; . schema:Event-location a sh:PropertyShape ; sh:path schema:location ; sh:description "The location of, for example, where an event is happening, where an organization is located, or where an action takes place."^^rdf:HTML ; sh:name "location" ; sh:or ( [ sh:class schema:Place ; ] [ sh:class schema:PostalAddress ; ] [ sh:class schema:VirtualLocation ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Event-maximumAttendeeCapacity a sh:PropertyShape ; sh:path schema:maximumAttendeeCapacity ; sh:datatype xsd:integer ; sh:description "The total number of individuals that may attend an event or venue."^^rdf:HTML ; sh:name "maximumAttendeeCapacity" ; . schema:Event-maximumPhysicalAttendeeCapacity a sh:PropertyShape ; sh:path schema:maximumPhysicalAttendeeCapacity ; sh:datatype xsd:integer ; sh:description "The maximum physical attendee capacity of an [[Event]] whose [[eventAttendanceMode]] is [[OfflineEventAttendanceMode]] (or the offline aspects, in the case of a [[MixedEventAttendanceMode]]). "^^rdf:HTML ; sh:name "maximumPhysicalAttendeeCapacity" ; . schema:Event-maximumVirtualAttendeeCapacity a sh:PropertyShape ; sh:path schema:maximumVirtualAttendeeCapacity ; sh:datatype xsd:integer ; sh:description "The maximum physical attendee capacity of an [[Event]] whose [[eventAttendanceMode]] is [[OnlineEventAttendanceMode]] (or the online aspects, in the case of a [[MixedEventAttendanceMode]]). "^^rdf:HTML ; sh:name "maximumVirtualAttendeeCapacity" ; . schema:Event-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:Event-organizer a sh:PropertyShape ; sh:path schema:organizer ; sh:description "An organizer of an Event."^^rdf:HTML ; sh:name "organizer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-performer a sh:PropertyShape ; sh:path schema:performer ; sh:description "A performer at the event—for example, a presenter, musician, musical group or actor."^^rdf:HTML ; sh:name "performer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-performers a sh:PropertyShape ; sh:path schema:performers ; sh:description "The main performer or performers of the event—for example, a presenter, musician, or actor."^^rdf:HTML ; sh:name "performers" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-previousStartDate a sh:PropertyShape ; sh:path schema:previousStartDate ; sh:datatype xsd:date ; sh:description "Used in conjunction with eventStatus for rescheduled or cancelled events. This property contains the previously scheduled start date. For rescheduled events, the startDate property should be used for the newly scheduled start date. In the (rare) case of an event that has been postponed and rescheduled multiple times, this field may be repeated."^^rdf:HTML ; sh:name "previousStartDate" ; . schema:Event-recordedIn a sh:PropertyShape ; sh:path schema:recordedIn ; sh:class schema:CreativeWork ; sh:description "The CreativeWork that captured all or part of this Event."^^rdf:HTML ; sh:name "recordedIn" ; . schema:Event-remainingAttendeeCapacity a sh:PropertyShape ; sh:path schema:remainingAttendeeCapacity ; sh:datatype xsd:integer ; sh:description "The number of attendee places for an event that remain unallocated."^^rdf:HTML ; sh:name "remainingAttendeeCapacity" ; . schema:Event-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Event-sponsor a sh:PropertyShape ; sh:path schema:sponsor ; sh:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event."^^rdf:HTML ; sh:name "sponsor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Event-subEvent a sh:PropertyShape ; sh:path schema:subEvent ; sh:class schema:Event ; sh:description "An Event that is part of this event. For example, a conference event includes many presentations, each of which is a subEvent of the conference."^^rdf:HTML ; sh:name "subEvent" ; . schema:Event-subEvents a sh:PropertyShape ; sh:path schema:subEvents ; sh:class schema:Event ; sh:description "Events that are a part of this event. For example, a conference event includes many presentations, each subEvents of the conference."^^rdf:HTML ; sh:name "subEvents" ; . schema:Event-superEvent a sh:PropertyShape ; sh:path schema:superEvent ; sh:class schema:Event ; sh:description "An event that this event is a part of. For example, a collection of individual music performances might each have a music festival as their superEvent."^^rdf:HTML ; sh:name "superEvent" ; . schema:Event-translator a sh:PropertyShape ; sh:path schema:translator ; sh:description "Organization or person who adapts a creative work to different languages, regional differences and technical requirements of a target market, or that translates during some event."^^rdf:HTML ; sh:name "translator" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Event-typicalAgeRange a sh:PropertyShape ; sh:path schema:typicalAgeRange ; sh:datatype xsd:string ; sh:description "The typical expected age range, e.g. '7-9', '11-'."^^rdf:HTML ; sh:name "typicalAgeRange" ; . schema:Event-workFeatured a sh:PropertyShape ; sh:path schema:workFeatured ; sh:class schema:CreativeWork ; sh:description """A work featured in some event, e.g. exhibited in an ExhibitionEvent. Specific subproperties are available for workPerformed (e.g. a play), or a workPresented (a Movie at a ScreeningEvent)."""^^rdf:HTML ; sh:name "workFeatured" ; . schema:Event-workPerformed a sh:PropertyShape ; sh:path schema:workPerformed ; sh:class schema:CreativeWork ; sh:description "A work performed in some event, for example a play performed in a TheaterEvent."^^rdf:HTML ; sh:name "workPerformed" ; . schema:EventAttendanceModeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An EventAttendanceModeEnumeration value is one of potentially several modes of organising an event, relating to whether it is online or offline."^^rdf:HTML ; rdfs:label "Event attendance mode enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:EventCancelled a schema:EventStatusType ; rdfs:comment "The event has been cancelled. If the event has multiple startDate values, all are assumed to be cancelled. Either startDate or previousStartDate may be used to specify the event's cancelled date(s)." ; rdfs:label "Event cancelled" ; . schema:EventMovedOnline a schema:EventStatusType ; rdfs:comment "Indicates that the event was changed to allow online participation. See [[eventAttendanceMode]] for specifics of whether it is now fully or partially online." ; rdfs:label "Event moved online" ; . schema:EventPostponed a schema:EventStatusType ; rdfs:comment "The event has been postponed and no new date has been set. The event's previousStartDate should be set." ; rdfs:label "Event postponed" ; . schema:EventRescheduled a schema:EventStatusType ; rdfs:comment "The event has been rescheduled. The event's previousStartDate should be set to the old date and the startDate should be set to the event's new date. (If the event has been rescheduled multiple times, the previousStartDate property may be repeated)." ; rdfs:label "Event rescheduled" ; . schema:EventReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for an event like a concert, sporting event, or lecture.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]."^^rdf:HTML ; rdfs:label "Event reservation" ; rdfs:subClassOf schema:Reservation ; . schema:EventScheduled a schema:EventStatusType ; rdfs:comment "The event is taking place or has taken place on the startDate as scheduled. Use of this value is optional, as it is assumed by default." ; rdfs:label "Event scheduled" ; . schema:EventSeries a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A series of [[Event]]s. Included events can relate with the series using the [[superEvent]] property. An EventSeries is a collection of events that share some unifying characteristic. For example, \"The Olympic Games\" is a series, which is repeated regularly. The \"2012 London Olympics\" can be presented both as an [[Event]] in the series \"Olympic Games\", and as an [[EventSeries]] that included a number of sporting competitions as Events. The nature of the association between the events in an [[EventSeries]] can vary, but typical examples could include a thematic event series (e.g. topical meetups or classes), or a series of regular events that share a location, attendee group and/or organizers. EventSeries has been defined as a kind of Event to make it easy for publishers to use it in an Event context without worrying about which kinds of series are really event-like enough to call an Event. In general an EventSeries may seem more Event-like when the period of time is compact and when aspects such as location are fixed, but it may also sometimes prove useful to describe a longer-term series as an Event. """^^rdf:HTML ; rdfs:label "Event series" ; rdfs:subClassOf schema:Event ; rdfs:subClassOf schema:Series ; . schema:EventStatusType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "EventStatusType is an enumeration type whose instances represent several states that an Event may be in."^^rdf:HTML ; rdfs:label "Event status type" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:EventVenue a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An event venue."^^rdf:HTML ; rdfs:label "Event venue" ; rdfs:subClassOf schema:CivicStructure ; . schema:EvidenceLevelA a schema:MedicalEvidenceLevel ; schema:isPartOf ; rdfs:comment "Data derived from multiple randomized clinical trials or meta-analyses." ; rdfs:label "Evidence level a" ; . schema:EvidenceLevelB a schema:MedicalEvidenceLevel ; schema:isPartOf ; rdfs:comment "Data derived from a single randomized trial, or nonrandomized studies." ; rdfs:label "Evidence level b" ; . schema:EvidenceLevelC a schema:MedicalEvidenceLevel ; schema:isPartOf ; rdfs:comment "Only consensus opinion of experts, case studies, or standard-of-care." ; rdfs:label "Evidence level c" ; . schema:ExchangeRateSpecification a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A structured value representing exchange rate."^^rdf:HTML ; rdfs:label "Exchange rate specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:ExchangeRateSpecification-currency ; sh:property schema:ExchangeRateSpecification-currentExchangeRate ; sh:property schema:ExchangeRateSpecification-exchangeRateSpread ; . schema:ExchangeRateSpecification-currency a sh:PropertyShape ; sh:path schema:currency ; sh:datatype xsd:string ; sh:description "The currency in which the monetary amount is expressed.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "currency" ; . schema:ExchangeRateSpecification-currentExchangeRate a sh:PropertyShape ; sh:path schema:currentExchangeRate ; sh:class schema:UnitPriceSpecification ; sh:description "The current price of a currency."^^rdf:HTML ; sh:name "currentExchangeRate" ; . schema:ExchangeRateSpecification-exchangeRateSpread a sh:PropertyShape ; sh:path schema:exchangeRateSpread ; sh:description "The difference between the price at which a broker or other intermediary buys and sells foreign currency."^^rdf:HTML ; sh:name "exchangeRateSpread" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:ExchangeRefund a schema:RefundTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "A ExchangeRefund ..." ; rdfs:label "Exchange refund" ; . schema:ExerciseAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of participating in exertive activity for the purposes of improving health and fitness."^^rdf:HTML ; rdfs:label "Exercise action" ; rdfs:subClassOf schema:PlayAction ; sh:property schema:ExerciseAction-course ; sh:property schema:ExerciseAction-diet ; sh:property schema:ExerciseAction-distance ; sh:property schema:ExerciseAction-exerciseCourse ; sh:property schema:ExerciseAction-exercisePlan ; sh:property schema:ExerciseAction-exerciseRelatedDiet ; sh:property schema:ExerciseAction-exerciseType ; sh:property schema:ExerciseAction-fromLocation ; sh:property schema:ExerciseAction-opponent ; sh:property schema:ExerciseAction-sportsActivityLocation ; sh:property schema:ExerciseAction-sportsEvent ; sh:property schema:ExerciseAction-sportsTeam ; sh:property schema:ExerciseAction-toLocation ; . schema:ExerciseAction-course a sh:PropertyShape ; sh:path schema:course ; sh:class schema:Place ; sh:description "A sub property of location. The course where this action was taken."^^rdf:HTML ; sh:name "course" ; . schema:ExerciseAction-diet a sh:PropertyShape ; sh:path schema:diet ; sh:class schema:Diet ; sh:description "A sub property of instrument. The diet used in this action."^^rdf:HTML ; sh:name "diet" ; . schema:ExerciseAction-distance a sh:PropertyShape ; sh:path schema:distance ; sh:datatype xsd:string ; sh:description "The distance travelled, e.g. exercising or travelling."^^rdf:HTML ; sh:name "distance" ; . schema:ExerciseAction-exerciseCourse a sh:PropertyShape ; sh:path schema:exerciseCourse ; sh:class schema:Place ; sh:description "A sub property of location. The course where this action was taken."^^rdf:HTML ; sh:name "exerciseCourse" ; . schema:ExerciseAction-exercisePlan a sh:PropertyShape ; sh:path schema:exercisePlan ; sh:class schema:ExercisePlan ; sh:description "A sub property of instrument. The exercise plan used on this action."^^rdf:HTML ; sh:name "exercisePlan" ; . schema:ExerciseAction-exerciseRelatedDiet a sh:PropertyShape ; sh:path schema:exerciseRelatedDiet ; sh:class schema:Diet ; sh:description "A sub property of instrument. The diet used in this action."^^rdf:HTML ; sh:name "exerciseRelatedDiet" ; . schema:ExerciseAction-exerciseType a sh:PropertyShape ; sh:path schema:exerciseType ; sh:datatype xsd:string ; sh:description "Type(s) of exercise or activity, such as strength training, flexibility training, aerobics, cardiac rehabilitation, etc."^^rdf:HTML ; sh:name "exerciseType" ; . schema:ExerciseAction-fromLocation a sh:PropertyShape ; sh:path schema:fromLocation ; sh:class schema:Place ; sh:description "A sub property of location. The original location of the object or the agent before the action."^^rdf:HTML ; sh:name "fromLocation" ; . schema:ExerciseAction-opponent a sh:PropertyShape ; sh:path schema:opponent ; sh:class schema:Person ; sh:description "A sub property of participant. The opponent on this action."^^rdf:HTML ; sh:name "opponent" ; . schema:ExerciseAction-sportsActivityLocation a sh:PropertyShape ; sh:path schema:sportsActivityLocation ; sh:class schema:SportsActivityLocation ; sh:description "A sub property of location. The sports activity location where this action occurred."^^rdf:HTML ; sh:name "sportsActivityLocation" ; . schema:ExerciseAction-sportsEvent a sh:PropertyShape ; sh:path schema:sportsEvent ; sh:class schema:SportsEvent ; sh:description "A sub property of location. The sports event where this action occurred."^^rdf:HTML ; sh:name "sportsEvent" ; . schema:ExerciseAction-sportsTeam a sh:PropertyShape ; sh:path schema:sportsTeam ; sh:class schema:SportsTeam ; sh:description "A sub property of participant. The sports team that participated on this action."^^rdf:HTML ; sh:name "sportsTeam" ; . schema:ExerciseAction-toLocation a sh:PropertyShape ; sh:path schema:toLocation ; sh:class schema:Place ; sh:description "A sub property of location. The final location of the object or the agent after the action."^^rdf:HTML ; sh:name "toLocation" ; . schema:ExerciseGym a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A gym."^^rdf:HTML ; rdfs:label "Exercise gym" ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:ExercisePlan a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Fitness-related activity designed for a specific health-related purpose, including defined exercise routines as well as activity prescribed by a clinician."^^rdf:HTML ; rdfs:label "Exercise plan" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:PhysicalActivity ; sh:property schema:ExercisePlan-activityDuration ; sh:property schema:ExercisePlan-activityFrequency ; sh:property schema:ExercisePlan-additionalVariable ; sh:property schema:ExercisePlan-exerciseType ; sh:property schema:ExercisePlan-intensity ; sh:property schema:ExercisePlan-repetitions ; sh:property schema:ExercisePlan-restPeriods ; sh:property schema:ExercisePlan-workload ; . schema:ExercisePlan-activityDuration a sh:PropertyShape ; sh:path schema:activityDuration ; sh:description "Length of time to engage in the activity."^^rdf:HTML ; sh:name "activityDuration" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:duration ; ] ) ; . schema:ExercisePlan-activityFrequency a sh:PropertyShape ; sh:path schema:activityFrequency ; sh:description "How often one should engage in the activity."^^rdf:HTML ; sh:name "activityFrequency" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ExercisePlan-additionalVariable a sh:PropertyShape ; sh:path schema:additionalVariable ; sh:datatype xsd:string ; sh:description "Any additional component of the exercise prescription that may need to be articulated to the patient. This may include the order of exercises, the number of repetitions of movement, quantitative distance, progressions over time, etc."^^rdf:HTML ; sh:name "additionalVariable" ; . schema:ExercisePlan-exerciseType a sh:PropertyShape ; sh:path schema:exerciseType ; sh:datatype xsd:string ; sh:description "Type(s) of exercise or activity, such as strength training, flexibility training, aerobics, cardiac rehabilitation, etc."^^rdf:HTML ; sh:name "exerciseType" ; . schema:ExercisePlan-intensity a sh:PropertyShape ; sh:path schema:intensity ; sh:description "Quantitative measure gauging the degree of force involved in the exercise, for example, heartbeats per minute. May include the velocity of the movement."^^rdf:HTML ; sh:name "intensity" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ExercisePlan-repetitions a sh:PropertyShape ; sh:path schema:repetitions ; sh:description "Number of times one should repeat the activity."^^rdf:HTML ; sh:name "repetitions" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:ExercisePlan-restPeriods a sh:PropertyShape ; sh:path schema:restPeriods ; sh:description "How often one should break from the activity."^^rdf:HTML ; sh:name "restPeriods" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ExercisePlan-workload a sh:PropertyShape ; sh:path schema:workload ; sh:description "Quantitative measure of the physiologic output of the exercise; also referred to as energy expenditure."^^rdf:HTML ; sh:name "workload" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ExhibitionEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Exhibition event, e.g. at a museum, library, archive, tradeshow, ..."^^rdf:HTML ; rdfs:label "Exhibition event" ; rdfs:subClassOf schema:Event ; . schema:Eye a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Eye or ophtalmological function assessment with clinical examination." ; rdfs:label "Eye" ; . schema:FAQPage a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A [[FAQPage]] is a [[WebPage]] presenting one or more \"[Frequently asked questions](https://en.wikipedia.org/wiki/FAQ)\" (see also [[QAPage]])."^^rdf:HTML ; rdfs:label "FAQPage" ; rdfs:subClassOf schema:WebPage ; . schema:FDAcategoryA a schema:DrugPregnancyCategory ; schema:isPartOf ; rdfs:comment "A designation by the US FDA signifying that adequate and well-controlled studies have failed to demonstrate a risk to the fetus in the first trimester of pregnancy (and there is no evidence of risk in later trimesters)." ; rdfs:label "FDAcategory a" ; . schema:FDAcategoryB a schema:DrugPregnancyCategory ; schema:isPartOf ; rdfs:comment "A designation by the US FDA signifying that animal reproduction studies have failed to demonstrate a risk to the fetus and there are no adequate and well-controlled studies in pregnant women." ; rdfs:label "FDAcategory b" ; . schema:FDAcategoryC a schema:DrugPregnancyCategory ; schema:isPartOf ; rdfs:comment "A designation by the US FDA signifying that animal reproduction studies have shown an adverse effect on the fetus and there are no adequate and well-controlled studies in humans, but potential benefits may warrant use of the drug in pregnant women despite potential risks." ; rdfs:label "FDAcategory c" ; . schema:FDAcategoryD a schema:DrugPregnancyCategory ; schema:isPartOf ; rdfs:comment "A designation by the US FDA signifying that there is positive evidence of human fetal risk based on adverse reaction data from investigational or marketing experience or studies in humans, but potential benefits may warrant use of the drug in pregnant women despite potential risks." ; rdfs:label "FDAcategory d" ; . schema:FDAcategoryX a schema:DrugPregnancyCategory ; schema:isPartOf ; rdfs:comment "A designation by the US FDA signifying that studies in animals or humans have demonstrated fetal abnormalities and/or there is positive evidence of human fetal risk based on adverse reaction data from investigational or marketing experience, and the risks involved in use of the drug in pregnant women clearly outweigh potential benefits." ; rdfs:label "FDAcategory x" ; . schema:FDAnotEvaluated a schema:DrugPregnancyCategory ; schema:isPartOf ; rdfs:comment "A designation that the drug in question has not been assigned a pregnancy category designation by the US FDA." ; rdfs:label "FDAnot evaluated" ; . schema:FMRadioChannel a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A radio channel that uses FM."^^rdf:HTML ; rdfs:label "FMRadio channel" ; rdfs:subClassOf schema:RadioChannel ; . schema:FailedActionStatus a schema:ActionStatusType ; rdfs:comment "An action that failed to complete. The action's error property and the HTTP return code contain more information about the failure." ; rdfs:label "Failed action status" ; . schema:False a xsd:boolean ; rdfs:comment "The boolean value false." ; rdfs:label "False" ; . schema:FastFoodRestaurant a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A fast-food restaurant."^^rdf:HTML ; rdfs:label "Fast food restaurant" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:Female a schema:GenderType ; rdfs:comment "The female gender." ; rdfs:label "Female" ; . schema:Festival a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Festival."^^rdf:HTML ; rdfs:label "Festival" ; rdfs:subClassOf schema:Event ; . schema:FilmAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of capturing sound and moving images on film, video, or digitally."^^rdf:HTML ; rdfs:label "Film action" ; rdfs:subClassOf schema:CreateAction ; . schema:FinancialProduct a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A product provided to consumers and businesses by financial institutions such as banks, insurance companies, brokerage firms, consumer finance companies, and investment companies which comprise the financial services industry."^^rdf:HTML ; rdfs:label "Financial product" ; rdfs:subClassOf schema:Service ; sh:property schema:FinancialProduct-annualPercentageRate ; sh:property schema:FinancialProduct-feesAndCommissionsSpecification ; sh:property schema:FinancialProduct-interestRate ; . schema:FinancialProduct-annualPercentageRate a sh:PropertyShape ; sh:path schema:annualPercentageRate ; sh:description "The annual rate that is charged for borrowing (or made by investing), expressed as a single percentage number that represents the actual yearly cost of funds over the term of a loan. This includes any fees or additional costs associated with the transaction."^^rdf:HTML ; sh:name "annualPercentageRate" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:FinancialProduct-feesAndCommissionsSpecification a sh:PropertyShape ; sh:path schema:feesAndCommissionsSpecification ; sh:description "Description of fees, commissions, and other terms applied either to a class of financial product, or by a financial service organization."^^rdf:HTML ; sh:name "feesAndCommissionsSpecification" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:FinancialProduct-interestRate a sh:PropertyShape ; sh:path schema:interestRate ; sh:description "The interest rate, charged or paid, applicable to the financial product. Note: This is different from the calculated annualPercentageRate."^^rdf:HTML ; sh:name "interestRate" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:FinancialService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Financial services business."^^rdf:HTML ; rdfs:label "Financial service" ; rdfs:subClassOf schema:LocalBusiness ; sh:property schema:FinancialService-feesAndCommissionsSpecification ; . schema:FinancialService-feesAndCommissionsSpecification a sh:PropertyShape ; sh:path schema:feesAndCommissionsSpecification ; sh:description "Description of fees, commissions, and other terms applied either to a class of financial product, or by a financial service organization."^^rdf:HTML ; sh:name "feesAndCommissionsSpecification" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:FindAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of finding an object.\\n\\nRelated actions:\\n\\n* [[SearchAction]]: FindAction is generally lead by a SearchAction, but not necessarily."^^rdf:HTML ; rdfs:label "Find action" ; rdfs:subClassOf schema:Action ; . schema:FireStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A fire station. With firemen."^^rdf:HTML ; rdfs:label "Fire station" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:EmergencyService ; . schema:Flexibility a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Physical activity that is engaged in to improve joint and muscle flexibility." ; rdfs:label "Flexibility" ; . schema:Flight a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An airline flight."^^rdf:HTML ; rdfs:label "Flight" ; rdfs:subClassOf schema:Trip ; sh:property schema:Flight-aircraft ; sh:property schema:Flight-arrivalAirport ; sh:property schema:Flight-arrivalGate ; sh:property schema:Flight-arrivalTerminal ; sh:property schema:Flight-boardingPolicy ; sh:property schema:Flight-carrier ; sh:property schema:Flight-departureAirport ; sh:property schema:Flight-departureGate ; sh:property schema:Flight-departureTerminal ; sh:property schema:Flight-estimatedFlightDuration ; sh:property schema:Flight-flightDistance ; sh:property schema:Flight-flightNumber ; sh:property schema:Flight-mealService ; sh:property schema:Flight-seller ; sh:property schema:Flight-webCheckinTime ; . schema:Flight-aircraft a sh:PropertyShape ; sh:path schema:aircraft ; sh:description "The kind of aircraft (e.g., \"Boeing 747\")."^^rdf:HTML ; sh:name "aircraft" ; sh:or ( [ sh:class schema:Vehicle ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Flight-arrivalAirport a sh:PropertyShape ; sh:path schema:arrivalAirport ; sh:class schema:Airport ; sh:description "The airport where the flight terminates."^^rdf:HTML ; sh:name "arrivalAirport" ; . schema:Flight-arrivalGate a sh:PropertyShape ; sh:path schema:arrivalGate ; sh:datatype xsd:string ; sh:description "Identifier of the flight's arrival gate."^^rdf:HTML ; sh:name "arrivalGate" ; . schema:Flight-arrivalTerminal a sh:PropertyShape ; sh:path schema:arrivalTerminal ; sh:datatype xsd:string ; sh:description "Identifier of the flight's arrival terminal."^^rdf:HTML ; sh:name "arrivalTerminal" ; . schema:Flight-boardingPolicy a sh:PropertyShape ; sh:path schema:boardingPolicy ; sh:class schema:BoardingPolicyType ; sh:description "The type of boarding policy used by the airline (e.g. zone-based or group-based)."^^rdf:HTML ; sh:name "boardingPolicy" ; . schema:Flight-carrier a sh:PropertyShape ; sh:path schema:carrier ; sh:class schema:Organization ; sh:description "'carrier' is an out-dated term indicating the 'provider' for parcel delivery and flights."^^rdf:HTML ; sh:name "carrier" ; . schema:Flight-departureAirport a sh:PropertyShape ; sh:path schema:departureAirport ; sh:class schema:Airport ; sh:description "The airport where the flight originates."^^rdf:HTML ; sh:name "departureAirport" ; . schema:Flight-departureGate a sh:PropertyShape ; sh:path schema:departureGate ; sh:datatype xsd:string ; sh:description "Identifier of the flight's departure gate."^^rdf:HTML ; sh:name "departureGate" ; . schema:Flight-departureTerminal a sh:PropertyShape ; sh:path schema:departureTerminal ; sh:datatype xsd:string ; sh:description "Identifier of the flight's departure terminal."^^rdf:HTML ; sh:name "departureTerminal" ; . schema:Flight-estimatedFlightDuration a sh:PropertyShape ; sh:path schema:estimatedFlightDuration ; sh:description "The estimated time the flight will take."^^rdf:HTML ; sh:name "estimatedFlightDuration" ; sh:or ( [ sh:datatype xsd:duration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Flight-flightDistance a sh:PropertyShape ; sh:path schema:flightDistance ; sh:datatype xsd:string ; sh:description "The distance of the flight."^^rdf:HTML ; sh:name "flightDistance" ; . schema:Flight-flightNumber a sh:PropertyShape ; sh:path schema:flightNumber ; sh:datatype xsd:string ; sh:description "The unique identifier for a flight including the airline IATA code. For example, if describing United flight 110, where the IATA code for United is 'UA', the flightNumber is 'UA110'."^^rdf:HTML ; sh:name "flightNumber" ; . schema:Flight-mealService a sh:PropertyShape ; sh:path schema:mealService ; sh:datatype xsd:string ; sh:description "Description of the meals that will be provided or available for purchase."^^rdf:HTML ; sh:name "mealService" ; . schema:Flight-seller a sh:PropertyShape ; sh:path schema:seller ; sh:description "An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider."^^rdf:HTML ; sh:name "seller" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Flight-webCheckinTime a sh:PropertyShape ; sh:path schema:webCheckinTime ; sh:datatype xsd:dateTime ; sh:description "The time when a passenger can check into the flight online."^^rdf:HTML ; sh:name "webCheckinTime" ; . schema:FlightReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for air travel.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]."^^rdf:HTML ; rdfs:label "Flight reservation" ; rdfs:subClassOf schema:Reservation ; sh:property schema:FlightReservation-boardingGroup ; sh:property schema:FlightReservation-passengerPriorityStatus ; sh:property schema:FlightReservation-passengerSequenceNumber ; sh:property schema:FlightReservation-securityScreening ; . schema:FlightReservation-boardingGroup a sh:PropertyShape ; sh:path schema:boardingGroup ; sh:datatype xsd:string ; sh:description "The airline-specific indicator of boarding order / preference."^^rdf:HTML ; sh:name "boardingGroup" ; . schema:FlightReservation-passengerPriorityStatus a sh:PropertyShape ; sh:path schema:passengerPriorityStatus ; sh:description "The priority status assigned to a passenger for security or boarding (e.g. FastTrack or Priority)."^^rdf:HTML ; sh:name "passengerPriorityStatus" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:FlightReservation-passengerSequenceNumber a sh:PropertyShape ; sh:path schema:passengerSequenceNumber ; sh:datatype xsd:string ; sh:description "The passenger's sequence number as assigned by the airline."^^rdf:HTML ; sh:name "passengerSequenceNumber" ; . schema:FlightReservation-securityScreening a sh:PropertyShape ; sh:path schema:securityScreening ; sh:datatype xsd:string ; sh:description "The type of security screening the passenger is subject to."^^rdf:HTML ; sh:name "securityScreening" ; . schema:Float a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Data type: Floating number."^^rdf:HTML ; rdfs:label "Float" ; rdfs:subClassOf xsd:float ; . schema:FloorPlan a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A FloorPlan is an explicit representation of a collection of similar accommodations, allowing the provision of common information (room counts, sizes, layout diagrams) and offers for rental or sale. In typical use, some [[ApartmentComplex]] has an [[accommodationFloorPlan]] which is a [[FloorPlan]]. A FloorPlan is always in the context of a particular place, either a larger [[ApartmentComplex]] or a single [[Apartment]]. The visual/spatial aspects of a floor plan (i.e. room layout, [see wikipedia](https://en.wikipedia.org/wiki/Floor_plan)) can be indicated using [[image]]. "^^rdf:HTML ; rdfs:label "Floor plan" ; rdfs:subClassOf schema:Intangible ; sh:property schema:FloorPlan-amenityFeature ; sh:property schema:FloorPlan-floorSize ; sh:property schema:FloorPlan-isPlanForApartment ; sh:property schema:FloorPlan-layoutImage ; sh:property schema:FloorPlan-numberOfAccommodationUnits ; sh:property schema:FloorPlan-numberOfAvailableAccommodationUnits ; sh:property schema:FloorPlan-numberOfBathroomsTotal ; sh:property schema:FloorPlan-numberOfBedrooms ; sh:property schema:FloorPlan-numberOfFullBathrooms ; sh:property schema:FloorPlan-numberOfPartialBathrooms ; sh:property schema:FloorPlan-numberOfRooms ; sh:property schema:FloorPlan-petsAllowed ; . schema:FloorPlan-amenityFeature a sh:PropertyShape ; sh:path schema:amenityFeature ; sh:class schema:LocationFeatureSpecification ; sh:description "An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs."^^rdf:HTML ; sh:name "amenityFeature" ; . schema:FloorPlan-floorSize a sh:PropertyShape ; sh:path schema:floorSize ; sh:class schema:QuantitativeValue ; sh:description """The size of the accommodation, e.g. in square meter or squarefoot. Typical unit code(s): MTK for square meter, FTK for square foot, or YDK for square yard """^^rdf:HTML ; sh:name "floorSize" ; . schema:FloorPlan-isPlanForApartment a sh:PropertyShape ; sh:path schema:isPlanForApartment ; sh:class schema:Accommodation ; sh:description "Indicates some accommodation that this floor plan describes."^^rdf:HTML ; sh:name "isPlanForApartment" ; . schema:FloorPlan-layoutImage a sh:PropertyShape ; sh:path schema:layoutImage ; sh:description "A schematic image showing the floorplan layout."^^rdf:HTML ; sh:name "layoutImage" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:FloorPlan-numberOfAccommodationUnits a sh:PropertyShape ; sh:path schema:numberOfAccommodationUnits ; sh:class schema:QuantitativeValue ; sh:description "Indicates the total (available plus unavailable) number of accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAvailableAccommodationUnits]]."^^rdf:HTML ; sh:name "numberOfAccommodationUnits" ; . schema:FloorPlan-numberOfAvailableAccommodationUnits a sh:PropertyShape ; sh:path schema:numberOfAvailableAccommodationUnits ; sh:class schema:QuantitativeValue ; sh:description "Indicates the number of available accommodation units in an [[ApartmentComplex]], or the number of accommodation units for a specific [[FloorPlan]] (within its specific [[ApartmentComplex]]). See also [[numberOfAccommodationUnits]]."^^rdf:HTML ; sh:name "numberOfAvailableAccommodationUnits" ; . schema:FloorPlan-numberOfBathroomsTotal a sh:PropertyShape ; sh:path schema:numberOfBathroomsTotal ; sh:datatype xsd:integer ; sh:description "The total integer number of bathrooms in a some [[Accommodation]], following real estate conventions as [documented in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsTotalInteger+Field): \"The simple sum of the number of bathrooms. For example for a property with two Full Bathrooms and one Half Bathroom, the Bathrooms Total Integer will be 3.\". See also [[numberOfRooms]]."^^rdf:HTML ; sh:name "numberOfBathroomsTotal" ; . schema:FloorPlan-numberOfBedrooms a sh:PropertyShape ; sh:path schema:numberOfBedrooms ; sh:description "The total integer number of bedrooms in a some [[Accommodation]], [[ApartmentComplex]] or [[FloorPlan]]."^^rdf:HTML ; sh:name "numberOfBedrooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:FloorPlan-numberOfFullBathrooms a sh:PropertyShape ; sh:path schema:numberOfFullBathrooms ; sh:datatype xsd:float ; sh:description "Number of full bathrooms - The total number of full and ¾ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsFull field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsFull+Field)."^^rdf:HTML ; sh:name "numberOfFullBathrooms" ; . schema:FloorPlan-numberOfPartialBathrooms a sh:PropertyShape ; sh:path schema:numberOfPartialBathrooms ; sh:datatype xsd:float ; sh:description "Number of partial bathrooms - The total number of half and ¼ bathrooms in an [[Accommodation]]. This corresponds to the [BathroomsPartial field in RESO](https://ddwiki.reso.org/display/DDW17/BathroomsPartial+Field). "^^rdf:HTML ; sh:name "numberOfPartialBathrooms" ; . schema:FloorPlan-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:FloorPlan-petsAllowed a sh:PropertyShape ; sh:path schema:petsAllowed ; sh:description "Indicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value."^^rdf:HTML ; sh:name "petsAllowed" ; sh:or ( [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Florist a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A florist."^^rdf:HTML ; rdfs:label "Florist" ; rdfs:subClassOf schema:Store ; . schema:FollowAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of forming a personal connection with someone/something (object) unidirectionally/asymmetrically to get updates polled from.\\n\\nRelated actions:\\n\\n* [[BefriendAction]]: Unlike BefriendAction, FollowAction implies that the connection is *not* necessarily reciprocal.\\n* [[SubscribeAction]]: Unlike SubscribeAction, FollowAction implies that the follower acts as an active agent constantly/actively polling for updates.\\n* [[RegisterAction]]: Unlike RegisterAction, FollowAction implies that the agent is interested in continuing receiving updates from the object.\\n* [[JoinAction]]: Unlike JoinAction, FollowAction implies that the agent is interested in getting updates from the object.\\n* [[TrackAction]]: Unlike TrackAction, FollowAction refers to the polling of updates of all aspects of animate objects rather than the location of inanimate objects (e.g. you track a package, but you don't follow it)."^^rdf:HTML ; rdfs:label "Follow action" ; rdfs:subClassOf schema:InteractAction ; sh:property schema:FollowAction-followee ; . schema:FollowAction-followee a sh:PropertyShape ; sh:path schema:followee ; sh:description "A sub property of object. The person or organization being followed."^^rdf:HTML ; sh:name "followee" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:FoodEstablishment a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A food-related business."^^rdf:HTML ; rdfs:label "Food establishment" ; rdfs:subClassOf schema:LocalBusiness ; sh:property schema:FoodEstablishment-acceptsReservations ; sh:property schema:FoodEstablishment-hasMenu ; sh:property schema:FoodEstablishment-menu ; sh:property schema:FoodEstablishment-servesCuisine ; sh:property schema:FoodEstablishment-starRating ; . schema:FoodEstablishment-acceptsReservations a sh:PropertyShape ; sh:path schema:acceptsReservations ; sh:description "Indicates whether a FoodEstablishment accepts reservations. Values can be Boolean, an URL at which reservations can be made or (for backwards compatibility) the strings ```Yes``` or ```No```."^^rdf:HTML ; sh:name "acceptsReservations" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:string ; ] ) ; . schema:FoodEstablishment-hasMenu a sh:PropertyShape ; sh:path schema:hasMenu ; sh:description "Either the actual menu as a structured representation, as text, or a URL of the menu."^^rdf:HTML ; sh:name "hasMenu" ; sh:or ( [ sh:class schema:Menu ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:FoodEstablishment-menu a sh:PropertyShape ; sh:path schema:menu ; sh:description "Either the actual menu as a structured representation, as text, or a URL of the menu."^^rdf:HTML ; sh:name "menu" ; sh:or ( [ sh:class schema:Menu ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:FoodEstablishment-servesCuisine a sh:PropertyShape ; sh:path schema:servesCuisine ; sh:datatype xsd:string ; sh:description "The cuisine of the restaurant."^^rdf:HTML ; sh:name "servesCuisine" ; . schema:FoodEstablishment-starRating a sh:PropertyShape ; sh:path schema:starRating ; sh:class schema:Rating ; sh:description "An official rating for a lodging business or food establishment, e.g. from national associations or standards bodies. Use the author property to indicate the rating organization, e.g. as an Organization with name such as (e.g. HOTREC, DEHOGA, WHR, or Hotelstars)."^^rdf:HTML ; sh:name "starRating" ; . schema:FoodEstablishmentReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation to dine at a food-related business.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations."^^rdf:HTML ; rdfs:label "Food establishment reservation" ; rdfs:subClassOf schema:Reservation ; sh:property schema:FoodEstablishmentReservation-endTime ; sh:property schema:FoodEstablishmentReservation-partySize ; sh:property schema:FoodEstablishmentReservation-startTime ; . schema:FoodEstablishmentReservation-endTime a sh:PropertyShape ; sh:path schema:endTime ; sh:description "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "endTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:FoodEstablishmentReservation-partySize a sh:PropertyShape ; sh:path schema:partySize ; sh:description "Number of people the reservation should accommodate."^^rdf:HTML ; sh:name "partySize" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:FoodEstablishmentReservation-startTime a sh:PropertyShape ; sh:path schema:startTime ; sh:description "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "startTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:FoodEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Food event."^^rdf:HTML ; rdfs:label "Food event" ; rdfs:subClassOf schema:Event ; . schema:FoodService a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A food service, like breakfast, lunch, or dinner."^^rdf:HTML ; rdfs:label "Food service" ; rdfs:subClassOf schema:Service ; . schema:FourWheelDriveConfiguration a schema:DriveWheelConfigurationValue ; schema:source ; rdfs:comment "Four-wheel drive is a transmission layout where the engine primarily drives two wheels with a part-time four-wheel drive capability." ; rdfs:label "Four wheel drive configuration" ; . schema:Friday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Thursday and Saturday." ; rdfs:label "Friday" ; . schema:FrontWheelDriveConfiguration a schema:DriveWheelConfigurationValue ; schema:source ; rdfs:comment "Front-wheel drive is a transmission layout where the engine drives the front wheels." ; rdfs:label "Front wheel drive configuration" ; . schema:FullRefund a schema:RefundTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "A FullRefund ..." ; rdfs:label "Full refund" ; . schema:FundingAgency a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment """A FundingAgency is an organization that implements one or more [[FundingScheme]]s and manages the granting process (via [[Grant]]s, typically [[MonetaryGrant]]s). A funding agency is not always required for grant funding, e.g. philanthropic giving, corporate sponsorship etc. Examples of funding agencies include ERC, REA, NIH, Bill and Melinda Gates Foundation... """^^rdf:HTML ; rdfs:label "Funding agency" ; rdfs:subClassOf schema:Project ; . schema:FundingScheme a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment """A FundingScheme combines organizational, project and policy aspects of grant-based funding that sets guidelines, principles and mechanisms to support other kinds of projects and activities. Funding is typically organized via [[Grant]] funding. Examples of funding schemes: Swiss Priority Programmes (SPPs); EU Framework 7 (FP7); Horizon 2020; the NIH-R01 Grant Program; Wellcome institutional strategic support fund. For large scale public sector funding, the management and administration of grant awards is often handled by other, dedicated, organizations - [[FundingAgency]]s such as ERC, REA, ..."""^^rdf:HTML ; rdfs:label "Funding scheme" ; rdfs:subClassOf schema:Organization ; . schema:Fungus a schema:InfectiousAgentClass ; schema:isPartOf ; rdfs:comment "Pathogenic fungus." ; rdfs:label "Fungus" ; . schema:FurnitureStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A furniture store."^^rdf:HTML ; rdfs:label "Furniture store" ; rdfs:subClassOf schema:Store ; . schema:Game a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The Game type represents things which are games. These are typically rule-governed recreational activities, e.g. role-playing games in which players assume the role of characters in a fictional setting."^^rdf:HTML ; rdfs:label "Game" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Game-characterAttribute ; sh:property schema:Game-gameItem ; sh:property schema:Game-gameLocation ; sh:property schema:Game-numberOfPlayers ; sh:property schema:Game-quest ; . schema:Game-characterAttribute a sh:PropertyShape ; sh:path schema:characterAttribute ; sh:class schema:Thing ; sh:description "A piece of data that represents a particular aspect of a fictional character (skill, power, character points, advantage, disadvantage)."^^rdf:HTML ; sh:name "characterAttribute" ; . schema:Game-gameItem a sh:PropertyShape ; sh:path schema:gameItem ; sh:class schema:Thing ; sh:description "An item is an object within the game world that can be collected by a player or, occasionally, a non-player character."^^rdf:HTML ; sh:name "gameItem" ; . schema:Game-gameLocation a sh:PropertyShape ; sh:path schema:gameLocation ; sh:description "Real or fictional location of the game (or part of game)."^^rdf:HTML ; sh:name "gameLocation" ; sh:or ( [ sh:class schema:Place ; ] [ sh:class schema:PostalAddress ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Game-numberOfPlayers a sh:PropertyShape ; sh:path schema:numberOfPlayers ; sh:class schema:QuantitativeValue ; sh:description "Indicate how many people can play this game (minimum, maximum, or range)."^^rdf:HTML ; sh:name "numberOfPlayers" ; . schema:Game-quest a sh:PropertyShape ; sh:path schema:quest ; sh:class schema:Thing ; sh:description "The task that a player-controlled character, or group of characters may complete in order to gain a reward."^^rdf:HTML ; sh:name "quest" ; . schema:GamePlayMode a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Indicates whether this game is multi-player, co-op or single-player."^^rdf:HTML ; rdfs:label "Game play mode" ; rdfs:subClassOf schema:Enumeration ; . schema:GameServer a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Server that provides game interaction in a multiplayer game."^^rdf:HTML ; rdfs:label "Game server" ; rdfs:subClassOf schema:Intangible ; sh:property schema:GameServer-game ; sh:property schema:GameServer-playersOnline ; sh:property schema:GameServer-serverStatus ; . schema:GameServer-game a sh:PropertyShape ; sh:path schema:game ; sh:class schema:VideoGame ; sh:description "Video game which is played on this server."^^rdf:HTML ; sh:name "game" ; . schema:GameServer-playersOnline a sh:PropertyShape ; sh:path schema:playersOnline ; sh:datatype xsd:integer ; sh:description "Number of players on the server."^^rdf:HTML ; sh:name "playersOnline" ; . schema:GameServer-serverStatus a sh:PropertyShape ; sh:path schema:serverStatus ; sh:class schema:GameServerStatus ; sh:description "Status of a game server."^^rdf:HTML ; sh:name "serverStatus" ; . schema:GameServerStatus a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Status of a game server."^^rdf:HTML ; rdfs:label "Game server status" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:GardenStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A garden store."^^rdf:HTML ; rdfs:label "Garden store" ; rdfs:subClassOf schema:Store ; . schema:GasStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A gas station."^^rdf:HTML ; rdfs:label "Gas station" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:Gastroenterologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to diagnosis and treatment of disorders of digestive system." ; rdfs:label "Gastroenterologic" ; . schema:GatedResidenceCommunity a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Residence type: Gated community."^^rdf:HTML ; rdfs:label "Gated residence community" ; rdfs:subClassOf schema:Residence ; . schema:GenderType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An enumeration of genders."^^rdf:HTML ; rdfs:label "Gender type" ; rdfs:subClassOf schema:Enumeration ; . schema:GeneralContractor a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A general contractor."^^rdf:HTML ; rdfs:label "General contractor" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:Genetic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to hereditary transmission and the variation of inherited characteristics and disorders." ; rdfs:label "Genetic" ; . schema:Genitourinary a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Genitourinary system function assessment with clinical examination." ; rdfs:label "Genitourinary" ; . schema:GeoCircle a rdfs:Class ; a sh:NodeShape ; rdfs:comment """A GeoCircle is a GeoShape representing a circular geographic area. As it is a GeoShape it provides the simple textual property 'circle', but also allows the combination of postalCode alongside geoRadius. The center of the circle can be indicated via the 'geoMidpoint' property, or more approximately using 'address', 'postalCode'. """^^rdf:HTML ; rdfs:label "Geo circle" ; rdfs:subClassOf schema:GeoShape ; sh:property schema:GeoCircle-geoMidpoint ; sh:property schema:GeoCircle-geoRadius ; . schema:GeoCircle-geoMidpoint a sh:PropertyShape ; sh:path schema:geoMidpoint ; sh:class schema:GeoCoordinates ; sh:description "Indicates the GeoCoordinates at the centre of a GeoShape e.g. GeoCircle."^^rdf:HTML ; sh:name "geoMidpoint" ; . schema:GeoCircle-geoRadius a sh:PropertyShape ; sh:path schema:geoRadius ; sh:description "Indicates the approximate radius of a GeoCircle (metres unless indicated otherwise via Distance notation)."^^rdf:HTML ; sh:name "geoRadius" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoCoordinates a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The geographic coordinates of a place or event."^^rdf:HTML ; rdfs:label "Geo coordinates" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:GeoCoordinates-address ; sh:property schema:GeoCoordinates-addressCountry ; sh:property schema:GeoCoordinates-elevation ; sh:property schema:GeoCoordinates-latitude ; sh:property schema:GeoCoordinates-longitude ; sh:property schema:GeoCoordinates-postalCode ; . schema:GeoCoordinates-address a sh:PropertyShape ; sh:path schema:address ; sh:description "Physical address of the item."^^rdf:HTML ; sh:name "address" ; sh:or ( [ sh:class schema:PostalAddress ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoCoordinates-addressCountry a sh:PropertyShape ; sh:path schema:addressCountry ; sh:description "The country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1)."^^rdf:HTML ; sh:name "addressCountry" ; sh:or ( [ sh:class schema:Country ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoCoordinates-elevation a sh:PropertyShape ; sh:path schema:elevation ; sh:description "The elevation of a location ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)). Values may be of the form 'NUMBER UNIT_OF_MEASUREMENT' (e.g., '1,000 m', '3,200 ft') while numbers alone should be assumed to be a value in meters."^^rdf:HTML ; sh:name "elevation" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoCoordinates-latitude a sh:PropertyShape ; sh:path schema:latitude ; sh:description "The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System))."^^rdf:HTML ; sh:name "latitude" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoCoordinates-longitude a sh:PropertyShape ; sh:path schema:longitude ; sh:description "The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System))."^^rdf:HTML ; sh:name "longitude" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoCoordinates-postalCode a sh:PropertyShape ; sh:path schema:postalCode ; sh:datatype xsd:string ; sh:description "The postal code. For example, 94043."^^rdf:HTML ; sh:name "postalCode" ; . schema:GeoShape a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The geographic shape of a place. A GeoShape can be described using several properties whose values are based on latitude/longitude pairs. Either whitespace or commas can be used to separate latitude and longitude; whitespace should be used when writing a list of several such points."^^rdf:HTML ; rdfs:label "Geo shape" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:GeoShape-address ; sh:property schema:GeoShape-addressCountry ; sh:property schema:GeoShape-box ; sh:property schema:GeoShape-circle ; sh:property schema:GeoShape-elevation ; sh:property schema:GeoShape-line ; sh:property schema:GeoShape-polygon ; sh:property schema:GeoShape-postalCode ; . schema:GeoShape-address a sh:PropertyShape ; sh:path schema:address ; sh:description "Physical address of the item."^^rdf:HTML ; sh:name "address" ; sh:or ( [ sh:class schema:PostalAddress ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoShape-addressCountry a sh:PropertyShape ; sh:path schema:addressCountry ; sh:description "The country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1)."^^rdf:HTML ; sh:name "addressCountry" ; sh:or ( [ sh:class schema:Country ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoShape-box a sh:PropertyShape ; sh:path schema:box ; sh:datatype xsd:string ; sh:description "A box is the area enclosed by the rectangle formed by two points. The first point is the lower corner, the second point is the upper corner. A box is expressed as two points separated by a space character."^^rdf:HTML ; sh:name "box" ; . schema:GeoShape-circle a sh:PropertyShape ; sh:path schema:circle ; sh:datatype xsd:string ; sh:description "A circle is the circular region of a specified radius centered at a specified latitude and longitude. A circle is expressed as a pair followed by a radius in meters."^^rdf:HTML ; sh:name "circle" ; . schema:GeoShape-elevation a sh:PropertyShape ; sh:path schema:elevation ; sh:description "The elevation of a location ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System)). Values may be of the form 'NUMBER UNIT_OF_MEASUREMENT' (e.g., '1,000 m', '3,200 ft') while numbers alone should be assumed to be a value in meters."^^rdf:HTML ; sh:name "elevation" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GeoShape-line a sh:PropertyShape ; sh:path schema:line ; sh:datatype xsd:string ; sh:description "A line is a point-to-point path consisting of two or more points. A line is expressed as a series of two or more point objects separated by space."^^rdf:HTML ; sh:name "line" ; . schema:GeoShape-polygon a sh:PropertyShape ; sh:path schema:polygon ; sh:datatype xsd:string ; sh:description "A polygon is the area enclosed by a point-to-point path for which the starting and ending points are the same. A polygon is expressed as a series of four or more space delimited points where the first and final points are identical."^^rdf:HTML ; sh:name "polygon" ; . schema:GeoShape-postalCode a sh:PropertyShape ; sh:path schema:postalCode ; sh:datatype xsd:string ; sh:description "The postal code. For example, 94043."^^rdf:HTML ; sh:name "postalCode" ; . schema:GeospatialGeometry a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "(Eventually to be defined as) a supertype of GeoShape designed to accommodate definitions from Geo-Spatial best practices."^^rdf:HTML ; rdfs:label "Geospatial geometry" ; rdfs:subClassOf schema:Intangible ; sh:property schema:GeospatialGeometry-geoContains ; sh:property schema:GeospatialGeometry-geoCoveredBy ; sh:property schema:GeospatialGeometry-geoCovers ; sh:property schema:GeospatialGeometry-geoCrosses ; sh:property schema:GeospatialGeometry-geoDisjoint ; sh:property schema:GeospatialGeometry-geoEquals ; sh:property schema:GeospatialGeometry-geoIntersects ; sh:property schema:GeospatialGeometry-geoOverlaps ; sh:property schema:GeospatialGeometry-geoTouches ; sh:property schema:GeospatialGeometry-geoWithin ; . schema:GeospatialGeometry-geoContains a sh:PropertyShape ; sh:path schema:geoContains ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. \"a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoContains" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoCoveredBy a sh:PropertyShape ; sh:path schema:geoCoveredBy ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoCoveredBy" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoCovers a sh:PropertyShape ; sh:path schema:geoCovers ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. \"Every point of b is a point of (the interior or boundary of) a\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoCovers" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoCrosses a sh:PropertyShape ; sh:path schema:geoCrosses ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: \"a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoCrosses" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoDisjoint a sh:PropertyShape ; sh:path schema:geoDisjoint ; sh:description "Represents spatial relations in which two geometries (or the places they represent) are topologically disjoint: they have no point in common. They form a set of disconnected geometries.\" (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM))"^^rdf:HTML ; sh:name "geoDisjoint" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoEquals a sh:PropertyShape ; sh:path schema:geoEquals ; sh:description "Represents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM). \"Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other\" (a symmetric relationship)"^^rdf:HTML ; sh:name "geoEquals" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoIntersects a sh:PropertyShape ; sh:path schema:geoIntersects ; sh:description "Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoIntersects" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoOverlaps a sh:PropertyShape ; sh:path schema:geoOverlaps ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoOverlaps" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoTouches a sh:PropertyShape ; sh:path schema:geoTouches ; sh:description "Represents spatial relations in which two geometries (or the places they represent) touch: they have at least one boundary point in common, but no interior points.\" (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM) )"^^rdf:HTML ; sh:name "geoTouches" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:GeospatialGeometry-geoWithin a sh:PropertyShape ; sh:path schema:geoWithin ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoWithin" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Geriatric a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that is concerned with the diagnosis and treatment of diseases, debilities and provision of care to the aged." ; rdfs:label "Geriatric" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:GettingAccessHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content that discusses practical and policy aspects for getting access to specific kinds of healthcare (e.g. distribution mechanisms for vaccines)." ; rdfs:label "Getting access health aspect" ; . schema:GiveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of transferring ownership of an object to a destination. Reciprocal of TakeAction.\\n\\nRelated actions:\\n\\n* [[TakeAction]]: Reciprocal of GiveAction.\\n* [[SendAction]]: Unlike SendAction, GiveAction implies that ownership is being transferred (e.g. I may send my laptop to you, but that doesn't mean I'm giving it to you)."^^rdf:HTML ; rdfs:label "Give action" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:GiveAction-recipient ; . schema:GiveAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:GlutenFreeDiet a schema:RestrictedDiet ; rdfs:comment "A diet exclusive of gluten." ; rdfs:label "Gluten free diet" ; . schema:GolfCourse a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A golf course."^^rdf:HTML ; rdfs:label "Golf course" ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:GovernmentBenefitsType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "GovernmentBenefitsType enumerates several kinds of government benefits to support the COVID-19 situation. Note that this structure may not capture all benefits offered."^^rdf:HTML ; rdfs:label "Government benefits type" ; rdfs:subClassOf schema:Enumeration ; . schema:GovernmentBuilding a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A government building."^^rdf:HTML ; rdfs:label "Government building" ; rdfs:subClassOf schema:CivicStructure ; . schema:GovernmentOffice a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A government office—for example, an IRS or DMV office."^^rdf:HTML ; rdfs:label "Government office" ; rdfs:subClassOf schema:LocalBusiness ; . schema:GovernmentOrganization a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A governmental organization or agency."^^rdf:HTML ; rdfs:label "Government organization" ; rdfs:subClassOf schema:Organization ; . schema:GovernmentPermit a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A permit issued by a government agency."^^rdf:HTML ; rdfs:label "Government permit" ; rdfs:subClassOf schema:Permit ; . schema:GovernmentService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A service provided by a government organization, e.g. food stamps, veterans benefits, etc."^^rdf:HTML ; rdfs:label "Government service" ; rdfs:subClassOf schema:Service ; sh:property schema:GovernmentService-jurisdiction ; sh:property schema:GovernmentService-serviceOperator ; . schema:GovernmentService-jurisdiction a sh:PropertyShape ; sh:path schema:jurisdiction ; sh:description "Indicates a legal jurisdiction, e.g. of some legislation, or where some government service is based."^^rdf:HTML ; sh:name "jurisdiction" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:datatype xsd:string ; ] ) ; . schema:GovernmentService-serviceOperator a sh:PropertyShape ; sh:path schema:serviceOperator ; sh:class schema:Organization ; sh:description "The operating organization, if different from the provider. This enables the representation of services that are provided by an organization, but operated by another organization like a subcontractor."^^rdf:HTML ; sh:name "serviceOperator" ; . schema:Grant a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment """A grant, typically financial or otherwise quantifiable, of resources. Typically a [[funder]] sponsors some [[MonetaryAmount]] to an [[Organization]] or [[Person]], sometimes not necessarily via a dedicated or long-lived [[Project]], resulting in one or more outputs, or [[fundedItem]]s. For financial sponsorship, indicate the [[funder]] of a [[MonetaryGrant]]. For non-financial support, indicate [[sponsor]] of [[Grant]]s of resources (e.g. office space). Grants support activities directed towards some agreed collective goals, often but not always organized as [[Project]]s. Long-lived projects are sometimes sponsored by a variety of grants over time, but it is also common for a project to be associated with a single grant. The amount of a [[Grant]] is represented using [[amount]] as a [[MonetaryAmount]]. """^^rdf:HTML ; rdfs:label "Grant" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Grant-fundedItem ; sh:property schema:Grant-sponsor ; . schema:Grant-fundedItem a sh:PropertyShape ; sh:path schema:fundedItem ; sh:class schema:Thing ; sh:description "Indicates an item funded or sponsored through a [[Grant]]."^^rdf:HTML ; sh:name "fundedItem" ; . schema:Grant-sponsor a sh:PropertyShape ; sh:path schema:sponsor ; sh:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event."^^rdf:HTML ; sh:name "sponsor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:GraphicNovel a schema:BookFormatType ; schema:isPartOf ; rdfs:comment "Book format: GraphicNovel. May represent a bound collection of ComicIssue instances." ; rdfs:label "Graphic novel" ; . schema:GroceryStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A grocery store."^^rdf:HTML ; rdfs:label "Grocery store" ; rdfs:subClassOf schema:Store ; . schema:GroupBoardingPolicy a schema:BoardingPolicyType ; rdfs:comment "The airline boards by groups based on check-in time, priority, etc." ; rdfs:label "Group boarding policy" ; . schema:Guide a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "[[Guide]] is a page or article that recommend specific products or services, or aspects of a thing for a user to consider. A [[Guide]] may represent a Buying Guide and detail aspects of products or services for a user to consider. A [[Guide]] may represent a Product Guide and recommend specific products or services. A [[Guide]] may represent a Ranked List and recommend specific products or services with ranking."^^rdf:HTML ; rdfs:label "Guide" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Guide-reviewAspect ; . schema:Guide-reviewAspect a sh:PropertyShape ; sh:path schema:reviewAspect ; sh:datatype xsd:string ; sh:description "This Review or Rating is relevant to this part or facet of the itemReviewed."^^rdf:HTML ; sh:name "reviewAspect" ; . schema:Gynecologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to the health care of women, particularly in the diagnosis and treatment of disorders affecting the female reproductive system." ; rdfs:label "Gynecologic" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:HVACBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A business that provide Heating, Ventilation and Air Conditioning services."^^rdf:HTML ; rdfs:label "HVACBusiness" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:Hackathon a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A [hackathon](https://en.wikipedia.org/wiki/Hackathon) event."^^rdf:HTML ; rdfs:label "Hackathon" ; rdfs:subClassOf schema:Event ; . schema:HairSalon a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A hair salon."^^rdf:HTML ; rdfs:label "Hair salon" ; rdfs:subClassOf schema:HealthAndBeautyBusiness ; . schema:HalalDiet a schema:RestrictedDiet ; rdfs:comment "A diet conforming to Islamic dietary practices." ; rdfs:label "Halal diet" ; . schema:Hardcover a schema:BookFormatType ; rdfs:comment "Book format: Hardcover." ; rdfs:label "Hardcover" ; . schema:HardwareStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A hardware store."^^rdf:HTML ; rdfs:label "Hardware store" ; rdfs:subClassOf schema:Store ; . schema:Head a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Head assessment with clinical examination." ; rdfs:label "Head" ; . schema:HealthAndBeautyBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Health and beauty."^^rdf:HTML ; rdfs:label "Health and beauty business" ; rdfs:subClassOf schema:LocalBusiness ; . schema:HealthAspectEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "HealthAspectEnumeration enumerates several aspects of health content online, each of which might be described using [[hasHealthAspect]] and [[HealthTopicContent]]."^^rdf:HTML ; rdfs:label "Health aspect enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:HealthCare a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "HealthCare: this is a benefit for health care." ; rdfs:label "Health care" ; . schema:HealthClub a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A health club."^^rdf:HTML ; rdfs:label "Health club" ; rdfs:subClassOf schema:HealthAndBeautyBusiness ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:HealthInsurancePlan a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A US-style health insurance plan, including PPOs, EPOs, and HMOs. "^^rdf:HTML ; rdfs:label "Health insurance plan" ; rdfs:subClassOf schema:Intangible ; sh:property schema:HealthInsurancePlan-benefitsSummaryUrl ; sh:property schema:HealthInsurancePlan-contactPoint ; sh:property schema:HealthInsurancePlan-healthPlanDrugOption ; sh:property schema:HealthInsurancePlan-healthPlanDrugTier ; sh:property schema:HealthInsurancePlan-healthPlanId ; sh:property schema:HealthInsurancePlan-healthPlanMarketingUrl ; sh:property schema:HealthInsurancePlan-includesHealthPlanFormulary ; sh:property schema:HealthInsurancePlan-includesHealthPlanNetwork ; sh:property schema:HealthInsurancePlan-usesHealthPlanIdStandard ; . schema:HealthInsurancePlan-benefitsSummaryUrl a sh:PropertyShape ; sh:path schema:benefitsSummaryUrl ; sh:description "The URL that goes directly to the summary of benefits and coverage for the specific standard plan or plan variation."^^rdf:HTML ; sh:name "benefitsSummaryUrl" ; sh:nodeKind sh:IRI ; . schema:HealthInsurancePlan-contactPoint a sh:PropertyShape ; sh:path schema:contactPoint ; sh:class schema:ContactPoint ; sh:description "A contact point for a person or organization."^^rdf:HTML ; sh:name "contactPoint" ; . schema:HealthInsurancePlan-healthPlanDrugOption a sh:PropertyShape ; sh:path schema:healthPlanDrugOption ; sh:datatype xsd:string ; sh:description "TODO."^^rdf:HTML ; sh:name "healthPlanDrugOption" ; . schema:HealthInsurancePlan-healthPlanDrugTier a sh:PropertyShape ; sh:path schema:healthPlanDrugTier ; sh:datatype xsd:string ; sh:description "The tier(s) of drugs offered by this formulary or insurance plan."^^rdf:HTML ; sh:name "healthPlanDrugTier" ; . schema:HealthInsurancePlan-healthPlanId a sh:PropertyShape ; sh:path schema:healthPlanId ; sh:datatype xsd:string ; sh:description "The 14-character, HIOS-generated Plan ID number. (Plan IDs must be unique, even across different markets.)"^^rdf:HTML ; sh:name "healthPlanId" ; . schema:HealthInsurancePlan-healthPlanMarketingUrl a sh:PropertyShape ; sh:path schema:healthPlanMarketingUrl ; sh:description "The URL that goes directly to the plan brochure for the specific standard plan or plan variation."^^rdf:HTML ; sh:name "healthPlanMarketingUrl" ; sh:nodeKind sh:IRI ; . schema:HealthInsurancePlan-includesHealthPlanFormulary a sh:PropertyShape ; sh:path schema:includesHealthPlanFormulary ; sh:class schema:HealthPlanFormulary ; sh:description "Formularies covered by this plan."^^rdf:HTML ; sh:name "includesHealthPlanFormulary" ; . schema:HealthInsurancePlan-includesHealthPlanNetwork a sh:PropertyShape ; sh:path schema:includesHealthPlanNetwork ; sh:class schema:HealthPlanNetwork ; sh:description "Networks covered by this plan."^^rdf:HTML ; sh:name "includesHealthPlanNetwork" ; . schema:HealthInsurancePlan-usesHealthPlanIdStandard a sh:PropertyShape ; sh:path schema:usesHealthPlanIdStandard ; sh:description "The standard for interpreting thePlan ID. The preferred is \"HIOS\". See the Centers for Medicare & Medicaid Services for more details."^^rdf:HTML ; sh:name "usesHealthPlanIdStandard" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HealthPlanCostSharingSpecification a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A description of costs to the patient under a given network or formulary."^^rdf:HTML ; rdfs:label "Health plan cost sharing specification" ; rdfs:subClassOf schema:Intangible ; sh:property schema:HealthPlanCostSharingSpecification-healthPlanCoinsuranceOption ; sh:property schema:HealthPlanCostSharingSpecification-healthPlanCoinsuranceRate ; sh:property schema:HealthPlanCostSharingSpecification-healthPlanCopay ; sh:property schema:HealthPlanCostSharingSpecification-healthPlanCopayOption ; sh:property schema:HealthPlanCostSharingSpecification-healthPlanPharmacyCategory ; . schema:HealthPlanCostSharingSpecification-healthPlanCoinsuranceOption a sh:PropertyShape ; sh:path schema:healthPlanCoinsuranceOption ; sh:datatype xsd:string ; sh:description "Whether the coinsurance applies before or after deductible, etc. TODO: Is this a closed set?"^^rdf:HTML ; sh:name "healthPlanCoinsuranceOption" ; . schema:HealthPlanCostSharingSpecification-healthPlanCoinsuranceRate a sh:PropertyShape ; sh:path schema:healthPlanCoinsuranceRate ; sh:datatype xsd:float ; sh:description "Whether The rate of coinsurance expressed as a number between 0.0 and 1.0."^^rdf:HTML ; sh:name "healthPlanCoinsuranceRate" ; . schema:HealthPlanCostSharingSpecification-healthPlanCopay a sh:PropertyShape ; sh:path schema:healthPlanCopay ; sh:class schema:PriceSpecification ; sh:description "Whether The copay amount."^^rdf:HTML ; sh:name "healthPlanCopay" ; . schema:HealthPlanCostSharingSpecification-healthPlanCopayOption a sh:PropertyShape ; sh:path schema:healthPlanCopayOption ; sh:datatype xsd:string ; sh:description "Whether the copay is before or after deductible, etc. TODO: Is this a closed set?"^^rdf:HTML ; sh:name "healthPlanCopayOption" ; . schema:HealthPlanCostSharingSpecification-healthPlanPharmacyCategory a sh:PropertyShape ; sh:path schema:healthPlanPharmacyCategory ; sh:datatype xsd:string ; sh:description "The category or type of pharmacy associated with this cost sharing."^^rdf:HTML ; sh:name "healthPlanPharmacyCategory" ; . schema:HealthPlanFormulary a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "For a given health insurance plan, the specification for costs and coverage of prescription drugs. "^^rdf:HTML ; rdfs:label "Health plan formulary" ; rdfs:subClassOf schema:Intangible ; sh:property schema:HealthPlanFormulary-healthPlanCostSharing ; sh:property schema:HealthPlanFormulary-healthPlanDrugTier ; sh:property schema:HealthPlanFormulary-offersPrescriptionByMail ; . schema:HealthPlanFormulary-healthPlanCostSharing a sh:PropertyShape ; sh:path schema:healthPlanCostSharing ; sh:datatype xsd:boolean ; sh:description "Whether The costs to the patient for services under this network or formulary."^^rdf:HTML ; sh:name "healthPlanCostSharing" ; . schema:HealthPlanFormulary-healthPlanDrugTier a sh:PropertyShape ; sh:path schema:healthPlanDrugTier ; sh:datatype xsd:string ; sh:description "The tier(s) of drugs offered by this formulary or insurance plan."^^rdf:HTML ; sh:name "healthPlanDrugTier" ; . schema:HealthPlanFormulary-offersPrescriptionByMail a sh:PropertyShape ; sh:path schema:offersPrescriptionByMail ; sh:datatype xsd:boolean ; sh:description "Whether prescriptions can be delivered by mail."^^rdf:HTML ; sh:name "offersPrescriptionByMail" ; . schema:HealthPlanNetwork a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A US-style health insurance plan network. "^^rdf:HTML ; rdfs:label "Health plan network" ; rdfs:subClassOf schema:Intangible ; sh:property schema:HealthPlanNetwork-healthPlanCostSharing ; sh:property schema:HealthPlanNetwork-healthPlanNetworkId ; sh:property schema:HealthPlanNetwork-healthPlanNetworkTier ; . schema:HealthPlanNetwork-healthPlanCostSharing a sh:PropertyShape ; sh:path schema:healthPlanCostSharing ; sh:datatype xsd:boolean ; sh:description "Whether The costs to the patient for services under this network or formulary."^^rdf:HTML ; sh:name "healthPlanCostSharing" ; . schema:HealthPlanNetwork-healthPlanNetworkId a sh:PropertyShape ; sh:path schema:healthPlanNetworkId ; sh:datatype xsd:string ; sh:description "Name or unique ID of network. (Networks are often reused across different insurance plans)."^^rdf:HTML ; sh:name "healthPlanNetworkId" ; . schema:HealthPlanNetwork-healthPlanNetworkTier a sh:PropertyShape ; sh:path schema:healthPlanNetworkTier ; sh:datatype xsd:string ; sh:description "The tier(s) for this network."^^rdf:HTML ; sh:name "healthPlanNetworkTier" ; . schema:HealthTopicContent a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """[[HealthTopicContent]] is [[WebContent]] that is about some aspect of a health topic, e.g. a condition, its symptoms or treatments. Such content may be comprised of several parts or sections and use different types of media. Multiple instances of [[WebContent]] (and hence [[HealthTopicContent]]) can be related using [[hasPart]] / [[isPartOf]] where there is some kind of content hierarchy, and their content described with [[about]] and [[mentions]] e.g. building upon the existing [[MedicalCondition]] vocabulary. """^^rdf:HTML ; rdfs:label "Health topic content" ; rdfs:subClassOf schema:WebContent ; sh:property schema:HealthTopicContent-hasHealthAspect ; . schema:HealthTopicContent-hasHealthAspect a sh:PropertyShape ; sh:path schema:hasHealthAspect ; sh:class schema:HealthAspectEnumeration ; sh:description "Indicates the aspect or aspects specifically addressed in some [[HealthTopicContent]]. For example, that the content is an overview, or that it talks about treatment, self-care, treatments or their side-effects."^^rdf:HTML ; sh:name "hasHealthAspect" ; . schema:HearingImpairedSupported a schema:ContactPointOption ; rdfs:comment "Uses devices to support users with hearing impairments." ; rdfs:label "Hearing impaired supported" ; . schema:Hematologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to diagnosis and treatment of disorders of blood and blood producing organs." ; rdfs:label "Hematologic" ; . schema:HighSchool a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A high school."^^rdf:HTML ; rdfs:label "High school" ; rdfs:subClassOf schema:EducationalOrganization ; . schema:HinduDiet a schema:RestrictedDiet ; rdfs:comment "A diet conforming to Hindu dietary practices, in particular, beef-free." ; rdfs:label "Hindu diet" ; . schema:HinduTemple a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A Hindu temple."^^rdf:HTML ; rdfs:label "Hindu temple" ; rdfs:subClassOf schema:PlaceOfWorship ; . schema:HobbyShop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A store that sells materials useful or necessary for various hobbies."^^rdf:HTML ; rdfs:label "Hobby shop" ; rdfs:subClassOf schema:Store ; . schema:HomeAndConstructionBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A construction business.\\n\\nA HomeAndConstructionBusiness is a [[LocalBusiness]] that provides services around homes and buildings.\\n\\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\\(s)."^^rdf:HTML ; rdfs:label "Home and construction business" ; rdfs:subClassOf schema:LocalBusiness ; . schema:HomeGoodsStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A home goods store."^^rdf:HTML ; rdfs:label "Home goods store" ; rdfs:subClassOf schema:Store ; . schema:Homeopathic a schema:MedicineSystem ; schema:isPartOf ; rdfs:comment "A system of medicine based on the principle that a disease can be cured by a substance that produces similar symptoms in healthy people." ; rdfs:label "Homeopathic" ; . schema:Hospital a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A hospital."^^rdf:HTML ; rdfs:label "Hospital" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:EmergencyService ; rdfs:subClassOf schema:MedicalOrganization ; sh:property schema:Hospital-availableService ; sh:property schema:Hospital-healthcareReportingData ; sh:property schema:Hospital-medicalSpecialty ; . schema:Hospital-availableService a sh:PropertyShape ; sh:path schema:availableService ; sh:description "A medical service available from this provider."^^rdf:HTML ; sh:name "availableService" ; sh:or ( [ sh:class schema:MedicalProcedure ; ] [ sh:class schema:MedicalTest ; ] [ sh:class schema:MedicalTherapy ; ] ) ; . schema:Hospital-healthcareReportingData a sh:PropertyShape ; sh:path schema:healthcareReportingData ; sh:description "Indicates data describing a hospital, e.g. a CDC [[CDCPMDRecord]] or as some kind of [[Dataset]]."^^rdf:HTML ; sh:name "healthcareReportingData" ; sh:or ( [ sh:class schema:CDCPMDRecord ; ] [ sh:class schema:Dataset ; ] ) ; . schema:Hospital-medicalSpecialty a sh:PropertyShape ; sh:path schema:medicalSpecialty ; sh:class schema:MedicalSpecialty ; sh:description "A medical specialty of the provider."^^rdf:HTML ; sh:name "medicalSpecialty" ; . schema:Hostel a rdfs:Class ; a sh:NodeShape ; rdfs:comment """A hostel - cheap accommodation, often in shared dormitories.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Hostel" ; rdfs:subClassOf schema:LodgingBusiness ; . schema:Hotel a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A hotel is an establishment that provides lodging paid on a short-term basis (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Hotel).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Hotel" ; rdfs:subClassOf schema:LodgingBusiness ; . schema:HotelRoom a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A hotel room is a single room in a hotel.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Hotel room" ; rdfs:subClassOf schema:Room ; sh:property schema:HotelRoom-bed ; sh:property schema:HotelRoom-occupancy ; . schema:HotelRoom-bed a sh:PropertyShape ; sh:path schema:bed ; sh:description """The type of bed or beds included in the accommodation. For the single case of just one bed of a certain type, you use bed directly with a text. If you want to indicate the quantity of a certain kind of bed, use an instance of BedDetails. For more detailed information, use the amenityFeature property."""^^rdf:HTML ; sh:name "bed" ; sh:or ( [ sh:class schema:BedDetails ; ] [ sh:class schema:BedType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HotelRoom-occupancy a sh:PropertyShape ; sh:path schema:occupancy ; sh:class schema:QuantitativeValue ; sh:description """The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person"""^^rdf:HTML ; sh:name "occupancy" ; . schema:House a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A house is a building or structure that has the ability to be occupied for habitation by humans or other creatures (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/House)."^^rdf:HTML ; rdfs:label "House" ; rdfs:subClassOf schema:Accommodation ; sh:property schema:House-numberOfRooms ; . schema:House-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:HousePainter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A house painting service."^^rdf:HTML ; rdfs:label "House painter" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:HowItWorksHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content that discusses and explains how a particular health-related topic works, e.g. in terms of mechanisms and underlying science." ; rdfs:label "How it works health aspect" ; . schema:HowOrWhereHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Information about how or where to find a topic. Also may contain location data that can be used for where to look for help if the topic is observed." ; rdfs:label "How or where health aspect" ; . schema:HowTo a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Instructions that explain how to achieve a result by performing a sequence of steps."^^rdf:HTML ; rdfs:label "How to" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:HowTo-estimatedCost ; sh:property schema:HowTo-performTime ; sh:property schema:HowTo-prepTime ; sh:property schema:HowTo-step ; sh:property schema:HowTo-steps ; sh:property schema:HowTo-supply ; sh:property schema:HowTo-tool ; sh:property schema:HowTo-totalTime ; sh:property schema:HowTo-yield ; . schema:HowTo-estimatedCost a sh:PropertyShape ; sh:path schema:estimatedCost ; sh:description "The estimated cost of the supply or supplies consumed when performing instructions."^^rdf:HTML ; sh:name "estimatedCost" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowTo-performTime a sh:PropertyShape ; sh:path schema:performTime ; sh:datatype xsd:duration ; sh:description "The length of time it takes to perform instructions or a direction (not including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "performTime" ; . schema:HowTo-prepTime a sh:PropertyShape ; sh:path schema:prepTime ; sh:datatype xsd:duration ; sh:description "The length of time it takes to prepare the items to be used in instructions or a direction, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "prepTime" ; . schema:HowTo-step a sh:PropertyShape ; sh:path schema:step ; sh:description "A single step item (as HowToStep, text, document, video, etc.) or a HowToSection."^^rdf:HTML ; sh:name "step" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:HowToSection ; ] [ sh:class schema:HowToStep ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowTo-steps a sh:PropertyShape ; sh:path schema:steps ; sh:description "A single step item (as HowToStep, text, document, video, etc.) or a HowToSection (originally misnamed 'steps'; 'step' is preferred)."^^rdf:HTML ; sh:name "steps" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:ItemList ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowTo-supply a sh:PropertyShape ; sh:path schema:supply ; sh:description "A sub-property of instrument. A supply consumed when performing instructions or a direction."^^rdf:HTML ; sh:name "supply" ; sh:or ( [ sh:class schema:HowToSupply ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowTo-tool a sh:PropertyShape ; sh:path schema:tool ; sh:description "A sub property of instrument. An object used (but not consumed) when performing instructions or a direction."^^rdf:HTML ; sh:name "tool" ; sh:or ( [ sh:class schema:HowToTool ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowTo-totalTime a sh:PropertyShape ; sh:path schema:totalTime ; sh:datatype xsd:duration ; sh:description "The total time required to perform instructions or a direction (including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "totalTime" ; . schema:HowTo-yield a sh:PropertyShape ; sh:path schema:yield ; sh:description "The quantity that results by performing instructions. For example, a paper airplane, 10 personalized candles."^^rdf:HTML ; sh:name "yield" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowToDirection a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A direction indicating a single action to do in the instructions for how to achieve a result."^^rdf:HTML ; rdfs:label "How to direction" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:ListItem ; sh:property schema:HowToDirection-afterMedia ; sh:property schema:HowToDirection-beforeMedia ; sh:property schema:HowToDirection-duringMedia ; sh:property schema:HowToDirection-performTime ; sh:property schema:HowToDirection-prepTime ; sh:property schema:HowToDirection-supply ; sh:property schema:HowToDirection-tool ; sh:property schema:HowToDirection-totalTime ; . schema:HowToDirection-afterMedia a sh:PropertyShape ; sh:path schema:afterMedia ; sh:description "A media object representing the circumstances after performing this direction."^^rdf:HTML ; sh:name "afterMedia" ; sh:or ( [ sh:class schema:MediaObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:HowToDirection-beforeMedia a sh:PropertyShape ; sh:path schema:beforeMedia ; sh:description "A media object representing the circumstances before performing this direction."^^rdf:HTML ; sh:name "beforeMedia" ; sh:or ( [ sh:class schema:MediaObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:HowToDirection-duringMedia a sh:PropertyShape ; sh:path schema:duringMedia ; sh:description "A media object representing the circumstances while performing this direction."^^rdf:HTML ; sh:name "duringMedia" ; sh:or ( [ sh:class schema:MediaObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:HowToDirection-performTime a sh:PropertyShape ; sh:path schema:performTime ; sh:datatype xsd:duration ; sh:description "The length of time it takes to perform instructions or a direction (not including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "performTime" ; . schema:HowToDirection-prepTime a sh:PropertyShape ; sh:path schema:prepTime ; sh:datatype xsd:duration ; sh:description "The length of time it takes to prepare the items to be used in instructions or a direction, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "prepTime" ; . schema:HowToDirection-supply a sh:PropertyShape ; sh:path schema:supply ; sh:description "A sub-property of instrument. A supply consumed when performing instructions or a direction."^^rdf:HTML ; sh:name "supply" ; sh:or ( [ sh:class schema:HowToSupply ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowToDirection-tool a sh:PropertyShape ; sh:path schema:tool ; sh:description "A sub property of instrument. An object used (but not consumed) when performing instructions or a direction."^^rdf:HTML ; sh:name "tool" ; sh:or ( [ sh:class schema:HowToTool ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowToDirection-totalTime a sh:PropertyShape ; sh:path schema:totalTime ; sh:datatype xsd:duration ; sh:description "The total time required to perform instructions or a direction (including time to prepare the supplies), in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "totalTime" ; . schema:HowToItem a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An item used as either a tool or supply when performing the instructions for how to to achieve a result."^^rdf:HTML ; rdfs:label "How to item" ; rdfs:subClassOf schema:ListItem ; sh:property schema:HowToItem-requiredQuantity ; . schema:HowToItem-requiredQuantity a sh:PropertyShape ; sh:path schema:requiredQuantity ; sh:description "The required quantity of the item(s)."^^rdf:HTML ; sh:name "requiredQuantity" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowToSection a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sub-grouping of steps in the instructions for how to achieve a result (e.g. steps for making a pie crust within a pie recipe)."^^rdf:HTML ; rdfs:label "How to section" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:ItemList ; rdfs:subClassOf schema:ListItem ; sh:property schema:HowToSection-steps ; . schema:HowToSection-steps a sh:PropertyShape ; sh:path schema:steps ; sh:description "A single step item (as HowToStep, text, document, video, etc.) or a HowToSection (originally misnamed 'steps'; 'step' is preferred)."^^rdf:HTML ; sh:name "steps" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:ItemList ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowToStep a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A step in the instructions for how to achieve a result. It is an ordered list with HowToDirection and/or HowToTip items."^^rdf:HTML ; rdfs:label "How to step" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:ItemList ; rdfs:subClassOf schema:ListItem ; . schema:HowToSupply a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A supply consumed when performing the instructions for how to achieve a result."^^rdf:HTML ; rdfs:label "How to supply" ; rdfs:subClassOf schema:HowToItem ; sh:property schema:HowToSupply-estimatedCost ; . schema:HowToSupply-estimatedCost a sh:PropertyShape ; sh:path schema:estimatedCost ; sh:description "The estimated cost of the supply or supplies consumed when performing instructions."^^rdf:HTML ; sh:name "estimatedCost" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:string ; ] ) ; . schema:HowToTip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An explanation in the instructions for how to achieve a result. It provides supplementary information about a technique, supply, author's preference, etc. It can explain what could be done, or what should not be done, but doesn't specify what should be done (see HowToDirection)."^^rdf:HTML ; rdfs:label "How to tip" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:ListItem ; . schema:HowToTool a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A tool used (but not consumed) when performing instructions for how to achieve a result."^^rdf:HTML ; rdfs:label "How to tool" ; rdfs:subClassOf schema:HowToItem ; . schema:HyperToc a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A HyperToc represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. Items in the table of contents are indicated using the [[tocEntry]] property, and typed [[HyperTocEntry]]. For cases where the same larger work is split into multiple files, [[associatedMedia]] can be used on individual [[HyperTocEntry]] items."^^rdf:HTML ; rdfs:label "Hyper toc" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:HyperToc-associatedMedia ; sh:property schema:HyperToc-tocEntry ; . schema:HyperToc-associatedMedia a sh:PropertyShape ; sh:path schema:associatedMedia ; sh:class schema:MediaObject ; sh:description "A media object that encodes this CreativeWork. This property is a synonym for encoding."^^rdf:HTML ; sh:name "associatedMedia" ; . schema:HyperToc-tocEntry a sh:PropertyShape ; sh:path schema:tocEntry ; sh:class schema:HyperTocEntry ; sh:description "Indicates a [[HyperTocEntry]] in a [[HyperToc]]."^^rdf:HTML ; sh:name "tocEntry" ; . schema:HyperTocEntry a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A HyperToEntry is an item within a [[HyperToc]], which represents a hypertext table of contents for complex media objects, such as [[VideoObject]], [[AudioObject]]. The media object itself is indicated using [[associatedMedia]]. Each section of interest within that content can be described with a [[HyperTocEntry]], with associated [[startOffset]] and [[endOffset]]. When several entries are all from the same file, [[associatedMedia]] is used on the overarching [[HyperTocEntry]]; if the content has been split into multiple files, they can be referenced using [[associatedMedia]] on each [[HyperTocEntry]]."^^rdf:HTML ; rdfs:label "Hyper toc entry" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:HyperTocEntry-associatedMedia ; sh:property schema:HyperTocEntry-tocContinuation ; sh:property schema:HyperTocEntry-utterances ; . schema:HyperTocEntry-associatedMedia a sh:PropertyShape ; sh:path schema:associatedMedia ; sh:class schema:MediaObject ; sh:description "A media object that encodes this CreativeWork. This property is a synonym for encoding."^^rdf:HTML ; sh:name "associatedMedia" ; . schema:HyperTocEntry-tocContinuation a sh:PropertyShape ; sh:path schema:tocContinuation ; sh:class schema:HyperTocEntry ; sh:description "A [[HyperTocEntry]] can have a [[tocContinuation]] indicated, which is another [[HyperTocEntry]] that would be the default next item to play or render."^^rdf:HTML ; sh:name "tocContinuation" ; . schema:HyperTocEntry-utterances a sh:PropertyShape ; sh:path schema:utterances ; sh:datatype xsd:string ; sh:description "Text of an utterances (spoken words, lyrics etc.) that occurs at a certain section of a media object, represented as a [[HyperTocEntry]]."^^rdf:HTML ; sh:name "utterances" ; . schema:IceCreamShop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An ice cream shop."^^rdf:HTML ; rdfs:label "Ice cream shop" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:IgnoreAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of intentionally disregarding the object. An agent ignores an object."^^rdf:HTML ; rdfs:label "Ignore action" ; rdfs:subClassOf schema:AssessAction ; . schema:ImageGallery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Image gallery page."^^rdf:HTML ; rdfs:label "Image gallery" ; rdfs:subClassOf schema:MediaGallery ; . schema:ImageObject a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An image file."^^rdf:HTML ; rdfs:label "Image object" ; rdfs:subClassOf schema:MediaObject ; owl:equivalentClass ; sh:property schema:ImageObject-caption ; sh:property schema:ImageObject-exifData ; sh:property schema:ImageObject-representativeOfPage ; sh:property schema:ImageObject-thumbnail ; . schema:ImageObject-caption a sh:PropertyShape ; sh:path schema:caption ; sh:description "The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]]."^^rdf:HTML ; sh:name "caption" ; sh:or ( [ sh:class schema:MediaObject ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ImageObject-exifData a sh:PropertyShape ; sh:path schema:exifData ; sh:description "exif data for this object."^^rdf:HTML ; sh:name "exifData" ; sh:or ( [ sh:class schema:PropertyValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ImageObject-representativeOfPage a sh:PropertyShape ; sh:path schema:representativeOfPage ; sh:datatype xsd:boolean ; sh:description "Indicates whether this image is representative of the content of the page."^^rdf:HTML ; sh:name "representativeOfPage" ; . schema:ImageObject-thumbnail a sh:PropertyShape ; sh:path schema:thumbnail ; sh:class schema:ImageObject ; sh:description "Thumbnail image for an image or video."^^rdf:HTML ; sh:name "thumbnail" ; . schema:ImagingTest a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any medical imaging modality typically used for diagnostic purposes."^^rdf:HTML ; rdfs:label "Imaging test" ; rdfs:subClassOf schema:MedicalTest ; sh:property schema:ImagingTest-imagingTechnique ; . schema:ImagingTest-imagingTechnique a sh:PropertyShape ; sh:path schema:imagingTechnique ; sh:class schema:MedicalImagingTechnique ; sh:description "Imaging technique used."^^rdf:HTML ; sh:name "imagingTechnique" ; . schema:InForce a schema:LegalForceStatus ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "Indicates that a legislation is in force." ; rdfs:label "In force" ; . schema:InStock a schema:ItemAvailability ; rdfs:comment "Indicates that the item is in stock." ; rdfs:label "In stock" ; . schema:InStoreOnly a schema:ItemAvailability ; rdfs:comment "Indicates that the item is available only at physical locations." ; rdfs:label "In store only" ; . schema:IndividualProduct a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A single, identifiable product instance (e.g. a laptop with a particular serial number)."^^rdf:HTML ; rdfs:label "Individual product" ; rdfs:subClassOf schema:Product ; sh:property schema:IndividualProduct-serialNumber ; . schema:IndividualProduct-serialNumber a sh:PropertyShape ; sh:path schema:serialNumber ; sh:datatype xsd:string ; sh:description "The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer."^^rdf:HTML ; sh:name "serialNumber" ; . schema:Infectious a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "Something in medical science that pertains to infectious diseases i.e caused by bacterial, viral, fungal or parasitic infections." ; rdfs:label "Infectious" ; . schema:InfectiousAgentClass a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Classes of agents or pathogens that transmit infectious diseases. Enumerated type."^^rdf:HTML ; rdfs:label "Infectious agent class" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:InfectiousDisease a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An infectious disease is a clinically evident human disease resulting from the presence of pathogenic microbial agents, like pathogenic viruses, pathogenic bacteria, fungi, protozoa, multicellular parasites, and prions. To be considered an infectious disease, such pathogens are known to be able to cause this disease."^^rdf:HTML ; rdfs:label "Infectious disease" ; rdfs:subClassOf schema:MedicalCondition ; sh:property schema:InfectiousDisease-infectiousAgent ; sh:property schema:InfectiousDisease-infectiousAgentClass ; sh:property schema:InfectiousDisease-transmissionMethod ; . schema:InfectiousDisease-infectiousAgent a sh:PropertyShape ; sh:path schema:infectiousAgent ; sh:datatype xsd:string ; sh:description "The actual infectious agent, such as a specific bacterium."^^rdf:HTML ; sh:name "infectiousAgent" ; . schema:InfectiousDisease-infectiousAgentClass a sh:PropertyShape ; sh:path schema:infectiousAgentClass ; sh:class schema:InfectiousAgentClass ; sh:description "The class of infectious agent (bacteria, prion, etc.) that causes the disease."^^rdf:HTML ; sh:name "infectiousAgentClass" ; . schema:InfectiousDisease-transmissionMethod a sh:PropertyShape ; sh:path schema:transmissionMethod ; sh:datatype xsd:string ; sh:description "How the disease spreads, either as a route or vector, for example 'direct contact', 'Aedes aegypti', etc."^^rdf:HTML ; sh:name "transmissionMethod" ; . schema:InformAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of notifying someone of information pertinent to them, with no expectation of a response."^^rdf:HTML ; rdfs:label "Inform action" ; rdfs:subClassOf schema:CommunicateAction ; sh:property schema:InformAction-event ; . schema:InformAction-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:IngredientsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content discussing ingredients-related aspects of a health topic." ; rdfs:label "Ingredients health aspect" ; . schema:InsertAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of adding at a specific location in an ordered collection."^^rdf:HTML ; rdfs:label "Insert action" ; rdfs:subClassOf schema:AddAction ; sh:property schema:InsertAction-toLocation ; . schema:InsertAction-toLocation a sh:PropertyShape ; sh:path schema:toLocation ; sh:class schema:Place ; sh:description "A sub property of location. The final location of the object or the agent after the action."^^rdf:HTML ; sh:name "toLocation" ; . schema:InstallAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of installing an application."^^rdf:HTML ; rdfs:label "Install action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:Installment a schema:PriceComponentTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the installment pricing component of the total price for an offered product." ; rdfs:label "Installment" ; . schema:InsuranceAgency a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An Insurance agency."^^rdf:HTML ; rdfs:label "Insurance agency" ; rdfs:subClassOf schema:FinancialService ; . schema:Intangible a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A utility class that serves as the umbrella for a number of 'intangible' things such as quantities, structured values, etc."^^rdf:HTML ; rdfs:label "Intangible" ; rdfs:subClassOf schema:Thing ; . schema:Integer a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Data type: Integer."^^rdf:HTML ; rdfs:label "Integer" ; rdfs:subClassOf xsd:float ; . schema:InteractAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of interacting with another person or organization."^^rdf:HTML ; rdfs:label "Interact action" ; rdfs:subClassOf schema:Action ; . schema:InteractionCounter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A summary of how users have interacted with this CreativeWork. In most cases, authors will use a subtype to specify the specific type of interaction."^^rdf:HTML ; rdfs:label "Interaction counter" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:InteractionCounter-interactionService ; sh:property schema:InteractionCounter-interactionType ; sh:property schema:InteractionCounter-userInteractionCount ; . schema:InteractionCounter-interactionService a sh:PropertyShape ; sh:path schema:interactionService ; sh:description "The WebSite or SoftwareApplication where the interactions took place."^^rdf:HTML ; sh:name "interactionService" ; sh:or ( [ sh:class schema:SoftwareApplication ; ] [ sh:class schema:WebSite ; ] ) ; . schema:InteractionCounter-interactionType a sh:PropertyShape ; sh:path schema:interactionType ; sh:class schema:Action ; sh:description "The Action representing the type of interaction. For up votes, +1s, etc. use [[LikeAction]]. For down votes use [[DislikeAction]]. Otherwise, use the most specific Action."^^rdf:HTML ; sh:name "interactionType" ; . schema:InteractionCounter-userInteractionCount a sh:PropertyShape ; sh:path schema:userInteractionCount ; sh:datatype xsd:integer ; sh:description "The number of interactions for the CreativeWork using the WebSite or SoftwareApplication."^^rdf:HTML ; sh:name "userInteractionCount" ; . schema:InternationalTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "An international trial." ; rdfs:label "International trial" ; . schema:InternetCafe a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An internet cafe."^^rdf:HTML ; rdfs:label "Internet cafe" ; rdfs:subClassOf schema:LocalBusiness ; . schema:InvestmentFund a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A company or fund that gathers capital from a number of investors to create a pool of money that is then re-invested into stocks, bonds and other assets."^^rdf:HTML ; rdfs:label "Investment fund" ; rdfs:subClassOf schema:InvestmentOrDeposit ; . schema:InvestmentOrDeposit a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A type of financial product that typically requires the client to transfer funds to a financial service in return for potential beneficial financial return."^^rdf:HTML ; rdfs:label "Investment or deposit" ; rdfs:subClassOf schema:FinancialProduct ; sh:property schema:InvestmentOrDeposit-amount ; . schema:InvestmentOrDeposit-amount a sh:PropertyShape ; sh:path schema:amount ; sh:description "The amount of money."^^rdf:HTML ; sh:name "amount" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:InviteAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of asking someone to attend an event. Reciprocal of RsvpAction."^^rdf:HTML ; rdfs:label "Invite action" ; rdfs:subClassOf schema:CommunicateAction ; sh:property schema:InviteAction-event ; . schema:InviteAction-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:Invoice a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A statement of the money due for goods or services; a bill."^^rdf:HTML ; rdfs:label "Invoice" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Invoice-accountId ; sh:property schema:Invoice-billingPeriod ; sh:property schema:Invoice-broker ; sh:property schema:Invoice-category ; sh:property schema:Invoice-confirmationNumber ; sh:property schema:Invoice-customer ; sh:property schema:Invoice-minimumPaymentDue ; sh:property schema:Invoice-paymentDue ; sh:property schema:Invoice-paymentDueDate ; sh:property schema:Invoice-paymentMethod ; sh:property schema:Invoice-paymentMethodId ; sh:property schema:Invoice-paymentStatus ; sh:property schema:Invoice-provider ; sh:property schema:Invoice-referencesOrder ; sh:property schema:Invoice-scheduledPaymentDate ; sh:property schema:Invoice-totalPaymentDue ; . schema:Invoice-accountId a sh:PropertyShape ; sh:path schema:accountId ; sh:datatype xsd:string ; sh:description "The identifier for the account the payment will be applied to."^^rdf:HTML ; sh:name "accountId" ; . schema:Invoice-billingPeriod a sh:PropertyShape ; sh:path schema:billingPeriod ; sh:datatype xsd:duration ; sh:description "The time interval used to compute the invoice."^^rdf:HTML ; sh:name "billingPeriod" ; . schema:Invoice-broker a sh:PropertyShape ; sh:path schema:broker ; sh:description "An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred."^^rdf:HTML ; sh:name "broker" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Invoice-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Invoice-confirmationNumber a sh:PropertyShape ; sh:path schema:confirmationNumber ; sh:datatype xsd:string ; sh:description "A number that confirms the given order or payment has been received."^^rdf:HTML ; sh:name "confirmationNumber" ; . schema:Invoice-customer a sh:PropertyShape ; sh:path schema:customer ; sh:description "Party placing the order or paying the invoice."^^rdf:HTML ; sh:name "customer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Invoice-minimumPaymentDue a sh:PropertyShape ; sh:path schema:minimumPaymentDue ; sh:description "The minimum payment required at this time."^^rdf:HTML ; sh:name "minimumPaymentDue" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:PriceSpecification ; ] ) ; . schema:Invoice-paymentDue a sh:PropertyShape ; sh:path schema:paymentDue ; sh:datatype xsd:dateTime ; sh:description "The date that payment is due."^^rdf:HTML ; sh:name "paymentDue" ; . schema:Invoice-paymentDueDate a sh:PropertyShape ; sh:path schema:paymentDueDate ; sh:description "The date that payment is due."^^rdf:HTML ; sh:name "paymentDueDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Invoice-paymentMethod a sh:PropertyShape ; sh:path schema:paymentMethod ; sh:class schema:PaymentMethod ; sh:description "The name of the credit card or other method of payment for the order."^^rdf:HTML ; sh:name "paymentMethod" ; . schema:Invoice-paymentMethodId a sh:PropertyShape ; sh:path schema:paymentMethodId ; sh:datatype xsd:string ; sh:description "An identifier for the method of payment used (e.g. the last 4 digits of the credit card)."^^rdf:HTML ; sh:name "paymentMethodId" ; . schema:Invoice-paymentStatus a sh:PropertyShape ; sh:path schema:paymentStatus ; sh:description "The status of payment; whether the invoice has been paid or not."^^rdf:HTML ; sh:name "paymentStatus" ; sh:or ( [ sh:class schema:PaymentStatusType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Invoice-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Invoice-referencesOrder a sh:PropertyShape ; sh:path schema:referencesOrder ; sh:class schema:Order ; sh:description "The Order(s) related to this Invoice. One or more Orders may be combined into a single Invoice."^^rdf:HTML ; sh:name "referencesOrder" ; . schema:Invoice-scheduledPaymentDate a sh:PropertyShape ; sh:path schema:scheduledPaymentDate ; sh:datatype xsd:date ; sh:description "The date the invoice is scheduled to be paid."^^rdf:HTML ; sh:name "scheduledPaymentDate" ; . schema:Invoice-totalPaymentDue a sh:PropertyShape ; sh:path schema:totalPaymentDue ; sh:description "The total amount due."^^rdf:HTML ; sh:name "totalPaymentDue" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:PriceSpecification ; ] ) ; . schema:InvoicePrice a schema:PriceTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the invoice price of an offered product." ; rdfs:label "Invoice price" ; . schema:ItemAvailability a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A list of possible product availability options."^^rdf:HTML ; rdfs:label "Item availability" ; rdfs:subClassOf schema:Enumeration ; . schema:ItemList a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A list of items of any sort—for example, Top 10 Movies About Weathermen, or Top 100 Party Songs. Not to be confused with HTML lists, which are often used only for formatting."^^rdf:HTML ; rdfs:label "Item list" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ItemList-itemListElement ; sh:property schema:ItemList-itemListOrder ; sh:property schema:ItemList-numberOfItems ; . schema:ItemList-itemListElement a sh:PropertyShape ; sh:path schema:itemListElement ; sh:description "For itemListElement values, you can use simple strings (e.g. \"Peter\", \"Paul\", \"Mary\"), existing entities, or use ListItem.\\n\\nText values are best if the elements in the list are plain strings. Existing entities are best for a simple, unordered list of existing things in your data. ListItem is used with ordered lists when you want to provide additional context about the element in that list or when the same item might be in different places in different lists.\\n\\nNote: The order of elements in your mark-up is not sufficient for indicating the order or elements. Use ListItem with a 'position' property in such cases."^^rdf:HTML ; sh:name "itemListElement" ; sh:or ( [ sh:class schema:ListItem ; ] [ sh:class schema:Thing ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ItemList-itemListOrder a sh:PropertyShape ; sh:path schema:itemListOrder ; sh:description "Type of ordering (e.g. Ascending, Descending, Unordered)."^^rdf:HTML ; sh:name "itemListOrder" ; sh:or ( [ sh:class schema:ItemListOrderType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ItemList-numberOfItems a sh:PropertyShape ; sh:path schema:numberOfItems ; sh:datatype xsd:integer ; sh:description "The number of items in an ItemList. Note that some descriptions might not fully describe all items in a list (e.g., multi-page pagination); in such cases, the numberOfItems would be for the entire list."^^rdf:HTML ; sh:name "numberOfItems" ; . schema:ItemListOrderAscending a schema:ItemListOrderType ; rdfs:comment "An ItemList ordered with lower values listed first." ; rdfs:label "Item list order ascending" ; . schema:ItemListOrderDescending a schema:ItemListOrderType ; rdfs:comment "An ItemList ordered with higher values listed first." ; rdfs:label "Item list order descending" ; . schema:ItemListOrderType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Enumerated for values for itemListOrder for indicating how an ordered ItemList is organized."^^rdf:HTML ; rdfs:label "Item list order type" ; rdfs:subClassOf schema:Enumeration ; . schema:ItemListUnordered a schema:ItemListOrderType ; rdfs:comment "An ItemList ordered with no explicit order." ; rdfs:label "Item list unordered" ; . schema:ItemPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A page devoted to a single item, such as a particular product or hotel."^^rdf:HTML ; rdfs:label "Item page" ; rdfs:subClassOf schema:WebPage ; . schema:JewelryStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A jewelry store."^^rdf:HTML ; rdfs:label "Jewelry store" ; rdfs:subClassOf schema:Store ; . schema:JobPosting a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A listing that describes a job opening in a certain organization."^^rdf:HTML ; rdfs:label "Job posting" ; rdfs:subClassOf schema:Intangible ; sh:property schema:JobPosting-applicantLocationRequirements ; sh:property schema:JobPosting-applicationContact ; sh:property schema:JobPosting-baseSalary ; sh:property schema:JobPosting-benefits ; sh:property schema:JobPosting-datePosted ; sh:property schema:JobPosting-educationRequirements ; sh:property schema:JobPosting-eligibilityToWorkRequirement ; sh:property schema:JobPosting-employerOverview ; sh:property schema:JobPosting-employmentType ; sh:property schema:JobPosting-employmentUnit ; sh:property schema:JobPosting-estimatedSalary ; sh:property schema:JobPosting-experienceInPlaceOfEducation ; sh:property schema:JobPosting-experienceRequirements ; sh:property schema:JobPosting-hiringOrganization ; sh:property schema:JobPosting-incentiveCompensation ; sh:property schema:JobPosting-incentives ; sh:property schema:JobPosting-industry ; sh:property schema:JobPosting-jobBenefits ; sh:property schema:JobPosting-jobImmediateStart ; sh:property schema:JobPosting-jobLocation ; sh:property schema:JobPosting-jobLocationType ; sh:property schema:JobPosting-jobStartDate ; sh:property schema:JobPosting-occupationalCategory ; sh:property schema:JobPosting-physicalRequirement ; sh:property schema:JobPosting-qualifications ; sh:property schema:JobPosting-relevantOccupation ; sh:property schema:JobPosting-responsibilities ; sh:property schema:JobPosting-salaryCurrency ; sh:property schema:JobPosting-securityClearanceRequirement ; sh:property schema:JobPosting-sensoryRequirement ; sh:property schema:JobPosting-skills ; sh:property schema:JobPosting-specialCommitments ; sh:property schema:JobPosting-title ; sh:property schema:JobPosting-totalJobOpenings ; sh:property schema:JobPosting-validThrough ; sh:property schema:JobPosting-workHours ; . schema:JobPosting-applicantLocationRequirements a sh:PropertyShape ; sh:path schema:applicantLocationRequirements ; sh:class schema:AdministrativeArea ; sh:description "The location(s) applicants can apply from. This is usually used for telecommuting jobs where the applicant does not need to be in a physical office. Note: This should not be used for citizenship or work visa requirements."^^rdf:HTML ; sh:name "applicantLocationRequirements" ; . schema:JobPosting-applicationContact a sh:PropertyShape ; sh:path schema:applicationContact ; sh:class schema:ContactPoint ; sh:description "Contact details for further information relevant to this job posting."^^rdf:HTML ; sh:name "applicationContact" ; . schema:JobPosting-baseSalary a sh:PropertyShape ; sh:path schema:baseSalary ; sh:description "The base salary of the job or of an employee in an EmployeeRole."^^rdf:HTML ; sh:name "baseSalary" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:PriceSpecification ; ] [ sh:datatype xsd:float ; ] ) ; . schema:JobPosting-benefits a sh:PropertyShape ; sh:path schema:benefits ; sh:datatype xsd:string ; sh:description "Description of benefits associated with the job."^^rdf:HTML ; sh:name "benefits" ; . schema:JobPosting-datePosted a sh:PropertyShape ; sh:path schema:datePosted ; sh:description "Publication date of an online listing."^^rdf:HTML ; sh:name "datePosted" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:JobPosting-educationRequirements a sh:PropertyShape ; sh:path schema:educationRequirements ; sh:description "Educational background needed for the position or Occupation."^^rdf:HTML ; sh:name "educationRequirements" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-eligibilityToWorkRequirement a sh:PropertyShape ; sh:path schema:eligibilityToWorkRequirement ; sh:datatype xsd:string ; sh:description "The legal requirements such as citizenship, visa and other documentation required for an applicant to this job."^^rdf:HTML ; sh:name "eligibilityToWorkRequirement" ; . schema:JobPosting-employerOverview a sh:PropertyShape ; sh:path schema:employerOverview ; sh:datatype xsd:string ; sh:description "A description of the employer, career opportunities and work environment for this position."^^rdf:HTML ; sh:name "employerOverview" ; . schema:JobPosting-employmentType a sh:PropertyShape ; sh:path schema:employmentType ; sh:datatype xsd:string ; sh:description "Type of employment (e.g. full-time, part-time, contract, temporary, seasonal, internship)."^^rdf:HTML ; sh:name "employmentType" ; . schema:JobPosting-employmentUnit a sh:PropertyShape ; sh:path schema:employmentUnit ; sh:class schema:Organization ; sh:description "Indicates the department, unit and/or facility where the employee reports and/or in which the job is to be performed."^^rdf:HTML ; sh:name "employmentUnit" ; . schema:JobPosting-estimatedSalary a sh:PropertyShape ; sh:path schema:estimatedSalary ; sh:description "An estimated salary for a job posting or occupation, based on a variety of variables including, but not limited to industry, job title, and location. Estimated salaries are often computed by outside organizations rather than the hiring organization, who may not have committed to the estimated value."^^rdf:HTML ; sh:name "estimatedSalary" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:MonetaryAmountDistribution ; ] [ sh:datatype xsd:float ; ] ) ; . schema:JobPosting-experienceInPlaceOfEducation a sh:PropertyShape ; sh:path schema:experienceInPlaceOfEducation ; sh:datatype xsd:boolean ; sh:description "Indicates whether a [[JobPosting]] will accept experience (as indicated by [[OccupationalExperienceRequirements]]) in place of its formal educational qualifications (as indicated by [[educationRequirements]]). If true, indicates that satisfying one of these requirements is sufficient."^^rdf:HTML ; sh:name "experienceInPlaceOfEducation" ; . schema:JobPosting-experienceRequirements a sh:PropertyShape ; sh:path schema:experienceRequirements ; sh:description "Description of skills and experience needed for the position or Occupation."^^rdf:HTML ; sh:name "experienceRequirements" ; sh:or ( [ sh:class schema:OccupationalExperienceRequirements ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-hiringOrganization a sh:PropertyShape ; sh:path schema:hiringOrganization ; sh:class schema:Organization ; sh:description "Organization offering the job position."^^rdf:HTML ; sh:name "hiringOrganization" ; . schema:JobPosting-incentiveCompensation a sh:PropertyShape ; sh:path schema:incentiveCompensation ; sh:datatype xsd:string ; sh:description "Description of bonus and commission compensation aspects of the job."^^rdf:HTML ; sh:name "incentiveCompensation" ; . schema:JobPosting-incentives a sh:PropertyShape ; sh:path schema:incentives ; sh:datatype xsd:string ; sh:description "Description of bonus and commission compensation aspects of the job."^^rdf:HTML ; sh:name "incentives" ; . schema:JobPosting-industry a sh:PropertyShape ; sh:path schema:industry ; sh:description "The industry associated with the job position."^^rdf:HTML ; sh:name "industry" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-jobBenefits a sh:PropertyShape ; sh:path schema:jobBenefits ; sh:datatype xsd:string ; sh:description "Description of benefits associated with the job."^^rdf:HTML ; sh:name "jobBenefits" ; . schema:JobPosting-jobImmediateStart a sh:PropertyShape ; sh:path schema:jobImmediateStart ; sh:datatype xsd:boolean ; sh:description "An indicator as to whether a position is available for an immediate start."^^rdf:HTML ; sh:name "jobImmediateStart" ; . schema:JobPosting-jobLocation a sh:PropertyShape ; sh:path schema:jobLocation ; sh:class schema:Place ; sh:description "A (typically single) geographic location associated with the job position."^^rdf:HTML ; sh:name "jobLocation" ; . schema:JobPosting-jobLocationType a sh:PropertyShape ; sh:path schema:jobLocationType ; sh:datatype xsd:string ; sh:description "A description of the job location (e.g TELECOMMUTE for telecommute jobs)."^^rdf:HTML ; sh:name "jobLocationType" ; . schema:JobPosting-jobStartDate a sh:PropertyShape ; sh:path schema:jobStartDate ; sh:description "The date on which a successful applicant for this job would be expected to start work. Choose a specific date in the future or use the jobImmediateStart property to indicate the position is to be filled as soon as possible."^^rdf:HTML ; sh:name "jobStartDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-occupationalCategory a sh:PropertyShape ; sh:path schema:occupationalCategory ; sh:description """A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\\n Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC."""^^rdf:HTML ; sh:name "occupationalCategory" ; sh:or ( [ sh:class schema:CategoryCode ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-physicalRequirement a sh:PropertyShape ; sh:path schema:physicalRequirement ; sh:description "A description of the types of physical activity associated with the job. Defined terms such as those in O*net may be used, but note that there is no way to specify the level of ability as well as its nature when using a defined term."^^rdf:HTML ; sh:name "physicalRequirement" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-qualifications a sh:PropertyShape ; sh:path schema:qualifications ; sh:description "Specific qualifications required for this role or Occupation."^^rdf:HTML ; sh:name "qualifications" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-relevantOccupation a sh:PropertyShape ; sh:path schema:relevantOccupation ; sh:class schema:Occupation ; sh:description "The Occupation for the JobPosting."^^rdf:HTML ; sh:name "relevantOccupation" ; . schema:JobPosting-responsibilities a sh:PropertyShape ; sh:path schema:responsibilities ; sh:datatype xsd:string ; sh:description "Responsibilities associated with this role or Occupation."^^rdf:HTML ; sh:name "responsibilities" ; . schema:JobPosting-salaryCurrency a sh:PropertyShape ; sh:path schema:salaryCurrency ; sh:datatype xsd:string ; sh:description "The currency (coded using [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217) ) used for the main salary information in this job posting or for this employee."^^rdf:HTML ; sh:name "salaryCurrency" ; . schema:JobPosting-securityClearanceRequirement a sh:PropertyShape ; sh:path schema:securityClearanceRequirement ; sh:description "A description of any security clearance requirements of the job."^^rdf:HTML ; sh:name "securityClearanceRequirement" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-sensoryRequirement a sh:PropertyShape ; sh:path schema:sensoryRequirement ; sh:description "A description of any sensory requirements and levels necessary to function on the job, including hearing and vision. Defined terms such as those in O*net may be used, but note that there is no way to specify the level of ability as well as its nature when using a defined term."^^rdf:HTML ; sh:name "sensoryRequirement" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-skills a sh:PropertyShape ; sh:path schema:skills ; sh:description "A statement of knowledge, skill, ability, task or any other assertion expressing a competency that is desired or required to fulfill this role or to work in this occupation."^^rdf:HTML ; sh:name "skills" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:JobPosting-specialCommitments a sh:PropertyShape ; sh:path schema:specialCommitments ; sh:datatype xsd:string ; sh:description "Any special commitments associated with this job posting. Valid entries include VeteranCommit, MilitarySpouseCommit, etc."^^rdf:HTML ; sh:name "specialCommitments" ; . schema:JobPosting-title a sh:PropertyShape ; sh:path schema:title ; sh:datatype xsd:string ; sh:description "The title of the job."^^rdf:HTML ; sh:name "title" ; . schema:JobPosting-totalJobOpenings a sh:PropertyShape ; sh:path schema:totalJobOpenings ; sh:datatype xsd:integer ; sh:description "The number of positions open for this job posting. Use a positive integer. Do not use if the number of positions is unclear or not known."^^rdf:HTML ; sh:name "totalJobOpenings" ; . schema:JobPosting-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:JobPosting-workHours a sh:PropertyShape ; sh:path schema:workHours ; sh:datatype xsd:string ; sh:description "The typical working hours for this job (e.g. 1st shift, night shift, 8am-5pm)."^^rdf:HTML ; sh:name "workHours" ; . schema:JoinAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent joins an event/group with participants/friends at a location.\\n\\nRelated actions:\\n\\n* [[RegisterAction]]: Unlike RegisterAction, JoinAction refers to joining a group/team of people.\\n* [[SubscribeAction]]: Unlike SubscribeAction, JoinAction does not imply that you'll be receiving updates.\\n* [[FollowAction]]: Unlike FollowAction, JoinAction does not imply that you'll be polling for updates."^^rdf:HTML ; rdfs:label "Join action" ; rdfs:subClassOf schema:InteractAction ; sh:property schema:JoinAction-event ; . schema:JoinAction-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:Joint a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The anatomical location at which two or more bones make contact."^^rdf:HTML ; rdfs:label "Joint" ; rdfs:subClassOf schema:AnatomicalStructure ; sh:property schema:Joint-biomechnicalClass ; sh:property schema:Joint-functionalClass ; sh:property schema:Joint-structuralClass ; . schema:Joint-biomechnicalClass a sh:PropertyShape ; sh:path schema:biomechnicalClass ; sh:datatype xsd:string ; sh:description "The biomechanical properties of the bone."^^rdf:HTML ; sh:name "biomechnicalClass" ; . schema:Joint-functionalClass a sh:PropertyShape ; sh:path schema:functionalClass ; sh:description "The degree of mobility the joint allows."^^rdf:HTML ; sh:name "functionalClass" ; sh:or ( [ sh:class schema:MedicalEntity ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Joint-structuralClass a sh:PropertyShape ; sh:path schema:structuralClass ; sh:datatype xsd:string ; sh:description "The name given to how bone physically connects to each other."^^rdf:HTML ; sh:name "structuralClass" ; . schema:KosherDiet a schema:RestrictedDiet ; rdfs:comment "A diet conforming to Jewish dietary practices." ; rdfs:label "Kosher diet" ; . schema:LaboratoryScience a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A medical science pertaining to chemical, hematological, immunologic, microscopic, or bacteriological diagnostic analyses or research." ; rdfs:label "Laboratory science" ; . schema:LakeBodyOfWater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A lake (for example, Lake Pontrachain)."^^rdf:HTML ; rdfs:label "Lake body of water" ; rdfs:subClassOf schema:BodyOfWater ; . schema:Landform a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A landform or physical feature. Landform elements include mountains, plains, lakes, rivers, seascape and oceanic waterbody interface features such as bays, peninsulas, seas and so forth, including sub-aqueous terrain features such as submersed mountain ranges, volcanoes, and the great ocean basins."^^rdf:HTML ; rdfs:label "Landform" ; rdfs:subClassOf schema:Place ; . schema:LandmarksOrHistoricalBuildings a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An historical landmark or building."^^rdf:HTML ; rdfs:label "Landmarks or historical buildings" ; rdfs:subClassOf schema:Place ; . schema:Language a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Natural languages such as Spanish, Tamil, Hindi, English, etc. Formal language code tags expressed in [BCP 47](https://en.wikipedia.org/wiki/IETF_language_tag) can be used via the [[alternateName]] property. The Language type previously also covered programming languages such as Scheme and Lisp, which are now best represented using [[ComputerLanguage]]."^^rdf:HTML ; rdfs:label "Language" ; rdfs:subClassOf schema:Intangible ; . schema:LaserDiscFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "LaserDiscFormat." ; rdfs:label "Laser disc format" ; . schema:LearningResource a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """The LearningResource type can be used to indicate [[CreativeWork]]s (whether physical or digital) that have a particular and explicit orientation towards learning, education, skill acquisition, and other educational purposes. [[LearningResource]] is expected to be used as an addition to a primary type such as [[Book]], [[VideoObject]], [[Product]] etc. [[EducationEvent]] serves a similar purpose for event-like things (e.g. a [[Trip]]). A [[LearningResource]] may be created as a result of an [[EducationEvent]], for example by recording one."""^^rdf:HTML ; rdfs:label "Learning resource" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:LearningResource-assesses ; sh:property schema:LearningResource-competencyRequired ; sh:property schema:LearningResource-educationalAlignment ; sh:property schema:LearningResource-educationalLevel ; sh:property schema:LearningResource-educationalUse ; sh:property schema:LearningResource-learningResourceType ; sh:property schema:LearningResource-teaches ; . schema:LearningResource-assesses a sh:PropertyShape ; sh:path schema:assesses ; sh:description "The item being described is intended to assess the competency or learning outcome defined by the referenced term."^^rdf:HTML ; sh:name "assesses" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LearningResource-competencyRequired a sh:PropertyShape ; sh:path schema:competencyRequired ; sh:description "Knowledge, skill, ability or personal attribute that must be demonstrated by a person or other entity in order to do something such as earn an Educational Occupational Credential or understand a LearningResource."^^rdf:HTML ; sh:name "competencyRequired" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LearningResource-educationalAlignment a sh:PropertyShape ; sh:path schema:educationalAlignment ; sh:class schema:AlignmentObject ; sh:description """An alignment to an established educational framework. This property should not be used where the nature of the alignment can be described using a simple property, for example to express that a resource [[teaches]] or [[assesses]] a competency."""^^rdf:HTML ; sh:name "educationalAlignment" ; . schema:LearningResource-educationalLevel a sh:PropertyShape ; sh:path schema:educationalLevel ; sh:description "The level in terms of progression through an educational or training context. Examples of educational levels include 'beginner', 'intermediate' or 'advanced', and formal sets of level indicators."^^rdf:HTML ; sh:name "educationalLevel" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LearningResource-educationalUse a sh:PropertyShape ; sh:path schema:educationalUse ; sh:description "The purpose of a work in the context of education; for example, 'assignment', 'group work'."^^rdf:HTML ; sh:name "educationalUse" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LearningResource-learningResourceType a sh:PropertyShape ; sh:path schema:learningResourceType ; sh:description "The predominant type or kind characterizing the learning resource. For example, 'presentation', 'handout'."^^rdf:HTML ; sh:name "learningResourceType" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LearningResource-teaches a sh:PropertyShape ; sh:path schema:teaches ; sh:description "The item being described is intended to help a person learn the competency or learning outcome defined by the referenced term."^^rdf:HTML ; sh:name "teaches" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LeaveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent leaves an event / group with participants/friends at a location.\\n\\nRelated actions:\\n\\n* [[JoinAction]]: The antonym of LeaveAction.\\n* [[UnRegisterAction]]: Unlike UnRegisterAction, LeaveAction implies leaving a group/team of people rather than a service."^^rdf:HTML ; rdfs:label "Leave action" ; rdfs:subClassOf schema:InteractAction ; sh:property schema:LeaveAction-event ; . schema:LeaveAction-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:LeftHandDriving a schema:SteeringPositionValue ; schema:source ; rdfs:comment "The steering position is on the left side of the vehicle (viewed from the main direction of driving)." ; rdfs:label "Left hand driving" ; . schema:LegalForceStatus a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A list of possible statuses for the legal force of a legislation."^^rdf:HTML ; rdfs:label "Legal force status" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:LegalService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A LegalService is a business that provides legally-oriented services, advice and representation, e.g. law firms.\\n\\nAs a [[LocalBusiness]] it can be described as a [[provider]] of one or more [[Service]]\\(s)."^^rdf:HTML ; rdfs:label "Legal service" ; rdfs:subClassOf schema:LocalBusiness ; . schema:LegalValueLevel a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A list of possible levels for the legal validity of a legislation."^^rdf:HTML ; rdfs:label "Legal value level" ; rdfs:subClassOf schema:Enumeration ; . schema:Legislation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A legal document such as an act, decree, bill, etc. (enforceable or not) or a component of a legal act (like an article)."^^rdf:HTML ; rdfs:label "Legislation" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Legislation-jurisdiction ; sh:property schema:Legislation-legislationApplies ; sh:property schema:Legislation-legislationChanges ; sh:property schema:Legislation-legislationConsolidates ; sh:property schema:Legislation-legislationDate ; sh:property schema:Legislation-legislationDateVersion ; sh:property schema:Legislation-legislationIdentifier ; sh:property schema:Legislation-legislationJurisdiction ; sh:property schema:Legislation-legislationLegalForce ; sh:property schema:Legislation-legislationPassedBy ; sh:property schema:Legislation-legislationResponsible ; sh:property schema:Legislation-legislationTransposes ; sh:property schema:Legislation-legislationType ; . schema:Legislation-jurisdiction a sh:PropertyShape ; sh:path schema:jurisdiction ; sh:description "Indicates a legal jurisdiction, e.g. of some legislation, or where some government service is based."^^rdf:HTML ; sh:name "jurisdiction" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Legislation-legislationApplies a sh:PropertyShape ; sh:path schema:legislationApplies ; sh:class schema:Legislation ; sh:description "Indicates that this legislation (or part of a legislation) somehow transfers another legislation in a different legislative context. This is an informative link, and it has no legal value. For legally-binding links of transposition, use the legislationTransposes property. For example an informative consolidated law of a European Union's member state \"applies\" the consolidated version of the European Directive implemented in it."^^rdf:HTML ; sh:name "legislationApplies" ; . schema:Legislation-legislationChanges a sh:PropertyShape ; sh:path schema:legislationChanges ; sh:class schema:Legislation ; sh:description "Another legislation that this legislation changes. This encompasses the notions of amendment, replacement, correction, repeal, or other types of change. This may be a direct change (textual or non-textual amendment) or a consequential or indirect change. The property is to be used to express the existence of a change relationship between two acts rather than the existence of a consolidated version of the text that shows the result of the change. For consolidation relationships, use the legislationConsolidates property."^^rdf:HTML ; sh:name "legislationChanges" ; . schema:Legislation-legislationConsolidates a sh:PropertyShape ; sh:path schema:legislationConsolidates ; sh:class schema:Legislation ; sh:description "Indicates another legislation taken into account in this consolidated legislation (which is usually the product of an editorial process that revises the legislation). This property should be used multiple times to refer to both the original version or the previous consolidated version, and to the legislations making the change."^^rdf:HTML ; sh:name "legislationConsolidates" ; . schema:Legislation-legislationDate a sh:PropertyShape ; sh:path schema:legislationDate ; sh:datatype xsd:date ; sh:description "The date of adoption or signature of the legislation. This is the date at which the text is officially aknowledged to be a legislation, even though it might not even be published or in force."^^rdf:HTML ; sh:name "legislationDate" ; . schema:Legislation-legislationDateVersion a sh:PropertyShape ; sh:path schema:legislationDateVersion ; sh:datatype xsd:date ; sh:description "The point-in-time at which the provided description of the legislation is valid (e.g. : when looking at the law on the 2016-04-07 (= dateVersion), I get the consolidation of 2015-04-12 of the \"National Insurance Contributions Act 2015\")"^^rdf:HTML ; sh:name "legislationDateVersion" ; . schema:Legislation-legislationIdentifier a sh:PropertyShape ; sh:path schema:legislationIdentifier ; sh:description "An identifier for the legislation. This can be either a string-based identifier, like the CELEX at EU level or the NOR in France, or a web-based, URL/URI identifier, like an ELI (European Legislation Identifier) or an URN-Lex."^^rdf:HTML ; sh:name "legislationIdentifier" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Legislation-legislationJurisdiction a sh:PropertyShape ; sh:path schema:legislationJurisdiction ; sh:description "The jurisdiction from which the legislation originates."^^rdf:HTML ; sh:name "legislationJurisdiction" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Legislation-legislationLegalForce a sh:PropertyShape ; sh:path schema:legislationLegalForce ; sh:class schema:LegalForceStatus ; sh:description "Whether the legislation is currently in force, not in force, or partially in force."^^rdf:HTML ; sh:name "legislationLegalForce" ; . schema:Legislation-legislationPassedBy a sh:PropertyShape ; sh:path schema:legislationPassedBy ; sh:description "The person or organization that originally passed or made the law : typically parliament (for primary legislation) or government (for secondary legislation). This indicates the \"legal author\" of the law, as opposed to its physical author."^^rdf:HTML ; sh:name "legislationPassedBy" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Legislation-legislationResponsible a sh:PropertyShape ; sh:path schema:legislationResponsible ; sh:description "An individual or organization that has some kind of responsibility for the legislation. Typically the ministry who is/was in charge of elaborating the legislation, or the adressee for potential questions about the legislation once it is published."^^rdf:HTML ; sh:name "legislationResponsible" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Legislation-legislationTransposes a sh:PropertyShape ; sh:path schema:legislationTransposes ; sh:class schema:Legislation ; sh:description "Indicates that this legislation (or part of legislation) fulfills the objectives set by another legislation, by passing appropriate implementation measures. Typically, some legislations of European Union's member states or regions transpose European Directives. This indicates a legally binding link between the 2 legislations."^^rdf:HTML ; sh:name "legislationTransposes" ; . schema:Legislation-legislationType a sh:PropertyShape ; sh:path schema:legislationType ; sh:description "The type of the legislation. Examples of values are \"law\", \"act\", \"directive\", \"decree\", \"regulation\", \"statutory instrument\", \"loi organique\", \"règlement grand-ducal\", etc., depending on the country."^^rdf:HTML ; sh:name "legislationType" ; sh:or ( [ sh:class schema:CategoryCode ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LegislationObject a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A specific object or file containing a Legislation. Note that the same Legislation can be published in multiple files. For example, a digitally signed PDF, a plain PDF and an HTML version."^^rdf:HTML ; rdfs:label "Legislation object" ; rdfs:subClassOf schema:Legislation ; rdfs:subClassOf schema:MediaObject ; sh:property schema:LegislationObject-legislationLegalValue ; . schema:LegislationObject-legislationLegalValue a sh:PropertyShape ; sh:path schema:legislationLegalValue ; sh:class schema:LegalValueLevel ; sh:description "The legal value of this legislation file. The same legislation can be written in multiple files with different legal values. Typically a digitally signed PDF have a \"stronger\" legal value than the HTML file of the same act."^^rdf:HTML ; sh:name "legislationLegalValue" ; . schema:LegislativeBuilding a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A legislative building—for example, the state capitol."^^rdf:HTML ; rdfs:label "Legislative building" ; rdfs:subClassOf schema:GovernmentBuilding ; . schema:LeisureTimeActivity a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Any physical activity engaged in for recreational purposes. Examples may include ballroom dancing, roller skating, canoeing, fishing, etc." ; rdfs:label "Leisure time activity" ; . schema:LendAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of providing an object under an agreement that it will be returned at a later date. Reciprocal of BorrowAction.\\n\\nRelated actions:\\n\\n* [[BorrowAction]]: Reciprocal of LendAction."^^rdf:HTML ; rdfs:label "Lend action" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:LendAction-borrower ; . schema:LendAction-borrower a sh:PropertyShape ; sh:path schema:borrower ; sh:class schema:Person ; sh:description "A sub property of participant. The person that borrows the object being lent."^^rdf:HTML ; sh:name "borrower" ; . schema:Library a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A library."^^rdf:HTML ; rdfs:label "Library" ; rdfs:subClassOf schema:LocalBusiness ; . schema:LibrarySystem a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A [[LibrarySystem]] is a collaborative system amongst several libraries."^^rdf:HTML ; rdfs:label "Library system" ; rdfs:subClassOf schema:Organization ; . schema:LifestyleModification a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A process of care involving exercise, changes to diet, fitness routines, and other lifestyle changes aimed at improving a health condition."^^rdf:HTML ; rdfs:label "Lifestyle modification" ; rdfs:subClassOf schema:MedicalEntity ; . schema:Ligament a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A short band of tough, flexible, fibrous connective tissue that functions to connect multiple bones, cartilages, and structurally support joints."^^rdf:HTML ; rdfs:label "Ligament" ; rdfs:subClassOf schema:AnatomicalStructure ; . schema:LikeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a positive sentiment about the object. An agent likes an object (a proposition, topic or theme) with participants."^^rdf:HTML ; rdfs:label "Like action" ; rdfs:subClassOf schema:ReactAction ; . schema:LimitedAvailability a schema:ItemAvailability ; rdfs:comment "Indicates that the item has limited availability." ; rdfs:label "Limited availability" ; . schema:LimitedByGuaranteeCharity a schema:UKNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "LimitedByGuaranteeCharity: Non-profit type referring to a charitable company that is limited by guarantee (UK)." ; rdfs:label "Limited by guarantee charity" ; . schema:LinkRole a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A Role that represents a Web link e.g. as expressed via the 'url' property. Its linkRelationship property can indicate URL-based and plain textual link types e.g. those in IANA link registry or others such as 'amphtml'. This structure provides a placeholder where details from HTML's link element can be represented outside of HTML, e.g. in JSON-LD feeds."^^rdf:HTML ; rdfs:label "Link role" ; rdfs:subClassOf schema:Role ; sh:property schema:LinkRole-inLanguage ; sh:property schema:LinkRole-linkRelationship ; . schema:LinkRole-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LinkRole-linkRelationship a sh:PropertyShape ; sh:path schema:linkRelationship ; sh:datatype xsd:string ; sh:description "Indicates the relationship type of a Web link. "^^rdf:HTML ; sh:name "linkRelationship" ; . schema:LiquorStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A shop that sells alcoholic drinks such as wine, beer, whisky and other spirits."^^rdf:HTML ; rdfs:label "Liquor store" ; rdfs:subClassOf schema:Store ; . schema:ListItem a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An list item, e.g. a step in a checklist or how-to description."^^rdf:HTML ; rdfs:label "List item" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ListItem-item ; sh:property schema:ListItem-nextItem ; sh:property schema:ListItem-position ; sh:property schema:ListItem-previousItem ; . schema:ListItem-item a sh:PropertyShape ; sh:path schema:item ; sh:class schema:Thing ; sh:description "An entity represented by an entry in a list or data feed (e.g. an 'artist' in a list of 'artists')’."^^rdf:HTML ; sh:name "item" ; . schema:ListItem-nextItem a sh:PropertyShape ; sh:path schema:nextItem ; sh:class schema:ListItem ; sh:description "A link to the ListItem that follows the current one."^^rdf:HTML ; sh:name "nextItem" ; . schema:ListItem-position a sh:PropertyShape ; sh:path schema:position ; sh:description "The position of an item in a series or sequence of items."^^rdf:HTML ; sh:name "position" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ListItem-previousItem a sh:PropertyShape ; sh:path schema:previousItem ; sh:class schema:ListItem ; sh:description "A link to the ListItem that preceeds the current one."^^rdf:HTML ; sh:name "previousItem" ; . schema:ListPrice a schema:PriceTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the list price (the price a product is actually advertised for) of an offered product." ; rdfs:label "List price" ; . schema:ListenAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of consuming audio content."^^rdf:HTML ; rdfs:label "Listen action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:LiteraryEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Literary event."^^rdf:HTML ; rdfs:label "Literary event" ; rdfs:subClassOf schema:Event ; . schema:LiveAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "LiveAlbum." ; rdfs:label "Live album" ; . schema:LiveBlogPosting a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A blog post intended to provide a rolling textual coverage of an ongoing event through continuous updates."^^rdf:HTML ; rdfs:label "Live blog posting" ; rdfs:subClassOf schema:BlogPosting ; sh:property schema:LiveBlogPosting-coverageEndTime ; sh:property schema:LiveBlogPosting-coverageStartTime ; sh:property schema:LiveBlogPosting-liveBlogUpdate ; . schema:LiveBlogPosting-coverageEndTime a sh:PropertyShape ; sh:path schema:coverageEndTime ; sh:datatype xsd:dateTime ; sh:description "The time when the live blog will stop covering the Event. Note that coverage may continue after the Event concludes."^^rdf:HTML ; sh:name "coverageEndTime" ; . schema:LiveBlogPosting-coverageStartTime a sh:PropertyShape ; sh:path schema:coverageStartTime ; sh:datatype xsd:dateTime ; sh:description "The time when the live blog will begin covering the Event. Note that coverage may begin before the Event's start time. The LiveBlogPosting may also be created before coverage begins."^^rdf:HTML ; sh:name "coverageStartTime" ; . schema:LiveBlogPosting-liveBlogUpdate a sh:PropertyShape ; sh:path schema:liveBlogUpdate ; sh:class schema:BlogPosting ; sh:description "An update to the LiveBlog."^^rdf:HTML ; sh:name "liveBlogUpdate" ; . schema:LivingWithHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Information about coping or life related to the topic." ; rdfs:label "Living with health aspect" ; . schema:LoanOrCredit a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A financial product for the loaning of an amount of money, or line of credit, under agreed terms and charges."^^rdf:HTML ; rdfs:label "Loan or credit" ; rdfs:subClassOf schema:FinancialProduct ; sh:property schema:LoanOrCredit-amount ; sh:property schema:LoanOrCredit-currency ; sh:property schema:LoanOrCredit-gracePeriod ; sh:property schema:LoanOrCredit-loanRepaymentForm ; sh:property schema:LoanOrCredit-loanTerm ; sh:property schema:LoanOrCredit-loanType ; sh:property schema:LoanOrCredit-recourseLoan ; sh:property schema:LoanOrCredit-renegotiableLoan ; sh:property schema:LoanOrCredit-requiredCollateral ; . schema:LoanOrCredit-amount a sh:PropertyShape ; sh:path schema:amount ; sh:description "The amount of money."^^rdf:HTML ; sh:name "amount" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:LoanOrCredit-currency a sh:PropertyShape ; sh:path schema:currency ; sh:datatype xsd:string ; sh:description "The currency in which the monetary amount is expressed.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "currency" ; . schema:LoanOrCredit-gracePeriod a sh:PropertyShape ; sh:path schema:gracePeriod ; sh:datatype xsd:duration ; sh:description "The period of time after any due date that the borrower has to fulfil its obligations before a default (failure to pay) is deemed to have occurred."^^rdf:HTML ; sh:name "gracePeriod" ; . schema:LoanOrCredit-loanRepaymentForm a sh:PropertyShape ; sh:path schema:loanRepaymentForm ; sh:class schema:RepaymentSpecification ; sh:description "A form of paying back money previously borrowed from a lender. Repayment usually takes the form of periodic payments that normally include part principal plus interest in each payment."^^rdf:HTML ; sh:name "loanRepaymentForm" ; . schema:LoanOrCredit-loanTerm a sh:PropertyShape ; sh:path schema:loanTerm ; sh:class schema:QuantitativeValue ; sh:description "The duration of the loan or credit agreement."^^rdf:HTML ; sh:name "loanTerm" ; . schema:LoanOrCredit-loanType a sh:PropertyShape ; sh:path schema:loanType ; sh:description "The type of a loan or credit."^^rdf:HTML ; sh:name "loanType" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LoanOrCredit-recourseLoan a sh:PropertyShape ; sh:path schema:recourseLoan ; sh:datatype xsd:boolean ; sh:description "The only way you get the money back in the event of default is the security. Recourse is where you still have the opportunity to go back to the borrower for the rest of the money."^^rdf:HTML ; sh:name "recourseLoan" ; . schema:LoanOrCredit-renegotiableLoan a sh:PropertyShape ; sh:path schema:renegotiableLoan ; sh:datatype xsd:boolean ; sh:description "Whether the terms for payment of interest can be renegotiated during the life of the loan."^^rdf:HTML ; sh:name "renegotiableLoan" ; . schema:LoanOrCredit-requiredCollateral a sh:PropertyShape ; sh:path schema:requiredCollateral ; sh:description "Assets required to secure loan or credit repayments. It may take form of third party pledge, goods, financial instruments (cash, securities, etc.)"^^rdf:HTML ; sh:name "requiredCollateral" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LocalBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A particular physical business or branch of an organization. Examples of LocalBusiness include a restaurant, a particular branch of a restaurant chain, a branch of a bank, a medical practice, a club, a bowling alley, etc."^^rdf:HTML ; rdfs:label "Local business" ; rdfs:subClassOf schema:Organization ; rdfs:subClassOf schema:Place ; sh:property schema:LocalBusiness-branchOf ; sh:property schema:LocalBusiness-currenciesAccepted ; sh:property schema:LocalBusiness-openingHours ; sh:property schema:LocalBusiness-paymentAccepted ; sh:property schema:LocalBusiness-priceRange ; . schema:LocalBusiness-branchOf a sh:PropertyShape ; sh:path schema:branchOf ; sh:class schema:Organization ; sh:description "The larger organization that this local business is a branch of, if any. Not to be confused with (anatomical)[[branch]]."^^rdf:HTML ; sh:name "branchOf" ; . schema:LocalBusiness-currenciesAccepted a sh:PropertyShape ; sh:path schema:currenciesAccepted ; sh:datatype xsd:string ; sh:description "The currency accepted.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "currenciesAccepted" ; . schema:LocalBusiness-openingHours a sh:PropertyShape ; sh:path schema:openingHours ; sh:datatype xsd:string ; sh:description "The general opening hours for a business. Opening hours can be specified as a weekly time range, starting with days, then times per day. Multiple days can be listed with commas ',' separating each day. Day or time ranges are specified using a hyphen '-'.\\n\\n* Days are specified using the following two-letter combinations: ```Mo```, ```Tu```, ```We```, ```Th```, ```Fr```, ```Sa```, ```Su```.\\n* Times are specified using 24:00 format. For example, 3pm is specified as ```15:00```, 10am as ```10:00```. \\n* Here is an example: <time itemprop=\"openingHours\" datetime="Tu,Th 16:00-20:00">Tuesdays and Thursdays 4-8pm</time>.\\n* If a business is open 7 days a week, then it can be specified as <time itemprop="openingHours" datetime="Mo-Su">Monday through Sunday, all day</time>."^^rdf:HTML ; sh:name "openingHours" ; . schema:LocalBusiness-paymentAccepted a sh:PropertyShape ; sh:path schema:paymentAccepted ; sh:datatype xsd:string ; sh:description "Cash, Credit Card, Cryptocurrency, Local Exchange Tradings System, etc."^^rdf:HTML ; sh:name "paymentAccepted" ; . schema:LocalBusiness-priceRange a sh:PropertyShape ; sh:path schema:priceRange ; sh:datatype xsd:string ; sh:description "The price range of the business, for example ```$$$```."^^rdf:HTML ; sh:name "priceRange" ; . schema:LocationFeatureSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Specifies a location feature by providing a structured value representing a feature of an accommodation as a property-value pair of varying degrees of formality."^^rdf:HTML ; rdfs:label "Location feature specification" ; rdfs:subClassOf schema:PropertyValue ; sh:property schema:LocationFeatureSpecification-hoursAvailable ; sh:property schema:LocationFeatureSpecification-validFrom ; sh:property schema:LocationFeatureSpecification-validThrough ; . schema:LocationFeatureSpecification-hoursAvailable a sh:PropertyShape ; sh:path schema:hoursAvailable ; sh:class schema:OpeningHoursSpecification ; sh:description "The hours during which this service or contact is available."^^rdf:HTML ; sh:name "hoursAvailable" ; . schema:LocationFeatureSpecification-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:LocationFeatureSpecification-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:LockerDelivery a schema:DeliveryMethod ; rdfs:comment "A DeliveryMethod in which an item is made available via locker." ; rdfs:label "Locker delivery" ; . schema:Locksmith a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A locksmith."^^rdf:HTML ; rdfs:label "Locksmith" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:LodgingBusiness a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A lodging business, such as a motel, hotel, or inn."^^rdf:HTML ; rdfs:label "Lodging business" ; rdfs:subClassOf schema:LocalBusiness ; sh:property schema:LodgingBusiness-amenityFeature ; sh:property schema:LodgingBusiness-audience ; sh:property schema:LodgingBusiness-availableLanguage ; sh:property schema:LodgingBusiness-checkinTime ; sh:property schema:LodgingBusiness-checkoutTime ; sh:property schema:LodgingBusiness-numberOfRooms ; sh:property schema:LodgingBusiness-petsAllowed ; sh:property schema:LodgingBusiness-starRating ; . schema:LodgingBusiness-amenityFeature a sh:PropertyShape ; sh:path schema:amenityFeature ; sh:class schema:LocationFeatureSpecification ; sh:description "An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs."^^rdf:HTML ; sh:name "amenityFeature" ; . schema:LodgingBusiness-audience a sh:PropertyShape ; sh:path schema:audience ; sh:class schema:Audience ; sh:description "An intended audience, i.e. a group for whom something was created."^^rdf:HTML ; sh:name "audience" ; . schema:LodgingBusiness-availableLanguage a sh:PropertyShape ; sh:path schema:availableLanguage ; sh:description "A language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]"^^rdf:HTML ; sh:name "availableLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LodgingBusiness-checkinTime a sh:PropertyShape ; sh:path schema:checkinTime ; sh:description "The earliest someone may check into a lodging establishment."^^rdf:HTML ; sh:name "checkinTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:LodgingBusiness-checkoutTime a sh:PropertyShape ; sh:path schema:checkoutTime ; sh:description "The latest someone may check out of a lodging establishment."^^rdf:HTML ; sh:name "checkoutTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:LodgingBusiness-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:LodgingBusiness-petsAllowed a sh:PropertyShape ; sh:path schema:petsAllowed ; sh:description "Indicates whether pets are allowed to enter the accommodation or lodging business. More detailed information can be put in a text value."^^rdf:HTML ; sh:name "petsAllowed" ; sh:or ( [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LodgingBusiness-starRating a sh:PropertyShape ; sh:path schema:starRating ; sh:class schema:Rating ; sh:description "An official rating for a lodging business or food establishment, e.g. from national associations or standards bodies. Use the author property to indicate the rating organization, e.g. as an Organization with name such as (e.g. HOTREC, DEHOGA, WHR, or Hotelstars)."^^rdf:HTML ; sh:name "starRating" ; . schema:LodgingReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for lodging at a hotel, motel, inn, etc.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations."^^rdf:HTML ; rdfs:label "Lodging reservation" ; rdfs:subClassOf schema:Reservation ; sh:property schema:LodgingReservation-checkinTime ; sh:property schema:LodgingReservation-checkoutTime ; sh:property schema:LodgingReservation-lodgingUnitDescription ; sh:property schema:LodgingReservation-lodgingUnitType ; sh:property schema:LodgingReservation-numAdults ; sh:property schema:LodgingReservation-numChildren ; . schema:LodgingReservation-checkinTime a sh:PropertyShape ; sh:path schema:checkinTime ; sh:description "The earliest someone may check into a lodging establishment."^^rdf:HTML ; sh:name "checkinTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:LodgingReservation-checkoutTime a sh:PropertyShape ; sh:path schema:checkoutTime ; sh:description "The latest someone may check out of a lodging establishment."^^rdf:HTML ; sh:name "checkoutTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:LodgingReservation-lodgingUnitDescription a sh:PropertyShape ; sh:path schema:lodgingUnitDescription ; sh:datatype xsd:string ; sh:description "A full description of the lodging unit."^^rdf:HTML ; sh:name "lodgingUnitDescription" ; . schema:LodgingReservation-lodgingUnitType a sh:PropertyShape ; sh:path schema:lodgingUnitType ; sh:description "Textual description of the unit type (including suite vs. room, size of bed, etc.)."^^rdf:HTML ; sh:name "lodgingUnitType" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:LodgingReservation-numAdults a sh:PropertyShape ; sh:path schema:numAdults ; sh:description "The number of adults staying in the unit."^^rdf:HTML ; sh:name "numAdults" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:LodgingReservation-numChildren a sh:PropertyShape ; sh:path schema:numChildren ; sh:description "The number of children staying in the unit."^^rdf:HTML ; sh:name "numChildren" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:Longitudinal a schema:MedicalObservationalStudyDesign ; schema:isPartOf ; rdfs:comment "Unlike cross-sectional studies, longitudinal studies track the same people, and therefore the differences observed in those people are less likely to be the result of cultural differences across generations. Longitudinal studies are also used in medicine to uncover predictors of certain diseases." ; rdfs:label "Longitudinal" ; . schema:LoseAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of being defeated in a competitive activity."^^rdf:HTML ; rdfs:label "Lose action" ; rdfs:subClassOf schema:AchieveAction ; sh:property schema:LoseAction-winner ; . schema:LoseAction-winner a sh:PropertyShape ; sh:path schema:winner ; sh:class schema:Person ; sh:description "A sub property of participant. The winner of the action."^^rdf:HTML ; sh:name "winner" ; . schema:LowCalorieDiet a schema:RestrictedDiet ; rdfs:comment "A diet focused on reduced calorie intake." ; rdfs:label "Low calorie diet" ; . schema:LowFatDiet a schema:RestrictedDiet ; rdfs:comment "A diet focused on reduced fat and cholesterol intake." ; rdfs:label "Low fat diet" ; . schema:LowLactoseDiet a schema:RestrictedDiet ; rdfs:comment "A diet appropriate for people with lactose intolerance." ; rdfs:label "Low lactose diet" ; . schema:LowSaltDiet a schema:RestrictedDiet ; rdfs:comment "A diet focused on reduced sodium intake." ; rdfs:label "Low salt diet" ; . schema:Lung a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Lung and respiratory system clinical examination." ; rdfs:label "Lung" ; . schema:LymphaticVessel a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A type of blood vessel that specifically carries lymph fluid unidirectionally toward the heart."^^rdf:HTML ; rdfs:label "Lymphatic vessel" ; rdfs:subClassOf schema:Vessel ; sh:property schema:LymphaticVessel-originatesFrom ; sh:property schema:LymphaticVessel-regionDrained ; sh:property schema:LymphaticVessel-runsTo ; . schema:LymphaticVessel-originatesFrom a sh:PropertyShape ; sh:path schema:originatesFrom ; sh:class schema:Vessel ; sh:description "The vasculature the lymphatic structure originates, or afferents, from."^^rdf:HTML ; sh:name "originatesFrom" ; . schema:LymphaticVessel-regionDrained a sh:PropertyShape ; sh:path schema:regionDrained ; sh:description "The anatomical or organ system drained by this vessel; generally refers to a specific part of an organ."^^rdf:HTML ; sh:name "regionDrained" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:AnatomicalSystem ; ] ) ; . schema:LymphaticVessel-runsTo a sh:PropertyShape ; sh:path schema:runsTo ; sh:class schema:Vessel ; sh:description "The vasculature the lymphatic structure runs, or efferents, to."^^rdf:HTML ; sh:name "runsTo" ; . schema:MRI a schema:MedicalImagingTechnique ; schema:isPartOf ; rdfs:comment "Magnetic resonance imaging." ; rdfs:label "MRI" ; . schema:MSRP a schema:PriceTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the manufacturer suggested retail price (\"MSRP\") of an offered product." ; rdfs:label "MSRP" ; . schema:Male a schema:GenderType ; rdfs:comment "The male gender." ; rdfs:label "Male" ; . schema:Manuscript a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A book, document, or piece of music written by hand rather than typed or printed."^^rdf:HTML ; rdfs:label "Manuscript" ; rdfs:subClassOf schema:CreativeWork ; . schema:Map a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A map."^^rdf:HTML ; rdfs:label "Map" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Map-mapType ; . schema:Map-mapType a sh:PropertyShape ; sh:path schema:mapType ; sh:class schema:MapCategoryType ; sh:description "Indicates the kind of Map, from the MapCategoryType Enumeration."^^rdf:HTML ; sh:name "mapType" ; . schema:MapCategoryType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An enumeration of several kinds of Map."^^rdf:HTML ; rdfs:label "Map category type" ; rdfs:subClassOf schema:Enumeration ; . schema:MarryAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of marrying a person."^^rdf:HTML ; rdfs:label "Marry action" ; rdfs:subClassOf schema:InteractAction ; . schema:Mass a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Properties that take Mass as values are of the form '<Number> <Mass unit of measure>'. E.g., '7 kg'."^^rdf:HTML ; rdfs:label "Mass" ; rdfs:subClassOf schema:Quantity ; . schema:MathSolver a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A math solver which is capable of solving a subset of mathematical problems."^^rdf:HTML ; rdfs:label "Math solver" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:MathSolver-mathExpression ; . schema:MathSolver-mathExpression a sh:PropertyShape ; sh:path schema:mathExpression ; sh:description "A mathematical expression (e.g. 'x^2-3x=0') that may be solved for a specific variable, simplified, or transformed. This can take many formats, e.g. LaTeX, Ascii-Math, or math as you would write with a keyboard."^^rdf:HTML ; sh:name "mathExpression" ; sh:or ( [ sh:class schema:SolveMathAction ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MaximumDoseSchedule a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The maximum dosing schedule considered safe for a drug or supplement as recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity."^^rdf:HTML ; rdfs:label "Maximum dose schedule" ; rdfs:subClassOf schema:DoseSchedule ; . schema:MayTreatHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Related topics may be treated by a Topic." ; rdfs:label "May treat health aspect" ; . schema:MeasurementTypeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumeration of common measurement types (or dimensions), for example \"chest\" for a person, \"inseam\" for pants, \"gauge\" for screws, or \"wheel\" for bicycles."^^rdf:HTML ; rdfs:label "Measurement type enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:MediaGallery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Media gallery page. A mixed-media page that can contains media such as images, videos, and other multimedia."^^rdf:HTML ; rdfs:label "Media gallery" ; rdfs:subClassOf schema:CollectionPage ; . schema:MediaManipulationRatingEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment " Codes for use with the [[mediaAuthenticityCategory]] property, indicating the authenticity of a media object (in the context of how it was published or shared). In general these codes are not mutually exclusive, although some combinations (such as 'original' versus 'transformed', 'edited' and 'staged') would be contradictory if applied in the same [[MediaReview]]. Note that the application of these codes is with regard to a piece of media shared or published in a particular context."^^rdf:HTML ; rdfs:label "Media manipulation rating enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:MediaObject a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A media object, such as an image, video, or audio object embedded in a web page or a downloadable dataset i.e. DataDownload. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's)."^^rdf:HTML ; rdfs:label "Media object" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:MediaObject-associatedArticle ; sh:property schema:MediaObject-bitrate ; sh:property schema:MediaObject-contentSize ; sh:property schema:MediaObject-contentUrl ; sh:property schema:MediaObject-duration ; sh:property schema:MediaObject-embedUrl ; sh:property schema:MediaObject-encodesCreativeWork ; sh:property schema:MediaObject-encodingFormat ; sh:property schema:MediaObject-endTime ; sh:property schema:MediaObject-height ; sh:property schema:MediaObject-ineligibleRegion ; sh:property schema:MediaObject-playerType ; sh:property schema:MediaObject-productionCompany ; sh:property schema:MediaObject-regionsAllowed ; sh:property schema:MediaObject-requiresSubscription ; sh:property schema:MediaObject-startTime ; sh:property schema:MediaObject-uploadDate ; sh:property schema:MediaObject-width ; . schema:MediaObject-associatedArticle a sh:PropertyShape ; sh:path schema:associatedArticle ; sh:class schema:NewsArticle ; sh:description "A NewsArticle associated with the Media Object."^^rdf:HTML ; sh:name "associatedArticle" ; . schema:MediaObject-bitrate a sh:PropertyShape ; sh:path schema:bitrate ; sh:datatype xsd:string ; sh:description "The bitrate of the media object."^^rdf:HTML ; sh:name "bitrate" ; . schema:MediaObject-contentSize a sh:PropertyShape ; sh:path schema:contentSize ; sh:datatype xsd:string ; sh:description "File size in (mega/kilo) bytes."^^rdf:HTML ; sh:name "contentSize" ; . schema:MediaObject-contentUrl a sh:PropertyShape ; sh:path schema:contentUrl ; sh:description "Actual bytes of the media object, for example the image file or video file."^^rdf:HTML ; sh:name "contentUrl" ; sh:nodeKind sh:IRI ; . schema:MediaObject-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:MediaObject-embedUrl a sh:PropertyShape ; sh:path schema:embedUrl ; sh:description "A URL pointing to a player for a specific video. In general, this is the information in the ```src``` element of an ```embed``` tag and should not be the same as the content of the ```loc``` tag."^^rdf:HTML ; sh:name "embedUrl" ; sh:nodeKind sh:IRI ; . schema:MediaObject-encodesCreativeWork a sh:PropertyShape ; sh:path schema:encodesCreativeWork ; sh:class schema:CreativeWork ; sh:description "The CreativeWork encoded by this media object."^^rdf:HTML ; sh:name "encodesCreativeWork" ; . schema:MediaObject-encodingFormat a sh:PropertyShape ; sh:path schema:encodingFormat ; sh:description """Media type typically expressed using a MIME format (see [IANA site](http://www.iana.org/assignments/media-types/media-types.xhtml) and [MDN reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)) e.g. application/zip for a SoftwareApplication binary, audio/mpeg for .mp3 etc.). In cases where a [[CreativeWork]] has several media type representations, [[encoding]] can be used to indicate each [[MediaObject]] alongside particular [[encodingFormat]] information. Unregistered or niche encoding and file formats can be indicated instead via the most appropriate URL, e.g. defining Web page or a Wikipedia/Wikidata entry."""^^rdf:HTML ; sh:name "encodingFormat" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MediaObject-endTime a sh:PropertyShape ; sh:path schema:endTime ; sh:description "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "endTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:MediaObject-height a sh:PropertyShape ; sh:path schema:height ; sh:description "The height of the item."^^rdf:HTML ; sh:name "height" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MediaObject-ineligibleRegion a sh:PropertyShape ; sh:path schema:ineligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\\n\\nSee also [[eligibleRegion]]. """^^rdf:HTML ; sh:name "ineligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MediaObject-playerType a sh:PropertyShape ; sh:path schema:playerType ; sh:datatype xsd:string ; sh:description "Player type required—for example, Flash or Silverlight."^^rdf:HTML ; sh:name "playerType" ; . schema:MediaObject-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:MediaObject-regionsAllowed a sh:PropertyShape ; sh:path schema:regionsAllowed ; sh:class schema:Place ; sh:description "The regions where the media is allowed. If not specified, then it's assumed to be allowed everywhere. Specify the countries in [ISO 3166 format](http://en.wikipedia.org/wiki/ISO_3166)."^^rdf:HTML ; sh:name "regionsAllowed" ; . schema:MediaObject-requiresSubscription a sh:PropertyShape ; sh:path schema:requiresSubscription ; sh:description "Indicates if use of the media require a subscription (either paid or free). Allowed values are ```true``` or ```false``` (note that an earlier version had 'yes', 'no')."^^rdf:HTML ; sh:name "requiresSubscription" ; sh:or ( [ sh:class schema:MediaSubscription ; ] [ sh:datatype xsd:boolean ; ] ) ; . schema:MediaObject-startTime a sh:PropertyShape ; sh:path schema:startTime ; sh:description "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "startTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:MediaObject-uploadDate a sh:PropertyShape ; sh:path schema:uploadDate ; sh:datatype xsd:date ; sh:description "Date when this media object was uploaded to this site."^^rdf:HTML ; sh:name "uploadDate" ; . schema:MediaObject-width a sh:PropertyShape ; sh:path schema:width ; sh:description "The width of the item."^^rdf:HTML ; sh:name "width" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MediaReview a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A [[MediaReview]] is a more specialized form of Review dedicated to the evaluation of media content online, typically in the context of fact-checking and misinformation. For more general reviews of media in the broader sense, use [[UserReview]], [[CriticReview]] or other [[Review]] types. This definition is a work in progress. While the [[MediaManipulationRatingEnumeration]] list reflects significant community review amongst fact-checkers and others working to combat misinformation, the specific structures for representing media objects, their versions and publication context, is still evolving. Similarly, best practices for the relationship between [[MediaReview]] and [[ClaimReview]] markup has not yet been finalized."""^^rdf:HTML ; rdfs:label "Media review" ; rdfs:subClassOf schema:Review ; sh:property schema:MediaReview-mediaAuthenticityCategory ; . schema:MediaReview-mediaAuthenticityCategory a sh:PropertyShape ; sh:path schema:mediaAuthenticityCategory ; sh:class schema:MediaManipulationRatingEnumeration ; sh:description "Indicates a MediaManipulationRatingEnumeration classification of a media object (in the context of how it was published or shared)."^^rdf:HTML ; sh:name "mediaAuthenticityCategory" ; . schema:MediaSubscription a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A subscription which allows a user to access media including audio, video, books, etc."^^rdf:HTML ; rdfs:label "Media subscription" ; rdfs:subClassOf schema:Intangible ; sh:property schema:MediaSubscription-authenticator ; sh:property schema:MediaSubscription-expectsAcceptanceOf ; . schema:MediaSubscription-authenticator a sh:PropertyShape ; sh:path schema:authenticator ; sh:class schema:Organization ; sh:description "The Organization responsible for authenticating the user's subscription. For example, many media apps require a cable/satellite provider to authenticate your subscription before playing media."^^rdf:HTML ; sh:name "authenticator" ; . schema:MediaSubscription-expectsAcceptanceOf a sh:PropertyShape ; sh:path schema:expectsAcceptanceOf ; sh:class schema:Offer ; sh:description "An Offer which must be accepted before the user can perform the Action. For example, the user may need to buy a movie before being able to watch it."^^rdf:HTML ; sh:name "expectsAcceptanceOf" ; . schema:MedicalAudience a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Target audiences for medical web pages."^^rdf:HTML ; rdfs:label "Medical audience" ; rdfs:subClassOf schema:Audience ; rdfs:subClassOf schema:PeopleAudience ; . schema:MedicalAudienceType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Target audiences types for medical web pages. Enumerated type."^^rdf:HTML ; rdfs:label "Medical audience type" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalBusiness a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A particular physical or virtual business of an organization for medical purposes. Examples of MedicalBusiness include differents business run by health professionals."^^rdf:HTML ; rdfs:label "Medical business" ; rdfs:subClassOf schema:LocalBusiness ; . schema:MedicalCause a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The causative agent(s) that are responsible for the pathophysiologic process that eventually results in a medical condition, symptom or sign. In this schema, unless otherwise specified this is meant to be the proximate cause of the medical condition, symptom or sign. The proximate cause is defined as the causative agent that most directly results in the medical condition, symptom or sign. For example, the HIV virus could be considered a cause of AIDS. Or in a diagnostic context, if a patient fell and sustained a hip fracture and two days later sustained a pulmonary embolism which eventuated in a cardiac arrest, the cause of the cardiac arrest (the proximate cause) would be the pulmonary embolism and not the fall. Medical causes can include cardiovascular, chemical, dermatologic, endocrine, environmental, gastroenterologic, genetic, hematologic, gynecologic, iatrogenic, infectious, musculoskeletal, neurologic, nutritional, obstetric, oncologic, otolaryngologic, pharmacologic, psychiatric, pulmonary, renal, rheumatologic, toxic, traumatic, or urologic causes; medical conditions can be causes as well."^^rdf:HTML ; rdfs:label "Medical cause" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalCause-causeOf ; . schema:MedicalCause-causeOf a sh:PropertyShape ; sh:path schema:causeOf ; sh:class schema:MedicalEntity ; sh:description "The condition, complication, symptom, sign, etc. caused."^^rdf:HTML ; sh:name "causeOf" ; . schema:MedicalClinic a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A facility, often associated with a hospital or medical school, that is devoted to the specific diagnosis and/or healthcare. Previously limited to outpatients but with evolution it may be open to inpatients as well."^^rdf:HTML ; rdfs:label "Medical clinic" ; rdfs:subClassOf schema:MedicalBusiness ; rdfs:subClassOf schema:MedicalOrganization ; sh:property schema:MedicalClinic-availableService ; sh:property schema:MedicalClinic-medicalSpecialty ; . schema:MedicalClinic-availableService a sh:PropertyShape ; sh:path schema:availableService ; sh:description "A medical service available from this provider."^^rdf:HTML ; sh:name "availableService" ; sh:or ( [ sh:class schema:MedicalProcedure ; ] [ sh:class schema:MedicalTest ; ] [ sh:class schema:MedicalTherapy ; ] ) ; . schema:MedicalClinic-medicalSpecialty a sh:PropertyShape ; sh:path schema:medicalSpecialty ; sh:class schema:MedicalSpecialty ; sh:description "A medical specialty of the provider."^^rdf:HTML ; sh:name "medicalSpecialty" ; . schema:MedicalCode a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A code for a medical entity."^^rdf:HTML ; rdfs:label "Medical code" ; rdfs:subClassOf schema:CategoryCode ; rdfs:subClassOf schema:MedicalIntangible ; sh:property schema:MedicalCode-codeValue ; sh:property schema:MedicalCode-codingSystem ; . schema:MedicalCode-codeValue a sh:PropertyShape ; sh:path schema:codeValue ; sh:datatype xsd:string ; sh:description "A short textual code that uniquely identifies the value."^^rdf:HTML ; sh:name "codeValue" ; . schema:MedicalCode-codingSystem a sh:PropertyShape ; sh:path schema:codingSystem ; sh:datatype xsd:string ; sh:description "The coding system, e.g. 'ICD-10'."^^rdf:HTML ; sh:name "codingSystem" ; . schema:MedicalCondition a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any condition of the human body that affects the normal functioning of a person, whether physically or mentally. Includes diseases, injuries, disabilities, disorders, syndromes, etc."^^rdf:HTML ; rdfs:label "Medical condition" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalCondition-associatedAnatomy ; sh:property schema:MedicalCondition-differentialDiagnosis ; sh:property schema:MedicalCondition-drug ; sh:property schema:MedicalCondition-epidemiology ; sh:property schema:MedicalCondition-expectedPrognosis ; sh:property schema:MedicalCondition-naturalProgression ; sh:property schema:MedicalCondition-pathophysiology ; sh:property schema:MedicalCondition-possibleComplication ; sh:property schema:MedicalCondition-possibleTreatment ; sh:property schema:MedicalCondition-primaryPrevention ; sh:property schema:MedicalCondition-riskFactor ; sh:property schema:MedicalCondition-secondaryPrevention ; sh:property schema:MedicalCondition-signOrSymptom ; sh:property schema:MedicalCondition-stage ; sh:property schema:MedicalCondition-status ; sh:property schema:MedicalCondition-typicalTest ; . schema:MedicalCondition-associatedAnatomy a sh:PropertyShape ; sh:path schema:associatedAnatomy ; sh:description "The anatomy of the underlying organ system or structures associated with this entity."^^rdf:HTML ; sh:name "associatedAnatomy" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:AnatomicalSystem ; ] [ sh:class schema:SuperficialAnatomy ; ] ) ; . schema:MedicalCondition-differentialDiagnosis a sh:PropertyShape ; sh:path schema:differentialDiagnosis ; sh:class schema:DDxElement ; sh:description "One of a set of differential diagnoses for the condition. Specifically, a closely-related or competing diagnosis typically considered later in the cognitive process whereby this medical condition is distinguished from others most likely responsible for a similar collection of signs and symptoms to reach the most parsimonious diagnosis or diagnoses in a patient."^^rdf:HTML ; sh:name "differentialDiagnosis" ; . schema:MedicalCondition-drug a sh:PropertyShape ; sh:path schema:drug ; sh:class schema:Drug ; sh:description "Specifying a drug or medicine used in a medication procedure."^^rdf:HTML ; sh:name "drug" ; . schema:MedicalCondition-epidemiology a sh:PropertyShape ; sh:path schema:epidemiology ; sh:datatype xsd:string ; sh:description "The characteristics of associated patients, such as age, gender, race etc."^^rdf:HTML ; sh:name "epidemiology" ; . schema:MedicalCondition-expectedPrognosis a sh:PropertyShape ; sh:path schema:expectedPrognosis ; sh:datatype xsd:string ; sh:description "The likely outcome in either the short term or long term of the medical condition."^^rdf:HTML ; sh:name "expectedPrognosis" ; . schema:MedicalCondition-naturalProgression a sh:PropertyShape ; sh:path schema:naturalProgression ; sh:datatype xsd:string ; sh:description "The expected progression of the condition if it is not treated and allowed to progress naturally."^^rdf:HTML ; sh:name "naturalProgression" ; . schema:MedicalCondition-pathophysiology a sh:PropertyShape ; sh:path schema:pathophysiology ; sh:datatype xsd:string ; sh:description "Changes in the normal mechanical, physical, and biochemical functions that are associated with this activity or condition."^^rdf:HTML ; sh:name "pathophysiology" ; . schema:MedicalCondition-possibleComplication a sh:PropertyShape ; sh:path schema:possibleComplication ; sh:datatype xsd:string ; sh:description "A possible unexpected and unfavorable evolution of a medical condition. Complications may include worsening of the signs or symptoms of the disease, extension of the condition to other organ systems, etc."^^rdf:HTML ; sh:name "possibleComplication" ; . schema:MedicalCondition-possibleTreatment a sh:PropertyShape ; sh:path schema:possibleTreatment ; sh:class schema:MedicalTherapy ; sh:description "A possible treatment to address this condition, sign or symptom."^^rdf:HTML ; sh:name "possibleTreatment" ; . schema:MedicalCondition-primaryPrevention a sh:PropertyShape ; sh:path schema:primaryPrevention ; sh:class schema:MedicalTherapy ; sh:description "A preventative therapy used to prevent an initial occurrence of the medical condition, such as vaccination."^^rdf:HTML ; sh:name "primaryPrevention" ; . schema:MedicalCondition-riskFactor a sh:PropertyShape ; sh:path schema:riskFactor ; sh:class schema:MedicalRiskFactor ; sh:description "A modifiable or non-modifiable factor that increases the risk of a patient contracting this condition, e.g. age, coexisting condition."^^rdf:HTML ; sh:name "riskFactor" ; . schema:MedicalCondition-secondaryPrevention a sh:PropertyShape ; sh:path schema:secondaryPrevention ; sh:class schema:MedicalTherapy ; sh:description "A preventative therapy used to prevent reoccurrence of the medical condition after an initial episode of the condition."^^rdf:HTML ; sh:name "secondaryPrevention" ; . schema:MedicalCondition-signOrSymptom a sh:PropertyShape ; sh:path schema:signOrSymptom ; sh:class schema:MedicalSignOrSymptom ; sh:description "A sign or symptom of this condition. Signs are objective or physically observable manifestations of the medical condition while symptoms are the subjective experience of the medical condition."^^rdf:HTML ; sh:name "signOrSymptom" ; . schema:MedicalCondition-stage a sh:PropertyShape ; sh:path schema:stage ; sh:class schema:MedicalConditionStage ; sh:description "The stage of the condition, if applicable."^^rdf:HTML ; sh:name "stage" ; . schema:MedicalCondition-status a sh:PropertyShape ; sh:path schema:status ; sh:description "The status of the study (enumerated)."^^rdf:HTML ; sh:name "status" ; sh:or ( [ sh:class schema:EventStatusType ; ] [ sh:class schema:MedicalStudyStatus ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalCondition-typicalTest a sh:PropertyShape ; sh:path schema:typicalTest ; sh:class schema:MedicalTest ; sh:description "A medical test typically performed given this condition."^^rdf:HTML ; sh:name "typicalTest" ; . schema:MedicalConditionStage a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A stage of a medical condition, such as 'Stage IIIa'."^^rdf:HTML ; rdfs:label "Medical condition stage" ; rdfs:subClassOf schema:MedicalIntangible ; sh:property schema:MedicalConditionStage-stageAsNumber ; sh:property schema:MedicalConditionStage-subStageSuffix ; . schema:MedicalConditionStage-stageAsNumber a sh:PropertyShape ; sh:path schema:stageAsNumber ; sh:datatype xsd:float ; sh:description "The stage represented as a number, e.g. 3."^^rdf:HTML ; sh:name "stageAsNumber" ; . schema:MedicalConditionStage-subStageSuffix a sh:PropertyShape ; sh:path schema:subStageSuffix ; sh:datatype xsd:string ; sh:description "The substage, e.g. 'a' for Stage IIIa."^^rdf:HTML ; sh:name "subStageSuffix" ; . schema:MedicalContraindication a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A condition or factor that serves as a reason to withhold a certain medical therapy. Contraindications can be absolute (there are no reasonable circumstances for undertaking a course of action) or relative (the patient is at higher risk of complications, but that these risks may be outweighed by other considerations or mitigated by other measures)."^^rdf:HTML ; rdfs:label "Medical contraindication" ; rdfs:subClassOf schema:MedicalEntity ; . schema:MedicalDevice a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any object used in a medical capacity, such as to diagnose or treat a patient."^^rdf:HTML ; rdfs:label "Medical device" ; rdfs:subClassOf schema:MedicalEntity ; owl:equivalentClass ; sh:property schema:MedicalDevice-adverseOutcome ; sh:property schema:MedicalDevice-contraindication ; sh:property schema:MedicalDevice-postOp ; sh:property schema:MedicalDevice-preOp ; sh:property schema:MedicalDevice-procedure ; sh:property schema:MedicalDevice-seriousAdverseOutcome ; . schema:MedicalDevice-adverseOutcome a sh:PropertyShape ; sh:path schema:adverseOutcome ; sh:class schema:MedicalEntity ; sh:description "A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead."^^rdf:HTML ; sh:name "adverseOutcome" ; . schema:MedicalDevice-contraindication a sh:PropertyShape ; sh:path schema:contraindication ; sh:description "A contraindication for this therapy."^^rdf:HTML ; sh:name "contraindication" ; sh:or ( [ sh:class schema:MedicalContraindication ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalDevice-postOp a sh:PropertyShape ; sh:path schema:postOp ; sh:datatype xsd:string ; sh:description "A description of the postoperative procedures, care, and/or followups for this device."^^rdf:HTML ; sh:name "postOp" ; . schema:MedicalDevice-preOp a sh:PropertyShape ; sh:path schema:preOp ; sh:datatype xsd:string ; sh:description "A description of the workup, testing, and other preparations required before implanting this device."^^rdf:HTML ; sh:name "preOp" ; . schema:MedicalDevice-procedure a sh:PropertyShape ; sh:path schema:procedure ; sh:datatype xsd:string ; sh:description "A description of the procedure involved in setting up, using, and/or installing the device."^^rdf:HTML ; sh:name "procedure" ; . schema:MedicalDevice-seriousAdverseOutcome a sh:PropertyShape ; sh:path schema:seriousAdverseOutcome ; sh:class schema:MedicalEntity ; sh:description "A possible serious complication and/or serious side effect of this therapy. Serious adverse outcomes include those that are life-threatening; result in death, disability, or permanent damage; require hospitalization or prolong existing hospitalization; cause congenital anomalies or birth defects; or jeopardize the patient and may require medical or surgical intervention to prevent one of the outcomes in this definition."^^rdf:HTML ; sh:name "seriousAdverseOutcome" ; . schema:MedicalDevicePurpose a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Categories of medical devices, organized by the purpose or intended use of the device."^^rdf:HTML ; rdfs:label "Medical device purpose" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalEntity a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The most generic type of entity related to health and the practice of medicine."^^rdf:HTML ; rdfs:label "Medical entity" ; rdfs:subClassOf schema:Thing ; sh:property schema:MedicalEntity-code ; sh:property schema:MedicalEntity-guideline ; sh:property schema:MedicalEntity-legalStatus ; sh:property schema:MedicalEntity-medicineSystem ; sh:property schema:MedicalEntity-recognizingAuthority ; sh:property schema:MedicalEntity-relevantSpecialty ; sh:property schema:MedicalEntity-study ; . schema:MedicalEntity-code a sh:PropertyShape ; sh:path schema:code ; sh:class schema:MedicalCode ; sh:description "A medical code for the entity, taken from a controlled vocabulary or ontology such as ICD-9, DiseasesDB, MeSH, SNOMED-CT, RxNorm, etc."^^rdf:HTML ; sh:name "code" ; . schema:MedicalEntity-guideline a sh:PropertyShape ; sh:path schema:guideline ; sh:class schema:MedicalGuideline ; sh:description "A medical guideline related to this entity."^^rdf:HTML ; sh:name "guideline" ; . schema:MedicalEntity-legalStatus a sh:PropertyShape ; sh:path schema:legalStatus ; sh:description "The drug or supplement's legal status, including any controlled substance schedules that apply."^^rdf:HTML ; sh:name "legalStatus" ; sh:or ( [ sh:class schema:DrugLegalStatus ; ] [ sh:class schema:MedicalEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalEntity-medicineSystem a sh:PropertyShape ; sh:path schema:medicineSystem ; sh:class schema:MedicineSystem ; sh:description "The system of medicine that includes this MedicalEntity, for example 'evidence-based', 'homeopathic', 'chiropractic', etc."^^rdf:HTML ; sh:name "medicineSystem" ; . schema:MedicalEntity-recognizingAuthority a sh:PropertyShape ; sh:path schema:recognizingAuthority ; sh:class schema:Organization ; sh:description "If applicable, the organization that officially recognizes this entity as part of its endorsed system of medicine."^^rdf:HTML ; sh:name "recognizingAuthority" ; . schema:MedicalEntity-relevantSpecialty a sh:PropertyShape ; sh:path schema:relevantSpecialty ; sh:class schema:MedicalSpecialty ; sh:description "If applicable, a medical specialty in which this entity is relevant."^^rdf:HTML ; sh:name "relevantSpecialty" ; . schema:MedicalEntity-study a sh:PropertyShape ; sh:path schema:study ; sh:class schema:MedicalStudy ; sh:description "A medical study or trial related to this entity."^^rdf:HTML ; sh:name "study" ; . schema:MedicalEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Enumerations related to health and the practice of medicine: A concept that is used to attribute a quality to another concept, as a qualifier, a collection of items or a listing of all of the elements of a set in medicine practice."^^rdf:HTML ; rdfs:label "Medical enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:MedicalEvidenceLevel a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Level of evidence for a medical guideline. Enumerated type."^^rdf:HTML ; rdfs:label "Medical evidence level" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalGuideline a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any recommendation made by a standard society (e.g. ACC/AHA) or consensus statement that denotes how to diagnose and treat a particular condition. Note: this type should be used to tag the actual guideline recommendation; if the guideline recommendation occurs in a larger scholarly article, use MedicalScholarlyArticle to tag the overall article, not this type. Note also: the organization making the recommendation should be captured in the recognizingAuthority base property of MedicalEntity."^^rdf:HTML ; rdfs:label "Medical guideline" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalGuideline-evidenceLevel ; sh:property schema:MedicalGuideline-evidenceOrigin ; sh:property schema:MedicalGuideline-guidelineDate ; sh:property schema:MedicalGuideline-guidelineSubject ; . schema:MedicalGuideline-evidenceLevel a sh:PropertyShape ; sh:path schema:evidenceLevel ; sh:class schema:MedicalEvidenceLevel ; sh:description "Strength of evidence of the data used to formulate the guideline (enumerated)."^^rdf:HTML ; sh:name "evidenceLevel" ; . schema:MedicalGuideline-evidenceOrigin a sh:PropertyShape ; sh:path schema:evidenceOrigin ; sh:datatype xsd:string ; sh:description "Source of the data used to formulate the guidance, e.g. RCT, consensus opinion, etc."^^rdf:HTML ; sh:name "evidenceOrigin" ; . schema:MedicalGuideline-guidelineDate a sh:PropertyShape ; sh:path schema:guidelineDate ; sh:datatype xsd:date ; sh:description "Date on which this guideline's recommendation was made."^^rdf:HTML ; sh:name "guidelineDate" ; . schema:MedicalGuideline-guidelineSubject a sh:PropertyShape ; sh:path schema:guidelineSubject ; sh:class schema:MedicalEntity ; sh:description "The medical conditions, treatments, etc. that are the subject of the guideline."^^rdf:HTML ; sh:name "guidelineSubject" ; . schema:MedicalGuidelineContraindication a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A guideline contraindication that designates a process as harmful and where quality of the data supporting the contraindication is sound."^^rdf:HTML ; rdfs:label "Medical guideline contraindication" ; rdfs:subClassOf schema:MedicalGuideline ; . schema:MedicalGuidelineRecommendation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A guideline recommendation that is regarded as efficacious and where quality of the data supporting the recommendation is sound."^^rdf:HTML ; rdfs:label "Medical guideline recommendation" ; rdfs:subClassOf schema:MedicalGuideline ; sh:property schema:MedicalGuidelineRecommendation-recommendationStrength ; . schema:MedicalGuidelineRecommendation-recommendationStrength a sh:PropertyShape ; sh:path schema:recommendationStrength ; sh:datatype xsd:string ; sh:description "Strength of the guideline's recommendation (e.g. 'class I')."^^rdf:HTML ; sh:name "recommendationStrength" ; . schema:MedicalImagingTechnique a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any medical imaging modality typically used for diagnostic purposes. Enumerated type."^^rdf:HTML ; rdfs:label "Medical imaging technique" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalIndication a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A condition or factor that indicates use of a medical therapy, including signs, symptoms, risk factors, anatomical states, etc."^^rdf:HTML ; rdfs:label "Medical indication" ; rdfs:subClassOf schema:MedicalEntity ; . schema:MedicalIntangible a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A utility class that serves as the umbrella for a number of 'intangible' things in the medical space."^^rdf:HTML ; rdfs:label "Medical intangible" ; rdfs:subClassOf schema:MedicalEntity ; . schema:MedicalObservationalStudy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An observational study is a type of medical study that attempts to infer the possible effect of a treatment through observation of a cohort of subjects over a period of time. In an observational study, the assignment of subjects into treatment groups versus control groups is outside the control of the investigator. This is in contrast with controlled studies, such as the randomized controlled trials represented by MedicalTrial, where each subject is randomly assigned to a treatment group or a control group before the start of the treatment."^^rdf:HTML ; rdfs:label "Medical observational study" ; rdfs:subClassOf schema:MedicalStudy ; sh:property schema:MedicalObservationalStudy-studyDesign ; . schema:MedicalObservationalStudy-studyDesign a sh:PropertyShape ; sh:path schema:studyDesign ; sh:class schema:MedicalObservationalStudyDesign ; sh:description "Specifics about the observational study design (enumerated)."^^rdf:HTML ; sh:name "studyDesign" ; . schema:MedicalObservationalStudyDesign a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Design models for observational medical studies. Enumerated type."^^rdf:HTML ; rdfs:label "Medical observational study design" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalOrganization a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A medical organization (physical or not), such as hospital, institution or clinic."^^rdf:HTML ; rdfs:label "Medical organization" ; rdfs:subClassOf schema:Organization ; sh:property schema:MedicalOrganization-healthPlanNetworkId ; sh:property schema:MedicalOrganization-isAcceptingNewPatients ; sh:property schema:MedicalOrganization-medicalSpecialty ; . schema:MedicalOrganization-healthPlanNetworkId a sh:PropertyShape ; sh:path schema:healthPlanNetworkId ; sh:datatype xsd:string ; sh:description "Name or unique ID of network. (Networks are often reused across different insurance plans)."^^rdf:HTML ; sh:name "healthPlanNetworkId" ; . schema:MedicalOrganization-isAcceptingNewPatients a sh:PropertyShape ; sh:path schema:isAcceptingNewPatients ; sh:datatype xsd:boolean ; sh:description "Whether the provider is accepting new patients."^^rdf:HTML ; sh:name "isAcceptingNewPatients" ; . schema:MedicalOrganization-medicalSpecialty a sh:PropertyShape ; sh:path schema:medicalSpecialty ; sh:class schema:MedicalSpecialty ; sh:description "A medical specialty of the provider."^^rdf:HTML ; sh:name "medicalSpecialty" ; . schema:MedicalProcedure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A process of care used in either a diagnostic, therapeutic, preventive or palliative capacity that relies on invasive (surgical), non-invasive, or other techniques."^^rdf:HTML ; rdfs:label "Medical procedure" ; rdfs:subClassOf schema:MedicalEntity ; owl:equivalentClass ; sh:property schema:MedicalProcedure-bodyLocation ; sh:property schema:MedicalProcedure-followup ; sh:property schema:MedicalProcedure-howPerformed ; sh:property schema:MedicalProcedure-preparation ; sh:property schema:MedicalProcedure-procedureType ; sh:property schema:MedicalProcedure-status ; . schema:MedicalProcedure-bodyLocation a sh:PropertyShape ; sh:path schema:bodyLocation ; sh:datatype xsd:string ; sh:description "Location in the body of the anatomical structure."^^rdf:HTML ; sh:name "bodyLocation" ; . schema:MedicalProcedure-followup a sh:PropertyShape ; sh:path schema:followup ; sh:datatype xsd:string ; sh:description "Typical or recommended followup care after the procedure is performed."^^rdf:HTML ; sh:name "followup" ; . schema:MedicalProcedure-howPerformed a sh:PropertyShape ; sh:path schema:howPerformed ; sh:datatype xsd:string ; sh:description "How the procedure is performed."^^rdf:HTML ; sh:name "howPerformed" ; . schema:MedicalProcedure-preparation a sh:PropertyShape ; sh:path schema:preparation ; sh:description "Typical preparation that a patient must undergo before having the procedure performed."^^rdf:HTML ; sh:name "preparation" ; sh:or ( [ sh:class schema:MedicalEntity ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalProcedure-procedureType a sh:PropertyShape ; sh:path schema:procedureType ; sh:class schema:MedicalProcedureType ; sh:description "The type of procedure, for example Surgical, Noninvasive, or Percutaneous."^^rdf:HTML ; sh:name "procedureType" ; . schema:MedicalProcedure-status a sh:PropertyShape ; sh:path schema:status ; sh:description "The status of the study (enumerated)."^^rdf:HTML ; sh:name "status" ; sh:or ( [ sh:class schema:EventStatusType ; ] [ sh:class schema:MedicalStudyStatus ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalProcedureType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An enumeration that describes different types of medical procedures."^^rdf:HTML ; rdfs:label "Medical procedure type" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalResearcher a schema:MedicalAudienceType ; schema:isPartOf ; rdfs:comment "Medical researchers." ; rdfs:label "Medical researcher" ; . schema:MedicalRiskCalculator a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A complex mathematical calculation requiring an online calculator, used to assess prognosis. Note: use the url property of Thing to record any URLs for online calculators."^^rdf:HTML ; rdfs:label "Medical risk calculator" ; rdfs:subClassOf schema:MedicalRiskEstimator ; . schema:MedicalRiskEstimator a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any rule set or interactive tool for estimating the risk of developing a complication or condition."^^rdf:HTML ; rdfs:label "Medical risk estimator" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalRiskEstimator-estimatesRiskOf ; sh:property schema:MedicalRiskEstimator-includedRiskFactor ; . schema:MedicalRiskEstimator-estimatesRiskOf a sh:PropertyShape ; sh:path schema:estimatesRiskOf ; sh:class schema:MedicalEntity ; sh:description "The condition, complication, or symptom whose risk is being estimated."^^rdf:HTML ; sh:name "estimatesRiskOf" ; . schema:MedicalRiskEstimator-includedRiskFactor a sh:PropertyShape ; sh:path schema:includedRiskFactor ; sh:class schema:MedicalRiskFactor ; sh:description "A modifiable or non-modifiable risk factor included in the calculation, e.g. age, coexisting condition."^^rdf:HTML ; sh:name "includedRiskFactor" ; . schema:MedicalRiskFactor a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A risk factor is anything that increases a person's likelihood of developing or contracting a disease, medical condition, or complication."^^rdf:HTML ; rdfs:label "Medical risk factor" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalRiskFactor-increasesRiskOf ; . schema:MedicalRiskFactor-increasesRiskOf a sh:PropertyShape ; sh:path schema:increasesRiskOf ; sh:class schema:MedicalEntity ; sh:description "The condition, complication, etc. influenced by this factor."^^rdf:HTML ; sh:name "increasesRiskOf" ; . schema:MedicalRiskScore a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A simple system that adds up the number of risk factors to yield a score that is associated with prognosis, e.g. CHAD score, TIMI risk score."^^rdf:HTML ; rdfs:label "Medical risk score" ; rdfs:subClassOf schema:MedicalRiskEstimator ; sh:property schema:MedicalRiskScore-algorithm ; . schema:MedicalRiskScore-algorithm a sh:PropertyShape ; sh:path schema:algorithm ; sh:datatype xsd:string ; sh:description "The algorithm or rules to follow to compute the score."^^rdf:HTML ; sh:name "algorithm" ; . schema:MedicalScholarlyArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A scholarly article in the medical domain."^^rdf:HTML ; rdfs:label "Medical scholarly article" ; rdfs:subClassOf schema:ScholarlyArticle ; sh:property schema:MedicalScholarlyArticle-publicationType ; . schema:MedicalScholarlyArticle-publicationType a sh:PropertyShape ; sh:path schema:publicationType ; sh:datatype xsd:string ; sh:description "The type of the medical article, taken from the US NLM MeSH publication type catalog. See also [MeSH documentation](http://www.nlm.nih.gov/mesh/pubtypes.html)."^^rdf:HTML ; sh:name "publicationType" ; . schema:MedicalSign a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any physical manifestation of a person's medical condition discoverable by objective diagnostic tests or physical examination."^^rdf:HTML ; rdfs:label "Medical sign" ; rdfs:subClassOf schema:MedicalSignOrSymptom ; sh:property schema:MedicalSign-identifyingExam ; sh:property schema:MedicalSign-identifyingTest ; . schema:MedicalSign-identifyingExam a sh:PropertyShape ; sh:path schema:identifyingExam ; sh:class schema:PhysicalExam ; sh:description "A physical examination that can identify this sign."^^rdf:HTML ; sh:name "identifyingExam" ; . schema:MedicalSign-identifyingTest a sh:PropertyShape ; sh:path schema:identifyingTest ; sh:class schema:MedicalTest ; sh:description "A diagnostic test that can identify this sign."^^rdf:HTML ; sh:name "identifyingTest" ; . schema:MedicalSignOrSymptom a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any feature associated or not with a medical condition. In medicine a symptom is generally subjective while a sign is objective."^^rdf:HTML ; rdfs:label "Medical sign or symptom" ; rdfs:subClassOf schema:MedicalCondition ; sh:property schema:MedicalSignOrSymptom-possibleTreatment ; . schema:MedicalSignOrSymptom-possibleTreatment a sh:PropertyShape ; sh:path schema:possibleTreatment ; sh:class schema:MedicalTherapy ; sh:description "A possible treatment to address this condition, sign or symptom."^^rdf:HTML ; sh:name "possibleTreatment" ; . schema:MedicalSpecialty a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any specific branch of medical science or practice. Medical specialities include clinical specialties that pertain to particular organ systems and their respective disease states, as well as allied health specialties. Enumerated type."^^rdf:HTML ; rdfs:label "Medical specialty" ; rdfs:subClassOf schema:MedicalEnumeration ; rdfs:subClassOf schema:Specialty ; . schema:MedicalStudy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical study is an umbrella type covering all kinds of research studies relating to human medicine or health, including observational studies and interventional trials and registries, randomized, controlled or not. When the specific type of study is known, use one of the extensions of this type, such as MedicalTrial or MedicalObservationalStudy. Also, note that this type should be used to mark up data that describes the study itself; to tag an article that publishes the results of a study, use MedicalScholarlyArticle. Note: use the code property of MedicalEntity to store study IDs, e.g. clinicaltrials.gov ID."^^rdf:HTML ; rdfs:label "Medical study" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalStudy-healthCondition ; sh:property schema:MedicalStudy-sponsor ; sh:property schema:MedicalStudy-status ; sh:property schema:MedicalStudy-studyLocation ; sh:property schema:MedicalStudy-studySubject ; . schema:MedicalStudy-healthCondition a sh:PropertyShape ; sh:path schema:healthCondition ; sh:class schema:MedicalCondition ; sh:description "Specifying the health condition(s) of a patient, medical study, or other target audience."^^rdf:HTML ; sh:name "healthCondition" ; . schema:MedicalStudy-sponsor a sh:PropertyShape ; sh:path schema:sponsor ; sh:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event."^^rdf:HTML ; sh:name "sponsor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:MedicalStudy-status a sh:PropertyShape ; sh:path schema:status ; sh:description "The status of the study (enumerated)."^^rdf:HTML ; sh:name "status" ; sh:or ( [ sh:class schema:EventStatusType ; ] [ sh:class schema:MedicalStudyStatus ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalStudy-studyLocation a sh:PropertyShape ; sh:path schema:studyLocation ; sh:class schema:AdministrativeArea ; sh:description "The location in which the study is taking/took place."^^rdf:HTML ; sh:name "studyLocation" ; . schema:MedicalStudy-studySubject a sh:PropertyShape ; sh:path schema:studySubject ; sh:class schema:MedicalEntity ; sh:description "A subject of the study, i.e. one of the medical conditions, therapies, devices, drugs, etc. investigated by the study."^^rdf:HTML ; sh:name "studySubject" ; . schema:MedicalStudyStatus a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "The status of a medical study. Enumerated type."^^rdf:HTML ; rdfs:label "Medical study status" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalSymptom a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any complaint sensed and expressed by the patient (therefore defined as subjective) like stomachache, lower-back pain, or fatigue."^^rdf:HTML ; rdfs:label "Medical symptom" ; rdfs:subClassOf schema:MedicalSignOrSymptom ; . schema:MedicalTest a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any medical test, typically performed for diagnostic purposes."^^rdf:HTML ; rdfs:label "Medical test" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:MedicalTest-affectedBy ; sh:property schema:MedicalTest-normalRange ; sh:property schema:MedicalTest-signDetected ; sh:property schema:MedicalTest-usedToDiagnose ; sh:property schema:MedicalTest-usesDevice ; . schema:MedicalTest-affectedBy a sh:PropertyShape ; sh:path schema:affectedBy ; sh:class schema:Drug ; sh:description "Drugs that affect the test's results."^^rdf:HTML ; sh:name "affectedBy" ; . schema:MedicalTest-normalRange a sh:PropertyShape ; sh:path schema:normalRange ; sh:description "Range of acceptable values for a typical patient, when applicable."^^rdf:HTML ; sh:name "normalRange" ; sh:or ( [ sh:class schema:MedicalEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalTest-signDetected a sh:PropertyShape ; sh:path schema:signDetected ; sh:class schema:MedicalSign ; sh:description "A sign detected by the test."^^rdf:HTML ; sh:name "signDetected" ; . schema:MedicalTest-usedToDiagnose a sh:PropertyShape ; sh:path schema:usedToDiagnose ; sh:class schema:MedicalCondition ; sh:description "A condition the test is used to diagnose."^^rdf:HTML ; sh:name "usedToDiagnose" ; . schema:MedicalTest-usesDevice a sh:PropertyShape ; sh:path schema:usesDevice ; sh:class schema:MedicalDevice ; sh:description "Device used to perform the test."^^rdf:HTML ; sh:name "usesDevice" ; . schema:MedicalTestPanel a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any collection of tests commonly ordered together."^^rdf:HTML ; rdfs:label "Medical test panel" ; rdfs:subClassOf schema:MedicalTest ; sh:property schema:MedicalTestPanel-subTest ; . schema:MedicalTestPanel-subTest a sh:PropertyShape ; sh:path schema:subTest ; sh:class schema:MedicalTest ; sh:description "A component test of the panel."^^rdf:HTML ; sh:name "subTest" ; . schema:MedicalTherapy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any medical intervention designed to prevent, treat, and cure human diseases and medical conditions, including both curative and palliative therapies. Medical therapies are typically processes of care relying upon pharmacotherapy, behavioral therapy, supportive therapy (with fluid or nutrition for example), or detoxification (e.g. hemodialysis) aimed at improving or preventing a health condition."^^rdf:HTML ; rdfs:label "Medical therapy" ; rdfs:subClassOf schema:TherapeuticProcedure ; sh:property schema:MedicalTherapy-contraindication ; sh:property schema:MedicalTherapy-duplicateTherapy ; sh:property schema:MedicalTherapy-seriousAdverseOutcome ; . schema:MedicalTherapy-contraindication a sh:PropertyShape ; sh:path schema:contraindication ; sh:description "A contraindication for this therapy."^^rdf:HTML ; sh:name "contraindication" ; sh:or ( [ sh:class schema:MedicalContraindication ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MedicalTherapy-duplicateTherapy a sh:PropertyShape ; sh:path schema:duplicateTherapy ; sh:class schema:MedicalTherapy ; sh:description "A therapy that duplicates or overlaps this one."^^rdf:HTML ; sh:name "duplicateTherapy" ; . schema:MedicalTherapy-seriousAdverseOutcome a sh:PropertyShape ; sh:path schema:seriousAdverseOutcome ; sh:class schema:MedicalEntity ; sh:description "A possible serious complication and/or serious side effect of this therapy. Serious adverse outcomes include those that are life-threatening; result in death, disability, or permanent damage; require hospitalization or prolong existing hospitalization; cause congenital anomalies or birth defects; or jeopardize the patient and may require medical or surgical intervention to prevent one of the outcomes in this definition."^^rdf:HTML ; sh:name "seriousAdverseOutcome" ; . schema:MedicalTrial a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical trial is a type of medical study that uses scientific process used to compare the safety and efficacy of medical therapies or medical procedures. In general, medical trials are controlled and subjects are allocated at random to the different treatment and/or control groups."^^rdf:HTML ; rdfs:label "Medical trial" ; rdfs:subClassOf schema:MedicalStudy ; sh:property schema:MedicalTrial-trialDesign ; . schema:MedicalTrial-trialDesign a sh:PropertyShape ; sh:path schema:trialDesign ; sh:class schema:MedicalTrialDesign ; sh:description "Specifics about the trial design (enumerated)."^^rdf:HTML ; sh:name "trialDesign" ; . schema:MedicalTrialDesign a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Design models for medical trials. Enumerated type."^^rdf:HTML ; rdfs:label "Medical trial design" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MedicalWebPage a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A web page that provides medical information."^^rdf:HTML ; rdfs:label "Medical web page" ; rdfs:subClassOf schema:WebPage ; sh:property schema:MedicalWebPage-aspect ; sh:property schema:MedicalWebPage-medicalAudience ; . schema:MedicalWebPage-aspect a sh:PropertyShape ; sh:path schema:aspect ; sh:datatype xsd:string ; sh:description "An aspect of medical practice that is considered on the page, such as 'diagnosis', 'treatment', 'causes', 'prognosis', 'etiology', 'epidemiology', etc."^^rdf:HTML ; sh:name "aspect" ; . schema:MedicalWebPage-medicalAudience a sh:PropertyShape ; sh:path schema:medicalAudience ; sh:description "Medical audience for page."^^rdf:HTML ; sh:name "medicalAudience" ; sh:or ( [ sh:class schema:MedicalAudience ; ] [ sh:class schema:MedicalAudienceType ; ] ) ; . schema:MedicineSystem a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Systems of medical practice."^^rdf:HTML ; rdfs:label "Medicine system" ; rdfs:subClassOf schema:MedicalEnumeration ; . schema:MeetingRoom a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A meeting room, conference room, or conference hall is a room provided for singular events such as business conferences and meetings (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Conference_hall).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Meeting room" ; rdfs:subClassOf schema:Room ; . schema:MensClothingStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A men's clothing store."^^rdf:HTML ; rdfs:label "Mens clothing store" ; rdfs:subClassOf schema:Store ; . schema:Menu a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A structured representation of food or drink items available from a FoodEstablishment."^^rdf:HTML ; rdfs:label "Menu" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Menu-hasMenuItem ; sh:property schema:Menu-hasMenuSection ; . schema:Menu-hasMenuItem a sh:PropertyShape ; sh:path schema:hasMenuItem ; sh:class schema:MenuItem ; sh:description "A food or drink item contained in a menu or menu section."^^rdf:HTML ; sh:name "hasMenuItem" ; . schema:Menu-hasMenuSection a sh:PropertyShape ; sh:path schema:hasMenuSection ; sh:class schema:MenuSection ; sh:description "A subgrouping of the menu (by dishes, course, serving time period, etc.)."^^rdf:HTML ; sh:name "hasMenuSection" ; . schema:MenuItem a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A food or drink item listed in a menu or menu section."^^rdf:HTML ; rdfs:label "Menu item" ; rdfs:subClassOf schema:Intangible ; sh:property schema:MenuItem-menuAddOn ; sh:property schema:MenuItem-nutrition ; sh:property schema:MenuItem-offers ; sh:property schema:MenuItem-suitableForDiet ; . schema:MenuItem-menuAddOn a sh:PropertyShape ; sh:path schema:menuAddOn ; sh:description "Additional menu item(s) such as a side dish of salad or side order of fries that can be added to this menu item. Additionally it can be a menu section containing allowed add-on menu items for this menu item."^^rdf:HTML ; sh:name "menuAddOn" ; sh:or ( [ sh:class schema:MenuItem ; ] [ sh:class schema:MenuSection ; ] ) ; . schema:MenuItem-nutrition a sh:PropertyShape ; sh:path schema:nutrition ; sh:class schema:NutritionInformation ; sh:description "Nutrition information about the recipe or menu item."^^rdf:HTML ; sh:name "nutrition" ; . schema:MenuItem-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:MenuItem-suitableForDiet a sh:PropertyShape ; sh:path schema:suitableForDiet ; sh:class schema:RestrictedDiet ; sh:description "Indicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc."^^rdf:HTML ; sh:name "suitableForDiet" ; . schema:MenuSection a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sub-grouping of food or drink items in a menu. E.g. courses (such as 'Dinner', 'Breakfast', etc.), specific type of dishes (such as 'Meat', 'Vegan', 'Drinks', etc.), or some other classification made by the menu provider."^^rdf:HTML ; rdfs:label "Menu section" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:MenuSection-hasMenuItem ; sh:property schema:MenuSection-hasMenuSection ; . schema:MenuSection-hasMenuItem a sh:PropertyShape ; sh:path schema:hasMenuItem ; sh:class schema:MenuItem ; sh:description "A food or drink item contained in a menu or menu section."^^rdf:HTML ; sh:name "hasMenuItem" ; . schema:MenuSection-hasMenuSection a sh:PropertyShape ; sh:path schema:hasMenuSection ; sh:class schema:MenuSection ; sh:description "A subgrouping of the menu (by dishes, course, serving time period, etc.)."^^rdf:HTML ; sh:name "hasMenuSection" ; . schema:MerchantReturnEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "MerchantReturnEnumeration enumerates several kinds of product return policy. Note that this structure may not capture all aspects of the policy."^^rdf:HTML ; rdfs:label "Merchant return enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:MerchantReturnFiniteReturnWindow a schema:MerchantReturnEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "MerchantReturnFiniteReturnWindow: there is a finite window for product returns." ; rdfs:label "Merchant return finite return window" ; . schema:MerchantReturnNotPermitted a schema:MerchantReturnEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "MerchantReturnNotPermitted: product returns are not permitted." ; rdfs:label "Merchant return not permitted" ; . schema:MerchantReturnPolicy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A MerchantReturnPolicy provides information about product return policies associated with an [[Organization]] or [[Product]]."^^rdf:HTML ; rdfs:label "Merchant return policy" ; rdfs:subClassOf schema:Intangible ; sh:property schema:MerchantReturnPolicy-inStoreReturnsOffered ; sh:property schema:MerchantReturnPolicy-merchantReturnDays ; sh:property schema:MerchantReturnPolicy-merchantReturnLink ; sh:property schema:MerchantReturnPolicy-refundType ; sh:property schema:MerchantReturnPolicy-returnFees ; sh:property schema:MerchantReturnPolicy-returnPolicyCategory ; . schema:MerchantReturnPolicy-inStoreReturnsOffered a sh:PropertyShape ; sh:path schema:inStoreReturnsOffered ; sh:datatype xsd:boolean ; sh:description "Are in-store returns offered?"^^rdf:HTML ; sh:name "inStoreReturnsOffered" ; . schema:MerchantReturnPolicy-merchantReturnDays a sh:PropertyShape ; sh:path schema:merchantReturnDays ; sh:datatype xsd:integer ; sh:description "The merchantReturnDays property indicates the number of days (from purchase) within which relevant merchant return policy is applicable."^^rdf:HTML ; sh:name "merchantReturnDays" ; . schema:MerchantReturnPolicy-merchantReturnLink a sh:PropertyShape ; sh:path schema:merchantReturnLink ; sh:description "Indicates a Web page or service by URL, for product return."^^rdf:HTML ; sh:name "merchantReturnLink" ; sh:nodeKind sh:IRI ; . schema:MerchantReturnPolicy-refundType a sh:PropertyShape ; sh:path schema:refundType ; sh:class schema:RefundTypeEnumeration ; sh:description "A refundType, from an enumerated list."^^rdf:HTML ; sh:name "refundType" ; . schema:MerchantReturnPolicy-returnFees a sh:PropertyShape ; sh:path schema:returnFees ; sh:class schema:ReturnFeesEnumeration ; sh:description "Indicates (via enumerated options) the return fees policy for a MerchantReturnPolicy"^^rdf:HTML ; sh:name "returnFees" ; . schema:MerchantReturnPolicy-returnPolicyCategory a sh:PropertyShape ; sh:path schema:returnPolicyCategory ; sh:class schema:MerchantReturnEnumeration ; sh:description "A returnPolicyCategory expresses at most one of several enumerated kinds of return."^^rdf:HTML ; sh:name "returnPolicyCategory" ; . schema:MerchantReturnUnlimitedWindow a schema:MerchantReturnEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "MerchantReturnUnlimitedWindow: there is an unlimited window for product returns." ; rdfs:label "Merchant return unlimited window" ; . schema:MerchantReturnUnspecified a schema:MerchantReturnEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "MerchantReturnUnspecified: a product return policy is not specified here." ; rdfs:label "Merchant return unspecified" ; . schema:Message a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A single message from a sender to one or more organizations or people."^^rdf:HTML ; rdfs:label "Message" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Message-bccRecipient ; sh:property schema:Message-ccRecipient ; sh:property schema:Message-dateRead ; sh:property schema:Message-dateReceived ; sh:property schema:Message-dateSent ; sh:property schema:Message-messageAttachment ; sh:property schema:Message-recipient ; sh:property schema:Message-sender ; sh:property schema:Message-toRecipient ; . schema:Message-bccRecipient a sh:PropertyShape ; sh:path schema:bccRecipient ; sh:description "A sub property of recipient. The recipient blind copied on a message."^^rdf:HTML ; sh:name "bccRecipient" ; sh:or ( [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Message-ccRecipient a sh:PropertyShape ; sh:path schema:ccRecipient ; sh:description "A sub property of recipient. The recipient copied on a message."^^rdf:HTML ; sh:name "ccRecipient" ; sh:or ( [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Message-dateRead a sh:PropertyShape ; sh:path schema:dateRead ; sh:description "The date/time at which the message has been read by the recipient if a single recipient exists."^^rdf:HTML ; sh:name "dateRead" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Message-dateReceived a sh:PropertyShape ; sh:path schema:dateReceived ; sh:datatype xsd:dateTime ; sh:description "The date/time the message was received if a single recipient exists."^^rdf:HTML ; sh:name "dateReceived" ; . schema:Message-dateSent a sh:PropertyShape ; sh:path schema:dateSent ; sh:datatype xsd:dateTime ; sh:description "The date/time at which the message was sent."^^rdf:HTML ; sh:name "dateSent" ; . schema:Message-messageAttachment a sh:PropertyShape ; sh:path schema:messageAttachment ; sh:class schema:CreativeWork ; sh:description "A CreativeWork attached to the message."^^rdf:HTML ; sh:name "messageAttachment" ; . schema:Message-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Message-sender a sh:PropertyShape ; sh:path schema:sender ; sh:description "A sub property of participant. The participant who is at the sending end of the action."^^rdf:HTML ; sh:name "sender" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Message-toRecipient a sh:PropertyShape ; sh:path schema:toRecipient ; sh:description "A sub property of recipient. The recipient who was directly sent the message."^^rdf:HTML ; sh:name "toRecipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:MiddleSchool a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A middle school (typically for children aged around 11-14, although this varies somewhat)."^^rdf:HTML ; rdfs:label "Middle school" ; rdfs:subClassOf schema:EducationalOrganization ; . schema:Midwifery a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A nurse-like health profession that deals with pregnancy, childbirth, and the postpartum period (including care of the newborn), besides sexual and reproductive health of women throughout their lives." ; rdfs:label "Midwifery" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:MinimumAdvertisedPrice a schema:PriceTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the minimum advertised price (\"MAP\") (as dictated by the manufacturer) of an offered product." ; rdfs:label "Minimum advertised price" ; . schema:MisconceptionsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about common misconceptions and myths that are related to a topic." ; rdfs:label "Misconceptions health aspect" ; . schema:MixedEventAttendanceMode a schema:EventAttendanceModeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "MixedEventAttendanceMode - an event that is conducted as a combination of both offline and online modes." ; rdfs:label "Mixed event attendance mode" ; . schema:MixtapeAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "MixtapeAlbum." ; rdfs:label "Mixtape album" ; . schema:MobileApplication a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A software application designed specifically to work well on a mobile device such as a telephone."^^rdf:HTML ; rdfs:label "Mobile application" ; rdfs:subClassOf schema:SoftwareApplication ; sh:property schema:MobileApplication-carrierRequirements ; . schema:MobileApplication-carrierRequirements a sh:PropertyShape ; sh:path schema:carrierRequirements ; sh:datatype xsd:string ; sh:description "Specifies specific carrier(s) requirements for the application (e.g. an application may only work on a specific carrier network)."^^rdf:HTML ; sh:name "carrierRequirements" ; . schema:MobilePhoneStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A store that sells mobile phones and related accessories."^^rdf:HTML ; rdfs:label "Mobile phone store" ; rdfs:subClassOf schema:Store ; . schema:Monday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Sunday and Tuesday." ; rdfs:label "Monday" ; . schema:MonetaryAmount a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A monetary value or range. This type can be used to describe an amount of money such as $50 USD, or a range as in describing a bank account being suitable for a balance between £1,000 and £1,000,000 GBP, or the value of a salary, etc. It is recommended to use [[PriceSpecification]] Types to describe the price of an Offer, Invoice, etc."^^rdf:HTML ; rdfs:label "Monetary amount" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:MonetaryAmount-currency ; sh:property schema:MonetaryAmount-maxValue ; sh:property schema:MonetaryAmount-minValue ; sh:property schema:MonetaryAmount-validFrom ; sh:property schema:MonetaryAmount-validThrough ; sh:property schema:MonetaryAmount-value ; . schema:MonetaryAmount-currency a sh:PropertyShape ; sh:path schema:currency ; sh:datatype xsd:string ; sh:description "The currency in which the monetary amount is expressed.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "currency" ; . schema:MonetaryAmount-maxValue a sh:PropertyShape ; sh:path schema:maxValue ; sh:datatype xsd:float ; sh:description "The upper value of some characteristic or property."^^rdf:HTML ; sh:name "maxValue" ; . schema:MonetaryAmount-minValue a sh:PropertyShape ; sh:path schema:minValue ; sh:datatype xsd:float ; sh:description "The lower value of some characteristic or property."^^rdf:HTML ; sh:name "minValue" ; . schema:MonetaryAmount-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:MonetaryAmount-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:MonetaryAmount-value a sh:PropertyShape ; sh:path schema:value ; sh:description "The value of the quantitative value or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "value" ; sh:or ( [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MonetaryAmountDistribution a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A statistical distribution of monetary amounts."^^rdf:HTML ; rdfs:label "Monetary amount distribution" ; rdfs:subClassOf schema:QuantitativeValueDistribution ; sh:property schema:MonetaryAmountDistribution-currency ; . schema:MonetaryAmountDistribution-currency a sh:PropertyShape ; sh:path schema:currency ; sh:datatype xsd:string ; sh:description "The currency in which the monetary amount is expressed.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "currency" ; . schema:MonetaryGrant a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A monetary grant."^^rdf:HTML ; rdfs:label "Monetary grant" ; rdfs:subClassOf schema:Grant ; sh:property schema:MonetaryGrant-amount ; sh:property schema:MonetaryGrant-funder ; . schema:MonetaryGrant-amount a sh:PropertyShape ; sh:path schema:amount ; sh:description "The amount of money."^^rdf:HTML ; sh:name "amount" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:MonetaryGrant-funder a sh:PropertyShape ; sh:path schema:funder ; sh:description "A person or organization that supports (sponsors) something through some kind of financial contribution."^^rdf:HTML ; sh:name "funder" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:MoneyTransfer a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "The act of transferring money from one place to another place. This may occur electronically or physically."^^rdf:HTML ; rdfs:label "Money transfer" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:MoneyTransfer-amount ; sh:property schema:MoneyTransfer-beneficiaryBank ; . schema:MoneyTransfer-amount a sh:PropertyShape ; sh:path schema:amount ; sh:description "The amount of money."^^rdf:HTML ; sh:name "amount" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:MoneyTransfer-beneficiaryBank a sh:PropertyShape ; sh:path schema:beneficiaryBank ; sh:description "A bank or bank’s branch, financial institution or international financial institution operating the beneficiary’s bank account or releasing funds for the beneficiary."^^rdf:HTML ; sh:name "beneficiaryBank" ; sh:or ( [ sh:class schema:BankOrCreditUnion ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MortgageLoan a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A loan in which property or real estate is used as collateral. (A loan securitized against some real estate)."^^rdf:HTML ; rdfs:label "Mortgage loan" ; rdfs:subClassOf schema:LoanOrCredit ; sh:property schema:MortgageLoan-domiciledMortgage ; sh:property schema:MortgageLoan-loanMortgageMandateAmount ; . schema:MortgageLoan-domiciledMortgage a sh:PropertyShape ; sh:path schema:domiciledMortgage ; sh:datatype xsd:boolean ; sh:description "Whether borrower is a resident of the jurisdiction where the property is located."^^rdf:HTML ; sh:name "domiciledMortgage" ; . schema:MortgageLoan-loanMortgageMandateAmount a sh:PropertyShape ; sh:path schema:loanMortgageMandateAmount ; sh:class schema:MonetaryAmount ; sh:description "Amount of mortgage mandate that can be converted into a proper mortgage at a later stage."^^rdf:HTML ; sh:name "loanMortgageMandateAmount" ; . schema:Mosque a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A mosque."^^rdf:HTML ; rdfs:label "Mosque" ; rdfs:subClassOf schema:PlaceOfWorship ; . schema:Motel a rdfs:Class ; a sh:NodeShape ; rdfs:comment """A motel.

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Motel" ; rdfs:subClassOf schema:LodgingBusiness ; . schema:Motorcycle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A motorcycle or motorbike is a single-track, two-wheeled motor vehicle."^^rdf:HTML ; rdfs:label "Motorcycle" ; rdfs:subClassOf schema:Vehicle ; . schema:MotorcycleDealer a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A motorcycle dealer."^^rdf:HTML ; rdfs:label "Motorcycle dealer" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:MotorcycleRepair a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A motorcycle repair shop."^^rdf:HTML ; rdfs:label "Motorcycle repair" ; rdfs:subClassOf schema:AutomotiveBusiness ; . schema:MotorizedBicycle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A motorized bicycle is a bicycle with an attached motor used to power the vehicle, or to assist with pedaling."^^rdf:HTML ; rdfs:label "Motorized bicycle" ; rdfs:subClassOf schema:Vehicle ; . schema:Mountain a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A mountain, like Mount Whitney or Mount Everest."^^rdf:HTML ; rdfs:label "Mountain" ; rdfs:subClassOf schema:Landform ; . schema:MoveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of an agent relocating to a place.\\n\\nRelated actions:\\n\\n* [[TransferAction]]: Unlike TransferAction, the subject of the move is a living Person or Organization rather than an inanimate object."^^rdf:HTML ; rdfs:label "Move action" ; rdfs:subClassOf schema:Action ; sh:property schema:MoveAction-fromLocation ; sh:property schema:MoveAction-toLocation ; . schema:MoveAction-fromLocation a sh:PropertyShape ; sh:path schema:fromLocation ; sh:class schema:Place ; sh:description "A sub property of location. The original location of the object or the agent before the action."^^rdf:HTML ; sh:name "fromLocation" ; . schema:MoveAction-toLocation a sh:PropertyShape ; sh:path schema:toLocation ; sh:class schema:Place ; sh:description "A sub property of location. The final location of the object or the agent after the action."^^rdf:HTML ; sh:name "toLocation" ; . schema:Movie a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A movie."^^rdf:HTML ; rdfs:label "Movie" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Movie-actor ; sh:property schema:Movie-actors ; sh:property schema:Movie-countryOfOrigin ; sh:property schema:Movie-director ; sh:property schema:Movie-directors ; sh:property schema:Movie-duration ; sh:property schema:Movie-musicBy ; sh:property schema:Movie-productionCompany ; sh:property schema:Movie-subtitleLanguage ; sh:property schema:Movie-titleEIDR ; sh:property schema:Movie-trailer ; . schema:Movie-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:Movie-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:Movie-countryOfOrigin a sh:PropertyShape ; sh:path schema:countryOfOrigin ; sh:class schema:Country ; sh:description "The country of the principal offices of the production company or individual responsible for the movie or program."^^rdf:HTML ; sh:name "countryOfOrigin" ; . schema:Movie-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:Movie-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:Movie-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:Movie-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:Movie-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:Movie-subtitleLanguage a sh:PropertyShape ; sh:path schema:subtitleLanguage ; sh:description "Languages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47)."^^rdf:HTML ; sh:name "subtitleLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Movie-titleEIDR a sh:PropertyShape ; sh:path schema:titleEIDR ; sh:description """An [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing at the most general/abstract level, a work of film or television. For example, the motion picture known as \"Ghostbusters\" has a titleEIDR of \"10.5240/7EC7-228A-510A-053E-CBB8-J\". This title (or work) may have several variants, which EIDR calls \"edits\". See [[editEIDR]]. Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. """^^rdf:HTML ; sh:name "titleEIDR" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Movie-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:MovieClip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A short segment/part of a movie."^^rdf:HTML ; rdfs:label "Movie clip" ; rdfs:subClassOf schema:Clip ; . schema:MovieRentalStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A movie rental store."^^rdf:HTML ; rdfs:label "Movie rental store" ; rdfs:subClassOf schema:Store ; . schema:MovieSeries a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A series of movies. Included movies can be indicated with the hasPart property."^^rdf:HTML ; rdfs:label "Movie series" ; rdfs:subClassOf schema:CreativeWorkSeries ; sh:property schema:MovieSeries-actor ; sh:property schema:MovieSeries-actors ; sh:property schema:MovieSeries-director ; sh:property schema:MovieSeries-directors ; sh:property schema:MovieSeries-musicBy ; sh:property schema:MovieSeries-productionCompany ; sh:property schema:MovieSeries-trailer ; . schema:MovieSeries-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:MovieSeries-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:MovieSeries-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:MovieSeries-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:MovieSeries-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:MovieSeries-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:MovieSeries-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:MovieTheater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A movie theater."^^rdf:HTML ; rdfs:label "Movie theater" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:EntertainmentBusiness ; sh:property schema:MovieTheater-screenCount ; . schema:MovieTheater-screenCount a sh:PropertyShape ; sh:path schema:screenCount ; sh:datatype xsd:float ; sh:description "The number of screens in the movie theater."^^rdf:HTML ; sh:name "screenCount" ; . schema:MovingCompany a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A moving company."^^rdf:HTML ; rdfs:label "Moving company" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:MultiCenterTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A trial that takes place at multiple centers." ; rdfs:label "Multi center trial" ; . schema:MultiPlayer a schema:GamePlayMode ; rdfs:comment "Play mode: MultiPlayer. Requiring or allowing multiple human players to play simultaneously." ; rdfs:label "Multi player" ; . schema:MulticellularParasite a schema:InfectiousAgentClass ; schema:isPartOf ; rdfs:comment "Multicellular parasite that causes an infection." ; rdfs:label "Multicellular parasite" ; . schema:Muscle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A muscle is an anatomical structure consisting of a contractile form of tissue that animals use to effect movement."^^rdf:HTML ; rdfs:label "Muscle" ; rdfs:subClassOf schema:AnatomicalStructure ; sh:property schema:Muscle-antagonist ; sh:property schema:Muscle-bloodSupply ; sh:property schema:Muscle-insertion ; sh:property schema:Muscle-muscleAction ; sh:property schema:Muscle-nerve ; . schema:Muscle-antagonist a sh:PropertyShape ; sh:path schema:antagonist ; sh:class schema:Muscle ; sh:description "The muscle whose action counteracts the specified muscle."^^rdf:HTML ; sh:name "antagonist" ; . schema:Muscle-bloodSupply a sh:PropertyShape ; sh:path schema:bloodSupply ; sh:class schema:Vessel ; sh:description "The blood vessel that carries blood from the heart to the muscle."^^rdf:HTML ; sh:name "bloodSupply" ; . schema:Muscle-insertion a sh:PropertyShape ; sh:path schema:insertion ; sh:class schema:AnatomicalStructure ; sh:description "The place of attachment of a muscle, or what the muscle moves."^^rdf:HTML ; sh:name "insertion" ; . schema:Muscle-muscleAction a sh:PropertyShape ; sh:path schema:muscleAction ; sh:datatype xsd:string ; sh:description "The movement the muscle generates."^^rdf:HTML ; sh:name "muscleAction" ; . schema:Muscle-nerve a sh:PropertyShape ; sh:path schema:nerve ; sh:class schema:Nerve ; sh:description "The underlying innervation associated with the muscle."^^rdf:HTML ; sh:name "nerve" ; . schema:Musculoskeletal a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to diagnosis and treatment of disorders of muscles, ligaments and skeletal system." ; rdfs:label "Musculoskeletal" ; . schema:MusculoskeletalExam a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Musculoskeletal system clinical examination." ; rdfs:label "Musculoskeletal exam" ; . schema:Museum a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A museum."^^rdf:HTML ; rdfs:label "Museum" ; rdfs:subClassOf schema:CivicStructure ; . schema:MusicAlbum a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A collection of music tracks."^^rdf:HTML ; rdfs:label "Music album" ; rdfs:subClassOf schema:MusicPlaylist ; sh:property schema:MusicAlbum-albumProductionType ; sh:property schema:MusicAlbum-albumRelease ; sh:property schema:MusicAlbum-albumReleaseType ; sh:property schema:MusicAlbum-byArtist ; . schema:MusicAlbum-albumProductionType a sh:PropertyShape ; sh:path schema:albumProductionType ; sh:class schema:MusicAlbumProductionType ; sh:description "Classification of the album by it's type of content: soundtrack, live album, studio album, etc."^^rdf:HTML ; sh:name "albumProductionType" ; . schema:MusicAlbum-albumRelease a sh:PropertyShape ; sh:path schema:albumRelease ; sh:class schema:MusicRelease ; sh:description "A release of this album."^^rdf:HTML ; sh:name "albumRelease" ; . schema:MusicAlbum-albumReleaseType a sh:PropertyShape ; sh:path schema:albumReleaseType ; sh:class schema:MusicAlbumReleaseType ; sh:description "The kind of release which this album is: single, EP or album."^^rdf:HTML ; sh:name "albumReleaseType" ; . schema:MusicAlbum-byArtist a sh:PropertyShape ; sh:path schema:byArtist ; sh:description "The artist that performed this album or recording."^^rdf:HTML ; sh:name "byArtist" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:MusicAlbumProductionType a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Classification of the album by it's type of content: soundtrack, live album, studio album, etc."^^rdf:HTML ; rdfs:label "Music album production type" ; rdfs:subClassOf schema:Enumeration ; . schema:MusicAlbumReleaseType a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The kind of release which this album is: single, EP or album."^^rdf:HTML ; rdfs:label "Music album release type" ; rdfs:subClassOf schema:Enumeration ; . schema:MusicComposition a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A musical composition."^^rdf:HTML ; rdfs:label "Music composition" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:MusicComposition-composer ; sh:property schema:MusicComposition-firstPerformance ; sh:property schema:MusicComposition-includedComposition ; sh:property schema:MusicComposition-iswcCode ; sh:property schema:MusicComposition-lyricist ; sh:property schema:MusicComposition-lyrics ; sh:property schema:MusicComposition-musicArrangement ; sh:property schema:MusicComposition-musicCompositionForm ; sh:property schema:MusicComposition-musicalKey ; sh:property schema:MusicComposition-recordedAs ; . schema:MusicComposition-composer a sh:PropertyShape ; sh:path schema:composer ; sh:description "The person or organization who wrote a composition, or who is the composer of a work performed at some event."^^rdf:HTML ; sh:name "composer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:MusicComposition-firstPerformance a sh:PropertyShape ; sh:path schema:firstPerformance ; sh:class schema:Event ; sh:description "The date and place the work was first performed."^^rdf:HTML ; sh:name "firstPerformance" ; . schema:MusicComposition-includedComposition a sh:PropertyShape ; sh:path schema:includedComposition ; sh:class schema:MusicComposition ; sh:description "Smaller compositions included in this work (e.g. a movement in a symphony)."^^rdf:HTML ; sh:name "includedComposition" ; . schema:MusicComposition-iswcCode a sh:PropertyShape ; sh:path schema:iswcCode ; sh:datatype xsd:string ; sh:description "The International Standard Musical Work Code for the composition."^^rdf:HTML ; sh:name "iswcCode" ; . schema:MusicComposition-lyricist a sh:PropertyShape ; sh:path schema:lyricist ; sh:class schema:Person ; sh:description "The person who wrote the words."^^rdf:HTML ; sh:name "lyricist" ; . schema:MusicComposition-lyrics a sh:PropertyShape ; sh:path schema:lyrics ; sh:class schema:CreativeWork ; sh:description "The words in the song."^^rdf:HTML ; sh:name "lyrics" ; . schema:MusicComposition-musicArrangement a sh:PropertyShape ; sh:path schema:musicArrangement ; sh:class schema:MusicComposition ; sh:description "An arrangement derived from the composition."^^rdf:HTML ; sh:name "musicArrangement" ; . schema:MusicComposition-musicCompositionForm a sh:PropertyShape ; sh:path schema:musicCompositionForm ; sh:datatype xsd:string ; sh:description "The type of composition (e.g. overture, sonata, symphony, etc.)."^^rdf:HTML ; sh:name "musicCompositionForm" ; . schema:MusicComposition-musicalKey a sh:PropertyShape ; sh:path schema:musicalKey ; sh:datatype xsd:string ; sh:description "The key, mode, or scale this composition uses."^^rdf:HTML ; sh:name "musicalKey" ; . schema:MusicComposition-recordedAs a sh:PropertyShape ; sh:path schema:recordedAs ; sh:class schema:MusicRecording ; sh:description "An audio recording of the work."^^rdf:HTML ; sh:name "recordedAs" ; . schema:MusicEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Music event."^^rdf:HTML ; rdfs:label "Music event" ; rdfs:subClassOf schema:Event ; . schema:MusicGroup a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A musical group, such as a band, an orchestra, or a choir. Can also be a solo musician."^^rdf:HTML ; rdfs:label "Music group" ; rdfs:subClassOf schema:PerformingGroup ; sh:property schema:MusicGroup-album ; sh:property schema:MusicGroup-albums ; sh:property schema:MusicGroup-genre ; sh:property schema:MusicGroup-musicGroupMember ; sh:property schema:MusicGroup-track ; sh:property schema:MusicGroup-tracks ; . schema:MusicGroup-album a sh:PropertyShape ; sh:path schema:album ; sh:class schema:MusicAlbum ; sh:description "A music album."^^rdf:HTML ; sh:name "album" ; . schema:MusicGroup-albums a sh:PropertyShape ; sh:path schema:albums ; sh:class schema:MusicAlbum ; sh:description "A collection of music albums."^^rdf:HTML ; sh:name "albums" ; . schema:MusicGroup-genre a sh:PropertyShape ; sh:path schema:genre ; sh:description "Genre of the creative work, broadcast channel or group."^^rdf:HTML ; sh:name "genre" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:MusicGroup-musicGroupMember a sh:PropertyShape ; sh:path schema:musicGroupMember ; sh:class schema:Person ; sh:description "A member of a music group—for example, John, Paul, George, or Ringo."^^rdf:HTML ; sh:name "musicGroupMember" ; . schema:MusicGroup-track a sh:PropertyShape ; sh:path schema:track ; sh:description "A music recording (track)—usually a single song. If an ItemList is given, the list should contain items of type MusicRecording."^^rdf:HTML ; sh:name "track" ; sh:or ( [ sh:class schema:ItemList ; ] [ sh:class schema:MusicRecording ; ] ) ; . schema:MusicGroup-tracks a sh:PropertyShape ; sh:path schema:tracks ; sh:class schema:MusicRecording ; sh:description "A music recording (track)—usually a single song."^^rdf:HTML ; sh:name "tracks" ; . schema:MusicPlaylist a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A collection of music tracks in playlist form."^^rdf:HTML ; rdfs:label "Music playlist" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:MusicPlaylist-numTracks ; sh:property schema:MusicPlaylist-track ; sh:property schema:MusicPlaylist-tracks ; . schema:MusicPlaylist-numTracks a sh:PropertyShape ; sh:path schema:numTracks ; sh:datatype xsd:integer ; sh:description "The number of tracks in this album or playlist."^^rdf:HTML ; sh:name "numTracks" ; . schema:MusicPlaylist-track a sh:PropertyShape ; sh:path schema:track ; sh:description "A music recording (track)—usually a single song. If an ItemList is given, the list should contain items of type MusicRecording."^^rdf:HTML ; sh:name "track" ; sh:or ( [ sh:class schema:ItemList ; ] [ sh:class schema:MusicRecording ; ] ) ; . schema:MusicPlaylist-tracks a sh:PropertyShape ; sh:path schema:tracks ; sh:class schema:MusicRecording ; sh:description "A music recording (track)—usually a single song."^^rdf:HTML ; sh:name "tracks" ; . schema:MusicRecording a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A music recording (track), usually a single song."^^rdf:HTML ; rdfs:label "Music recording" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:MusicRecording-byArtist ; sh:property schema:MusicRecording-duration ; sh:property schema:MusicRecording-inAlbum ; sh:property schema:MusicRecording-inPlaylist ; sh:property schema:MusicRecording-isrcCode ; sh:property schema:MusicRecording-recordingOf ; . schema:MusicRecording-byArtist a sh:PropertyShape ; sh:path schema:byArtist ; sh:description "The artist that performed this album or recording."^^rdf:HTML ; sh:name "byArtist" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:MusicRecording-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:MusicRecording-inAlbum a sh:PropertyShape ; sh:path schema:inAlbum ; sh:class schema:MusicAlbum ; sh:description "The album to which this recording belongs."^^rdf:HTML ; sh:name "inAlbum" ; . schema:MusicRecording-inPlaylist a sh:PropertyShape ; sh:path schema:inPlaylist ; sh:class schema:MusicPlaylist ; sh:description "The playlist to which this recording belongs."^^rdf:HTML ; sh:name "inPlaylist" ; . schema:MusicRecording-isrcCode a sh:PropertyShape ; sh:path schema:isrcCode ; sh:datatype xsd:string ; sh:description "The International Standard Recording Code for the recording."^^rdf:HTML ; sh:name "isrcCode" ; . schema:MusicRecording-recordingOf a sh:PropertyShape ; sh:path schema:recordingOf ; sh:class schema:MusicComposition ; sh:description "The composition this track is a recording of."^^rdf:HTML ; sh:name "recordingOf" ; . schema:MusicRelease a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A MusicRelease is a specific release of a music album."^^rdf:HTML ; rdfs:label "Music release" ; rdfs:subClassOf schema:MusicPlaylist ; sh:property schema:MusicRelease-catalogNumber ; sh:property schema:MusicRelease-creditedTo ; sh:property schema:MusicRelease-duration ; sh:property schema:MusicRelease-musicReleaseFormat ; sh:property schema:MusicRelease-recordLabel ; sh:property schema:MusicRelease-releaseOf ; . schema:MusicRelease-catalogNumber a sh:PropertyShape ; sh:path schema:catalogNumber ; sh:datatype xsd:string ; sh:description "The catalog number for the release."^^rdf:HTML ; sh:name "catalogNumber" ; . schema:MusicRelease-creditedTo a sh:PropertyShape ; sh:path schema:creditedTo ; sh:description "The group the release is credited to if different than the byArtist. For example, Red and Blue is credited to \"Stefani Germanotta Band\", but by Lady Gaga."^^rdf:HTML ; sh:name "creditedTo" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:MusicRelease-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:MusicRelease-musicReleaseFormat a sh:PropertyShape ; sh:path schema:musicReleaseFormat ; sh:class schema:MusicReleaseFormatType ; sh:description "Format of this release (the type of recording media used, ie. compact disc, digital media, LP, etc.)."^^rdf:HTML ; sh:name "musicReleaseFormat" ; . schema:MusicRelease-recordLabel a sh:PropertyShape ; sh:path schema:recordLabel ; sh:class schema:Organization ; sh:description "The label that issued the release."^^rdf:HTML ; sh:name "recordLabel" ; . schema:MusicRelease-releaseOf a sh:PropertyShape ; sh:path schema:releaseOf ; sh:class schema:MusicAlbum ; sh:description "The album this is a release of."^^rdf:HTML ; sh:name "releaseOf" ; . schema:MusicReleaseFormatType a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Format of this release (the type of recording media used, ie. compact disc, digital media, LP, etc.)."^^rdf:HTML ; rdfs:label "Music release format type" ; rdfs:subClassOf schema:Enumeration ; . schema:MusicStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A music store."^^rdf:HTML ; rdfs:label "Music store" ; rdfs:subClassOf schema:Store ; . schema:MusicVenue a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A music venue."^^rdf:HTML ; rdfs:label "Music venue" ; rdfs:subClassOf schema:CivicStructure ; . schema:MusicVideoObject a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A music video file."^^rdf:HTML ; rdfs:label "Music video object" ; rdfs:subClassOf schema:MediaObject ; . schema:NGO a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Organization: Non-governmental Organization."^^rdf:HTML ; rdfs:label "NGO" ; rdfs:subClassOf schema:Organization ; . schema:NLNonprofitType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "NLNonprofitType: Non-profit organization type originating from the Netherlands."^^rdf:HTML ; rdfs:label "NLNonprofit type" ; rdfs:subClassOf schema:NonprofitType ; . schema:NailSalon a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A nail salon."^^rdf:HTML ; rdfs:label "Nail salon" ; rdfs:subClassOf schema:HealthAndBeautyBusiness ; . schema:Neck a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Neck assessment with clinical examination." ; rdfs:label "Neck" ; . schema:Nerve a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A common pathway for the electrochemical nerve impulses that are transmitted along each of the axons."^^rdf:HTML ; rdfs:label "Nerve" ; rdfs:subClassOf schema:AnatomicalStructure ; sh:property schema:Nerve-branch ; sh:property schema:Nerve-nerveMotor ; sh:property schema:Nerve-sensoryUnit ; sh:property schema:Nerve-sourcedFrom ; . schema:Nerve-branch a sh:PropertyShape ; sh:path schema:branch ; sh:class schema:AnatomicalStructure ; sh:description "The branches that delineate from the nerve bundle. Not to be confused with [[branchOf]]."^^rdf:HTML ; sh:name "branch" ; . schema:Nerve-nerveMotor a sh:PropertyShape ; sh:path schema:nerveMotor ; sh:class schema:Muscle ; sh:description "The neurological pathway extension that involves muscle control."^^rdf:HTML ; sh:name "nerveMotor" ; . schema:Nerve-sensoryUnit a sh:PropertyShape ; sh:path schema:sensoryUnit ; sh:description "The neurological pathway extension that inputs and sends information to the brain or spinal cord."^^rdf:HTML ; sh:name "sensoryUnit" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:SuperficialAnatomy ; ] ) ; . schema:Nerve-sourcedFrom a sh:PropertyShape ; sh:path schema:sourcedFrom ; sh:class schema:BrainStructure ; sh:description "The neurological pathway that originates the neurons."^^rdf:HTML ; sh:name "sourcedFrom" ; . schema:Neuro a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Neurological system clinical examination." ; rdfs:label "Neuro" ; . schema:Neurologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that studies the nerves and nervous system and its respective disease states." ; rdfs:label "Neurologic" ; . schema:NewCondition a schema:OfferItemCondition ; rdfs:comment "Indicates that the item is new." ; rdfs:label "New condition" ; . schema:NewsArticle a rdfs:Class ; a sh:NodeShape ; schema:source ; schema:source ; rdfs:comment """A NewsArticle is an article whose content reports news, or provides background context and supporting materials for understanding the news. A more detailed overview of [schema.org News markup](/docs/news.html) is also available. """^^rdf:HTML ; rdfs:label "News article" ; rdfs:subClassOf schema:Article ; sh:property schema:NewsArticle-dateline ; sh:property schema:NewsArticle-printColumn ; sh:property schema:NewsArticle-printEdition ; sh:property schema:NewsArticle-printPage ; sh:property schema:NewsArticle-printSection ; . schema:NewsArticle-dateline a sh:PropertyShape ; sh:path schema:dateline ; sh:datatype xsd:string ; sh:description """A [dateline](https://en.wikipedia.org/wiki/Dateline) is a brief piece of text included in news articles that describes where and when the story was written or filed though the date is often omitted. Sometimes only a placename is provided. Structured representations of dateline-related information can also be expressed more explicitly using [[locationCreated]] (which represents where a work was created e.g. where a news report was written). For location depicted or described in the content, use [[contentLocation]]. Dateline summaries are oriented more towards human readers than towards automated processing, and can vary substantially. Some examples: \"BEIRUT, Lebanon, June 2.\", \"Paris, France\", \"December 19, 2017 11:43AM Reporting from Washington\", \"Beijing/Moscow\", \"QUEZON CITY, Philippines\". """^^rdf:HTML ; sh:name "dateline" ; . schema:NewsArticle-printColumn a sh:PropertyShape ; sh:path schema:printColumn ; sh:datatype xsd:string ; sh:description "The number of the column in which the NewsArticle appears in the print edition."^^rdf:HTML ; sh:name "printColumn" ; . schema:NewsArticle-printEdition a sh:PropertyShape ; sh:path schema:printEdition ; sh:datatype xsd:string ; sh:description "The edition of the print product in which the NewsArticle appears."^^rdf:HTML ; sh:name "printEdition" ; . schema:NewsArticle-printPage a sh:PropertyShape ; sh:path schema:printPage ; sh:datatype xsd:string ; sh:description "If this NewsArticle appears in print, this field indicates the name of the page on which the article is found. Please note that this field is intended for the exact page name (e.g. A5, B18)."^^rdf:HTML ; sh:name "printPage" ; . schema:NewsArticle-printSection a sh:PropertyShape ; sh:path schema:printSection ; sh:datatype xsd:string ; sh:description "If this NewsArticle appears in print, this field indicates the print section in which the article appeared."^^rdf:HTML ; sh:name "printSection" ; . schema:NewsMediaOrganization a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A News/Media organization such as a newspaper or TV station."^^rdf:HTML ; rdfs:label "News media organization" ; rdfs:subClassOf schema:Organization ; sh:property schema:NewsMediaOrganization-actionableFeedbackPolicy ; sh:property schema:NewsMediaOrganization-correctionsPolicy ; sh:property schema:NewsMediaOrganization-diversityPolicy ; sh:property schema:NewsMediaOrganization-diversityStaffingReport ; sh:property schema:NewsMediaOrganization-ethicsPolicy ; sh:property schema:NewsMediaOrganization-masthead ; sh:property schema:NewsMediaOrganization-missionCoveragePrioritiesPolicy ; sh:property schema:NewsMediaOrganization-noBylinesPolicy ; sh:property schema:NewsMediaOrganization-ownershipFundingInfo ; sh:property schema:NewsMediaOrganization-unnamedSourcesPolicy ; sh:property schema:NewsMediaOrganization-verificationFactCheckingPolicy ; . schema:NewsMediaOrganization-actionableFeedbackPolicy a sh:PropertyShape ; sh:path schema:actionableFeedbackPolicy ; sh:description "For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication."^^rdf:HTML ; sh:name "actionableFeedbackPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-correctionsPolicy a sh:PropertyShape ; sh:path schema:correctionsPolicy ; sh:description "For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors."^^rdf:HTML ; sh:name "correctionsPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-diversityPolicy a sh:PropertyShape ; sh:path schema:diversityPolicy ; sh:description "Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data."^^rdf:HTML ; sh:name "diversityPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-diversityStaffingReport a sh:PropertyShape ; sh:path schema:diversityStaffingReport ; sh:description "For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported."^^rdf:HTML ; sh:name "diversityStaffingReport" ; sh:or ( [ sh:class schema:Article ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-ethicsPolicy a sh:PropertyShape ; sh:path schema:ethicsPolicy ; sh:description "Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization."^^rdf:HTML ; sh:name "ethicsPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-masthead a sh:PropertyShape ; sh:path schema:masthead ; sh:description "For a [[NewsMediaOrganization]], a link to the masthead page or a page listing top editorial management."^^rdf:HTML ; sh:name "masthead" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-missionCoveragePrioritiesPolicy a sh:PropertyShape ; sh:path schema:missionCoveragePrioritiesPolicy ; sh:description "For a [[NewsMediaOrganization]], a statement on coverage priorities, including any public agenda or stance on issues."^^rdf:HTML ; sh:name "missionCoveragePrioritiesPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-noBylinesPolicy a sh:PropertyShape ; sh:path schema:noBylinesPolicy ; sh:description "For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement explaining when authors of articles are not named in bylines."^^rdf:HTML ; sh:name "noBylinesPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-ownershipFundingInfo a sh:PropertyShape ; sh:path schema:ownershipFundingInfo ; sh:description "For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable."^^rdf:HTML ; sh:name "ownershipFundingInfo" ; sh:or ( [ sh:class schema:AboutPage ; ] [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:NewsMediaOrganization-unnamedSourcesPolicy a sh:PropertyShape ; sh:path schema:unnamedSourcesPolicy ; sh:description "For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required."^^rdf:HTML ; sh:name "unnamedSourcesPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:NewsMediaOrganization-verificationFactCheckingPolicy a sh:PropertyShape ; sh:path schema:verificationFactCheckingPolicy ; sh:description "Disclosure about verification and fact-checking processes for a [[NewsMediaOrganization]] or other fact-checking [[Organization]]."^^rdf:HTML ; sh:name "verificationFactCheckingPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Newspaper a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A publication containing information about varied topics that are pertinent to general information, a geographic area, or a specific subject matter (i.e. business, culture, education). Often published daily."^^rdf:HTML ; rdfs:label "Newspaper" ; rdfs:subClassOf schema:Periodical ; . schema:NightClub a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A nightclub or discotheque."^^rdf:HTML ; rdfs:label "Night club" ; rdfs:subClassOf schema:EntertainmentBusiness ; . schema:NoninvasiveProcedure a schema:MedicalProcedureType ; schema:isPartOf ; rdfs:comment "A type of medical procedure that involves noninvasive techniques." ; rdfs:label "Noninvasive procedure" ; . schema:Nonprofit501a a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501a: Non-profit type referring to Farmers’ Cooperative Associations." ; rdfs:label "Nonprofit501a" ; . schema:Nonprofit501c1 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c1: Non-profit type referring to Corporations Organized Under Act of Congress, including Federal Credit Unions and National Farm Loan Associations." ; rdfs:label "Nonprofit501c1" ; . schema:Nonprofit501c10 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c10: Non-profit type referring to Domestic Fraternal Societies and Associations." ; rdfs:label "Nonprofit501c10" ; . schema:Nonprofit501c11 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c11: Non-profit type referring to Teachers' Retirement Fund Associations." ; rdfs:label "Nonprofit501c11" ; . schema:Nonprofit501c12 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c12: Non-profit type referring to Benevolent Life Insurance Associations, Mutual Ditch or Irrigation Companies, Mutual or Cooperative Telephone Companies." ; rdfs:label "Nonprofit501c12" ; . schema:Nonprofit501c13 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c13: Non-profit type referring to Cemetery Companies." ; rdfs:label "Nonprofit501c13" ; . schema:Nonprofit501c14 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c14: Non-profit type referring to State-Chartered Credit Unions, Mutual Reserve Funds." ; rdfs:label "Nonprofit501c14" ; . schema:Nonprofit501c15 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c15: Non-profit type referring to Mutual Insurance Companies or Associations." ; rdfs:label "Nonprofit501c15" ; . schema:Nonprofit501c16 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c16: Non-profit type referring to Cooperative Organizations to Finance Crop Operations." ; rdfs:label "Nonprofit501c16" ; . schema:Nonprofit501c17 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c17: Non-profit type referring to Supplemental Unemployment Benefit Trusts." ; rdfs:label "Nonprofit501c17" ; . schema:Nonprofit501c18 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c18: Non-profit type referring to Employee Funded Pension Trust (created before 25 June 1959)." ; rdfs:label "Nonprofit501c18" ; . schema:Nonprofit501c19 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c19: Non-profit type referring to Post or Organization of Past or Present Members of the Armed Forces." ; rdfs:label "Nonprofit501c19" ; . schema:Nonprofit501c2 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c2: Non-profit type referring to Title-holding Corporations for Exempt Organizations." ; rdfs:label "Nonprofit501c2" ; . schema:Nonprofit501c20 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c20: Non-profit type referring to Group Legal Services Plan Organizations." ; rdfs:label "Nonprofit501c20" ; . schema:Nonprofit501c21 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c21: Non-profit type referring to Black Lung Benefit Trusts." ; rdfs:label "Nonprofit501c21" ; . schema:Nonprofit501c22 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c22: Non-profit type referring to Withdrawal Liability Payment Funds." ; rdfs:label "Nonprofit501c22" ; . schema:Nonprofit501c23 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c23: Non-profit type referring to Veterans Organizations." ; rdfs:label "Nonprofit501c23" ; . schema:Nonprofit501c24 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c24: Non-profit type referring to Section 4049 ERISA Trusts." ; rdfs:label "Nonprofit501c24" ; . schema:Nonprofit501c25 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c25: Non-profit type referring to Real Property Title-Holding Corporations or Trusts with Multiple Parents." ; rdfs:label "Nonprofit501c25" ; . schema:Nonprofit501c26 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c26: Non-profit type referring to State-Sponsored Organizations Providing Health Coverage for High-Risk Individuals." ; rdfs:label "Nonprofit501c26" ; . schema:Nonprofit501c27 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c27: Non-profit type referring to State-Sponsored Workers' Compensation Reinsurance Organizations." ; rdfs:label "Nonprofit501c27" ; . schema:Nonprofit501c28 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c28: Non-profit type referring to National Railroad Retirement Investment Trusts." ; rdfs:label "Nonprofit501c28" ; . schema:Nonprofit501c3 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c3: Non-profit type referring to Religious, Educational, Charitable, Scientific, Literary, Testing for Public Safety, to Foster National or International Amateur Sports Competition, or Prevention of Cruelty to Children or Animals Organizations." ; rdfs:label "Nonprofit501c3" ; . schema:Nonprofit501c4 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c4: Non-profit type referring to Civic Leagues, Social Welfare Organizations, and Local Associations of Employees." ; rdfs:label "Nonprofit501c4" ; . schema:Nonprofit501c5 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c5: Non-profit type referring to Labor, Agricultural and Horticultural Organizations." ; rdfs:label "Nonprofit501c5" ; . schema:Nonprofit501c6 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c6: Non-profit type referring to Business Leagues, Chambers of Commerce, Real Estate Boards." ; rdfs:label "Nonprofit501c6" ; . schema:Nonprofit501c7 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c7: Non-profit type referring to Social and Recreational Clubs." ; rdfs:label "Nonprofit501c7" ; . schema:Nonprofit501c8 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c8: Non-profit type referring to Fraternal Beneficiary Societies and Associations." ; rdfs:label "Nonprofit501c8" ; . schema:Nonprofit501c9 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501c9: Non-profit type referring to Voluntary Employee Beneficiary Associations." ; rdfs:label "Nonprofit501c9" ; . schema:Nonprofit501d a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501d: Non-profit type referring to Religious and Apostolic Associations." ; rdfs:label "Nonprofit501d" ; . schema:Nonprofit501e a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501e: Non-profit type referring to Cooperative Hospital Service Organizations." ; rdfs:label "Nonprofit501e" ; . schema:Nonprofit501f a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501f: Non-profit type referring to Cooperative Service Organizations." ; rdfs:label "Nonprofit501f" ; . schema:Nonprofit501k a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501k: Non-profit type referring to Child Care Organizations." ; rdfs:label "Nonprofit501k" ; . schema:Nonprofit501n a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501n: Non-profit type referring to Charitable Risk Pools." ; rdfs:label "Nonprofit501n" ; . schema:Nonprofit501q a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit501q: Non-profit type referring to Credit Counseling Organizations." ; rdfs:label "Nonprofit501q" ; . schema:Nonprofit527 a schema:USNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "Nonprofit527: Non-profit type referring to Political organizations." ; rdfs:label "Nonprofit527" ; . schema:NonprofitANBI a schema:NLNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "NonprofitANBI: Non-profit type referring to a Public Benefit Organization (NL)." ; rdfs:label "Nonprofit ANBI" ; . schema:NonprofitSBBI a schema:NLNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "NonprofitSBBI: Non-profit type referring to a Social Interest Promoting Institution (NL)." ; rdfs:label "Nonprofit SBBI" ; . schema:NonprofitType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "NonprofitType enumerates several kinds of official non-profit types of which a non-profit organization can be."^^rdf:HTML ; rdfs:label "Nonprofit type" ; rdfs:subClassOf schema:Enumeration ; . schema:Nose a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Nose function assessment with clinical examination." ; rdfs:label "Nose" ; . schema:NotInForce a schema:LegalForceStatus ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "Indicates that a legislation is currently not in force." ; rdfs:label "Not in force" ; . schema:NotYetRecruiting a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Not yet recruiting." ; rdfs:label "Not yet recruiting" ; . schema:Notary a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A notary."^^rdf:HTML ; rdfs:label "Notary" ; rdfs:subClassOf schema:LegalService ; . schema:NoteDigitalDocument a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A file containing a note, primarily for the author."^^rdf:HTML ; rdfs:label "Note digital document" ; rdfs:subClassOf schema:DigitalDocument ; . schema:Number a schema:DataType ; a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Data type: Number.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; rdfs:label "Number" ; rdfs:subClassOf rdfs:Resource ; . schema:Nursing a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A health profession of a person formally educated and trained in the care of the sick or infirm person." ; rdfs:label "Nursing" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:NutritionInformation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Nutritional information about the recipe."^^rdf:HTML ; rdfs:label "Nutrition information" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:NutritionInformation-calories ; sh:property schema:NutritionInformation-carbohydrateContent ; sh:property schema:NutritionInformation-cholesterolContent ; sh:property schema:NutritionInformation-fatContent ; sh:property schema:NutritionInformation-fiberContent ; sh:property schema:NutritionInformation-proteinContent ; sh:property schema:NutritionInformation-saturatedFatContent ; sh:property schema:NutritionInformation-servingSize ; sh:property schema:NutritionInformation-sodiumContent ; sh:property schema:NutritionInformation-sugarContent ; sh:property schema:NutritionInformation-transFatContent ; sh:property schema:NutritionInformation-unsaturatedFatContent ; . schema:NutritionInformation-calories a sh:PropertyShape ; sh:path schema:calories ; sh:datatype xsd:string ; sh:description "The number of calories."^^rdf:HTML ; sh:name "calories" ; . schema:NutritionInformation-carbohydrateContent a sh:PropertyShape ; sh:path schema:carbohydrateContent ; sh:datatype xsd:string ; sh:description "The number of grams of carbohydrates."^^rdf:HTML ; sh:name "carbohydrateContent" ; . schema:NutritionInformation-cholesterolContent a sh:PropertyShape ; sh:path schema:cholesterolContent ; sh:datatype xsd:string ; sh:description "The number of milligrams of cholesterol."^^rdf:HTML ; sh:name "cholesterolContent" ; . schema:NutritionInformation-fatContent a sh:PropertyShape ; sh:path schema:fatContent ; sh:datatype xsd:string ; sh:description "The number of grams of fat."^^rdf:HTML ; sh:name "fatContent" ; . schema:NutritionInformation-fiberContent a sh:PropertyShape ; sh:path schema:fiberContent ; sh:datatype xsd:string ; sh:description "The number of grams of fiber."^^rdf:HTML ; sh:name "fiberContent" ; . schema:NutritionInformation-proteinContent a sh:PropertyShape ; sh:path schema:proteinContent ; sh:datatype xsd:string ; sh:description "The number of grams of protein."^^rdf:HTML ; sh:name "proteinContent" ; . schema:NutritionInformation-saturatedFatContent a sh:PropertyShape ; sh:path schema:saturatedFatContent ; sh:datatype xsd:string ; sh:description "The number of grams of saturated fat."^^rdf:HTML ; sh:name "saturatedFatContent" ; . schema:NutritionInformation-servingSize a sh:PropertyShape ; sh:path schema:servingSize ; sh:datatype xsd:string ; sh:description "The serving size, in terms of the number of volume or mass."^^rdf:HTML ; sh:name "servingSize" ; . schema:NutritionInformation-sodiumContent a sh:PropertyShape ; sh:path schema:sodiumContent ; sh:datatype xsd:string ; sh:description "The number of milligrams of sodium."^^rdf:HTML ; sh:name "sodiumContent" ; . schema:NutritionInformation-sugarContent a sh:PropertyShape ; sh:path schema:sugarContent ; sh:datatype xsd:string ; sh:description "The number of grams of sugar."^^rdf:HTML ; sh:name "sugarContent" ; . schema:NutritionInformation-transFatContent a sh:PropertyShape ; sh:path schema:transFatContent ; sh:datatype xsd:string ; sh:description "The number of grams of trans fat."^^rdf:HTML ; sh:name "transFatContent" ; . schema:NutritionInformation-unsaturatedFatContent a sh:PropertyShape ; sh:path schema:unsaturatedFatContent ; sh:datatype xsd:string ; sh:description "The number of grams of unsaturated fat."^^rdf:HTML ; sh:name "unsaturatedFatContent" ; . schema:OTC a schema:DrugPrescriptionStatus ; schema:isPartOf ; rdfs:comment "The character of a medical substance, typically a medicine, of being available over the counter or not." ; rdfs:label "OTC" ; . schema:Observation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """Instances of the class [[Observation]] are used to specify observations about an entity (which may or may not be an instance of a [[StatisticalPopulation]]), at a particular time. The principal properties of an [[Observation]] are [[observedNode]], [[measuredProperty]], [[measuredValue]] (or [[median]], etc.) and [[observationDate]] ([[measuredProperty]] properties can, but need not always, be W3C RDF Data Cube \"measure properties\", as in the [lifeExpectancy example](https://www.w3.org/TR/vocab-data-cube/#dsd-example)). See also [[StatisticalPopulation]], and the [data and datasets](/docs/data-and-datasets.html) overview for more details. """^^rdf:HTML ; rdfs:label "Observation" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Observation-marginOfError ; sh:property schema:Observation-measuredProperty ; sh:property schema:Observation-measuredValue ; sh:property schema:Observation-observationDate ; sh:property schema:Observation-observedNode ; . schema:Observation-marginOfError a sh:PropertyShape ; sh:path schema:marginOfError ; sh:class schema:QuantitativeValue ; sh:description "A marginOfError for an [[Observation]]."^^rdf:HTML ; sh:name "marginOfError" ; . schema:Observation-measuredProperty a sh:PropertyShape ; sh:path schema:measuredProperty ; sh:class rdf:Property ; sh:description "The measuredProperty of an [[Observation]], either a schema.org property, a property from other RDF-compatible systems e.g. W3C RDF Data Cube, or schema.org extensions such as [GS1's](https://www.gs1.org/voc/?show=properties)."^^rdf:HTML ; sh:name "measuredProperty" ; . schema:Observation-measuredValue a sh:PropertyShape ; sh:path schema:measuredValue ; sh:class schema:DataType ; sh:description "The measuredValue of an [[Observation]]."^^rdf:HTML ; sh:name "measuredValue" ; . schema:Observation-observationDate a sh:PropertyShape ; sh:path schema:observationDate ; sh:datatype xsd:dateTime ; sh:description "The observationDate of an [[Observation]]."^^rdf:HTML ; sh:name "observationDate" ; . schema:Observation-observedNode a sh:PropertyShape ; sh:path schema:observedNode ; sh:class schema:StatisticalPopulation ; sh:description "The observedNode of an [[Observation]], often a [[StatisticalPopulation]]."^^rdf:HTML ; sh:name "observedNode" ; . schema:Observational a schema:MedicalObservationalStudyDesign ; schema:isPartOf ; rdfs:comment "An observational study design." ; rdfs:label "Observational" ; . schema:Obstetric a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that specializes in the care of women during the prenatal and postnatal care and with the delivery of the child." ; rdfs:label "Obstetric" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:Occupation a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A profession, may involve prolonged training and/or a formal qualification."^^rdf:HTML ; rdfs:label "Occupation" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Occupation-educationRequirements ; sh:property schema:Occupation-estimatedSalary ; sh:property schema:Occupation-experienceRequirements ; sh:property schema:Occupation-occupationLocation ; sh:property schema:Occupation-occupationalCategory ; sh:property schema:Occupation-qualifications ; sh:property schema:Occupation-responsibilities ; sh:property schema:Occupation-skills ; . schema:Occupation-educationRequirements a sh:PropertyShape ; sh:path schema:educationRequirements ; sh:description "Educational background needed for the position or Occupation."^^rdf:HTML ; sh:name "educationRequirements" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Occupation-estimatedSalary a sh:PropertyShape ; sh:path schema:estimatedSalary ; sh:description "An estimated salary for a job posting or occupation, based on a variety of variables including, but not limited to industry, job title, and location. Estimated salaries are often computed by outside organizations rather than the hiring organization, who may not have committed to the estimated value."^^rdf:HTML ; sh:name "estimatedSalary" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:MonetaryAmountDistribution ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Occupation-experienceRequirements a sh:PropertyShape ; sh:path schema:experienceRequirements ; sh:description "Description of skills and experience needed for the position or Occupation."^^rdf:HTML ; sh:name "experienceRequirements" ; sh:or ( [ sh:class schema:OccupationalExperienceRequirements ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Occupation-occupationLocation a sh:PropertyShape ; sh:path schema:occupationLocation ; sh:class schema:AdministrativeArea ; sh:description " The region/country for which this occupational description is appropriate. Note that educational requirements and qualifications can vary between jurisdictions."^^rdf:HTML ; sh:name "occupationLocation" ; . schema:Occupation-occupationalCategory a sh:PropertyShape ; sh:path schema:occupationalCategory ; sh:description """A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\\n Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC."""^^rdf:HTML ; sh:name "occupationalCategory" ; sh:or ( [ sh:class schema:CategoryCode ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Occupation-qualifications a sh:PropertyShape ; sh:path schema:qualifications ; sh:description "Specific qualifications required for this role or Occupation."^^rdf:HTML ; sh:name "qualifications" ; sh:or ( [ sh:class schema:EducationalOccupationalCredential ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Occupation-responsibilities a sh:PropertyShape ; sh:path schema:responsibilities ; sh:datatype xsd:string ; sh:description "Responsibilities associated with this role or Occupation."^^rdf:HTML ; sh:name "responsibilities" ; . schema:Occupation-skills a sh:PropertyShape ; sh:path schema:skills ; sh:description "A statement of knowledge, skill, ability, task or any other assertion expressing a competency that is desired or required to fulfill this role or to work in this occupation."^^rdf:HTML ; sh:name "skills" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:OccupationalActivity a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Any physical activity engaged in for job-related purposes. Examples may include waiting tables, maid service, carrying a mailbag, picking fruits or vegetables, construction work, etc." ; rdfs:label "Occupational activity" ; . schema:OccupationalExperienceRequirements a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Indicates employment-related experience requirements, e.g. [[monthsOfExperience]]."^^rdf:HTML ; rdfs:label "Occupational experience requirements" ; rdfs:subClassOf schema:Intangible ; sh:property schema:OccupationalExperienceRequirements-monthsOfExperience ; . schema:OccupationalExperienceRequirements-monthsOfExperience a sh:PropertyShape ; sh:path schema:monthsOfExperience ; sh:datatype xsd:float ; sh:description "Indicates the minimal number of months of experience required for a position."^^rdf:HTML ; sh:name "monthsOfExperience" ; . schema:OccupationalTherapy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A treatment of people with physical, emotional, or social problems, using purposeful activity to help them overcome or learn to deal with their problems."^^rdf:HTML ; rdfs:label "Occupational therapy" ; rdfs:subClassOf schema:MedicalTherapy ; . schema:OceanBodyOfWater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An ocean (for example, the Pacific)."^^rdf:HTML ; rdfs:label "Ocean body of water" ; rdfs:subClassOf schema:BodyOfWater ; . schema:Offer a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An offer to transfer some rights to an item or to provide a service — for example, an offer to sell tickets to an event, to rent the DVD of a movie, to stream a TV show over the internet, to repair a motorcycle, or to loan a book.\\n\\nNote: As the [[businessFunction]] property, which identifies the form of offer (e.g. sell, lease, repair, dispose), defaults to http://purl.org/goodrelations/v1#Sell; an Offer without a defined businessFunction value can be assumed to be an offer to sell.\\n\\nFor [GTIN](http://www.gs1.org/barcodes/technical/idkeys/gtin)-related fields, see [Check Digit calculator](http://www.gs1.org/barcodes/support/check_digit_calculator) and [validation guide](http://www.gs1us.org/resources/standards/gtin-validation-guide) from [GS1](http://www.gs1.org/)."^^rdf:HTML ; rdfs:label "Offer" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Offer-acceptedPaymentMethod ; sh:property schema:Offer-addOn ; sh:property schema:Offer-advanceBookingRequirement ; sh:property schema:Offer-aggregateRating ; sh:property schema:Offer-areaServed ; sh:property schema:Offer-availability ; sh:property schema:Offer-availabilityEnds ; sh:property schema:Offer-availabilityStarts ; sh:property schema:Offer-availableAtOrFrom ; sh:property schema:Offer-availableDeliveryMethod ; sh:property schema:Offer-businessFunction ; sh:property schema:Offer-category ; sh:property schema:Offer-deliveryLeadTime ; sh:property schema:Offer-eligibleCustomerType ; sh:property schema:Offer-eligibleDuration ; sh:property schema:Offer-eligibleQuantity ; sh:property schema:Offer-eligibleRegion ; sh:property schema:Offer-eligibleTransactionVolume ; sh:property schema:Offer-gtin ; sh:property schema:Offer-gtin12 ; sh:property schema:Offer-gtin13 ; sh:property schema:Offer-gtin14 ; sh:property schema:Offer-gtin8 ; sh:property schema:Offer-hasMeasurement ; sh:property schema:Offer-includesObject ; sh:property schema:Offer-ineligibleRegion ; sh:property schema:Offer-inventoryLevel ; sh:property schema:Offer-itemCondition ; sh:property schema:Offer-itemOffered ; sh:property schema:Offer-leaseLength ; sh:property schema:Offer-mpn ; sh:property schema:Offer-offeredBy ; sh:property schema:Offer-price ; sh:property schema:Offer-priceCurrency ; sh:property schema:Offer-priceSpecification ; sh:property schema:Offer-priceValidUntil ; sh:property schema:Offer-review ; sh:property schema:Offer-reviews ; sh:property schema:Offer-seller ; sh:property schema:Offer-serialNumber ; sh:property schema:Offer-shippingDetails ; sh:property schema:Offer-sku ; sh:property schema:Offer-validFrom ; sh:property schema:Offer-validThrough ; sh:property schema:Offer-warranty ; . schema:Offer-acceptedPaymentMethod a sh:PropertyShape ; sh:path schema:acceptedPaymentMethod ; sh:description "The payment method(s) accepted by seller for this offer."^^rdf:HTML ; sh:name "acceptedPaymentMethod" ; sh:or ( [ sh:class schema:LoanOrCredit ; ] [ sh:class schema:PaymentMethod ; ] ) ; . schema:Offer-addOn a sh:PropertyShape ; sh:path schema:addOn ; sh:class schema:Offer ; sh:description "An additional offer that can only be obtained in combination with the first base offer (e.g. supplements and extensions that are available for a surcharge)."^^rdf:HTML ; sh:name "addOn" ; . schema:Offer-advanceBookingRequirement a sh:PropertyShape ; sh:path schema:advanceBookingRequirement ; sh:class schema:QuantitativeValue ; sh:description "The amount of time that is required between accepting the offer and the actual usage of the resource or service."^^rdf:HTML ; sh:name "advanceBookingRequirement" ; . schema:Offer-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Offer-areaServed a sh:PropertyShape ; sh:path schema:areaServed ; sh:description "The geographic area where a service or offered item is provided."^^rdf:HTML ; sh:name "areaServed" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Offer-availability a sh:PropertyShape ; sh:path schema:availability ; sh:class schema:ItemAvailability ; sh:description "The availability of this item—for example In stock, Out of stock, Pre-order, etc."^^rdf:HTML ; sh:name "availability" ; . schema:Offer-availabilityEnds a sh:PropertyShape ; sh:path schema:availabilityEnds ; sh:description "The end of the availability of the product or service included in the offer."^^rdf:HTML ; sh:name "availabilityEnds" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Offer-availabilityStarts a sh:PropertyShape ; sh:path schema:availabilityStarts ; sh:description "The beginning of the availability of the product or service included in the offer."^^rdf:HTML ; sh:name "availabilityStarts" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Offer-availableAtOrFrom a sh:PropertyShape ; sh:path schema:availableAtOrFrom ; sh:class schema:Place ; sh:description "The place(s) from which the offer can be obtained (e.g. store locations)."^^rdf:HTML ; sh:name "availableAtOrFrom" ; . schema:Offer-availableDeliveryMethod a sh:PropertyShape ; sh:path schema:availableDeliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "The delivery method(s) available for this offer."^^rdf:HTML ; sh:name "availableDeliveryMethod" ; . schema:Offer-businessFunction a sh:PropertyShape ; sh:path schema:businessFunction ; sh:class schema:BusinessFunction ; sh:description "The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell."^^rdf:HTML ; sh:name "businessFunction" ; . schema:Offer-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Offer-deliveryLeadTime a sh:PropertyShape ; sh:path schema:deliveryLeadTime ; sh:class schema:QuantitativeValue ; sh:description "The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup."^^rdf:HTML ; sh:name "deliveryLeadTime" ; . schema:Offer-eligibleCustomerType a sh:PropertyShape ; sh:path schema:eligibleCustomerType ; sh:class schema:BusinessEntityType ; sh:description "The type(s) of customers for which the given offer is valid."^^rdf:HTML ; sh:name "eligibleCustomerType" ; . schema:Offer-eligibleDuration a sh:PropertyShape ; sh:path schema:eligibleDuration ; sh:class schema:QuantitativeValue ; sh:description "The duration for which the given offer is valid."^^rdf:HTML ; sh:name "eligibleDuration" ; . schema:Offer-eligibleQuantity a sh:PropertyShape ; sh:path schema:eligibleQuantity ; sh:class schema:QuantitativeValue ; sh:description "The interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity."^^rdf:HTML ; sh:name "eligibleQuantity" ; . schema:Offer-eligibleRegion a sh:PropertyShape ; sh:path schema:eligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is valid.\\n\\nSee also [[ineligibleRegion]]. """^^rdf:HTML ; sh:name "eligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Offer-eligibleTransactionVolume a sh:PropertyShape ; sh:path schema:eligibleTransactionVolume ; sh:class schema:PriceSpecification ; sh:description "The transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount."^^rdf:HTML ; sh:name "eligibleTransactionVolume" ; . schema:Offer-gtin a sh:PropertyShape ; sh:path schema:gtin ; sh:datatype xsd:string ; sh:description """A Global Trade Item Number ([GTIN](https://www.gs1.org/standards/id-keys/gtin)). GTINs identify trade items, including products and services, using numeric identification codes. The [[gtin]] property generalizes the earlier [[gtin8]], [[gtin12]], [[gtin13]], and [[gtin14]] properties. The GS1 [digital link specifications](https://www.gs1.org/standards/Digital-Link/) express GTINs as URLs. A correct [[gtin]] value should be a valid GTIN, which means that it should be an all-numeric string of either 8, 12, 13 or 14 digits, or a \"GS1 Digital Link\" URL based on such a string. The numeric component should also have a [valid GS1 check digit](https://www.gs1.org/services/check-digit-calculator) and meet the other rules for valid GTINs. See also [GS1's GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) and [Wikipedia](https://en.wikipedia.org/wiki/Global_Trade_Item_Number) for more details. Left-padding of the gtin values is not required or encouraged. """^^rdf:HTML ; sh:name "gtin" ; . schema:Offer-gtin12 a sh:PropertyShape ; sh:path schema:gtin12 ; sh:datatype xsd:string ; sh:description "The GTIN-12 code of the product, or the product to which the offer refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a U.P.C. Company Prefix, Item Reference, and Check Digit used to identify trade items. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin12" ; . schema:Offer-gtin13 a sh:PropertyShape ; sh:path schema:gtin13 ; sh:datatype xsd:string ; sh:description "The GTIN-13 code of the product, or the product to which the offer refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former 12-digit UPC codes can be converted into a GTIN-13 code by simply adding a preceding zero. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin13" ; . schema:Offer-gtin14 a sh:PropertyShape ; sh:path schema:gtin14 ; sh:datatype xsd:string ; sh:description "The GTIN-14 code of the product, or the product to which the offer refers. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin14" ; . schema:Offer-gtin8 a sh:PropertyShape ; sh:path schema:gtin8 ; sh:datatype xsd:string ; sh:description "The GTIN-8 code of the product, or the product to which the offer refers. This code is also known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin8" ; . schema:Offer-hasMeasurement a sh:PropertyShape ; sh:path schema:hasMeasurement ; sh:class schema:QuantitativeValue ; sh:description "A product measurement, for example the inseam of pants, the wheel size of a bicycle, or the gauge of a screw. Usually an exact measurement, but can also be a range of measurements for adjustable products, for example belts and ski bindings."^^rdf:HTML ; sh:name "hasMeasurement" ; . schema:Offer-includesObject a sh:PropertyShape ; sh:path schema:includesObject ; sh:class schema:TypeAndQuantityNode ; sh:description "This links to a node or nodes indicating the exact quantity of the products included in an [[Offer]] or [[ProductCollection]]."^^rdf:HTML ; sh:name "includesObject" ; . schema:Offer-ineligibleRegion a sh:PropertyShape ; sh:path schema:ineligibleRegion ; sh:description """The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the GeoShape for the geo-political region(s) for which the offer or delivery charge specification is not valid, e.g. a region where the transaction is not allowed.\\n\\nSee also [[eligibleRegion]]. """^^rdf:HTML ; sh:name "ineligibleRegion" ; sh:or ( [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Offer-inventoryLevel a sh:PropertyShape ; sh:path schema:inventoryLevel ; sh:class schema:QuantitativeValue ; sh:description "The current approximate inventory level for the item or items."^^rdf:HTML ; sh:name "inventoryLevel" ; . schema:Offer-itemCondition a sh:PropertyShape ; sh:path schema:itemCondition ; sh:class schema:OfferItemCondition ; sh:description "A predefined value from OfferItemCondition or a textual description of the condition of the product or service, or the products or services included in the offer."^^rdf:HTML ; sh:name "itemCondition" ; . schema:Offer-itemOffered a sh:PropertyShape ; sh:path schema:itemOffered ; sh:description "An item being offered (or demanded). The transactional nature of the offer or demand is documented using [[businessFunction]], e.g. sell, lease etc. While several common expected types are listed explicitly in this definition, others can be used. Using a second type, such as Product or a subtype of Product, can clarify the nature of the offer."^^rdf:HTML ; sh:name "itemOffered" ; sh:or ( [ sh:class schema:AggregateOffer ; ] [ sh:class schema:CreativeWork ; ] [ sh:class schema:Event ; ] [ sh:class schema:MenuItem ; ] [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] [ sh:class schema:Trip ; ] ) ; . schema:Offer-leaseLength a sh:PropertyShape ; sh:path schema:leaseLength ; sh:description "Length of the lease for some [[Accommodation]], either particular to some [[Offer]] or in some cases intrinsic to the property."^^rdf:HTML ; sh:name "leaseLength" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:duration ; ] ) ; . schema:Offer-mpn a sh:PropertyShape ; sh:path schema:mpn ; sh:datatype xsd:string ; sh:description "The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers."^^rdf:HTML ; sh:name "mpn" ; . schema:Offer-offeredBy a sh:PropertyShape ; sh:path schema:offeredBy ; sh:description "A pointer to the organization or person making the offer."^^rdf:HTML ; sh:name "offeredBy" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Offer-price a sh:PropertyShape ; sh:path schema:price ; sh:description """The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\\n\\nUsage guidelines:\\n\\n* Use the [[priceCurrency]] property (with standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\") instead of including [ambiguous symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) such as '$' in the value.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\\n* Note that both [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) and Microdata syntax allow the use of a \"content=\" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. """^^rdf:HTML ; sh:name "price" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Offer-priceCurrency a sh:PropertyShape ; sh:path schema:priceCurrency ; sh:datatype xsd:string ; sh:description "The currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "priceCurrency" ; . schema:Offer-priceSpecification a sh:PropertyShape ; sh:path schema:priceSpecification ; sh:class schema:PriceSpecification ; sh:description "One or more detailed price specifications, indicating the unit price and delivery or payment charges."^^rdf:HTML ; sh:name "priceSpecification" ; . schema:Offer-priceValidUntil a sh:PropertyShape ; sh:path schema:priceValidUntil ; sh:datatype xsd:date ; sh:description "The date after which the price is no longer available."^^rdf:HTML ; sh:name "priceValidUntil" ; . schema:Offer-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Offer-reviews a sh:PropertyShape ; sh:path schema:reviews ; sh:class schema:Review ; sh:description "Review of the item."^^rdf:HTML ; sh:name "reviews" ; . schema:Offer-seller a sh:PropertyShape ; sh:path schema:seller ; sh:description "An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider."^^rdf:HTML ; sh:name "seller" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Offer-serialNumber a sh:PropertyShape ; sh:path schema:serialNumber ; sh:datatype xsd:string ; sh:description "The serial number or any alphanumeric identifier of a particular product. When attached to an offer, it is a shortcut for the serial number of the product included in the offer."^^rdf:HTML ; sh:name "serialNumber" ; . schema:Offer-shippingDetails a sh:PropertyShape ; sh:path schema:shippingDetails ; sh:class schema:OfferShippingDetails ; sh:description "Indicates information about the shipping policies and options associated with an [[Offer]]."^^rdf:HTML ; sh:name "shippingDetails" ; . schema:Offer-sku a sh:PropertyShape ; sh:path schema:sku ; sh:datatype xsd:string ; sh:description "The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers."^^rdf:HTML ; sh:name "sku" ; . schema:Offer-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Offer-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Offer-warranty a sh:PropertyShape ; sh:path schema:warranty ; sh:class schema:WarrantyPromise ; sh:description "The warranty promise(s) included in the offer."^^rdf:HTML ; sh:name "warranty" ; . schema:OfferCatalog a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An OfferCatalog is an ItemList that contains related Offers and/or further OfferCatalogs that are offeredBy the same provider."^^rdf:HTML ; rdfs:label "Offer catalog" ; rdfs:subClassOf schema:ItemList ; . schema:OfferForLease a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """An [[OfferForLease]] in Schema.org represents an [[Offer]] to lease out something, i.e. an [[Offer]] whose [[businessFunction]] is [lease out](http://purl.org/goodrelations/v1#LeaseOut.). See [Good Relations](https://en.wikipedia.org/wiki/GoodRelations) for background on the underlying concepts. """^^rdf:HTML ; rdfs:label "Offer for lease" ; rdfs:subClassOf schema:Offer ; . schema:OfferForPurchase a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """An [[OfferForPurchase]] in Schema.org represents an [[Offer]] to sell something, i.e. an [[Offer]] whose [[businessFunction]] is [sell](http://purl.org/goodrelations/v1#Sell.). See [Good Relations](https://en.wikipedia.org/wiki/GoodRelations) for background on the underlying concepts. """^^rdf:HTML ; rdfs:label "Offer for purchase" ; rdfs:subClassOf schema:Offer ; . schema:OfferItemCondition a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A list of possible conditions for the item."^^rdf:HTML ; rdfs:label "Offer item condition" ; rdfs:subClassOf schema:Enumeration ; . schema:OfferShippingDetails a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """OfferShippingDetails represents information about shipping destinations. Multiple of these entities can be used to represent different shipping rates for different destinations: One entity for Alaska/Hawaii. A different one for continental US.A different one for all France. Multiple of these entities can be used to represent different shipping costs and delivery times. Two entities that are identical but differ in rate and time: e.g. Cheaper and slower: $5 in 5-7days or Fast and expensive: $15 in 1-2 days."""^^rdf:HTML ; rdfs:label "Offer shipping details" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:OfferShippingDetails-deliveryTime ; sh:property schema:OfferShippingDetails-doesNotShip ; sh:property schema:OfferShippingDetails-shippingDestination ; sh:property schema:OfferShippingDetails-shippingLabel ; sh:property schema:OfferShippingDetails-shippingRate ; sh:property schema:OfferShippingDetails-shippingSettingsLink ; sh:property schema:OfferShippingDetails-transitTimeLabel ; . schema:OfferShippingDetails-deliveryTime a sh:PropertyShape ; sh:path schema:deliveryTime ; sh:class schema:ShippingDeliveryTime ; sh:description "The total delay between the receipt of the order and the goods reaching the final customer."^^rdf:HTML ; sh:name "deliveryTime" ; . schema:OfferShippingDetails-doesNotShip a sh:PropertyShape ; sh:path schema:doesNotShip ; sh:datatype xsd:boolean ; sh:description "Indicates when shipping to a particular [[shippingDestination]] is not available."^^rdf:HTML ; sh:name "doesNotShip" ; . schema:OfferShippingDetails-shippingDestination a sh:PropertyShape ; sh:path schema:shippingDestination ; sh:class schema:DefinedRegion ; sh:description "indicates (possibly multiple) shipping destinations. These can be defined in several ways e.g. postalCode ranges."^^rdf:HTML ; sh:name "shippingDestination" ; . schema:OfferShippingDetails-shippingLabel a sh:PropertyShape ; sh:path schema:shippingLabel ; sh:datatype xsd:string ; sh:description "Label to match an [[OfferShippingDetails]] with a [[ShippingRateSettings]] (within the context of a [[shippingSettingsLink]] cross-reference)."^^rdf:HTML ; sh:name "shippingLabel" ; . schema:OfferShippingDetails-shippingRate a sh:PropertyShape ; sh:path schema:shippingRate ; sh:class schema:MonetaryAmount ; sh:description "The shipping rate is the cost of shipping to the specified destination. Typically, the maxValue and currency values (of the [[MonetaryAmount]]) are most appropriate."^^rdf:HTML ; sh:name "shippingRate" ; . schema:OfferShippingDetails-shippingSettingsLink a sh:PropertyShape ; sh:path schema:shippingSettingsLink ; sh:description "Link to a page containing [[ShippingRateSettings]] and [[DeliveryTimeSettings]] details."^^rdf:HTML ; sh:name "shippingSettingsLink" ; sh:nodeKind sh:IRI ; . schema:OfferShippingDetails-transitTimeLabel a sh:PropertyShape ; sh:path schema:transitTimeLabel ; sh:datatype xsd:string ; sh:description "Label to match an [[OfferShippingDetails]] with a [[DeliveryTimeSettings]] (within the context of a [[shippingSettingsLink]] cross-reference)."^^rdf:HTML ; sh:name "transitTimeLabel" ; . schema:OfficeEquipmentStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An office equipment store."^^rdf:HTML ; rdfs:label "Office equipment store" ; rdfs:subClassOf schema:Store ; . schema:OfficialLegalValue a schema:LegalValueLevel ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "All the documents published by an official publisher should have at least the legal value level \"OfficialLegalValue\". This indicates that the document was published by an organisation with the public task of making it available (e.g. a consolidated version of a EU directive published by the EU Office of Publications)." ; rdfs:label "Official legal value" ; . schema:OfflineEventAttendanceMode a schema:EventAttendanceModeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "OfflineEventAttendanceMode - an event that is primarily conducted offline. " ; rdfs:label "Offline event attendance mode" ; . schema:OfflinePermanently a schema:GameServerStatus ; rdfs:comment "Game server status: OfflinePermanently. Server is offline and not available." ; rdfs:label "Offline permanently" ; . schema:OfflineTemporarily a schema:GameServerStatus ; rdfs:comment "Game server status: OfflineTemporarily. Server is offline now but it can be online soon." ; rdfs:label "Offline temporarily" ; . schema:OnDemandEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A publication event e.g. catch-up TV or radio podcast, during which a program is available on-demand."^^rdf:HTML ; rdfs:label "On demand event" ; rdfs:subClassOf schema:PublicationEvent ; . schema:OnSitePickup a schema:DeliveryMethod ; rdfs:comment "A DeliveryMethod in which an item is collected on site, e.g. in a store or at a box office." ; rdfs:label "On site pickup" ; . schema:Oncologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that deals with benign and malignant tumors, including the study of their development, diagnosis, treatment and prevention." ; rdfs:label "Oncologic" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:OneTimePayments a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "OneTimePayments: this is a benefit for one-time payments for individuals." ; rdfs:label "One time payments" ; . schema:Online a schema:GameServerStatus ; rdfs:comment "Game server status: Online. Server is available." ; rdfs:label "Online" ; . schema:OnlineEventAttendanceMode a schema:EventAttendanceModeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "OnlineEventAttendanceMode - an event that is primarily conducted online. " ; rdfs:label "Online event attendance mode" ; . schema:OnlineFull a schema:GameServerStatus ; rdfs:comment "Game server status: OnlineFull. Server is online but unavailable. The maximum number of players has reached." ; rdfs:label "Online full" ; . schema:OnlineOnly a schema:ItemAvailability ; rdfs:comment "Indicates that the item is available only online." ; rdfs:label "Online only" ; . schema:OpenTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A trial design in which the researcher knows the full details of the treatment, and so does the patient." ; rdfs:label "Open trial" ; . schema:OpeningHoursSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A structured value providing information about the opening hours of a place or a certain service inside a place.\\n\\n The place is __open__ if the [[opens]] property is specified, and __closed__ otherwise.\\n\\nIf the value for the [[closes]] property is less than the value for the [[opens]] property then the hour range is assumed to span over the next day. """^^rdf:HTML ; rdfs:label "Opening hours specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:OpeningHoursSpecification-closes ; sh:property schema:OpeningHoursSpecification-dayOfWeek ; sh:property schema:OpeningHoursSpecification-opens ; sh:property schema:OpeningHoursSpecification-validFrom ; sh:property schema:OpeningHoursSpecification-validThrough ; . schema:OpeningHoursSpecification-closes a sh:PropertyShape ; sh:path schema:closes ; sh:datatype xsd:time ; sh:description "The closing hour of the place or service on the given day(s) of the week."^^rdf:HTML ; sh:name "closes" ; . schema:OpeningHoursSpecification-dayOfWeek a sh:PropertyShape ; sh:path schema:dayOfWeek ; sh:class schema:DayOfWeek ; sh:description "The day of the week for which these opening hours are valid."^^rdf:HTML ; sh:name "dayOfWeek" ; . schema:OpeningHoursSpecification-opens a sh:PropertyShape ; sh:path schema:opens ; sh:datatype xsd:time ; sh:description "The opening hour of the place or service on the given day(s) of the week."^^rdf:HTML ; sh:name "opens" ; . schema:OpeningHoursSpecification-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:OpeningHoursSpecification-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:OpinionNewsArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "An [[OpinionNewsArticle]] is a [[NewsArticle]] that primarily expresses opinions rather than journalistic reporting of news and events. For example, a [[NewsArticle]] consisting of a column or [[Blog]]/[[BlogPosting]] entry in the Opinions section of a news publication. "^^rdf:HTML ; rdfs:label "Opinion news article" ; rdfs:subClassOf schema:NewsArticle ; . schema:Optician a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A store that sells reading glasses and similar devices for improving vision."^^rdf:HTML ; rdfs:label "Optician" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:Optometric a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "The science or practice of testing visual acuity and prescribing corrective lenses." ; rdfs:label "Optometric" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:Order a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An order is a confirmation of a transaction (a receipt), which can contain multiple line items, each represented by an Offer that has been accepted by the customer."^^rdf:HTML ; rdfs:label "Order" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Order-acceptedOffer ; sh:property schema:Order-billingAddress ; sh:property schema:Order-broker ; sh:property schema:Order-confirmationNumber ; sh:property schema:Order-customer ; sh:property schema:Order-discount ; sh:property schema:Order-discountCode ; sh:property schema:Order-discountCurrency ; sh:property schema:Order-isGift ; sh:property schema:Order-merchant ; sh:property schema:Order-orderDate ; sh:property schema:Order-orderDelivery ; sh:property schema:Order-orderNumber ; sh:property schema:Order-orderStatus ; sh:property schema:Order-orderedItem ; sh:property schema:Order-partOfInvoice ; sh:property schema:Order-paymentDue ; sh:property schema:Order-paymentDueDate ; sh:property schema:Order-paymentMethod ; sh:property schema:Order-paymentMethodId ; sh:property schema:Order-paymentUrl ; sh:property schema:Order-seller ; . schema:Order-acceptedOffer a sh:PropertyShape ; sh:path schema:acceptedOffer ; sh:class schema:Offer ; sh:description "The offer(s) -- e.g., product, quantity and price combinations -- included in the order."^^rdf:HTML ; sh:name "acceptedOffer" ; . schema:Order-billingAddress a sh:PropertyShape ; sh:path schema:billingAddress ; sh:class schema:PostalAddress ; sh:description "The billing address for the order."^^rdf:HTML ; sh:name "billingAddress" ; . schema:Order-broker a sh:PropertyShape ; sh:path schema:broker ; sh:description "An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred."^^rdf:HTML ; sh:name "broker" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Order-confirmationNumber a sh:PropertyShape ; sh:path schema:confirmationNumber ; sh:datatype xsd:string ; sh:description "A number that confirms the given order or payment has been received."^^rdf:HTML ; sh:name "confirmationNumber" ; . schema:Order-customer a sh:PropertyShape ; sh:path schema:customer ; sh:description "Party placing the order or paying the invoice."^^rdf:HTML ; sh:name "customer" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Order-discount a sh:PropertyShape ; sh:path schema:discount ; sh:description "Any discount applied (to an Order)."^^rdf:HTML ; sh:name "discount" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Order-discountCode a sh:PropertyShape ; sh:path schema:discountCode ; sh:datatype xsd:string ; sh:description "Code used to redeem a discount."^^rdf:HTML ; sh:name "discountCode" ; . schema:Order-discountCurrency a sh:PropertyShape ; sh:path schema:discountCurrency ; sh:datatype xsd:string ; sh:description "The currency of the discount.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "discountCurrency" ; . schema:Order-isGift a sh:PropertyShape ; sh:path schema:isGift ; sh:datatype xsd:boolean ; sh:description "Was the offer accepted as a gift for someone other than the buyer."^^rdf:HTML ; sh:name "isGift" ; . schema:Order-merchant a sh:PropertyShape ; sh:path schema:merchant ; sh:description "'merchant' is an out-dated term for 'seller'."^^rdf:HTML ; sh:name "merchant" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Order-orderDate a sh:PropertyShape ; sh:path schema:orderDate ; sh:description "Date order was placed."^^rdf:HTML ; sh:name "orderDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Order-orderDelivery a sh:PropertyShape ; sh:path schema:orderDelivery ; sh:class schema:ParcelDelivery ; sh:description "The delivery of the parcel related to this order or order item."^^rdf:HTML ; sh:name "orderDelivery" ; . schema:Order-orderNumber a sh:PropertyShape ; sh:path schema:orderNumber ; sh:datatype xsd:string ; sh:description "The identifier of the transaction."^^rdf:HTML ; sh:name "orderNumber" ; . schema:Order-orderStatus a sh:PropertyShape ; sh:path schema:orderStatus ; sh:class schema:OrderStatus ; sh:description "The current status of the order."^^rdf:HTML ; sh:name "orderStatus" ; . schema:Order-orderedItem a sh:PropertyShape ; sh:path schema:orderedItem ; sh:description "The item ordered."^^rdf:HTML ; sh:name "orderedItem" ; sh:or ( [ sh:class schema:OrderItem ; ] [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:Order-partOfInvoice a sh:PropertyShape ; sh:path schema:partOfInvoice ; sh:class schema:Invoice ; sh:description "The order is being paid as part of the referenced Invoice."^^rdf:HTML ; sh:name "partOfInvoice" ; . schema:Order-paymentDue a sh:PropertyShape ; sh:path schema:paymentDue ; sh:datatype xsd:dateTime ; sh:description "The date that payment is due."^^rdf:HTML ; sh:name "paymentDue" ; . schema:Order-paymentDueDate a sh:PropertyShape ; sh:path schema:paymentDueDate ; sh:description "The date that payment is due."^^rdf:HTML ; sh:name "paymentDueDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Order-paymentMethod a sh:PropertyShape ; sh:path schema:paymentMethod ; sh:class schema:PaymentMethod ; sh:description "The name of the credit card or other method of payment for the order."^^rdf:HTML ; sh:name "paymentMethod" ; . schema:Order-paymentMethodId a sh:PropertyShape ; sh:path schema:paymentMethodId ; sh:datatype xsd:string ; sh:description "An identifier for the method of payment used (e.g. the last 4 digits of the credit card)."^^rdf:HTML ; sh:name "paymentMethodId" ; . schema:Order-paymentUrl a sh:PropertyShape ; sh:path schema:paymentUrl ; sh:description "The URL for sending a payment."^^rdf:HTML ; sh:name "paymentUrl" ; sh:nodeKind sh:IRI ; . schema:Order-seller a sh:PropertyShape ; sh:path schema:seller ; sh:description "An entity which offers (sells / leases / lends / loans) the services / goods. A seller may also be a provider."^^rdf:HTML ; sh:name "seller" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:OrderAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent orders an object/product/service to be delivered/sent."^^rdf:HTML ; rdfs:label "Order action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:OrderAction-deliveryMethod ; . schema:OrderAction-deliveryMethod a sh:PropertyShape ; sh:path schema:deliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "A sub property of instrument. The method of delivery."^^rdf:HTML ; sh:name "deliveryMethod" ; . schema:OrderCancelled a schema:OrderStatus ; rdfs:comment "OrderStatus representing cancellation of an order." ; rdfs:label "Order cancelled" ; . schema:OrderDelivered a schema:OrderStatus ; rdfs:comment "OrderStatus representing successful delivery of an order." ; rdfs:label "Order delivered" ; . schema:OrderInTransit a schema:OrderStatus ; rdfs:comment "OrderStatus representing that an order is in transit." ; rdfs:label "Order in transit" ; . schema:OrderItem a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An order item is a line of an order. It includes the quantity and shipping details of a bought offer."^^rdf:HTML ; rdfs:label "Order item" ; rdfs:subClassOf schema:Intangible ; sh:property schema:OrderItem-orderDelivery ; sh:property schema:OrderItem-orderItemNumber ; sh:property schema:OrderItem-orderItemStatus ; sh:property schema:OrderItem-orderQuantity ; sh:property schema:OrderItem-orderedItem ; . schema:OrderItem-orderDelivery a sh:PropertyShape ; sh:path schema:orderDelivery ; sh:class schema:ParcelDelivery ; sh:description "The delivery of the parcel related to this order or order item."^^rdf:HTML ; sh:name "orderDelivery" ; . schema:OrderItem-orderItemNumber a sh:PropertyShape ; sh:path schema:orderItemNumber ; sh:datatype xsd:string ; sh:description "The identifier of the order item."^^rdf:HTML ; sh:name "orderItemNumber" ; . schema:OrderItem-orderItemStatus a sh:PropertyShape ; sh:path schema:orderItemStatus ; sh:class schema:OrderStatus ; sh:description "The current status of the order item."^^rdf:HTML ; sh:name "orderItemStatus" ; . schema:OrderItem-orderQuantity a sh:PropertyShape ; sh:path schema:orderQuantity ; sh:datatype xsd:float ; sh:description "The number of the item ordered. If the property is not set, assume the quantity is one."^^rdf:HTML ; sh:name "orderQuantity" ; . schema:OrderItem-orderedItem a sh:PropertyShape ; sh:path schema:orderedItem ; sh:description "The item ordered."^^rdf:HTML ; sh:name "orderedItem" ; sh:or ( [ sh:class schema:OrderItem ; ] [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:OrderPaymentDue a schema:OrderStatus ; rdfs:comment "OrderStatus representing that payment is due on an order." ; rdfs:label "Order payment due" ; . schema:OrderPickupAvailable a schema:OrderStatus ; rdfs:comment "OrderStatus representing availability of an order for pickup." ; rdfs:label "Order pickup available" ; . schema:OrderProblem a schema:OrderStatus ; rdfs:comment "OrderStatus representing that there is a problem with the order." ; rdfs:label "Order problem" ; . schema:OrderProcessing a schema:OrderStatus ; rdfs:comment "OrderStatus representing that an order is being processed." ; rdfs:label "Order processing" ; . schema:OrderReturned a schema:OrderStatus ; rdfs:comment "OrderStatus representing that an order has been returned." ; rdfs:label "Order returned" ; . schema:OrderStatus a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Enumerated status values for Order."^^rdf:HTML ; rdfs:label "Order status" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:Organization a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An organization such as a school, NGO, corporation, club, etc."^^rdf:HTML ; rdfs:label "Organization" ; rdfs:subClassOf schema:Thing ; sh:property schema:Organization-actionableFeedbackPolicy ; sh:property schema:Organization-address ; sh:property schema:Organization-aggregateRating ; sh:property schema:Organization-alumni ; sh:property schema:Organization-areaServed ; sh:property schema:Organization-award ; sh:property schema:Organization-awards ; sh:property schema:Organization-brand ; sh:property schema:Organization-contactPoint ; sh:property schema:Organization-contactPoints ; sh:property schema:Organization-correctionsPolicy ; sh:property schema:Organization-department ; sh:property schema:Organization-dissolutionDate ; sh:property schema:Organization-diversityPolicy ; sh:property schema:Organization-diversityStaffingReport ; sh:property schema:Organization-duns ; sh:property schema:Organization-email ; sh:property schema:Organization-employee ; sh:property schema:Organization-employees ; sh:property schema:Organization-ethicsPolicy ; sh:property schema:Organization-event ; sh:property schema:Organization-events ; sh:property schema:Organization-faxNumber ; sh:property schema:Organization-founder ; sh:property schema:Organization-founders ; sh:property schema:Organization-foundingDate ; sh:property schema:Organization-foundingLocation ; sh:property schema:Organization-funder ; sh:property schema:Organization-globalLocationNumber ; sh:property schema:Organization-hasCredential ; sh:property schema:Organization-hasMerchantReturnPolicy ; sh:property schema:Organization-hasOfferCatalog ; sh:property schema:Organization-hasPOS ; sh:property schema:Organization-hasProductReturnPolicy ; sh:property schema:Organization-interactionStatistic ; sh:property schema:Organization-isicV4 ; sh:property schema:Organization-knowsAbout ; sh:property schema:Organization-knowsLanguage ; sh:property schema:Organization-legalName ; sh:property schema:Organization-leiCode ; sh:property schema:Organization-location ; sh:property schema:Organization-logo ; sh:property schema:Organization-makesOffer ; sh:property schema:Organization-member ; sh:property schema:Organization-memberOf ; sh:property schema:Organization-members ; sh:property schema:Organization-naics ; sh:property schema:Organization-nonprofitStatus ; sh:property schema:Organization-numberOfEmployees ; sh:property schema:Organization-ownershipFundingInfo ; sh:property schema:Organization-owns ; sh:property schema:Organization-parentOrganization ; sh:property schema:Organization-publishingPrinciples ; sh:property schema:Organization-review ; sh:property schema:Organization-reviews ; sh:property schema:Organization-seeks ; sh:property schema:Organization-serviceArea ; sh:property schema:Organization-slogan ; sh:property schema:Organization-sponsor ; sh:property schema:Organization-subOrganization ; sh:property schema:Organization-taxID ; sh:property schema:Organization-telephone ; sh:property schema:Organization-unnamedSourcesPolicy ; sh:property schema:Organization-vatID ; . schema:Organization-actionableFeedbackPolicy a sh:PropertyShape ; sh:path schema:actionableFeedbackPolicy ; sh:description "For a [[NewsMediaOrganization]] or other news-related [[Organization]], a statement about public engagement activities (for news media, the newsroom’s), including involving the public - digitally or otherwise -- in coverage decisions, reporting and activities after publication."^^rdf:HTML ; sh:name "actionableFeedbackPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-address a sh:PropertyShape ; sh:path schema:address ; sh:description "Physical address of the item."^^rdf:HTML ; sh:name "address" ; sh:or ( [ sh:class schema:PostalAddress ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Organization-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Organization-alumni a sh:PropertyShape ; sh:path schema:alumni ; sh:class schema:Person ; sh:description "Alumni of an organization."^^rdf:HTML ; sh:name "alumni" ; . schema:Organization-areaServed a sh:PropertyShape ; sh:path schema:areaServed ; sh:description "The geographic area where a service or offered item is provided."^^rdf:HTML ; sh:name "areaServed" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Organization-award a sh:PropertyShape ; sh:path schema:award ; sh:datatype xsd:string ; sh:description "An award won by or for this item."^^rdf:HTML ; sh:name "award" ; . schema:Organization-awards a sh:PropertyShape ; sh:path schema:awards ; sh:datatype xsd:string ; sh:description "Awards won by or for this item."^^rdf:HTML ; sh:name "awards" ; . schema:Organization-brand a sh:PropertyShape ; sh:path schema:brand ; sh:description "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person."^^rdf:HTML ; sh:name "brand" ; sh:or ( [ sh:class schema:Brand ; ] [ sh:class schema:Organization ; ] ) ; . schema:Organization-contactPoint a sh:PropertyShape ; sh:path schema:contactPoint ; sh:class schema:ContactPoint ; sh:description "A contact point for a person or organization."^^rdf:HTML ; sh:name "contactPoint" ; . schema:Organization-contactPoints a sh:PropertyShape ; sh:path schema:contactPoints ; sh:class schema:ContactPoint ; sh:description "A contact point for a person or organization."^^rdf:HTML ; sh:name "contactPoints" ; . schema:Organization-correctionsPolicy a sh:PropertyShape ; sh:path schema:correctionsPolicy ; sh:description "For an [[Organization]] (e.g. [[NewsMediaOrganization]]), a statement describing (in news media, the newsroom’s) disclosure and correction policy for errors."^^rdf:HTML ; sh:name "correctionsPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-department a sh:PropertyShape ; sh:path schema:department ; sh:class schema:Organization ; sh:description "A relationship between an organization and a department of that organization, also described as an organization (allowing different urls, logos, opening hours). For example: a store with a pharmacy, or a bakery with a cafe."^^rdf:HTML ; sh:name "department" ; . schema:Organization-dissolutionDate a sh:PropertyShape ; sh:path schema:dissolutionDate ; sh:datatype xsd:date ; sh:description "The date that this organization was dissolved."^^rdf:HTML ; sh:name "dissolutionDate" ; . schema:Organization-diversityPolicy a sh:PropertyShape ; sh:path schema:diversityPolicy ; sh:description "Statement on diversity policy by an [[Organization]] e.g. a [[NewsMediaOrganization]]. For a [[NewsMediaOrganization]], a statement describing the newsroom’s diversity policy on both staffing and sources, typically providing staffing data."^^rdf:HTML ; sh:name "diversityPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-diversityStaffingReport a sh:PropertyShape ; sh:path schema:diversityStaffingReport ; sh:description "For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a report on staffing diversity issues. In a news context this might be for example ASNE or RTDNA (US) reports, or self-reported."^^rdf:HTML ; sh:name "diversityStaffingReport" ; sh:or ( [ sh:class schema:Article ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-duns a sh:PropertyShape ; sh:path schema:duns ; sh:datatype xsd:string ; sh:description "The Dun & Bradstreet DUNS number for identifying an organization or business person."^^rdf:HTML ; sh:name "duns" ; . schema:Organization-email a sh:PropertyShape ; sh:path schema:email ; sh:datatype xsd:string ; sh:description "Email address."^^rdf:HTML ; sh:name "email" ; . schema:Organization-employee a sh:PropertyShape ; sh:path schema:employee ; sh:class schema:Person ; sh:description "Someone working for this organization."^^rdf:HTML ; sh:name "employee" ; . schema:Organization-employees a sh:PropertyShape ; sh:path schema:employees ; sh:class schema:Person ; sh:description "People working for this organization."^^rdf:HTML ; sh:name "employees" ; . schema:Organization-ethicsPolicy a sh:PropertyShape ; sh:path schema:ethicsPolicy ; sh:description "Statement about ethics policy, e.g. of a [[NewsMediaOrganization]] regarding journalistic and publishing practices, or of a [[Restaurant]], a page describing food source policies. In the case of a [[NewsMediaOrganization]], an ethicsPolicy is typically a statement describing the personal, organizational, and corporate standards of behavior expected by the organization."^^rdf:HTML ; sh:name "ethicsPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:Organization-events a sh:PropertyShape ; sh:path schema:events ; sh:class schema:Event ; sh:description "Upcoming or past events associated with this place or organization."^^rdf:HTML ; sh:name "events" ; . schema:Organization-faxNumber a sh:PropertyShape ; sh:path schema:faxNumber ; sh:datatype xsd:string ; sh:description "The fax number."^^rdf:HTML ; sh:name "faxNumber" ; . schema:Organization-founder a sh:PropertyShape ; sh:path schema:founder ; sh:class schema:Person ; sh:description "A person who founded this organization."^^rdf:HTML ; sh:name "founder" ; . schema:Organization-founders a sh:PropertyShape ; sh:path schema:founders ; sh:class schema:Person ; sh:description "A person who founded this organization."^^rdf:HTML ; sh:name "founders" ; . schema:Organization-foundingDate a sh:PropertyShape ; sh:path schema:foundingDate ; sh:datatype xsd:date ; sh:description "The date that this organization was founded."^^rdf:HTML ; sh:name "foundingDate" ; . schema:Organization-foundingLocation a sh:PropertyShape ; sh:path schema:foundingLocation ; sh:class schema:Place ; sh:description "The place where the Organization was founded."^^rdf:HTML ; sh:name "foundingLocation" ; . schema:Organization-funder a sh:PropertyShape ; sh:path schema:funder ; sh:description "A person or organization that supports (sponsors) something through some kind of financial contribution."^^rdf:HTML ; sh:name "funder" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Organization-globalLocationNumber a sh:PropertyShape ; sh:path schema:globalLocationNumber ; sh:datatype xsd:string ; sh:description "The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations."^^rdf:HTML ; sh:name "globalLocationNumber" ; . schema:Organization-hasCredential a sh:PropertyShape ; sh:path schema:hasCredential ; sh:class schema:EducationalOccupationalCredential ; sh:description "A credential awarded to the Person or Organization."^^rdf:HTML ; sh:name "hasCredential" ; . schema:Organization-hasMerchantReturnPolicy a sh:PropertyShape ; sh:path schema:hasMerchantReturnPolicy ; sh:class schema:MerchantReturnPolicy ; sh:description "Indicates a MerchantReturnPolicy that may be applicable."^^rdf:HTML ; sh:name "hasMerchantReturnPolicy" ; . schema:Organization-hasOfferCatalog a sh:PropertyShape ; sh:path schema:hasOfferCatalog ; sh:class schema:OfferCatalog ; sh:description "Indicates an OfferCatalog listing for this Organization, Person, or Service."^^rdf:HTML ; sh:name "hasOfferCatalog" ; . schema:Organization-hasPOS a sh:PropertyShape ; sh:path schema:hasPOS ; sh:class schema:Place ; sh:description "Points-of-Sales operated by the organization or person."^^rdf:HTML ; sh:name "hasPOS" ; . schema:Organization-hasProductReturnPolicy a sh:PropertyShape ; sh:path schema:hasProductReturnPolicy ; sh:class schema:ProductReturnPolicy ; sh:description "Indicates a ProductReturnPolicy that may be applicable."^^rdf:HTML ; sh:name "hasProductReturnPolicy" ; . schema:Organization-interactionStatistic a sh:PropertyShape ; sh:path schema:interactionStatistic ; sh:class schema:InteractionCounter ; sh:description "The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used."^^rdf:HTML ; sh:name "interactionStatistic" ; . schema:Organization-isicV4 a sh:PropertyShape ; sh:path schema:isicV4 ; sh:datatype xsd:string ; sh:description "The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place."^^rdf:HTML ; sh:name "isicV4" ; . schema:Organization-knowsAbout a sh:PropertyShape ; sh:path schema:knowsAbout ; sh:description "Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions."^^rdf:HTML ; sh:name "knowsAbout" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Organization-knowsLanguage a sh:PropertyShape ; sh:path schema:knowsLanguage ; sh:description "Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47)."^^rdf:HTML ; sh:name "knowsLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Organization-legalName a sh:PropertyShape ; sh:path schema:legalName ; sh:datatype xsd:string ; sh:description "The official name of the organization, e.g. the registered company name."^^rdf:HTML ; sh:name "legalName" ; . schema:Organization-leiCode a sh:PropertyShape ; sh:path schema:leiCode ; sh:datatype xsd:string ; sh:description "An organization identifier that uniquely identifies a legal entity as defined in ISO 17442."^^rdf:HTML ; sh:name "leiCode" ; . schema:Organization-location a sh:PropertyShape ; sh:path schema:location ; sh:description "The location of, for example, where an event is happening, where an organization is located, or where an action takes place."^^rdf:HTML ; sh:name "location" ; sh:or ( [ sh:class schema:Place ; ] [ sh:class schema:PostalAddress ; ] [ sh:class schema:VirtualLocation ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Organization-logo a sh:PropertyShape ; sh:path schema:logo ; sh:description "An associated logo."^^rdf:HTML ; sh:name "logo" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-makesOffer a sh:PropertyShape ; sh:path schema:makesOffer ; sh:class schema:Offer ; sh:description "A pointer to products or services offered by the organization or person."^^rdf:HTML ; sh:name "makesOffer" ; . schema:Organization-member a sh:PropertyShape ; sh:path schema:member ; sh:description "A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals."^^rdf:HTML ; sh:name "member" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Organization-memberOf a sh:PropertyShape ; sh:path schema:memberOf ; sh:description "An Organization (or ProgramMembership) to which this Person or Organization belongs."^^rdf:HTML ; sh:name "memberOf" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:ProgramMembership ; ] ) ; . schema:Organization-members a sh:PropertyShape ; sh:path schema:members ; sh:description "A member of this organization."^^rdf:HTML ; sh:name "members" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Organization-naics a sh:PropertyShape ; sh:path schema:naics ; sh:datatype xsd:string ; sh:description "The North American Industry Classification System (NAICS) code for a particular organization or business person."^^rdf:HTML ; sh:name "naics" ; . schema:Organization-nonprofitStatus a sh:PropertyShape ; sh:path schema:nonprofitStatus ; sh:class schema:NonprofitType ; sh:description "nonprofit Status indicates the legal status of a non-profit organization in its primary place of business."^^rdf:HTML ; sh:name "nonprofitStatus" ; . schema:Organization-numberOfEmployees a sh:PropertyShape ; sh:path schema:numberOfEmployees ; sh:class schema:QuantitativeValue ; sh:description "The number of employees in an organization e.g. business."^^rdf:HTML ; sh:name "numberOfEmployees" ; . schema:Organization-ownershipFundingInfo a sh:PropertyShape ; sh:path schema:ownershipFundingInfo ; sh:description "For an [[Organization]] (often but not necessarily a [[NewsMediaOrganization]]), a description of organizational ownership structure; funding and grants. In a news/media setting, this is with particular reference to editorial independence. Note that the [[funder]] is also available and can be used to make basic funder information machine-readable."^^rdf:HTML ; sh:name "ownershipFundingInfo" ; sh:or ( [ sh:class schema:AboutPage ; ] [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Organization-owns a sh:PropertyShape ; sh:path schema:owns ; sh:description "Products owned by the organization or person."^^rdf:HTML ; sh:name "owns" ; sh:or ( [ sh:class schema:OwnershipInfo ; ] [ sh:class schema:Product ; ] ) ; . schema:Organization-parentOrganization a sh:PropertyShape ; sh:path schema:parentOrganization ; sh:class schema:Organization ; sh:description "The larger organization that this organization is a [[subOrganization]] of, if any."^^rdf:HTML ; sh:name "parentOrganization" ; . schema:Organization-publishingPrinciples a sh:PropertyShape ; sh:path schema:publishingPrinciples ; sh:description """The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. """^^rdf:HTML ; sh:name "publishingPrinciples" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Organization-reviews a sh:PropertyShape ; sh:path schema:reviews ; sh:class schema:Review ; sh:description "Review of the item."^^rdf:HTML ; sh:name "reviews" ; . schema:Organization-seeks a sh:PropertyShape ; sh:path schema:seeks ; sh:class schema:Demand ; sh:description "A pointer to products or services sought by the organization or person (demand)."^^rdf:HTML ; sh:name "seeks" ; . schema:Organization-serviceArea a sh:PropertyShape ; sh:path schema:serviceArea ; sh:description "The geographic area where the service is provided."^^rdf:HTML ; sh:name "serviceArea" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] ) ; . schema:Organization-slogan a sh:PropertyShape ; sh:path schema:slogan ; sh:datatype xsd:string ; sh:description "A slogan or motto associated with the item."^^rdf:HTML ; sh:name "slogan" ; . schema:Organization-sponsor a sh:PropertyShape ; sh:path schema:sponsor ; sh:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event."^^rdf:HTML ; sh:name "sponsor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Organization-subOrganization a sh:PropertyShape ; sh:path schema:subOrganization ; sh:class schema:Organization ; sh:description "A relationship between two organizations where the first includes the second, e.g., as a subsidiary. See also: the more specific 'department' property."^^rdf:HTML ; sh:name "subOrganization" ; . schema:Organization-taxID a sh:PropertyShape ; sh:path schema:taxID ; sh:datatype xsd:string ; sh:description "The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain."^^rdf:HTML ; sh:name "taxID" ; . schema:Organization-telephone a sh:PropertyShape ; sh:path schema:telephone ; sh:datatype xsd:string ; sh:description "The telephone number."^^rdf:HTML ; sh:name "telephone" ; . schema:Organization-unnamedSourcesPolicy a sh:PropertyShape ; sh:path schema:unnamedSourcesPolicy ; sh:description "For an [[Organization]] (typically a [[NewsMediaOrganization]]), a statement about policy on use of unnamed sources and the decision process required."^^rdf:HTML ; sh:name "unnamedSourcesPolicy" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Organization-vatID a sh:PropertyShape ; sh:path schema:vatID ; sh:datatype xsd:string ; sh:description "The Value-added Tax ID of the organization or person."^^rdf:HTML ; sh:name "vatID" ; . schema:OrganizationRole a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A subclass of Role used to describe roles within organizations."^^rdf:HTML ; rdfs:label "Organization role" ; rdfs:subClassOf schema:Role ; sh:property schema:OrganizationRole-numberedPosition ; . schema:OrganizationRole-numberedPosition a sh:PropertyShape ; sh:path schema:numberedPosition ; sh:datatype xsd:float ; sh:description "A number associated with a role in an organization, for example, the number on an athlete's jersey."^^rdf:HTML ; sh:name "numberedPosition" ; . schema:OrganizeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of manipulating/administering/supervising/controlling one or more objects."^^rdf:HTML ; rdfs:label "Organize action" ; rdfs:subClassOf schema:Action ; . schema:OriginalMediaContent a schema:MediaManipulationRatingEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment """Content coded 'as original media content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'original': No evidence the footage has been misleadingly altered or manipulated, though it may contain false or misleading claims. For an [[ImageObject]] to be 'original': No evidence the image has been misleadingly altered or manipulated, though it may still contain false or misleading claims. For an [[ImageObject]] with embedded text to be 'original': No evidence the image has been misleadingly altered or manipulated, though it may still contain false or misleading claims. For an [[AudioObject]] to be 'original': No evidence the audio has been misleadingly altered or manipulated, though it may contain false or misleading claims. """ ; rdfs:label "Original media content" ; . schema:OriginalShippingFees a schema:ReturnFeesEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "OriginalShippingFees ..." ; rdfs:label "Original shipping fees" ; . schema:Osteopathic a schema:MedicineSystem ; schema:isPartOf ; rdfs:comment "A system of medicine focused on promoting the body's innate ability to heal itself." ; rdfs:label "Osteopathic" ; . schema:Otolaryngologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that is concerned with the ear, nose and throat and their respective disease states." ; rdfs:label "Otolaryngologic" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:OutOfStock a schema:ItemAvailability ; rdfs:comment "Indicates that the item is out of stock." ; rdfs:label "Out of stock" ; . schema:OutletStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An outlet store."^^rdf:HTML ; rdfs:label "Outlet store" ; rdfs:subClassOf schema:Store ; . schema:OverviewHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Overview of the content. Contains a summarized view of the topic with the most relevant information for an introduction." ; rdfs:label "Overview health aspect" ; . schema:OwnershipInfo a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A structured value providing information about when a certain organization or person owned a certain product."^^rdf:HTML ; rdfs:label "Ownership info" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:OwnershipInfo-acquiredFrom ; sh:property schema:OwnershipInfo-ownedFrom ; sh:property schema:OwnershipInfo-ownedThrough ; sh:property schema:OwnershipInfo-typeOfGood ; . schema:OwnershipInfo-acquiredFrom a sh:PropertyShape ; sh:path schema:acquiredFrom ; sh:description "The organization or person from which the product was acquired."^^rdf:HTML ; sh:name "acquiredFrom" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:OwnershipInfo-ownedFrom a sh:PropertyShape ; sh:path schema:ownedFrom ; sh:datatype xsd:dateTime ; sh:description "The date and time of obtaining the product."^^rdf:HTML ; sh:name "ownedFrom" ; . schema:OwnershipInfo-ownedThrough a sh:PropertyShape ; sh:path schema:ownedThrough ; sh:datatype xsd:dateTime ; sh:description "The date and time of giving up ownership on the product."^^rdf:HTML ; sh:name "ownedThrough" ; . schema:OwnershipInfo-typeOfGood a sh:PropertyShape ; sh:path schema:typeOfGood ; sh:description "The product that this structured value is referring to."^^rdf:HTML ; sh:name "typeOfGood" ; sh:or ( [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:PET a schema:MedicalImagingTechnique ; schema:isPartOf ; rdfs:comment "Positron emission tomography imaging." ; rdfs:label "PET" ; . schema:PaidLeave a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "PaidLeave: this is a benefit for paid leave." ; rdfs:label "Paid leave" ; . schema:PaintAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of producing a painting, typically with paint and canvas as instruments."^^rdf:HTML ; rdfs:label "Paint action" ; rdfs:subClassOf schema:CreateAction ; . schema:Painting a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A painting."^^rdf:HTML ; rdfs:label "Painting" ; rdfs:subClassOf schema:CreativeWork ; . schema:PalliativeProcedure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical procedure intended primarily for palliative purposes, aimed at relieving the symptoms of an underlying health condition."^^rdf:HTML ; rdfs:label "Palliative procedure" ; rdfs:subClassOf schema:MedicalProcedure ; rdfs:subClassOf schema:MedicalTherapy ; . schema:Paperback a schema:BookFormatType ; rdfs:comment "Book format: Paperback." ; rdfs:label "Paperback" ; . schema:ParcelDelivery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The delivery of a parcel either via the postal service or a commercial service."^^rdf:HTML ; rdfs:label "Parcel delivery" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ParcelDelivery-carrier ; sh:property schema:ParcelDelivery-deliveryAddress ; sh:property schema:ParcelDelivery-deliveryStatus ; sh:property schema:ParcelDelivery-expectedArrivalFrom ; sh:property schema:ParcelDelivery-expectedArrivalUntil ; sh:property schema:ParcelDelivery-hasDeliveryMethod ; sh:property schema:ParcelDelivery-itemShipped ; sh:property schema:ParcelDelivery-originAddress ; sh:property schema:ParcelDelivery-partOfOrder ; sh:property schema:ParcelDelivery-provider ; sh:property schema:ParcelDelivery-trackingNumber ; sh:property schema:ParcelDelivery-trackingUrl ; . schema:ParcelDelivery-carrier a sh:PropertyShape ; sh:path schema:carrier ; sh:class schema:Organization ; sh:description "'carrier' is an out-dated term indicating the 'provider' for parcel delivery and flights."^^rdf:HTML ; sh:name "carrier" ; . schema:ParcelDelivery-deliveryAddress a sh:PropertyShape ; sh:path schema:deliveryAddress ; sh:class schema:PostalAddress ; sh:description "Destination address."^^rdf:HTML ; sh:name "deliveryAddress" ; . schema:ParcelDelivery-deliveryStatus a sh:PropertyShape ; sh:path schema:deliveryStatus ; sh:class schema:DeliveryEvent ; sh:description "New entry added as the package passes through each leg of its journey (from shipment to final delivery)."^^rdf:HTML ; sh:name "deliveryStatus" ; . schema:ParcelDelivery-expectedArrivalFrom a sh:PropertyShape ; sh:path schema:expectedArrivalFrom ; sh:description "The earliest date the package may arrive."^^rdf:HTML ; sh:name "expectedArrivalFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:ParcelDelivery-expectedArrivalUntil a sh:PropertyShape ; sh:path schema:expectedArrivalUntil ; sh:description "The latest date the package may arrive."^^rdf:HTML ; sh:name "expectedArrivalUntil" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:ParcelDelivery-hasDeliveryMethod a sh:PropertyShape ; sh:path schema:hasDeliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "Method used for delivery or shipping."^^rdf:HTML ; sh:name "hasDeliveryMethod" ; . schema:ParcelDelivery-itemShipped a sh:PropertyShape ; sh:path schema:itemShipped ; sh:class schema:Product ; sh:description "Item(s) being shipped."^^rdf:HTML ; sh:name "itemShipped" ; . schema:ParcelDelivery-originAddress a sh:PropertyShape ; sh:path schema:originAddress ; sh:class schema:PostalAddress ; sh:description "Shipper's address."^^rdf:HTML ; sh:name "originAddress" ; . schema:ParcelDelivery-partOfOrder a sh:PropertyShape ; sh:path schema:partOfOrder ; sh:class schema:Order ; sh:description "The overall order the items in this delivery were included in."^^rdf:HTML ; sh:name "partOfOrder" ; . schema:ParcelDelivery-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:ParcelDelivery-trackingNumber a sh:PropertyShape ; sh:path schema:trackingNumber ; sh:datatype xsd:string ; sh:description "Shipper tracking number."^^rdf:HTML ; sh:name "trackingNumber" ; . schema:ParcelDelivery-trackingUrl a sh:PropertyShape ; sh:path schema:trackingUrl ; sh:description "Tracking url for the parcel delivery."^^rdf:HTML ; sh:name "trackingUrl" ; sh:nodeKind sh:IRI ; . schema:ParcelService a schema:DeliveryMethod ; schema:source ; rdfs:comment """A private parcel service as the delivery mode available for a certain offer.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#DHL\\n* http://purl.org/goodrelations/v1#FederalExpress\\n* http://purl.org/goodrelations/v1#UPS """ ; rdfs:label "Parcel service" ; . schema:ParentAudience a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A set of characteristics describing parents, who can be interested in viewing some content."^^rdf:HTML ; rdfs:label "Parent audience" ; rdfs:subClassOf schema:PeopleAudience ; sh:property schema:ParentAudience-childMaxAge ; sh:property schema:ParentAudience-childMinAge ; . schema:ParentAudience-childMaxAge a sh:PropertyShape ; sh:path schema:childMaxAge ; sh:datatype xsd:float ; sh:description "Maximal age of the child."^^rdf:HTML ; sh:name "childMaxAge" ; . schema:ParentAudience-childMinAge a sh:PropertyShape ; sh:path schema:childMinAge ; sh:datatype xsd:float ; sh:description "Minimal age of the child."^^rdf:HTML ; sh:name "childMinAge" ; . schema:ParentalSupport a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "ParentalSupport: this is a benefit for parental support." ; rdfs:label "Parental support" ; . schema:Park a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A park."^^rdf:HTML ; rdfs:label "Park" ; rdfs:subClassOf schema:CivicStructure ; . schema:ParkingFacility a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A parking lot or other parking facility."^^rdf:HTML ; rdfs:label "Parking facility" ; rdfs:subClassOf schema:CivicStructure ; . schema:ParkingMap a schema:MapCategoryType ; rdfs:comment "A parking map." ; rdfs:label "Parking map" ; . schema:PartiallyInForce a schema:LegalForceStatus ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "Indicates that parts of the legislation are in force, and parts are not." ; rdfs:label "Partially in force" ; . schema:Pathology a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that is concerned with the study of the cause, origin and nature of a disease state, including its consequences as a result of manifestation of the disease. In clinical care, the term is used to designate a branch of medicine using laboratory tests to diagnose and determine the prognostic significance of illness." ; rdfs:label "Pathology" ; . schema:PathologyTest a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical test performed by a laboratory that typically involves examination of a tissue sample by a pathologist."^^rdf:HTML ; rdfs:label "Pathology test" ; rdfs:subClassOf schema:MedicalTest ; sh:property schema:PathologyTest-tissueSample ; . schema:PathologyTest-tissueSample a sh:PropertyShape ; sh:path schema:tissueSample ; sh:datatype xsd:string ; sh:description "The type of tissue sample required for the test."^^rdf:HTML ; sh:name "tissueSample" ; . schema:Patient a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A patient is any person recipient of health care services."^^rdf:HTML ; rdfs:label "Patient" ; rdfs:subClassOf schema:MedicalAudience ; rdfs:subClassOf schema:Person ; owl:equivalentClass ; sh:property schema:Patient-diagnosis ; sh:property schema:Patient-drug ; sh:property schema:Patient-healthCondition ; . schema:Patient-diagnosis a sh:PropertyShape ; sh:path schema:diagnosis ; sh:class schema:MedicalCondition ; sh:description "One or more alternative conditions considered in the differential diagnosis process as output of a diagnosis process."^^rdf:HTML ; sh:name "diagnosis" ; . schema:Patient-drug a sh:PropertyShape ; sh:path schema:drug ; sh:class schema:Drug ; sh:description "Specifying a drug or medicine used in a medication procedure."^^rdf:HTML ; sh:name "drug" ; . schema:Patient-healthCondition a sh:PropertyShape ; sh:path schema:healthCondition ; sh:class schema:MedicalCondition ; sh:description "Specifying the health condition(s) of a patient, medical study, or other target audience."^^rdf:HTML ; sh:name "healthCondition" ; . schema:PatientExperienceHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about the real life experience of patients or people that have lived a similar experience about the topic. May be forums, topics, Q-and-A and related material." ; rdfs:label "Patient experience health aspect" ; . schema:PawnShop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A shop that will buy, or lend money against the security of, personal possessions."^^rdf:HTML ; rdfs:label "Pawn shop" ; rdfs:subClassOf schema:Store ; . schema:PayAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent pays a price to a participant."^^rdf:HTML ; rdfs:label "Pay action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:PayAction-recipient ; . schema:PayAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:PaymentAutomaticallyApplied a schema:PaymentStatusType ; rdfs:comment "An automatic payment system is in place and will be used." ; rdfs:label "Payment automatically applied" ; . schema:PaymentCard a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A payment method using a credit, debit, store or other card to associate the payment with an account."^^rdf:HTML ; rdfs:label "Payment card" ; rdfs:subClassOf schema:FinancialProduct ; rdfs:subClassOf schema:PaymentMethod ; sh:property schema:PaymentCard-cashBack ; sh:property schema:PaymentCard-contactlessPayment ; sh:property schema:PaymentCard-floorLimit ; sh:property schema:PaymentCard-monthlyMinimumRepaymentAmount ; . schema:PaymentCard-cashBack a sh:PropertyShape ; sh:path schema:cashBack ; sh:description "A cardholder benefit that pays the cardholder a small percentage of their net expenditures."^^rdf:HTML ; sh:name "cashBack" ; sh:or ( [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:float ; ] ) ; . schema:PaymentCard-contactlessPayment a sh:PropertyShape ; sh:path schema:contactlessPayment ; sh:datatype xsd:boolean ; sh:description "A secure method for consumers to purchase products or services via debit, credit or smartcards by using RFID or NFC technology."^^rdf:HTML ; sh:name "contactlessPayment" ; . schema:PaymentCard-floorLimit a sh:PropertyShape ; sh:path schema:floorLimit ; sh:class schema:MonetaryAmount ; sh:description "A floor limit is the amount of money above which credit card transactions must be authorized."^^rdf:HTML ; sh:name "floorLimit" ; . schema:PaymentCard-monthlyMinimumRepaymentAmount a sh:PropertyShape ; sh:path schema:monthlyMinimumRepaymentAmount ; sh:description "The minimum payment is the lowest amount of money that one is required to pay on a credit card statement each month."^^rdf:HTML ; sh:name "monthlyMinimumRepaymentAmount" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:PaymentChargeSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The costs of settling the payment using a particular payment method."^^rdf:HTML ; rdfs:label "Payment charge specification" ; rdfs:subClassOf schema:PriceSpecification ; sh:property schema:PaymentChargeSpecification-appliesToDeliveryMethod ; sh:property schema:PaymentChargeSpecification-appliesToPaymentMethod ; . schema:PaymentChargeSpecification-appliesToDeliveryMethod a sh:PropertyShape ; sh:path schema:appliesToDeliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "The delivery method(s) to which the delivery charge or payment charge specification applies."^^rdf:HTML ; sh:name "appliesToDeliveryMethod" ; . schema:PaymentChargeSpecification-appliesToPaymentMethod a sh:PropertyShape ; sh:path schema:appliesToPaymentMethod ; sh:class schema:PaymentMethod ; sh:description "The payment method(s) to which the payment charge specification applies."^^rdf:HTML ; sh:name "appliesToPaymentMethod" ; . schema:PaymentComplete a schema:PaymentStatusType ; rdfs:comment "The payment has been received and processed." ; rdfs:label "Payment complete" ; . schema:PaymentDeclined a schema:PaymentStatusType ; rdfs:comment "The payee received the payment, but it was declined for some reason." ; rdfs:label "Payment declined" ; . schema:PaymentDue a schema:PaymentStatusType ; rdfs:comment "The payment is due, but still within an acceptable time to be received." ; rdfs:label "Payment due" ; . schema:PaymentMethod a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A payment method is a standardized procedure for transferring the monetary amount for a purchase. Payment methods are characterized by the legal and technical structures used, and by the organization or group carrying out the transaction.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#ByBankTransferInAdvance\\n* http://purl.org/goodrelations/v1#ByInvoice\\n* http://purl.org/goodrelations/v1#Cash\\n* http://purl.org/goodrelations/v1#CheckInAdvance\\n* http://purl.org/goodrelations/v1#COD\\n* http://purl.org/goodrelations/v1#DirectDebit\\n* http://purl.org/goodrelations/v1#GoogleCheckout\\n* http://purl.org/goodrelations/v1#PayPal\\n* http://purl.org/goodrelations/v1#PaySwarm """^^rdf:HTML ; rdfs:label "Payment method" ; rdfs:subClassOf schema:Enumeration ; . schema:PaymentPastDue a schema:PaymentStatusType ; rdfs:comment "The payment is due and considered late." ; rdfs:label "Payment past due" ; . schema:PaymentService a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A Service to transfer funds from a person or organization to a beneficiary person or organization."^^rdf:HTML ; rdfs:label "Payment service" ; rdfs:subClassOf schema:FinancialProduct ; . schema:PaymentStatusType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A specific payment status. For example, PaymentDue, PaymentComplete, etc."^^rdf:HTML ; rdfs:label "Payment status type" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:Pediatric a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that specializes in the care of infants, children and adolescents." ; rdfs:label "Pediatric" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:PeopleAudience a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A set of characteristics belonging to people, e.g. who compose an item's target audience."^^rdf:HTML ; rdfs:label "People audience" ; rdfs:subClassOf schema:Audience ; sh:property schema:PeopleAudience-healthCondition ; sh:property schema:PeopleAudience-requiredGender ; sh:property schema:PeopleAudience-requiredMaxAge ; sh:property schema:PeopleAudience-requiredMinAge ; sh:property schema:PeopleAudience-suggestedAge ; sh:property schema:PeopleAudience-suggestedGender ; sh:property schema:PeopleAudience-suggestedMaxAge ; sh:property schema:PeopleAudience-suggestedMeasurement ; sh:property schema:PeopleAudience-suggestedMinAge ; . schema:PeopleAudience-healthCondition a sh:PropertyShape ; sh:path schema:healthCondition ; sh:class schema:MedicalCondition ; sh:description "Specifying the health condition(s) of a patient, medical study, or other target audience."^^rdf:HTML ; sh:name "healthCondition" ; . schema:PeopleAudience-requiredGender a sh:PropertyShape ; sh:path schema:requiredGender ; sh:datatype xsd:string ; sh:description "Audiences defined by a person's gender."^^rdf:HTML ; sh:name "requiredGender" ; . schema:PeopleAudience-requiredMaxAge a sh:PropertyShape ; sh:path schema:requiredMaxAge ; sh:datatype xsd:integer ; sh:description "Audiences defined by a person's maximum age."^^rdf:HTML ; sh:name "requiredMaxAge" ; . schema:PeopleAudience-requiredMinAge a sh:PropertyShape ; sh:path schema:requiredMinAge ; sh:datatype xsd:integer ; sh:description "Audiences defined by a person's minimum age."^^rdf:HTML ; sh:name "requiredMinAge" ; . schema:PeopleAudience-suggestedAge a sh:PropertyShape ; sh:path schema:suggestedAge ; sh:class schema:QuantitativeValue ; sh:description "The age or age range for the intended audience or person, for example 3-12 months for infants, 1-5 years for toddlers."^^rdf:HTML ; sh:name "suggestedAge" ; . schema:PeopleAudience-suggestedGender a sh:PropertyShape ; sh:path schema:suggestedGender ; sh:description "The suggested gender of the intended person or audience, for example \"male\", \"female\", or \"unisex\"."^^rdf:HTML ; sh:name "suggestedGender" ; sh:or ( [ sh:class schema:GenderType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PeopleAudience-suggestedMaxAge a sh:PropertyShape ; sh:path schema:suggestedMaxAge ; sh:datatype xsd:float ; sh:description "Maximum recommended age in years for the audience or user."^^rdf:HTML ; sh:name "suggestedMaxAge" ; . schema:PeopleAudience-suggestedMeasurement a sh:PropertyShape ; sh:path schema:suggestedMeasurement ; sh:class schema:QuantitativeValue ; sh:description "A suggested range of body measurements for the intended audience or person, for example inseam between 32 and 34 inches or height between 170 and 190 cm. Typically found on a size chart for wearable products."^^rdf:HTML ; sh:name "suggestedMeasurement" ; . schema:PeopleAudience-suggestedMinAge a sh:PropertyShape ; sh:path schema:suggestedMinAge ; sh:datatype xsd:float ; sh:description "Minimum recommended age in years for the audience or user."^^rdf:HTML ; sh:name "suggestedMinAge" ; . schema:PercutaneousProcedure a schema:MedicalProcedureType ; schema:isPartOf ; rdfs:comment "A type of medical procedure that involves percutaneous techniques, where access to organs or tissue is achieved via needle-puncture of the skin. For example, catheter-based procedures like stent delivery." ; rdfs:label "Percutaneous procedure" ; . schema:PerformAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of participating in performance arts."^^rdf:HTML ; rdfs:label "Perform action" ; rdfs:subClassOf schema:PlayAction ; sh:property schema:PerformAction-entertainmentBusiness ; . schema:PerformAction-entertainmentBusiness a sh:PropertyShape ; sh:path schema:entertainmentBusiness ; sh:class schema:EntertainmentBusiness ; sh:description "A sub property of location. The entertainment business where the action occurred."^^rdf:HTML ; sh:name "entertainmentBusiness" ; . schema:PerformanceRole a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A PerformanceRole is a Role that some entity places with regard to a theatrical performance, e.g. in a Movie, TVSeries etc."^^rdf:HTML ; rdfs:label "Performance role" ; rdfs:subClassOf schema:Role ; sh:property schema:PerformanceRole-characterName ; . schema:PerformanceRole-characterName a sh:PropertyShape ; sh:path schema:characterName ; sh:datatype xsd:string ; sh:description "The name of a character played in some acting or performing role, i.e. in a PerformanceRole."^^rdf:HTML ; sh:name "characterName" ; . schema:PerformingArtsTheater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A theater or other performing art center."^^rdf:HTML ; rdfs:label "Performing arts theater" ; rdfs:subClassOf schema:CivicStructure ; . schema:PerformingGroup a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A performance group, such as a band, an orchestra, or a circus."^^rdf:HTML ; rdfs:label "Performing group" ; rdfs:subClassOf schema:Organization ; . schema:Periodical a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A publication in any medium issued in successive parts bearing numerical or chronological designations and intended, such as a magazine, scholarly journal, or newspaper to continue indefinitely.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)."^^rdf:HTML ; rdfs:label "Periodical" ; rdfs:subClassOf schema:CreativeWorkSeries ; owl:equivalentClass ; . schema:Permit a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A permit issued by an organization, e.g. a parking pass."^^rdf:HTML ; rdfs:label "Permit" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Permit-issuedBy ; sh:property schema:Permit-issuedThrough ; sh:property schema:Permit-permitAudience ; sh:property schema:Permit-validFor ; sh:property schema:Permit-validFrom ; sh:property schema:Permit-validIn ; sh:property schema:Permit-validUntil ; . schema:Permit-issuedBy a sh:PropertyShape ; sh:path schema:issuedBy ; sh:class schema:Organization ; sh:description "The organization issuing the ticket or permit."^^rdf:HTML ; sh:name "issuedBy" ; . schema:Permit-issuedThrough a sh:PropertyShape ; sh:path schema:issuedThrough ; sh:class schema:Service ; sh:description "The service through with the permit was granted."^^rdf:HTML ; sh:name "issuedThrough" ; . schema:Permit-permitAudience a sh:PropertyShape ; sh:path schema:permitAudience ; sh:class schema:Audience ; sh:description "The target audience for this permit."^^rdf:HTML ; sh:name "permitAudience" ; . schema:Permit-validFor a sh:PropertyShape ; sh:path schema:validFor ; sh:datatype xsd:duration ; sh:description "The duration of validity of a permit or similar thing."^^rdf:HTML ; sh:name "validFor" ; . schema:Permit-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Permit-validIn a sh:PropertyShape ; sh:path schema:validIn ; sh:class schema:AdministrativeArea ; sh:description "The geographic area where a permit or similar thing is valid."^^rdf:HTML ; sh:name "validIn" ; . schema:Permit-validUntil a sh:PropertyShape ; sh:path schema:validUntil ; sh:datatype xsd:date ; sh:description "The date when the item is no longer valid."^^rdf:HTML ; sh:name "validUntil" ; . schema:Person a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A person (alive, dead, undead, or fictional)."^^rdf:HTML ; rdfs:label "Person" ; rdfs:subClassOf schema:Thing ; owl:equivalentClass ; sh:property schema:Person-additionalName ; sh:property schema:Person-address ; sh:property schema:Person-affiliation ; sh:property schema:Person-alumniOf ; sh:property schema:Person-award ; sh:property schema:Person-awards ; sh:property schema:Person-birthDate ; sh:property schema:Person-birthPlace ; sh:property schema:Person-brand ; sh:property schema:Person-callSign ; sh:property schema:Person-children ; sh:property schema:Person-colleague ; sh:property schema:Person-colleagues ; sh:property schema:Person-contactPoint ; sh:property schema:Person-contactPoints ; sh:property schema:Person-deathDate ; sh:property schema:Person-deathPlace ; sh:property schema:Person-duns ; sh:property schema:Person-email ; sh:property schema:Person-familyName ; sh:property schema:Person-faxNumber ; sh:property schema:Person-follows ; sh:property schema:Person-funder ; sh:property schema:Person-gender ; sh:property schema:Person-givenName ; sh:property schema:Person-globalLocationNumber ; sh:property schema:Person-hasCredential ; sh:property schema:Person-hasOccupation ; sh:property schema:Person-hasOfferCatalog ; sh:property schema:Person-hasPOS ; sh:property schema:Person-height ; sh:property schema:Person-homeLocation ; sh:property schema:Person-honorificPrefix ; sh:property schema:Person-honorificSuffix ; sh:property schema:Person-interactionStatistic ; sh:property schema:Person-isicV4 ; sh:property schema:Person-jobTitle ; sh:property schema:Person-knows ; sh:property schema:Person-knowsAbout ; sh:property schema:Person-knowsLanguage ; sh:property schema:Person-makesOffer ; sh:property schema:Person-memberOf ; sh:property schema:Person-naics ; sh:property schema:Person-nationality ; sh:property schema:Person-netWorth ; sh:property schema:Person-owns ; sh:property schema:Person-parent ; sh:property schema:Person-parents ; sh:property schema:Person-performerIn ; sh:property schema:Person-publishingPrinciples ; sh:property schema:Person-relatedTo ; sh:property schema:Person-seeks ; sh:property schema:Person-sibling ; sh:property schema:Person-siblings ; sh:property schema:Person-sponsor ; sh:property schema:Person-spouse ; sh:property schema:Person-taxID ; sh:property schema:Person-telephone ; sh:property schema:Person-vatID ; sh:property schema:Person-weight ; sh:property schema:Person-workLocation ; sh:property schema:Person-worksFor ; . schema:Person-additionalName a sh:PropertyShape ; sh:path schema:additionalName ; sh:datatype xsd:string ; sh:description "An additional name for a Person, can be used for a middle name."^^rdf:HTML ; sh:name "additionalName" ; . schema:Person-address a sh:PropertyShape ; sh:path schema:address ; sh:description "Physical address of the item."^^rdf:HTML ; sh:name "address" ; sh:or ( [ sh:class schema:PostalAddress ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Person-affiliation a sh:PropertyShape ; sh:path schema:affiliation ; sh:class schema:Organization ; sh:description "An organization that this person is affiliated with. For example, a school/university, a club, or a team."^^rdf:HTML ; sh:name "affiliation" ; . schema:Person-alumniOf a sh:PropertyShape ; sh:path schema:alumniOf ; sh:description "An organization that the person is an alumni of."^^rdf:HTML ; sh:name "alumniOf" ; sh:or ( [ sh:class schema:EducationalOrganization ; ] [ sh:class schema:Organization ; ] ) ; . schema:Person-award a sh:PropertyShape ; sh:path schema:award ; sh:datatype xsd:string ; sh:description "An award won by or for this item."^^rdf:HTML ; sh:name "award" ; . schema:Person-awards a sh:PropertyShape ; sh:path schema:awards ; sh:datatype xsd:string ; sh:description "Awards won by or for this item."^^rdf:HTML ; sh:name "awards" ; . schema:Person-birthDate a sh:PropertyShape ; sh:path schema:birthDate ; sh:datatype xsd:date ; sh:description "Date of birth."^^rdf:HTML ; sh:name "birthDate" ; . schema:Person-birthPlace a sh:PropertyShape ; sh:path schema:birthPlace ; sh:class schema:Place ; sh:description "The place where the person was born."^^rdf:HTML ; sh:name "birthPlace" ; . schema:Person-brand a sh:PropertyShape ; sh:path schema:brand ; sh:description "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person."^^rdf:HTML ; sh:name "brand" ; sh:or ( [ sh:class schema:Brand ; ] [ sh:class schema:Organization ; ] ) ; . schema:Person-callSign a sh:PropertyShape ; sh:path schema:callSign ; sh:datatype xsd:string ; sh:description "A [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles."^^rdf:HTML ; sh:name "callSign" ; . schema:Person-children a sh:PropertyShape ; sh:path schema:children ; sh:class schema:Person ; sh:description "A child of the person."^^rdf:HTML ; sh:name "children" ; . schema:Person-colleague a sh:PropertyShape ; sh:path schema:colleague ; sh:description "A colleague of the person."^^rdf:HTML ; sh:name "colleague" ; sh:or ( [ sh:class schema:Person ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Person-colleagues a sh:PropertyShape ; sh:path schema:colleagues ; sh:class schema:Person ; sh:description "A colleague of the person."^^rdf:HTML ; sh:name "colleagues" ; . schema:Person-contactPoint a sh:PropertyShape ; sh:path schema:contactPoint ; sh:class schema:ContactPoint ; sh:description "A contact point for a person or organization."^^rdf:HTML ; sh:name "contactPoint" ; . schema:Person-contactPoints a sh:PropertyShape ; sh:path schema:contactPoints ; sh:class schema:ContactPoint ; sh:description "A contact point for a person or organization."^^rdf:HTML ; sh:name "contactPoints" ; . schema:Person-deathDate a sh:PropertyShape ; sh:path schema:deathDate ; sh:datatype xsd:date ; sh:description "Date of death."^^rdf:HTML ; sh:name "deathDate" ; . schema:Person-deathPlace a sh:PropertyShape ; sh:path schema:deathPlace ; sh:class schema:Place ; sh:description "The place where the person died."^^rdf:HTML ; sh:name "deathPlace" ; . schema:Person-duns a sh:PropertyShape ; sh:path schema:duns ; sh:datatype xsd:string ; sh:description "The Dun & Bradstreet DUNS number for identifying an organization or business person."^^rdf:HTML ; sh:name "duns" ; . schema:Person-email a sh:PropertyShape ; sh:path schema:email ; sh:datatype xsd:string ; sh:description "Email address."^^rdf:HTML ; sh:name "email" ; . schema:Person-familyName a sh:PropertyShape ; sh:path schema:familyName ; sh:datatype xsd:string ; sh:description "Family name. In the U.S., the last name of a Person."^^rdf:HTML ; sh:name "familyName" ; . schema:Person-faxNumber a sh:PropertyShape ; sh:path schema:faxNumber ; sh:datatype xsd:string ; sh:description "The fax number."^^rdf:HTML ; sh:name "faxNumber" ; . schema:Person-follows a sh:PropertyShape ; sh:path schema:follows ; sh:class schema:Person ; sh:description "The most generic uni-directional social relation."^^rdf:HTML ; sh:name "follows" ; . schema:Person-funder a sh:PropertyShape ; sh:path schema:funder ; sh:description "A person or organization that supports (sponsors) something through some kind of financial contribution."^^rdf:HTML ; sh:name "funder" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Person-gender a sh:PropertyShape ; sh:path schema:gender ; sh:description "Gender of something, typically a [[Person]], but possibly also fictional characters, animals, etc. While http://schema.org/Male and http://schema.org/Female may be used, text strings are also acceptable for people who do not identify as a binary gender. The [[gender]] property can also be used in an extended sense to cover e.g. the gender of sports teams. As with the gender of individuals, we do not try to enumerate all possibilities. A mixed-gender [[SportsTeam]] can be indicated with a text value of \"Mixed\"."^^rdf:HTML ; sh:name "gender" ; sh:or ( [ sh:class schema:GenderType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Person-givenName a sh:PropertyShape ; sh:path schema:givenName ; sh:datatype xsd:string ; sh:description "Given name. In the U.S., the first name of a Person."^^rdf:HTML ; sh:name "givenName" ; . schema:Person-globalLocationNumber a sh:PropertyShape ; sh:path schema:globalLocationNumber ; sh:datatype xsd:string ; sh:description "The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations."^^rdf:HTML ; sh:name "globalLocationNumber" ; . schema:Person-hasCredential a sh:PropertyShape ; sh:path schema:hasCredential ; sh:class schema:EducationalOccupationalCredential ; sh:description "A credential awarded to the Person or Organization."^^rdf:HTML ; sh:name "hasCredential" ; . schema:Person-hasOccupation a sh:PropertyShape ; sh:path schema:hasOccupation ; sh:class schema:Occupation ; sh:description "The Person's occupation. For past professions, use Role for expressing dates."^^rdf:HTML ; sh:name "hasOccupation" ; . schema:Person-hasOfferCatalog a sh:PropertyShape ; sh:path schema:hasOfferCatalog ; sh:class schema:OfferCatalog ; sh:description "Indicates an OfferCatalog listing for this Organization, Person, or Service."^^rdf:HTML ; sh:name "hasOfferCatalog" ; . schema:Person-hasPOS a sh:PropertyShape ; sh:path schema:hasPOS ; sh:class schema:Place ; sh:description "Points-of-Sales operated by the organization or person."^^rdf:HTML ; sh:name "hasPOS" ; . schema:Person-height a sh:PropertyShape ; sh:path schema:height ; sh:description "The height of the item."^^rdf:HTML ; sh:name "height" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Person-homeLocation a sh:PropertyShape ; sh:path schema:homeLocation ; sh:description "A contact location for a person's residence."^^rdf:HTML ; sh:name "homeLocation" ; sh:or ( [ sh:class schema:ContactPoint ; ] [ sh:class schema:Place ; ] ) ; . schema:Person-honorificPrefix a sh:PropertyShape ; sh:path schema:honorificPrefix ; sh:datatype xsd:string ; sh:description "An honorific prefix preceding a Person's name such as Dr/Mrs/Mr."^^rdf:HTML ; sh:name "honorificPrefix" ; . schema:Person-honorificSuffix a sh:PropertyShape ; sh:path schema:honorificSuffix ; sh:datatype xsd:string ; sh:description "An honorific suffix following a Person's name such as M.D. /PhD/MSCSW."^^rdf:HTML ; sh:name "honorificSuffix" ; . schema:Person-interactionStatistic a sh:PropertyShape ; sh:path schema:interactionStatistic ; sh:class schema:InteractionCounter ; sh:description "The number of interactions for the CreativeWork using the WebSite or SoftwareApplication. The most specific child type of InteractionCounter should be used."^^rdf:HTML ; sh:name "interactionStatistic" ; . schema:Person-isicV4 a sh:PropertyShape ; sh:path schema:isicV4 ; sh:datatype xsd:string ; sh:description "The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place."^^rdf:HTML ; sh:name "isicV4" ; . schema:Person-jobTitle a sh:PropertyShape ; sh:path schema:jobTitle ; sh:description "The job title of the person (for example, Financial Manager)."^^rdf:HTML ; sh:name "jobTitle" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Person-knows a sh:PropertyShape ; sh:path schema:knows ; sh:class schema:Person ; sh:description "The most generic bi-directional social/work relation."^^rdf:HTML ; sh:name "knows" ; . schema:Person-knowsAbout a sh:PropertyShape ; sh:path schema:knowsAbout ; sh:description "Of a [[Person]], and less typically of an [[Organization]], to indicate a topic that is known about - suggesting possible expertise but not implying it. We do not distinguish skill levels here, or relate this to educational content, events, objectives or [[JobPosting]] descriptions."^^rdf:HTML ; sh:name "knowsAbout" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Person-knowsLanguage a sh:PropertyShape ; sh:path schema:knowsLanguage ; sh:description "Of a [[Person]], and less typically of an [[Organization]], to indicate a known language. We do not distinguish skill levels or reading/writing/speaking/signing here. Use language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47)."^^rdf:HTML ; sh:name "knowsLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Person-makesOffer a sh:PropertyShape ; sh:path schema:makesOffer ; sh:class schema:Offer ; sh:description "A pointer to products or services offered by the organization or person."^^rdf:HTML ; sh:name "makesOffer" ; . schema:Person-memberOf a sh:PropertyShape ; sh:path schema:memberOf ; sh:description "An Organization (or ProgramMembership) to which this Person or Organization belongs."^^rdf:HTML ; sh:name "memberOf" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:ProgramMembership ; ] ) ; . schema:Person-naics a sh:PropertyShape ; sh:path schema:naics ; sh:datatype xsd:string ; sh:description "The North American Industry Classification System (NAICS) code for a particular organization or business person."^^rdf:HTML ; sh:name "naics" ; . schema:Person-nationality a sh:PropertyShape ; sh:path schema:nationality ; sh:class schema:Country ; sh:description "Nationality of the person."^^rdf:HTML ; sh:name "nationality" ; . schema:Person-netWorth a sh:PropertyShape ; sh:path schema:netWorth ; sh:description "The total financial value of the person as calculated by subtracting assets from liabilities."^^rdf:HTML ; sh:name "netWorth" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:class schema:PriceSpecification ; ] ) ; . schema:Person-owns a sh:PropertyShape ; sh:path schema:owns ; sh:description "Products owned by the organization or person."^^rdf:HTML ; sh:name "owns" ; sh:or ( [ sh:class schema:OwnershipInfo ; ] [ sh:class schema:Product ; ] ) ; . schema:Person-parent a sh:PropertyShape ; sh:path schema:parent ; sh:class schema:Person ; sh:description "A parent of this person."^^rdf:HTML ; sh:name "parent" ; . schema:Person-parents a sh:PropertyShape ; sh:path schema:parents ; sh:class schema:Person ; sh:description "A parents of the person."^^rdf:HTML ; sh:name "parents" ; . schema:Person-performerIn a sh:PropertyShape ; sh:path schema:performerIn ; sh:class schema:Event ; sh:description "Event that this person is a performer or participant in."^^rdf:HTML ; sh:name "performerIn" ; . schema:Person-publishingPrinciples a sh:PropertyShape ; sh:path schema:publishingPrinciples ; sh:description """The publishingPrinciples property indicates (typically via [[URL]]) a document describing the editorial principles of an [[Organization]] (or individual e.g. a [[Person]] writing a blog) that relate to their activities as a publisher, e.g. ethics or diversity policies. When applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are those of the party primarily responsible for the creation of the [[CreativeWork]]. While such policies are most typically expressed in natural language, sometimes related information (e.g. indicating a [[funder]]) can be expressed using schema.org terminology. """^^rdf:HTML ; sh:name "publishingPrinciples" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Person-relatedTo a sh:PropertyShape ; sh:path schema:relatedTo ; sh:class schema:Person ; sh:description "The most generic familial relation."^^rdf:HTML ; sh:name "relatedTo" ; . schema:Person-seeks a sh:PropertyShape ; sh:path schema:seeks ; sh:class schema:Demand ; sh:description "A pointer to products or services sought by the organization or person (demand)."^^rdf:HTML ; sh:name "seeks" ; . schema:Person-sibling a sh:PropertyShape ; sh:path schema:sibling ; sh:class schema:Person ; sh:description "A sibling of the person."^^rdf:HTML ; sh:name "sibling" ; . schema:Person-siblings a sh:PropertyShape ; sh:path schema:siblings ; sh:class schema:Person ; sh:description "A sibling of the person."^^rdf:HTML ; sh:name "siblings" ; . schema:Person-sponsor a sh:PropertyShape ; sh:path schema:sponsor ; sh:description "A person or organization that supports a thing through a pledge, promise, or financial contribution. e.g. a sponsor of a Medical Study or a corporate sponsor of an event."^^rdf:HTML ; sh:name "sponsor" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Person-spouse a sh:PropertyShape ; sh:path schema:spouse ; sh:class schema:Person ; sh:description "The person's spouse."^^rdf:HTML ; sh:name "spouse" ; . schema:Person-taxID a sh:PropertyShape ; sh:path schema:taxID ; sh:datatype xsd:string ; sh:description "The Tax / Fiscal ID of the organization or person, e.g. the TIN in the US or the CIF/NIF in Spain."^^rdf:HTML ; sh:name "taxID" ; . schema:Person-telephone a sh:PropertyShape ; sh:path schema:telephone ; sh:datatype xsd:string ; sh:description "The telephone number."^^rdf:HTML ; sh:name "telephone" ; . schema:Person-vatID a sh:PropertyShape ; sh:path schema:vatID ; sh:datatype xsd:string ; sh:description "The Value-added Tax ID of the organization or person."^^rdf:HTML ; sh:name "vatID" ; . schema:Person-weight a sh:PropertyShape ; sh:path schema:weight ; sh:class schema:QuantitativeValue ; sh:description "The weight of the product or person."^^rdf:HTML ; sh:name "weight" ; . schema:Person-workLocation a sh:PropertyShape ; sh:path schema:workLocation ; sh:description "A contact location for a person's place of work."^^rdf:HTML ; sh:name "workLocation" ; sh:or ( [ sh:class schema:ContactPoint ; ] [ sh:class schema:Place ; ] ) ; . schema:Person-worksFor a sh:PropertyShape ; sh:path schema:worksFor ; sh:class schema:Organization ; sh:description "Organizations that the person works for."^^rdf:HTML ; sh:name "worksFor" ; . schema:PetStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A pet store."^^rdf:HTML ; rdfs:label "Pet store" ; rdfs:subClassOf schema:Store ; . schema:Pharmacy a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A pharmacy or drugstore."^^rdf:HTML ; rdfs:label "Pharmacy" ; rdfs:subClassOf schema:MedicalBusiness ; rdfs:subClassOf schema:MedicalOrganization ; . schema:PharmacySpecialty a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "The practice or art and science of preparing and dispensing drugs and medicines." ; rdfs:label "Pharmacy specialty" ; . schema:Photograph a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A photograph."^^rdf:HTML ; rdfs:label "Photograph" ; rdfs:subClassOf schema:CreativeWork ; . schema:PhotographAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of capturing still images of objects using a camera."^^rdf:HTML ; rdfs:label "Photograph action" ; rdfs:subClassOf schema:CreateAction ; . schema:PhysicalActivity a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any bodily activity that enhances or maintains physical fitness and overall health and wellness. Includes activity that is part of daily living and routine, structured exercise, and exercise prescribed as part of a medical treatment or recovery plan."^^rdf:HTML ; rdfs:label "Physical activity" ; rdfs:subClassOf schema:LifestyleModification ; sh:property schema:PhysicalActivity-associatedAnatomy ; sh:property schema:PhysicalActivity-category ; sh:property schema:PhysicalActivity-epidemiology ; sh:property schema:PhysicalActivity-pathophysiology ; . schema:PhysicalActivity-associatedAnatomy a sh:PropertyShape ; sh:path schema:associatedAnatomy ; sh:description "The anatomy of the underlying organ system or structures associated with this entity."^^rdf:HTML ; sh:name "associatedAnatomy" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:AnatomicalSystem ; ] [ sh:class schema:SuperficialAnatomy ; ] ) ; . schema:PhysicalActivity-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PhysicalActivity-epidemiology a sh:PropertyShape ; sh:path schema:epidemiology ; sh:datatype xsd:string ; sh:description "The characteristics of associated patients, such as age, gender, race etc."^^rdf:HTML ; sh:name "epidemiology" ; . schema:PhysicalActivity-pathophysiology a sh:PropertyShape ; sh:path schema:pathophysiology ; sh:datatype xsd:string ; sh:description "Changes in the normal mechanical, physical, and biochemical functions that are associated with this activity or condition."^^rdf:HTML ; sh:name "pathophysiology" ; . schema:PhysicalActivityCategory a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Categories of physical activity, organized by physiologic classification."^^rdf:HTML ; rdfs:label "Physical activity category" ; rdfs:subClassOf schema:Enumeration ; . schema:PhysicalExam a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A type of physical examination of a patient performed by a physician. "^^rdf:HTML ; rdfs:label "Physical exam" ; rdfs:subClassOf schema:MedicalEnumeration ; rdfs:subClassOf schema:MedicalProcedure ; . schema:PhysicalTherapy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A process of progressive physical care and rehabilitation aimed at improving a health condition."^^rdf:HTML ; rdfs:label "Physical therapy" ; rdfs:subClassOf schema:MedicalTherapy ; . schema:Physician a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A doctor's office."^^rdf:HTML ; rdfs:label "Physician" ; rdfs:subClassOf schema:MedicalBusiness ; rdfs:subClassOf schema:MedicalOrganization ; sh:property schema:Physician-availableService ; sh:property schema:Physician-hospitalAffiliation ; sh:property schema:Physician-medicalSpecialty ; . schema:Physician-availableService a sh:PropertyShape ; sh:path schema:availableService ; sh:description "A medical service available from this provider."^^rdf:HTML ; sh:name "availableService" ; sh:or ( [ sh:class schema:MedicalProcedure ; ] [ sh:class schema:MedicalTest ; ] [ sh:class schema:MedicalTherapy ; ] ) ; . schema:Physician-hospitalAffiliation a sh:PropertyShape ; sh:path schema:hospitalAffiliation ; sh:class schema:Hospital ; sh:description "A hospital with which the physician or office is affiliated."^^rdf:HTML ; sh:name "hospitalAffiliation" ; . schema:Physician-medicalSpecialty a sh:PropertyShape ; sh:path schema:medicalSpecialty ; sh:class schema:MedicalSpecialty ; sh:description "A medical specialty of the provider."^^rdf:HTML ; sh:name "medicalSpecialty" ; . schema:Physiotherapy a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "The practice of treatment of disease, injury, or deformity by physical methods such as massage, heat treatment, and exercise rather than by drugs or surgery.." ; rdfs:label "Physiotherapy" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:Place a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Entities that have a somewhat fixed, physical extension."^^rdf:HTML ; rdfs:label "Place" ; rdfs:subClassOf schema:Thing ; sh:property schema:Place-additionalProperty ; sh:property schema:Place-address ; sh:property schema:Place-aggregateRating ; sh:property schema:Place-amenityFeature ; sh:property schema:Place-branchCode ; sh:property schema:Place-containedIn ; sh:property schema:Place-containedInPlace ; sh:property schema:Place-containsPlace ; sh:property schema:Place-event ; sh:property schema:Place-events ; sh:property schema:Place-faxNumber ; sh:property schema:Place-geo ; sh:property schema:Place-geoContains ; sh:property schema:Place-geoCoveredBy ; sh:property schema:Place-geoCovers ; sh:property schema:Place-geoCrosses ; sh:property schema:Place-geoDisjoint ; sh:property schema:Place-geoEquals ; sh:property schema:Place-geoIntersects ; sh:property schema:Place-geoOverlaps ; sh:property schema:Place-geoTouches ; sh:property schema:Place-geoWithin ; sh:property schema:Place-globalLocationNumber ; sh:property schema:Place-hasDriveThroughService ; sh:property schema:Place-hasMap ; sh:property schema:Place-isAccessibleForFree ; sh:property schema:Place-isicV4 ; sh:property schema:Place-latitude ; sh:property schema:Place-logo ; sh:property schema:Place-longitude ; sh:property schema:Place-map ; sh:property schema:Place-maps ; sh:property schema:Place-maximumAttendeeCapacity ; sh:property schema:Place-openingHoursSpecification ; sh:property schema:Place-photo ; sh:property schema:Place-photos ; sh:property schema:Place-publicAccess ; sh:property schema:Place-review ; sh:property schema:Place-reviews ; sh:property schema:Place-slogan ; sh:property schema:Place-smokingAllowed ; sh:property schema:Place-specialOpeningHoursSpecification ; sh:property schema:Place-telephone ; sh:property schema:Place-tourBookingPage ; . schema:Place-additionalProperty a sh:PropertyShape ; sh:path schema:additionalProperty ; sh:class schema:PropertyValue ; sh:description """A property-value pair representing an additional characteristics of the entitity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.\\n\\nNote: Publishers should be aware that applications designed to use specific schema.org properties (e.g. http://schema.org/width, http://schema.org/color, http://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. """^^rdf:HTML ; sh:name "additionalProperty" ; . schema:Place-address a sh:PropertyShape ; sh:path schema:address ; sh:description "Physical address of the item."^^rdf:HTML ; sh:name "address" ; sh:or ( [ sh:class schema:PostalAddress ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Place-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Place-amenityFeature a sh:PropertyShape ; sh:path schema:amenityFeature ; sh:class schema:LocationFeatureSpecification ; sh:description "An amenity feature (e.g. a characteristic or service) of the Accommodation. This generic property does not make a statement about whether the feature is included in an offer for the main accommodation or available at extra costs."^^rdf:HTML ; sh:name "amenityFeature" ; . schema:Place-branchCode a sh:PropertyShape ; sh:path schema:branchCode ; sh:datatype xsd:string ; sh:description """A short textual code (also called \"store code\") that uniquely identifies a place of business. The code is typically assigned by the parentOrganization and used in structured URLs.\\n\\nFor example, in the URL http://www.starbucks.co.uk/store-locator/etc/detail/3047 the code \"3047\" is a branchCode for a particular branch. """^^rdf:HTML ; sh:name "branchCode" ; . schema:Place-containedIn a sh:PropertyShape ; sh:path schema:containedIn ; sh:class schema:Place ; sh:description "The basic containment relation between a place and one that contains it."^^rdf:HTML ; sh:name "containedIn" ; . schema:Place-containedInPlace a sh:PropertyShape ; sh:path schema:containedInPlace ; sh:class schema:Place ; sh:description "The basic containment relation between a place and one that contains it."^^rdf:HTML ; sh:name "containedInPlace" ; . schema:Place-containsPlace a sh:PropertyShape ; sh:path schema:containsPlace ; sh:class schema:Place ; sh:description "The basic containment relation between a place and another that it contains."^^rdf:HTML ; sh:name "containsPlace" ; . schema:Place-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:Place-events a sh:PropertyShape ; sh:path schema:events ; sh:class schema:Event ; sh:description "Upcoming or past events associated with this place or organization."^^rdf:HTML ; sh:name "events" ; . schema:Place-faxNumber a sh:PropertyShape ; sh:path schema:faxNumber ; sh:datatype xsd:string ; sh:description "The fax number."^^rdf:HTML ; sh:name "faxNumber" ; . schema:Place-geo a sh:PropertyShape ; sh:path schema:geo ; sh:description "The geo coordinates of the place."^^rdf:HTML ; sh:name "geo" ; sh:or ( [ sh:class schema:GeoCoordinates ; ] [ sh:class schema:GeoShape ; ] ) ; . schema:Place-geoContains a sh:PropertyShape ; sh:path schema:geoContains ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a containing geometry to a contained geometry. \"a contains b iff no points of b lie in the exterior of a, and at least one point of the interior of b lies in the interior of a\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoContains" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoCoveredBy a sh:PropertyShape ; sh:path schema:geoCoveredBy ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that covers it. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoCoveredBy" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoCovers a sh:PropertyShape ; sh:path schema:geoCovers ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a covering geometry to a covered geometry. \"Every point of b is a point of (the interior or boundary of) a\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoCovers" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoCrosses a sh:PropertyShape ; sh:path schema:geoCrosses ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that crosses it: \"a crosses b: they have some but not all interior points in common, and the dimension of the intersection is less than that of at least one of them\". As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoCrosses" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoDisjoint a sh:PropertyShape ; sh:path schema:geoDisjoint ; sh:description "Represents spatial relations in which two geometries (or the places they represent) are topologically disjoint: they have no point in common. They form a set of disconnected geometries.\" (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM))"^^rdf:HTML ; sh:name "geoDisjoint" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoEquals a sh:PropertyShape ; sh:path schema:geoEquals ; sh:description "Represents spatial relations in which two geometries (or the places they represent) are topologically equal, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM). \"Two geometries are topologically equal if their interiors intersect and no part of the interior or boundary of one geometry intersects the exterior of the other\" (a symmetric relationship)"^^rdf:HTML ; sh:name "geoEquals" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoIntersects a sh:PropertyShape ; sh:path schema:geoIntersects ; sh:description "Represents spatial relations in which two geometries (or the places they represent) have at least one point in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoIntersects" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoOverlaps a sh:PropertyShape ; sh:path schema:geoOverlaps ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to another that geospatially overlaps it, i.e. they have some but not all points in common. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoOverlaps" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoTouches a sh:PropertyShape ; sh:path schema:geoTouches ; sh:description "Represents spatial relations in which two geometries (or the places they represent) touch: they have at least one boundary point in common, but no interior points.\" (a symmetric relationship, as defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM) )"^^rdf:HTML ; sh:name "geoTouches" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-geoWithin a sh:PropertyShape ; sh:path schema:geoWithin ; sh:description "Represents a relationship between two geometries (or the places they represent), relating a geometry to one that contains it, i.e. it is inside (i.e. within) its interior. As defined in [DE-9IM](https://en.wikipedia.org/wiki/DE-9IM)."^^rdf:HTML ; sh:name "geoWithin" ; sh:or ( [ sh:class schema:GeospatialGeometry ; ] [ sh:class schema:Place ; ] ) ; . schema:Place-globalLocationNumber a sh:PropertyShape ; sh:path schema:globalLocationNumber ; sh:datatype xsd:string ; sh:description "The [Global Location Number](http://www.gs1.org/gln) (GLN, sometimes also referred to as International Location Number or ILN) of the respective organization, person, or place. The GLN is a 13-digit number used to identify parties and physical locations."^^rdf:HTML ; sh:name "globalLocationNumber" ; . schema:Place-hasDriveThroughService a sh:PropertyShape ; sh:path schema:hasDriveThroughService ; sh:datatype xsd:boolean ; sh:description "Indicates whether some facility (e.g. [[FoodEstablishment]], [[CovidTestingFacility]]) offers a service that can be used by driving through in a car. In the case of [[CovidTestingFacility]] such facilities could potentially help with social distancing from other potentially-infected users."^^rdf:HTML ; sh:name "hasDriveThroughService" ; . schema:Place-hasMap a sh:PropertyShape ; sh:path schema:hasMap ; sh:description "A URL to a map of the place."^^rdf:HTML ; sh:name "hasMap" ; sh:or ( [ sh:class schema:Map ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Place-isAccessibleForFree a sh:PropertyShape ; sh:path schema:isAccessibleForFree ; sh:datatype xsd:boolean ; sh:description "A flag to signal that the item, event, or place is accessible for free."^^rdf:HTML ; sh:name "isAccessibleForFree" ; . schema:Place-isicV4 a sh:PropertyShape ; sh:path schema:isicV4 ; sh:datatype xsd:string ; sh:description "The International Standard of Industrial Classification of All Economic Activities (ISIC), Revision 4 code for a particular organization, business person, or place."^^rdf:HTML ; sh:name "isicV4" ; . schema:Place-latitude a sh:PropertyShape ; sh:path schema:latitude ; sh:description "The latitude of a location. For example ```37.42242``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System))."^^rdf:HTML ; sh:name "latitude" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Place-logo a sh:PropertyShape ; sh:path schema:logo ; sh:description "An associated logo."^^rdf:HTML ; sh:name "logo" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Place-longitude a sh:PropertyShape ; sh:path schema:longitude ; sh:description "The longitude of a location. For example ```-122.08585``` ([WGS 84](https://en.wikipedia.org/wiki/World_Geodetic_System))."^^rdf:HTML ; sh:name "longitude" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Place-map a sh:PropertyShape ; sh:path schema:map ; sh:description "A URL to a map of the place."^^rdf:HTML ; sh:name "map" ; sh:nodeKind sh:IRI ; . schema:Place-maps a sh:PropertyShape ; sh:path schema:maps ; sh:description "A URL to a map of the place."^^rdf:HTML ; sh:name "maps" ; sh:nodeKind sh:IRI ; . schema:Place-maximumAttendeeCapacity a sh:PropertyShape ; sh:path schema:maximumAttendeeCapacity ; sh:datatype xsd:integer ; sh:description "The total number of individuals that may attend an event or venue."^^rdf:HTML ; sh:name "maximumAttendeeCapacity" ; . schema:Place-openingHoursSpecification a sh:PropertyShape ; sh:path schema:openingHoursSpecification ; sh:class schema:OpeningHoursSpecification ; sh:description "The opening hours of a certain place."^^rdf:HTML ; sh:name "openingHoursSpecification" ; . schema:Place-photo a sh:PropertyShape ; sh:path schema:photo ; sh:description "A photograph of this place."^^rdf:HTML ; sh:name "photo" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:class schema:Photograph ; ] ) ; . schema:Place-photos a sh:PropertyShape ; sh:path schema:photos ; sh:description "Photographs of this place."^^rdf:HTML ; sh:name "photos" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:class schema:Photograph ; ] ) ; . schema:Place-publicAccess a sh:PropertyShape ; sh:path schema:publicAccess ; sh:datatype xsd:boolean ; sh:description "A flag to signal that the [[Place]] is open to public visitors. If this property is omitted there is no assumed default boolean value"^^rdf:HTML ; sh:name "publicAccess" ; . schema:Place-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Place-reviews a sh:PropertyShape ; sh:path schema:reviews ; sh:class schema:Review ; sh:description "Review of the item."^^rdf:HTML ; sh:name "reviews" ; . schema:Place-slogan a sh:PropertyShape ; sh:path schema:slogan ; sh:datatype xsd:string ; sh:description "A slogan or motto associated with the item."^^rdf:HTML ; sh:name "slogan" ; . schema:Place-smokingAllowed a sh:PropertyShape ; sh:path schema:smokingAllowed ; sh:datatype xsd:boolean ; sh:description "Indicates whether it is allowed to smoke in the place, e.g. in the restaurant, hotel or hotel room."^^rdf:HTML ; sh:name "smokingAllowed" ; . schema:Place-specialOpeningHoursSpecification a sh:PropertyShape ; sh:path schema:specialOpeningHoursSpecification ; sh:class schema:OpeningHoursSpecification ; sh:description """The special opening hours of a certain place.\\n\\nUse this to explicitly override general opening hours brought in scope by [[openingHoursSpecification]] or [[openingHours]]. """^^rdf:HTML ; sh:name "specialOpeningHoursSpecification" ; . schema:Place-telephone a sh:PropertyShape ; sh:path schema:telephone ; sh:datatype xsd:string ; sh:description "The telephone number."^^rdf:HTML ; sh:name "telephone" ; . schema:Place-tourBookingPage a sh:PropertyShape ; sh:path schema:tourBookingPage ; sh:description "A page providing information on how to book a tour of some [[Place]], such as an [[Accommodation]] or [[ApartmentComplex]] in a real estate setting, as well as other kinds of tours as appropriate."^^rdf:HTML ; sh:name "tourBookingPage" ; sh:nodeKind sh:IRI ; . schema:PlaceOfWorship a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Place of worship, such as a church, synagogue, or mosque."^^rdf:HTML ; rdfs:label "Place of worship" ; rdfs:subClassOf schema:CivicStructure ; . schema:PlaceboControlledTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A placebo-controlled trial design." ; rdfs:label "Placebo controlled trial" ; . schema:PlanAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of planning the execution of an event/task/action/reservation/plan to a future date."^^rdf:HTML ; rdfs:label "Plan action" ; rdfs:subClassOf schema:OrganizeAction ; sh:property schema:PlanAction-scheduledTime ; . schema:PlanAction-scheduledTime a sh:PropertyShape ; sh:path schema:scheduledTime ; sh:datatype xsd:dateTime ; sh:description "The time the object is scheduled to."^^rdf:HTML ; sh:name "scheduledTime" ; . schema:PlasticSurgery a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to therapeutic or cosmetic repair or re-formation of missing, injured or malformed tissues or body parts by manual and instrumental means." ; rdfs:label "Plastic surgery" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:Play a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A play is a form of literature, usually consisting of dialogue between characters, intended for theatrical performance rather than just reading. Note the peformance of a Play would be a [[TheaterEvent]] - the *Play* being the [[workPerformed]]."^^rdf:HTML ; rdfs:label "Play" ; rdfs:subClassOf schema:CreativeWork ; . schema:PlayAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of playing/exercising/training/performing for enjoyment, leisure, recreation, Competition or exercise.\\n\\nRelated actions:\\n\\n* [[ListenAction]]: Unlike ListenAction (which is under ConsumeAction), PlayAction refers to performing for an audience or at an event, rather than consuming music.\\n* [[WatchAction]]: Unlike WatchAction (which is under ConsumeAction), PlayAction refers to showing/displaying for an audience or at an event, rather than consuming visual content."^^rdf:HTML ; rdfs:label "Play action" ; rdfs:subClassOf schema:Action ; sh:property schema:PlayAction-audience ; sh:property schema:PlayAction-event ; . schema:PlayAction-audience a sh:PropertyShape ; sh:path schema:audience ; sh:class schema:Audience ; sh:description "An intended audience, i.e. a group for whom something was created."^^rdf:HTML ; sh:name "audience" ; . schema:PlayAction-event a sh:PropertyShape ; sh:path schema:event ; sh:class schema:Event ; sh:description "Upcoming or past event associated with this place, organization, or action."^^rdf:HTML ; sh:name "event" ; . schema:Playground a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A playground."^^rdf:HTML ; rdfs:label "Playground" ; rdfs:subClassOf schema:CivicStructure ; . schema:Plumber a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A plumbing service."^^rdf:HTML ; rdfs:label "Plumber" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:PodcastEpisode a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A single episode of a podcast series."^^rdf:HTML ; rdfs:label "Podcast episode" ; rdfs:subClassOf schema:Episode ; . schema:PodcastSeason a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A single season of a podcast. Many podcasts do not break down into separate seasons. In that case, PodcastSeries should be used."^^rdf:HTML ; rdfs:label "Podcast season" ; rdfs:subClassOf schema:CreativeWorkSeason ; . schema:PodcastSeries a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A podcast is an episodic series of digital audio or video files which a user can download and listen to."^^rdf:HTML ; rdfs:label "Podcast series" ; rdfs:subClassOf schema:CreativeWorkSeries ; sh:property schema:PodcastSeries-webFeed ; . schema:PodcastSeries-webFeed a sh:PropertyShape ; sh:path schema:webFeed ; sh:description "The URL for a feed, e.g. associated with a podcast series, blog, or series of date-stamped updates. This is usually RSS or Atom."^^rdf:HTML ; sh:name "webFeed" ; sh:or ( [ sh:class schema:DataFeed ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Podiatric a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "Podiatry is the care of the human foot, especially the diagnosis and treatment of foot disorders." ; rdfs:label "Podiatric" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:PoliceStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A police station."^^rdf:HTML ; rdfs:label "Police station" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:EmergencyService ; . schema:Pond a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A pond."^^rdf:HTML ; rdfs:label "Pond" ; rdfs:subClassOf schema:BodyOfWater ; . schema:PostOffice a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A post office."^^rdf:HTML ; rdfs:label "Post office" ; rdfs:subClassOf schema:GovernmentOffice ; . schema:PostalAddress a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The mailing address."^^rdf:HTML ; rdfs:label "Postal address" ; rdfs:subClassOf schema:ContactPoint ; sh:property schema:PostalAddress-addressCountry ; sh:property schema:PostalAddress-addressLocality ; sh:property schema:PostalAddress-addressRegion ; sh:property schema:PostalAddress-postOfficeBoxNumber ; sh:property schema:PostalAddress-postalCode ; sh:property schema:PostalAddress-streetAddress ; . schema:PostalAddress-addressCountry a sh:PropertyShape ; sh:path schema:addressCountry ; sh:description "The country. For example, USA. You can also provide the two-letter [ISO 3166-1 alpha-2 country code](http://en.wikipedia.org/wiki/ISO_3166-1)."^^rdf:HTML ; sh:name "addressCountry" ; sh:or ( [ sh:class schema:Country ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PostalAddress-addressLocality a sh:PropertyShape ; sh:path schema:addressLocality ; sh:datatype xsd:string ; sh:description "The locality in which the street address is, and which is in the region. For example, Mountain View."^^rdf:HTML ; sh:name "addressLocality" ; . schema:PostalAddress-addressRegion a sh:PropertyShape ; sh:path schema:addressRegion ; sh:datatype xsd:string ; sh:description "The region in which the locality is, and which is in the country. For example, California or another appropriate first-level [Administrative division](https://en.wikipedia.org/wiki/List_of_administrative_divisions_by_country) "^^rdf:HTML ; sh:name "addressRegion" ; . schema:PostalAddress-postOfficeBoxNumber a sh:PropertyShape ; sh:path schema:postOfficeBoxNumber ; sh:datatype xsd:string ; sh:description "The post office box number for PO box addresses."^^rdf:HTML ; sh:name "postOfficeBoxNumber" ; . schema:PostalAddress-postalCode a sh:PropertyShape ; sh:path schema:postalCode ; sh:datatype xsd:string ; sh:description "The postal code. For example, 94043."^^rdf:HTML ; sh:name "postalCode" ; . schema:PostalAddress-streetAddress a sh:PropertyShape ; sh:path schema:streetAddress ; sh:datatype xsd:string ; sh:description "The street address. For example, 1600 Amphitheatre Pkwy."^^rdf:HTML ; sh:name "streetAddress" ; . schema:PostalCodeRangeSpecification a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Indicates a range of postalcodes, usually defined as the set of valid codes between [[postalCodeBegin]] and [[postalCodeEnd]], inclusively."^^rdf:HTML ; rdfs:label "Postal code range specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:PostalCodeRangeSpecification-postalCodeBegin ; sh:property schema:PostalCodeRangeSpecification-postalCodeEnd ; . schema:PostalCodeRangeSpecification-postalCodeBegin a sh:PropertyShape ; sh:path schema:postalCodeBegin ; sh:datatype xsd:string ; sh:description "First postal code in a range (included)."^^rdf:HTML ; sh:name "postalCodeBegin" ; . schema:PostalCodeRangeSpecification-postalCodeEnd a sh:PropertyShape ; sh:path schema:postalCodeEnd ; sh:datatype xsd:string ; sh:description "Last postal code in the range (included). Needs to be after [[postalCodeBegin]]."^^rdf:HTML ; sh:name "postalCodeEnd" ; . schema:Poster a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A large, usually printed placard, bill, or announcement, often illustrated, that is posted to advertise or publicize something."^^rdf:HTML ; rdfs:label "Poster" ; rdfs:subClassOf schema:CreativeWork ; . schema:PotentialActionStatus a schema:ActionStatusType ; rdfs:comment "A description of an action that is supported." ; rdfs:label "Potential action status" ; . schema:PreOrder a schema:ItemAvailability ; rdfs:comment "Indicates that the item is available for pre-order." ; rdfs:label "Pre order" ; . schema:PreOrderAction a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "An agent orders a (not yet released) object/product/service to be delivered/sent."^^rdf:HTML ; rdfs:label "Pre order action" ; rdfs:subClassOf schema:TradeAction ; . schema:PreSale a schema:ItemAvailability ; rdfs:comment "Indicates that the item is available for ordering and delivery before general availability." ; rdfs:label "Pre sale" ; . schema:PregnancyHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content discussing pregnancy-related aspects of a health topic." ; rdfs:label "Pregnancy health aspect" ; . schema:PrependAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of inserting at the beginning if an ordered collection."^^rdf:HTML ; rdfs:label "Prepend action" ; rdfs:subClassOf schema:InsertAction ; . schema:Preschool a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A preschool."^^rdf:HTML ; rdfs:label "Preschool" ; rdfs:subClassOf schema:EducationalOrganization ; . schema:PrescriptionOnly a schema:DrugPrescriptionStatus ; schema:isPartOf ; rdfs:comment "Available by prescription only." ; rdfs:label "Prescription only" ; . schema:PresentationDigitalDocument a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A file containing slides or used for a presentation."^^rdf:HTML ; rdfs:label "Presentation digital document" ; rdfs:subClassOf schema:DigitalDocument ; . schema:PreventionHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Information about actions or measures that can be taken to avoid getting the topic or reaching a critical situation related to the topic." ; rdfs:label "Prevention health aspect" ; . schema:PreventionIndication a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An indication for preventing an underlying condition, symptom, etc."^^rdf:HTML ; rdfs:label "Prevention indication" ; rdfs:subClassOf schema:MedicalIndication ; . schema:PriceComponentTypeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates different price components that together make up the total price for an offered product."^^rdf:HTML ; rdfs:label "Price component type enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:PriceSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A structured value representing a price or price range. Typically, only the subclasses of this type are used for markup. It is recommended to use [[MonetaryAmount]] to describe independent amounts of money such as a salary, credit card limits, etc."^^rdf:HTML ; rdfs:label "Price specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:PriceSpecification-eligibleQuantity ; sh:property schema:PriceSpecification-eligibleTransactionVolume ; sh:property schema:PriceSpecification-maxPrice ; sh:property schema:PriceSpecification-minPrice ; sh:property schema:PriceSpecification-price ; sh:property schema:PriceSpecification-priceCurrency ; sh:property schema:PriceSpecification-validFrom ; sh:property schema:PriceSpecification-validThrough ; sh:property schema:PriceSpecification-valueAddedTaxIncluded ; . schema:PriceSpecification-eligibleQuantity a sh:PropertyShape ; sh:path schema:eligibleQuantity ; sh:class schema:QuantitativeValue ; sh:description "The interval and unit of measurement of ordering quantities for which the offer or price specification is valid. This allows e.g. specifying that a certain freight charge is valid only for a certain quantity."^^rdf:HTML ; sh:name "eligibleQuantity" ; . schema:PriceSpecification-eligibleTransactionVolume a sh:PropertyShape ; sh:path schema:eligibleTransactionVolume ; sh:class schema:PriceSpecification ; sh:description "The transaction volume, in a monetary unit, for which the offer or price specification is valid, e.g. for indicating a minimal purchasing volume, to express free shipping above a certain order volume, or to limit the acceptance of credit cards to purchases to a certain minimal amount."^^rdf:HTML ; sh:name "eligibleTransactionVolume" ; . schema:PriceSpecification-maxPrice a sh:PropertyShape ; sh:path schema:maxPrice ; sh:datatype xsd:float ; sh:description "The highest price if the price is a range."^^rdf:HTML ; sh:name "maxPrice" ; . schema:PriceSpecification-minPrice a sh:PropertyShape ; sh:path schema:minPrice ; sh:datatype xsd:float ; sh:description "The lowest price if the price is a range."^^rdf:HTML ; sh:name "minPrice" ; . schema:PriceSpecification-price a sh:PropertyShape ; sh:path schema:price ; sh:description """The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\\n\\nUsage guidelines:\\n\\n* Use the [[priceCurrency]] property (with standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\") instead of including [ambiguous symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) such as '$' in the value.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\\n* Note that both [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) and Microdata syntax allow the use of a \"content=\" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. """^^rdf:HTML ; sh:name "price" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PriceSpecification-priceCurrency a sh:PropertyShape ; sh:path schema:priceCurrency ; sh:datatype xsd:string ; sh:description "The currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "priceCurrency" ; . schema:PriceSpecification-validFrom a sh:PropertyShape ; sh:path schema:validFrom ; sh:description "The date when the item becomes valid."^^rdf:HTML ; sh:name "validFrom" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:PriceSpecification-validThrough a sh:PropertyShape ; sh:path schema:validThrough ; sh:description "The date after when the item is not valid. For example the end of an offer, salary period, or a period of opening hours."^^rdf:HTML ; sh:name "validThrough" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:PriceSpecification-valueAddedTaxIncluded a sh:PropertyShape ; sh:path schema:valueAddedTaxIncluded ; sh:datatype xsd:boolean ; sh:description "Specifies whether the applicable value-added tax (VAT) is included in the price specification or not."^^rdf:HTML ; sh:name "valueAddedTaxIncluded" ; . schema:PriceTypeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates different price types, for example list price, invoice price, and sale price."^^rdf:HTML ; rdfs:label "Price type enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:PrimaryCare a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "The medical care by a physician, or other health-care professional, who is the patient's first contact with the health-care system and who may recommend a specialist if necessary." ; rdfs:label "Primary care" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:Prion a schema:InfectiousAgentClass ; schema:isPartOf ; rdfs:comment "A prion is an infectious agent composed of protein in a misfolded form." ; rdfs:label "Prion" ; . schema:Product a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Any offered product or service. For example: a pair of shoes; a concert ticket; the rental of a car; a haircut; or an episode of a TV show streamed online."^^rdf:HTML ; rdfs:label "Product" ; rdfs:subClassOf schema:Thing ; sh:property schema:Product-additionalProperty ; sh:property schema:Product-aggregateRating ; sh:property schema:Product-audience ; sh:property schema:Product-award ; sh:property schema:Product-awards ; sh:property schema:Product-brand ; sh:property schema:Product-category ; sh:property schema:Product-color ; sh:property schema:Product-depth ; sh:property schema:Product-gtin ; sh:property schema:Product-gtin12 ; sh:property schema:Product-gtin13 ; sh:property schema:Product-gtin14 ; sh:property schema:Product-gtin8 ; sh:property schema:Product-hasEnergyConsumptionDetails ; sh:property schema:Product-hasMeasurement ; sh:property schema:Product-hasMerchantReturnPolicy ; sh:property schema:Product-hasProductReturnPolicy ; sh:property schema:Product-height ; sh:property schema:Product-inProductGroupWithID ; sh:property schema:Product-isAccessoryOrSparePartFor ; sh:property schema:Product-isConsumableFor ; sh:property schema:Product-isRelatedTo ; sh:property schema:Product-isSimilarTo ; sh:property schema:Product-isVariantOf ; sh:property schema:Product-itemCondition ; sh:property schema:Product-logo ; sh:property schema:Product-manufacturer ; sh:property schema:Product-material ; sh:property schema:Product-model ; sh:property schema:Product-mpn ; sh:property schema:Product-nsn ; sh:property schema:Product-offers ; sh:property schema:Product-pattern ; sh:property schema:Product-productID ; sh:property schema:Product-productionDate ; sh:property schema:Product-purchaseDate ; sh:property schema:Product-releaseDate ; sh:property schema:Product-review ; sh:property schema:Product-reviews ; sh:property schema:Product-size ; sh:property schema:Product-sku ; sh:property schema:Product-slogan ; sh:property schema:Product-weight ; sh:property schema:Product-width ; . schema:Product-additionalProperty a sh:PropertyShape ; sh:path schema:additionalProperty ; sh:class schema:PropertyValue ; sh:description """A property-value pair representing an additional characteristics of the entitity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.\\n\\nNote: Publishers should be aware that applications designed to use specific schema.org properties (e.g. http://schema.org/width, http://schema.org/color, http://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. """^^rdf:HTML ; sh:name "additionalProperty" ; . schema:Product-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Product-audience a sh:PropertyShape ; sh:path schema:audience ; sh:class schema:Audience ; sh:description "An intended audience, i.e. a group for whom something was created."^^rdf:HTML ; sh:name "audience" ; . schema:Product-award a sh:PropertyShape ; sh:path schema:award ; sh:datatype xsd:string ; sh:description "An award won by or for this item."^^rdf:HTML ; sh:name "award" ; . schema:Product-awards a sh:PropertyShape ; sh:path schema:awards ; sh:datatype xsd:string ; sh:description "Awards won by or for this item."^^rdf:HTML ; sh:name "awards" ; . schema:Product-brand a sh:PropertyShape ; sh:path schema:brand ; sh:description "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person."^^rdf:HTML ; sh:name "brand" ; sh:or ( [ sh:class schema:Brand ; ] [ sh:class schema:Organization ; ] ) ; . schema:Product-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-color a sh:PropertyShape ; sh:path schema:color ; sh:datatype xsd:string ; sh:description "The color of the product."^^rdf:HTML ; sh:name "color" ; . schema:Product-depth a sh:PropertyShape ; sh:path schema:depth ; sh:description "The depth of the item."^^rdf:HTML ; sh:name "depth" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-gtin a sh:PropertyShape ; sh:path schema:gtin ; sh:datatype xsd:string ; sh:description """A Global Trade Item Number ([GTIN](https://www.gs1.org/standards/id-keys/gtin)). GTINs identify trade items, including products and services, using numeric identification codes. The [[gtin]] property generalizes the earlier [[gtin8]], [[gtin12]], [[gtin13]], and [[gtin14]] properties. The GS1 [digital link specifications](https://www.gs1.org/standards/Digital-Link/) express GTINs as URLs. A correct [[gtin]] value should be a valid GTIN, which means that it should be an all-numeric string of either 8, 12, 13 or 14 digits, or a \"GS1 Digital Link\" URL based on such a string. The numeric component should also have a [valid GS1 check digit](https://www.gs1.org/services/check-digit-calculator) and meet the other rules for valid GTINs. See also [GS1's GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) and [Wikipedia](https://en.wikipedia.org/wiki/Global_Trade_Item_Number) for more details. Left-padding of the gtin values is not required or encouraged. """^^rdf:HTML ; sh:name "gtin" ; . schema:Product-gtin12 a sh:PropertyShape ; sh:path schema:gtin12 ; sh:datatype xsd:string ; sh:description "The GTIN-12 code of the product, or the product to which the offer refers. The GTIN-12 is the 12-digit GS1 Identification Key composed of a U.P.C. Company Prefix, Item Reference, and Check Digit used to identify trade items. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin12" ; . schema:Product-gtin13 a sh:PropertyShape ; sh:path schema:gtin13 ; sh:datatype xsd:string ; sh:description "The GTIN-13 code of the product, or the product to which the offer refers. This is equivalent to 13-digit ISBN codes and EAN UCC-13. Former 12-digit UPC codes can be converted into a GTIN-13 code by simply adding a preceding zero. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin13" ; . schema:Product-gtin14 a sh:PropertyShape ; sh:path schema:gtin14 ; sh:datatype xsd:string ; sh:description "The GTIN-14 code of the product, or the product to which the offer refers. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin14" ; . schema:Product-gtin8 a sh:PropertyShape ; sh:path schema:gtin8 ; sh:datatype xsd:string ; sh:description "The GTIN-8 code of the product, or the product to which the offer refers. This code is also known as EAN/UCC-8 or 8-digit EAN. See [GS1 GTIN Summary](http://www.gs1.org/barcodes/technical/idkeys/gtin) for more details."^^rdf:HTML ; sh:name "gtin8" ; . schema:Product-hasEnergyConsumptionDetails a sh:PropertyShape ; sh:path schema:hasEnergyConsumptionDetails ; sh:class schema:EnergyConsumptionDetails ; sh:description "Defines the energy efficiency Category (also known as \"class\" or \"rating\") for a product according to an international energy efficiency standard."^^rdf:HTML ; sh:name "hasEnergyConsumptionDetails" ; . schema:Product-hasMeasurement a sh:PropertyShape ; sh:path schema:hasMeasurement ; sh:class schema:QuantitativeValue ; sh:description "A product measurement, for example the inseam of pants, the wheel size of a bicycle, or the gauge of a screw. Usually an exact measurement, but can also be a range of measurements for adjustable products, for example belts and ski bindings."^^rdf:HTML ; sh:name "hasMeasurement" ; . schema:Product-hasMerchantReturnPolicy a sh:PropertyShape ; sh:path schema:hasMerchantReturnPolicy ; sh:class schema:MerchantReturnPolicy ; sh:description "Indicates a MerchantReturnPolicy that may be applicable."^^rdf:HTML ; sh:name "hasMerchantReturnPolicy" ; . schema:Product-hasProductReturnPolicy a sh:PropertyShape ; sh:path schema:hasProductReturnPolicy ; sh:class schema:ProductReturnPolicy ; sh:description "Indicates a ProductReturnPolicy that may be applicable."^^rdf:HTML ; sh:name "hasProductReturnPolicy" ; . schema:Product-height a sh:PropertyShape ; sh:path schema:height ; sh:description "The height of the item."^^rdf:HTML ; sh:name "height" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-inProductGroupWithID a sh:PropertyShape ; sh:path schema:inProductGroupWithID ; sh:datatype xsd:string ; sh:description "Indicates the [[productGroupID]] for a [[ProductGroup]] that this product [[isVariantOf]]. "^^rdf:HTML ; sh:name "inProductGroupWithID" ; . schema:Product-isAccessoryOrSparePartFor a sh:PropertyShape ; sh:path schema:isAccessoryOrSparePartFor ; sh:class schema:Product ; sh:description "A pointer to another product (or multiple products) for which this product is an accessory or spare part."^^rdf:HTML ; sh:name "isAccessoryOrSparePartFor" ; . schema:Product-isConsumableFor a sh:PropertyShape ; sh:path schema:isConsumableFor ; sh:class schema:Product ; sh:description "A pointer to another product (or multiple products) for which this product is a consumable."^^rdf:HTML ; sh:name "isConsumableFor" ; . schema:Product-isRelatedTo a sh:PropertyShape ; sh:path schema:isRelatedTo ; sh:description "A pointer to another, somehow related product (or multiple products)."^^rdf:HTML ; sh:name "isRelatedTo" ; sh:or ( [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:Product-isSimilarTo a sh:PropertyShape ; sh:path schema:isSimilarTo ; sh:description "A pointer to another, functionally similar product (or multiple products)."^^rdf:HTML ; sh:name "isSimilarTo" ; sh:or ( [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:Product-isVariantOf a sh:PropertyShape ; sh:path schema:isVariantOf ; sh:description "Indicates the kind of product that this is a variant of. In the case of [[ProductModel]], this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a [[ProductGroup]], the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with [[ProductGroup]], this property can apply to any [[Product]] included in the group."^^rdf:HTML ; sh:name "isVariantOf" ; sh:or ( [ sh:class schema:ProductGroup ; ] [ sh:class schema:ProductModel ; ] ) ; . schema:Product-itemCondition a sh:PropertyShape ; sh:path schema:itemCondition ; sh:class schema:OfferItemCondition ; sh:description "A predefined value from OfferItemCondition or a textual description of the condition of the product or service, or the products or services included in the offer."^^rdf:HTML ; sh:name "itemCondition" ; . schema:Product-logo a sh:PropertyShape ; sh:path schema:logo ; sh:description "An associated logo."^^rdf:HTML ; sh:name "logo" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Product-manufacturer a sh:PropertyShape ; sh:path schema:manufacturer ; sh:class schema:Organization ; sh:description "The manufacturer of the product."^^rdf:HTML ; sh:name "manufacturer" ; . schema:Product-material a sh:PropertyShape ; sh:path schema:material ; sh:description "A material that something is made from, e.g. leather, wool, cotton, paper."^^rdf:HTML ; sh:name "material" ; sh:or ( [ sh:class schema:Product ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-model a sh:PropertyShape ; sh:path schema:model ; sh:description "The model of the product. Use with the URL of a ProductModel or a textual representation of the model identifier. The URL of the ProductModel can be from an external source. It is recommended to additionally provide strong product identifiers via the gtin8/gtin13/gtin14 and mpn properties."^^rdf:HTML ; sh:name "model" ; sh:or ( [ sh:class schema:ProductModel ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-mpn a sh:PropertyShape ; sh:path schema:mpn ; sh:datatype xsd:string ; sh:description "The Manufacturer Part Number (MPN) of the product, or the product to which the offer refers."^^rdf:HTML ; sh:name "mpn" ; . schema:Product-nsn a sh:PropertyShape ; sh:path schema:nsn ; sh:datatype xsd:string ; sh:description "Indicates the [NATO stock number](https://en.wikipedia.org/wiki/NATO_Stock_Number) (nsn) of a [[Product]]. "^^rdf:HTML ; sh:name "nsn" ; . schema:Product-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:Product-pattern a sh:PropertyShape ; sh:path schema:pattern ; sh:description "A pattern that something has, for example 'polka dot', 'striped', 'Canadian flag'. Values are typically expressed as text, although links to controlled value schemes are also supported."^^rdf:HTML ; sh:name "pattern" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-productID a sh:PropertyShape ; sh:path schema:productID ; sh:datatype xsd:string ; sh:description "The product identifier, such as ISBN. For example: ``` meta itemprop=\"productID\" content=\"isbn:123-456-789\" ```."^^rdf:HTML ; sh:name "productID" ; . schema:Product-productionDate a sh:PropertyShape ; sh:path schema:productionDate ; sh:datatype xsd:date ; sh:description "The date of production of the item, e.g. vehicle."^^rdf:HTML ; sh:name "productionDate" ; . schema:Product-purchaseDate a sh:PropertyShape ; sh:path schema:purchaseDate ; sh:datatype xsd:date ; sh:description "The date the item e.g. vehicle was purchased by the current owner."^^rdf:HTML ; sh:name "purchaseDate" ; . schema:Product-releaseDate a sh:PropertyShape ; sh:path schema:releaseDate ; sh:datatype xsd:date ; sh:description "The release date of a product or product model. This can be used to distinguish the exact variant of a product."^^rdf:HTML ; sh:name "releaseDate" ; . schema:Product-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Product-reviews a sh:PropertyShape ; sh:path schema:reviews ; sh:class schema:Review ; sh:description "Review of the item."^^rdf:HTML ; sh:name "reviews" ; . schema:Product-size a sh:PropertyShape ; sh:path schema:size ; sh:description "A standardized size of a product or creative work, specified either through a simple textual string (for example 'XL', '32Wx34L'), a QuantitativeValue with a unitCode, or a comprehensive and structured [[SizeSpecification]]; in other cases, the [[width]], [[height]], [[depth]] and [[weight]] properties may be more applicable. "^^rdf:HTML ; sh:name "size" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:class schema:QuantitativeValue ; ] [ sh:class schema:SizeSpecification ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Product-sku a sh:PropertyShape ; sh:path schema:sku ; sh:datatype xsd:string ; sh:description "The Stock Keeping Unit (SKU), i.e. a merchant-specific identifier for a product or service, or the product to which the offer refers."^^rdf:HTML ; sh:name "sku" ; . schema:Product-slogan a sh:PropertyShape ; sh:path schema:slogan ; sh:datatype xsd:string ; sh:description "A slogan or motto associated with the item."^^rdf:HTML ; sh:name "slogan" ; . schema:Product-weight a sh:PropertyShape ; sh:path schema:weight ; sh:class schema:QuantitativeValue ; sh:description "The weight of the product or person."^^rdf:HTML ; sh:name "weight" ; . schema:Product-width a sh:PropertyShape ; sh:path schema:width ; sh:description "The width of the item."^^rdf:HTML ; sh:name "width" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ProductCollection a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A set of products (either [[ProductGroup]]s or specific variants) that are listed together e.g. in an [[Offer]]."^^rdf:HTML ; rdfs:label "Product collection" ; rdfs:subClassOf schema:Collection ; rdfs:subClassOf schema:Product ; sh:property schema:ProductCollection-includesObject ; . schema:ProductCollection-includesObject a sh:PropertyShape ; sh:path schema:includesObject ; sh:class schema:TypeAndQuantityNode ; sh:description "This links to a node or nodes indicating the exact quantity of the products included in an [[Offer]] or [[ProductCollection]]."^^rdf:HTML ; sh:name "includesObject" ; . schema:ProductGroup a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A ProductGroup represents a group of [[Product]]s that vary only in certain well-described ways, such as by [[size]], [[color]], [[material]] etc. While a ProductGroup itself is not directly offered for sale, the various varying products that it represents can be. The ProductGroup serves as a prototype or template, standing in for all of the products who have an [[isVariantOf]] relationship to it. As such, properties (including additional types) can be applied to the ProductGroup to represent characteristics shared by each of the (possibly very many) variants. Properties that reference a ProductGroup are not included in this mechanism; neither are the following specific properties [[variesBy]], [[hasVariant]], [[url]]. """^^rdf:HTML ; rdfs:label "Product group" ; rdfs:subClassOf schema:Product ; sh:property schema:ProductGroup-hasVariant ; sh:property schema:ProductGroup-productGroupID ; sh:property schema:ProductGroup-variesBy ; . schema:ProductGroup-hasVariant a sh:PropertyShape ; sh:path schema:hasVariant ; sh:class schema:Product ; sh:description "Indicates a [[Product]] that is a member of this [[ProductGroup]] (or [[ProductModel]])."^^rdf:HTML ; sh:name "hasVariant" ; . schema:ProductGroup-productGroupID a sh:PropertyShape ; sh:path schema:productGroupID ; sh:datatype xsd:string ; sh:description "Indicates a textual identifier for a ProductGroup."^^rdf:HTML ; sh:name "productGroupID" ; . schema:ProductGroup-variesBy a sh:PropertyShape ; sh:path schema:variesBy ; sh:description "Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. \"color\"; terms defined elsewhere can be referenced with their URIs."^^rdf:HTML ; sh:name "variesBy" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ProductModel a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A datasheet or vendor specification of a product (in the sense of a prototypical description)."^^rdf:HTML ; rdfs:label "Product model" ; rdfs:subClassOf schema:Product ; sh:property schema:ProductModel-isVariantOf ; sh:property schema:ProductModel-predecessorOf ; sh:property schema:ProductModel-successorOf ; . schema:ProductModel-isVariantOf a sh:PropertyShape ; sh:path schema:isVariantOf ; sh:description "Indicates the kind of product that this is a variant of. In the case of [[ProductModel]], this is a pointer (from a ProductModel) to a base product from which this product is a variant. It is safe to infer that the variant inherits all product features from the base model, unless defined locally. This is not transitive. In the case of a [[ProductGroup]], the group description also serves as a template, representing a set of Products that vary on explicitly defined, specific dimensions only (so it defines both a set of variants, as well as which values distinguish amongst those variants). When used with [[ProductGroup]], this property can apply to any [[Product]] included in the group."^^rdf:HTML ; sh:name "isVariantOf" ; sh:or ( [ sh:class schema:ProductGroup ; ] [ sh:class schema:ProductModel ; ] ) ; . schema:ProductModel-predecessorOf a sh:PropertyShape ; sh:path schema:predecessorOf ; sh:class schema:ProductModel ; sh:description "A pointer from a previous, often discontinued variant of the product to its newer variant."^^rdf:HTML ; sh:name "predecessorOf" ; . schema:ProductModel-successorOf a sh:PropertyShape ; sh:path schema:successorOf ; sh:class schema:ProductModel ; sh:description "A pointer from a newer variant of a product to its previous, often discontinued predecessor."^^rdf:HTML ; sh:name "successorOf" ; . schema:ProductReturnEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:supersededBy schema:MerchantReturnEnumeration ; rdfs:comment "ProductReturnEnumeration enumerates several kinds of product return policy. Note that this structure may not capture all aspects of the policy."^^rdf:HTML ; rdfs:label "Product return enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:ProductReturnFiniteReturnWindow a schema:ProductReturnEnumeration ; schema:isPartOf ; schema:source ; schema:supersededBy schema:MerchantReturnFiniteReturnWindow ; rdfs:comment "ProductReturnFiniteReturnWindow: there is a finite window for product returns." ; rdfs:label "Product return finite return window" ; . schema:ProductReturnNotPermitted a schema:ProductReturnEnumeration ; schema:isPartOf ; schema:source ; schema:supersededBy schema:MerchantReturnNotPermitted ; rdfs:comment "ProductReturnNotPermitted: product returns are not permitted." ; rdfs:label "Product return not permitted" ; . schema:ProductReturnPolicy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:supersededBy schema:MerchantReturnPolicy ; rdfs:comment "A ProductReturnPolicy provides information about product return policies associated with an [[Organization]] or [[Product]]."^^rdf:HTML ; rdfs:label "Product return policy" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ProductReturnPolicy-productReturnDays ; sh:property schema:ProductReturnPolicy-productReturnLink ; . schema:ProductReturnPolicy-productReturnDays a sh:PropertyShape ; sh:path schema:productReturnDays ; sh:datatype xsd:integer ; sh:description "The productReturnDays property indicates the number of days (from purchase) within which relevant product return policy is applicable."^^rdf:HTML ; sh:name "productReturnDays" ; . schema:ProductReturnPolicy-productReturnLink a sh:PropertyShape ; sh:path schema:productReturnLink ; sh:description "Indicates a Web page or service by URL, for product return."^^rdf:HTML ; sh:name "productReturnLink" ; sh:nodeKind sh:IRI ; . schema:ProductReturnUnlimitedWindow a schema:ProductReturnEnumeration ; schema:isPartOf ; schema:source ; schema:supersededBy schema:MerchantReturnUnlimitedWindow ; rdfs:comment "ProductReturnUnlimitedWindow: there is an unlimited window for product returns." ; rdfs:label "Product return unlimited window" ; . schema:ProductReturnUnspecified a schema:ProductReturnEnumeration ; schema:isPartOf ; schema:source ; schema:supersededBy schema:MerchantReturnUnspecified ; rdfs:comment "ProductReturnUnspecified: a product return policy is not specified here." ; rdfs:label "Product return unspecified" ; . schema:ProfessionalService a rdfs:Class ; a sh:NodeShape ; rdfs:comment """Original definition: \"provider of professional services.\"\\n\\nThe general [[ProfessionalService]] type for local businesses was deprecated due to confusion with [[Service]]. For reference, the types that it included were: [[Dentist]], [[AccountingService]], [[Attorney]], [[Notary]], as well as types for several kinds of [[HomeAndConstructionBusiness]]: [[Electrician]], [[GeneralContractor]], [[HousePainter]], [[Locksmith]], [[Plumber]], [[RoofingContractor]]. [[LegalService]] was introduced as a more inclusive supertype of [[Attorney]]."""^^rdf:HTML ; rdfs:label "Professional service" ; rdfs:subClassOf schema:LocalBusiness ; . schema:ProfilePage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Profile page."^^rdf:HTML ; rdfs:label "Profile page" ; rdfs:subClassOf schema:WebPage ; . schema:PrognosisHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Typical progression and happenings of life course of the topic." ; rdfs:label "Prognosis health aspect" ; . schema:ProgramMembership a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Used to describe membership in a loyalty programs (e.g. \"StarAliance\"), traveler clubs (e.g. \"AAA\"), purchase clubs (\"Safeway Club\"), etc."^^rdf:HTML ; rdfs:label "Program membership" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ProgramMembership-hostingOrganization ; sh:property schema:ProgramMembership-member ; sh:property schema:ProgramMembership-members ; sh:property schema:ProgramMembership-membershipNumber ; sh:property schema:ProgramMembership-membershipPointsEarned ; sh:property schema:ProgramMembership-programName ; . schema:ProgramMembership-hostingOrganization a sh:PropertyShape ; sh:path schema:hostingOrganization ; sh:class schema:Organization ; sh:description "The organization (airline, travelers' club, etc.) the membership is made with."^^rdf:HTML ; sh:name "hostingOrganization" ; . schema:ProgramMembership-member a sh:PropertyShape ; sh:path schema:member ; sh:description "A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals."^^rdf:HTML ; sh:name "member" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:ProgramMembership-members a sh:PropertyShape ; sh:path schema:members ; sh:description "A member of this organization."^^rdf:HTML ; sh:name "members" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:ProgramMembership-membershipNumber a sh:PropertyShape ; sh:path schema:membershipNumber ; sh:datatype xsd:string ; sh:description "A unique identifier for the membership."^^rdf:HTML ; sh:name "membershipNumber" ; . schema:ProgramMembership-membershipPointsEarned a sh:PropertyShape ; sh:path schema:membershipPointsEarned ; sh:description "The number of membership points earned by the member. If necessary, the unitText can be used to express the units the points are issued in. (e.g. stars, miles, etc.)"^^rdf:HTML ; sh:name "membershipPointsEarned" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:ProgramMembership-programName a sh:PropertyShape ; sh:path schema:programName ; sh:datatype xsd:string ; sh:description "The program providing the membership."^^rdf:HTML ; sh:name "programName" ; . schema:Project a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment """An enterprise (potentially individual but typically collaborative), planned to achieve a particular aim. Use properties from [[Organization]], [[subOrganization]]/[[parentOrganization]] to indicate project sub-structures. """^^rdf:HTML ; rdfs:label "Project" ; rdfs:subClassOf schema:Organization ; . schema:PronounceableText a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Data type: PronounceableText."^^rdf:HTML ; rdfs:label "Pronounceable text" ; rdfs:subClassOf xsd:string ; sh:property schema:PronounceableText-inLanguage ; sh:property schema:PronounceableText-phoneticText ; sh:property schema:PronounceableText-speechToTextMarkup ; sh:property schema:PronounceableText-textValue ; . schema:PronounceableText-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PronounceableText-phoneticText a sh:PropertyShape ; sh:path schema:phoneticText ; sh:datatype xsd:string ; sh:description "Representation of a text [[textValue]] using the specified [[speechToTextMarkup]]. For example the city name of Houston in IPA: /ˈhjuËstÉ™n/."^^rdf:HTML ; sh:name "phoneticText" ; . schema:PronounceableText-speechToTextMarkup a sh:PropertyShape ; sh:path schema:speechToTextMarkup ; sh:datatype xsd:string ; sh:description "Form of markup used. eg. [SSML](https://www.w3.org/TR/speech-synthesis11) or [IPA](https://www.wikidata.org/wiki/Property:P898)."^^rdf:HTML ; sh:name "speechToTextMarkup" ; . schema:PronounceableText-textValue a sh:PropertyShape ; sh:path schema:textValue ; sh:datatype xsd:string ; sh:description "Text value being annotated."^^rdf:HTML ; sh:name "textValue" ; . schema:PropertyValue a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A property-value pair, e.g. representing a feature of a product or place. Use the 'name' property for the name of the property. If there is an additional human-readable version of the value, put that into the 'description' property.\\n\\n Always use specific schema.org properties when a) they exist and b) you can populate them. Using PropertyValue as a substitute will typically not trigger the same effect as using the original, specific property. """^^rdf:HTML ; rdfs:label "Property value" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:PropertyValue-maxValue ; sh:property schema:PropertyValue-measurementTechnique ; sh:property schema:PropertyValue-minValue ; sh:property schema:PropertyValue-propertyID ; sh:property schema:PropertyValue-unitCode ; sh:property schema:PropertyValue-unitText ; sh:property schema:PropertyValue-value ; sh:property schema:PropertyValue-valueReference ; . schema:PropertyValue-maxValue a sh:PropertyShape ; sh:path schema:maxValue ; sh:datatype xsd:float ; sh:description "The upper value of some characteristic or property."^^rdf:HTML ; sh:name "maxValue" ; . schema:PropertyValue-measurementTechnique a sh:PropertyShape ; sh:path schema:measurementTechnique ; sh:description """A technique or technology used in a [[Dataset]] (or [[DataDownload]], [[DataCatalog]]), corresponding to the method used for measuring the corresponding variable(s) (described using [[variableMeasured]]). This is oriented towards scientific and scholarly dataset publication but may have broader applicability; it is not intended as a full representation of measurement, but rather as a high level summary for dataset discovery. For example, if [[variableMeasured]] is: molecule concentration, [[measurementTechnique]] could be: \"mass spectrometry\" or \"nmr spectroscopy\" or \"colorimetry\" or \"immunofluorescence\". If the [[variableMeasured]] is \"depression rating\", the [[measurementTechnique]] could be \"Zung Scale\" or \"HAM-D\" or \"Beck Depression Inventory\". If there are several [[variableMeasured]] properties recorded for some given data object, use a [[PropertyValue]] for each [[variableMeasured]] and attach the corresponding [[measurementTechnique]]. """^^rdf:HTML ; sh:name "measurementTechnique" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PropertyValue-minValue a sh:PropertyShape ; sh:path schema:minValue ; sh:datatype xsd:float ; sh:description "The lower value of some characteristic or property."^^rdf:HTML ; sh:name "minValue" ; . schema:PropertyValue-propertyID a sh:PropertyShape ; sh:path schema:propertyID ; sh:description """A commonly used identifier for the characteristic represented by the property, e.g. a manufacturer or a standard code for a property. propertyID can be (1) a prefixed string, mainly meant to be used with standards for product properties; (2) a site-specific, non-prefixed string (e.g. the primary key of the property or the vendor-specific id of the property), or (3) a URL indicating the type of the property, either pointing to an external vocabulary, or a Web resource that describes the property (e.g. a glossary entry). Standards bodies should promote a standard prefix for the identifiers of properties from their standards."""^^rdf:HTML ; sh:name "propertyID" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PropertyValue-unitCode a sh:PropertyShape ; sh:path schema:unitCode ; sh:description "The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon."^^rdf:HTML ; sh:name "unitCode" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PropertyValue-unitText a sh:PropertyShape ; sh:path schema:unitText ; sh:datatype xsd:string ; sh:description """A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for unitCode."""^^rdf:HTML ; sh:name "unitText" ; . schema:PropertyValue-value a sh:PropertyShape ; sh:path schema:value ; sh:description "The value of the quantitative value or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "value" ; sh:or ( [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PropertyValue-valueReference a sh:PropertyShape ; sh:path schema:valueReference ; sh:description "A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement."^^rdf:HTML ; sh:name "valueReference" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:class schema:Enumeration ; ] [ sh:class schema:MeasurementTypeEnumeration ; ] [ sh:class schema:PropertyValue ; ] [ sh:class schema:QualitativeValue ; ] [ sh:class schema:QuantitativeValue ; ] [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PropertyValueSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A Property value specification."^^rdf:HTML ; rdfs:label "Property value specification" ; rdfs:subClassOf schema:Intangible ; sh:property schema:PropertyValueSpecification-defaultValue ; sh:property schema:PropertyValueSpecification-maxValue ; sh:property schema:PropertyValueSpecification-minValue ; sh:property schema:PropertyValueSpecification-multipleValues ; sh:property schema:PropertyValueSpecification-readonlyValue ; sh:property schema:PropertyValueSpecification-stepValue ; sh:property schema:PropertyValueSpecification-valueMaxLength ; sh:property schema:PropertyValueSpecification-valueMinLength ; sh:property schema:PropertyValueSpecification-valueName ; sh:property schema:PropertyValueSpecification-valuePattern ; sh:property schema:PropertyValueSpecification-valueRequired ; . schema:PropertyValueSpecification-defaultValue a sh:PropertyShape ; sh:path schema:defaultValue ; sh:description "The default value of the input. For properties that expect a literal, the default is a literal value, for properties that expect an object, it's an ID reference to one of the current values."^^rdf:HTML ; sh:name "defaultValue" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PropertyValueSpecification-maxValue a sh:PropertyShape ; sh:path schema:maxValue ; sh:datatype xsd:float ; sh:description "The upper value of some characteristic or property."^^rdf:HTML ; sh:name "maxValue" ; . schema:PropertyValueSpecification-minValue a sh:PropertyShape ; sh:path schema:minValue ; sh:datatype xsd:float ; sh:description "The lower value of some characteristic or property."^^rdf:HTML ; sh:name "minValue" ; . schema:PropertyValueSpecification-multipleValues a sh:PropertyShape ; sh:path schema:multipleValues ; sh:datatype xsd:boolean ; sh:description "Whether multiple values are allowed for the property. Default is false."^^rdf:HTML ; sh:name "multipleValues" ; . schema:PropertyValueSpecification-readonlyValue a sh:PropertyShape ; sh:path schema:readonlyValue ; sh:datatype xsd:boolean ; sh:description "Whether or not a property is mutable. Default is false. Specifying this for a property that also has a value makes it act similar to a \"hidden\" input in an HTML form."^^rdf:HTML ; sh:name "readonlyValue" ; . schema:PropertyValueSpecification-stepValue a sh:PropertyShape ; sh:path schema:stepValue ; sh:datatype xsd:float ; sh:description "The stepValue attribute indicates the granularity that is expected (and required) of the value in a PropertyValueSpecification."^^rdf:HTML ; sh:name "stepValue" ; . schema:PropertyValueSpecification-valueMaxLength a sh:PropertyShape ; sh:path schema:valueMaxLength ; sh:datatype xsd:float ; sh:description "Specifies the allowed range for number of characters in a literal value."^^rdf:HTML ; sh:name "valueMaxLength" ; . schema:PropertyValueSpecification-valueMinLength a sh:PropertyShape ; sh:path schema:valueMinLength ; sh:datatype xsd:float ; sh:description "Specifies the minimum allowed range for number of characters in a literal value."^^rdf:HTML ; sh:name "valueMinLength" ; . schema:PropertyValueSpecification-valueName a sh:PropertyShape ; sh:path schema:valueName ; sh:datatype xsd:string ; sh:description "Indicates the name of the PropertyValueSpecification to be used in URL templates and form encoding in a manner analogous to HTML's input@name."^^rdf:HTML ; sh:name "valueName" ; . schema:PropertyValueSpecification-valuePattern a sh:PropertyShape ; sh:path schema:valuePattern ; sh:datatype xsd:string ; sh:description "Specifies a regular expression for testing literal values according to the HTML spec."^^rdf:HTML ; sh:name "valuePattern" ; . schema:PropertyValueSpecification-valueRequired a sh:PropertyShape ; sh:path schema:valueRequired ; sh:datatype xsd:boolean ; sh:description "Whether the property must be filled in to complete the action. Default is false."^^rdf:HTML ; sh:name "valueRequired" ; . schema:Protozoa a schema:InfectiousAgentClass ; schema:isPartOf ; rdfs:comment "Single-celled organism that causes an infection." ; rdfs:label "Protozoa" ; . schema:Psychiatric a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that is concerned with the study, treatment, and prevention of mental illness, using both medical and psychological therapies." ; rdfs:label "Psychiatric" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:PsychologicalTreatment a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A process of care relying upon counseling, dialogue and communication aimed at improving a mental health condition without use of drugs."^^rdf:HTML ; rdfs:label "Psychological treatment" ; rdfs:subClassOf schema:TherapeuticProcedure ; . schema:PublicHealth a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "Branch of medicine that pertains to the health services to improve and protect community health, especially epidemiology, sanitation, immunization, and preventive medicine." ; rdfs:label "Public health" ; rdfs:subClassOf schema:MedicalBusiness ; . schema:PublicHolidays a schema:DayOfWeek ; schema:source ; rdfs:comment "This stands for any day that is a public holiday; it is a placeholder for all official public holidays in some particular location. While not technically a \"day of the week\", it can be used with [[OpeningHoursSpecification]]. In the context of an opening hours specification it can be used to indicate opening hours on public holidays, overriding general opening hours for the day of the week on which a public holiday occurs." ; rdfs:label "Public holidays" ; . schema:PublicSwimmingPool a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A public swimming pool."^^rdf:HTML ; rdfs:label "Public swimming pool" ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:PublicToilet a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A public toilet is a room or small building containing one or more toilets (and possibly also urinals) which is available for use by the general public, or by customers or employees of certain businesses."^^rdf:HTML ; rdfs:label "Public toilet" ; rdfs:subClassOf schema:CivicStructure ; . schema:PublicationEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A PublicationEvent corresponds indifferently to the event of publication for a CreativeWork of any type e.g. a broadcast event, an on-demand event, a book/journal publication via a variety of delivery media."^^rdf:HTML ; rdfs:label "Publication event" ; rdfs:subClassOf schema:Event ; sh:property schema:PublicationEvent-free ; sh:property schema:PublicationEvent-publishedBy ; sh:property schema:PublicationEvent-publishedOn ; . schema:PublicationEvent-free a sh:PropertyShape ; sh:path schema:free ; sh:datatype xsd:boolean ; sh:description "A flag to signal that the item, event, or place is accessible for free."^^rdf:HTML ; sh:name "free" ; . schema:PublicationEvent-publishedBy a sh:PropertyShape ; sh:path schema:publishedBy ; sh:description "An agent associated with the publication event."^^rdf:HTML ; sh:name "publishedBy" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:PublicationEvent-publishedOn a sh:PropertyShape ; sh:path schema:publishedOn ; sh:class schema:BroadcastService ; sh:description "A broadcast service associated with the publication event."^^rdf:HTML ; sh:name "publishedOn" ; . schema:PublicationIssue a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A part of a successively published publication such as a periodical or publication volume, often numbered, usually containing a grouping of works such as articles.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)."^^rdf:HTML ; rdfs:label "Publication issue" ; rdfs:subClassOf schema:CreativeWork ; owl:equivalentClass ; sh:property schema:PublicationIssue-issueNumber ; sh:property schema:PublicationIssue-pageEnd ; sh:property schema:PublicationIssue-pageStart ; sh:property schema:PublicationIssue-pagination ; . schema:PublicationIssue-issueNumber a sh:PropertyShape ; sh:path schema:issueNumber ; sh:description "Identifies the issue of publication; for example, \"iii\" or \"2\"."^^rdf:HTML ; sh:name "issueNumber" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PublicationIssue-pageEnd a sh:PropertyShape ; sh:path schema:pageEnd ; sh:description "The page on which the work ends; for example \"138\" or \"xvi\"."^^rdf:HTML ; sh:name "pageEnd" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PublicationIssue-pageStart a sh:PropertyShape ; sh:path schema:pageStart ; sh:description "The page on which the work starts; for example \"135\" or \"xiii\"."^^rdf:HTML ; sh:name "pageStart" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PublicationIssue-pagination a sh:PropertyShape ; sh:path schema:pagination ; sh:datatype xsd:string ; sh:description "Any description of pages that is not separated into pageStart and pageEnd; for example, \"1-6, 9, 55\" or \"10-12, 46-49\"."^^rdf:HTML ; sh:name "pagination" ; . schema:PublicationVolume a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A part of a successively published publication such as a periodical or multi-volume work, often numbered. It may represent a time span, such as a year.\\n\\nSee also [blog post](http://blog.schema.org/2014/09/schemaorg-support-for-bibliographic_2.html)."^^rdf:HTML ; rdfs:label "Publication volume" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:PublicationVolume-pageEnd ; sh:property schema:PublicationVolume-pageStart ; sh:property schema:PublicationVolume-pagination ; sh:property schema:PublicationVolume-volumeNumber ; . schema:PublicationVolume-pageEnd a sh:PropertyShape ; sh:path schema:pageEnd ; sh:description "The page on which the work ends; for example \"138\" or \"xvi\"."^^rdf:HTML ; sh:name "pageEnd" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PublicationVolume-pageStart a sh:PropertyShape ; sh:path schema:pageStart ; sh:description "The page on which the work starts; for example \"135\" or \"xiii\"."^^rdf:HTML ; sh:name "pageStart" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:PublicationVolume-pagination a sh:PropertyShape ; sh:path schema:pagination ; sh:datatype xsd:string ; sh:description "Any description of pages that is not separated into pageStart and pageEnd; for example, \"1-6, 9, 55\" or \"10-12, 46-49\"."^^rdf:HTML ; sh:name "pagination" ; . schema:PublicationVolume-volumeNumber a sh:PropertyShape ; sh:path schema:volumeNumber ; sh:description "Identifies the volume of publication or multi-part work; for example, \"iii\" or \"2\"."^^rdf:HTML ; sh:name "volumeNumber" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Pulmonary a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to the study of the respiratory system and its respective disease states." ; rdfs:label "Pulmonary" ; . schema:QAPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A QAPage is a WebPage focussed on a specific Question and its Answer(s), e.g. in a question answering site or documenting Frequently Asked Questions (FAQs)."^^rdf:HTML ; rdfs:label "QAPage" ; rdfs:subClassOf schema:WebPage ; . schema:QualitativeValue a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A predefined value for a product characteristic, e.g. the power cord plug type 'US' or the garment sizes 'S', 'M', 'L', and 'XL'."^^rdf:HTML ; rdfs:label "Qualitative value" ; rdfs:subClassOf schema:Enumeration ; sh:property schema:QualitativeValue-additionalProperty ; sh:property schema:QualitativeValue-equal ; sh:property schema:QualitativeValue-greater ; sh:property schema:QualitativeValue-greaterOrEqual ; sh:property schema:QualitativeValue-lesser ; sh:property schema:QualitativeValue-lesserOrEqual ; sh:property schema:QualitativeValue-nonEqual ; sh:property schema:QualitativeValue-valueReference ; . schema:QualitativeValue-additionalProperty a sh:PropertyShape ; sh:path schema:additionalProperty ; sh:class schema:PropertyValue ; sh:description """A property-value pair representing an additional characteristics of the entitity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.\\n\\nNote: Publishers should be aware that applications designed to use specific schema.org properties (e.g. http://schema.org/width, http://schema.org/color, http://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. """^^rdf:HTML ; sh:name "additionalProperty" ; . schema:QualitativeValue-equal a sh:PropertyShape ; sh:path schema:equal ; sh:class schema:QualitativeValue ; sh:description "This ordering relation for qualitative values indicates that the subject is equal to the object."^^rdf:HTML ; sh:name "equal" ; . schema:QualitativeValue-greater a sh:PropertyShape ; sh:path schema:greater ; sh:class schema:QualitativeValue ; sh:description "This ordering relation for qualitative values indicates that the subject is greater than the object."^^rdf:HTML ; sh:name "greater" ; . schema:QualitativeValue-greaterOrEqual a sh:PropertyShape ; sh:path schema:greaterOrEqual ; sh:class schema:QualitativeValue ; sh:description "This ordering relation for qualitative values indicates that the subject is greater than or equal to the object."^^rdf:HTML ; sh:name "greaterOrEqual" ; . schema:QualitativeValue-lesser a sh:PropertyShape ; sh:path schema:lesser ; sh:class schema:QualitativeValue ; sh:description "This ordering relation for qualitative values indicates that the subject is lesser than the object."^^rdf:HTML ; sh:name "lesser" ; . schema:QualitativeValue-lesserOrEqual a sh:PropertyShape ; sh:path schema:lesserOrEqual ; sh:class schema:QualitativeValue ; sh:description "This ordering relation for qualitative values indicates that the subject is lesser than or equal to the object."^^rdf:HTML ; sh:name "lesserOrEqual" ; . schema:QualitativeValue-nonEqual a sh:PropertyShape ; sh:path schema:nonEqual ; sh:class schema:QualitativeValue ; sh:description "This ordering relation for qualitative values indicates that the subject is not equal to the object."^^rdf:HTML ; sh:name "nonEqual" ; . schema:QualitativeValue-valueReference a sh:PropertyShape ; sh:path schema:valueReference ; sh:description "A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement."^^rdf:HTML ; sh:name "valueReference" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:class schema:Enumeration ; ] [ sh:class schema:MeasurementTypeEnumeration ; ] [ sh:class schema:PropertyValue ; ] [ sh:class schema:QualitativeValue ; ] [ sh:class schema:QuantitativeValue ; ] [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:QuantitativeValue a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment " A point value or interval for product characteristics and other purposes."^^rdf:HTML ; rdfs:label "Quantitative value" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:QuantitativeValue-additionalProperty ; sh:property schema:QuantitativeValue-maxValue ; sh:property schema:QuantitativeValue-minValue ; sh:property schema:QuantitativeValue-unitCode ; sh:property schema:QuantitativeValue-unitText ; sh:property schema:QuantitativeValue-value ; sh:property schema:QuantitativeValue-valueReference ; . schema:QuantitativeValue-additionalProperty a sh:PropertyShape ; sh:path schema:additionalProperty ; sh:class schema:PropertyValue ; sh:description """A property-value pair representing an additional characteristics of the entitity, e.g. a product feature or another characteristic for which there is no matching property in schema.org.\\n\\nNote: Publishers should be aware that applications designed to use specific schema.org properties (e.g. http://schema.org/width, http://schema.org/color, http://schema.org/gtin13, ...) will typically expect such data to be provided using those properties, rather than using the generic property/value mechanism. """^^rdf:HTML ; sh:name "additionalProperty" ; . schema:QuantitativeValue-maxValue a sh:PropertyShape ; sh:path schema:maxValue ; sh:datatype xsd:float ; sh:description "The upper value of some characteristic or property."^^rdf:HTML ; sh:name "maxValue" ; . schema:QuantitativeValue-minValue a sh:PropertyShape ; sh:path schema:minValue ; sh:datatype xsd:float ; sh:description "The lower value of some characteristic or property."^^rdf:HTML ; sh:name "minValue" ; . schema:QuantitativeValue-unitCode a sh:PropertyShape ; sh:path schema:unitCode ; sh:description "The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon."^^rdf:HTML ; sh:name "unitCode" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:QuantitativeValue-unitText a sh:PropertyShape ; sh:path schema:unitText ; sh:datatype xsd:string ; sh:description """A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for unitCode."""^^rdf:HTML ; sh:name "unitText" ; . schema:QuantitativeValue-value a sh:PropertyShape ; sh:path schema:value ; sh:description "The value of the quantitative value or property value node.\\n\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "value" ; sh:or ( [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:boolean ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:QuantitativeValue-valueReference a sh:PropertyShape ; sh:path schema:valueReference ; sh:description "A secondary value that provides additional information on the original value, e.g. a reference temperature or a type of measurement."^^rdf:HTML ; sh:name "valueReference" ; sh:or ( [ sh:class schema:DefinedTerm ; ] [ sh:class schema:Enumeration ; ] [ sh:class schema:MeasurementTypeEnumeration ; ] [ sh:class schema:PropertyValue ; ] [ sh:class schema:QualitativeValue ; ] [ sh:class schema:QuantitativeValue ; ] [ sh:class schema:StructuredValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:QuantitativeValueDistribution a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A statistical distribution of values."^^rdf:HTML ; rdfs:label "Quantitative value distribution" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:QuantitativeValueDistribution-duration ; sh:property schema:QuantitativeValueDistribution-median ; sh:property schema:QuantitativeValueDistribution-percentile10 ; sh:property schema:QuantitativeValueDistribution-percentile25 ; sh:property schema:QuantitativeValueDistribution-percentile75 ; sh:property schema:QuantitativeValueDistribution-percentile90 ; . schema:QuantitativeValueDistribution-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:QuantitativeValueDistribution-median a sh:PropertyShape ; sh:path schema:median ; sh:datatype xsd:float ; sh:description "The median value."^^rdf:HTML ; sh:name "median" ; . schema:QuantitativeValueDistribution-percentile10 a sh:PropertyShape ; sh:path schema:percentile10 ; sh:datatype xsd:float ; sh:description "The 10th percentile value."^^rdf:HTML ; sh:name "percentile10" ; . schema:QuantitativeValueDistribution-percentile25 a sh:PropertyShape ; sh:path schema:percentile25 ; sh:datatype xsd:float ; sh:description "The 25th percentile value."^^rdf:HTML ; sh:name "percentile25" ; . schema:QuantitativeValueDistribution-percentile75 a sh:PropertyShape ; sh:path schema:percentile75 ; sh:datatype xsd:float ; sh:description "The 75th percentile value."^^rdf:HTML ; sh:name "percentile75" ; . schema:QuantitativeValueDistribution-percentile90 a sh:PropertyShape ; sh:path schema:percentile90 ; sh:datatype xsd:float ; sh:description "The 90th percentile value."^^rdf:HTML ; sh:name "percentile90" ; . schema:Quantity a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Quantities such as distance, time, mass, weight, etc. Particular instances of say Mass are entities like '3 Kg' or '4 milligrams'."^^rdf:HTML ; rdfs:label "Quantity" ; rdfs:subClassOf schema:Intangible ; . schema:Question a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A specific question - e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document."^^rdf:HTML ; rdfs:label "Question" ; rdfs:subClassOf schema:Comment ; sh:property schema:Question-acceptedAnswer ; sh:property schema:Question-answerCount ; sh:property schema:Question-eduQuestionType ; sh:property schema:Question-suggestedAnswer ; . schema:Question-acceptedAnswer a sh:PropertyShape ; sh:path schema:acceptedAnswer ; sh:description "The answer(s) that has been accepted as best, typically on a Question/Answer site. Sites vary in their selection mechanisms, e.g. drawing on community opinion and/or the view of the Question author."^^rdf:HTML ; sh:name "acceptedAnswer" ; sh:or ( [ sh:class schema:Answer ; ] [ sh:class schema:ItemList ; ] ) ; . schema:Question-answerCount a sh:PropertyShape ; sh:path schema:answerCount ; sh:datatype xsd:integer ; sh:description "The number of answers this question has received."^^rdf:HTML ; sh:name "answerCount" ; . schema:Question-eduQuestionType a sh:PropertyShape ; sh:path schema:eduQuestionType ; sh:datatype xsd:string ; sh:description "For questions that are part of learning resources (e.g. Quiz), eduQuestionType indicates the format of question being given. Example: \"Multiple choice\", \"Open ended\", \"Flashcard\"."^^rdf:HTML ; sh:name "eduQuestionType" ; . schema:Question-suggestedAnswer a sh:PropertyShape ; sh:path schema:suggestedAnswer ; sh:description "An answer (possibly one of several, possibly incorrect) to a Question, e.g. on a Question/Answer site."^^rdf:HTML ; sh:name "suggestedAnswer" ; sh:or ( [ sh:class schema:Answer ; ] [ sh:class schema:ItemList ; ] ) ; . schema:Quiz a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Quiz: A test of knowledge, skills and abilities."^^rdf:HTML ; rdfs:label "Quiz" ; rdfs:subClassOf schema:LearningResource ; . schema:Quotation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A quotation. Often but not necessarily from some written work, attributable to a real world author and - if associated with a fictional character - to any fictional Person. Use [[isBasedOn]] to link to source/origin. The [[recordedIn]] property can be used to reference a Quotation from an [[Event]]."^^rdf:HTML ; rdfs:label "Quotation" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Quotation-spokenByCharacter ; . schema:Quotation-spokenByCharacter a sh:PropertyShape ; sh:path schema:spokenByCharacter ; sh:description "The (e.g. fictional) character, Person or Organization to whom the quotation is attributed within the containing CreativeWork."^^rdf:HTML ; sh:name "spokenByCharacter" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:QuoteAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent quotes/estimates/appraises an object/product/service with a price at a location/store."^^rdf:HTML ; rdfs:label "Quote action" ; rdfs:subClassOf schema:TradeAction ; . schema:RVPark a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A place offering space for \"Recreational Vehicles\", Caravans, mobile homes and the like."^^rdf:HTML ; rdfs:label "RVPark" ; rdfs:subClassOf schema:CivicStructure ; . schema:RadiationTherapy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A process of care using radiation aimed at improving a health condition."^^rdf:HTML ; rdfs:label "Radiation therapy" ; rdfs:subClassOf schema:MedicalTherapy ; . schema:RadioBroadcastService a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A delivery service through which radio content is provided via broadcast over the air or online."^^rdf:HTML ; rdfs:label "Radio broadcast service" ; rdfs:subClassOf schema:BroadcastService ; . schema:RadioChannel a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A unique instance of a radio BroadcastService on a CableOrSatelliteService lineup."^^rdf:HTML ; rdfs:label "Radio channel" ; rdfs:subClassOf schema:BroadcastChannel ; . schema:RadioClip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A short radio program or a segment/part of a radio program."^^rdf:HTML ; rdfs:label "Radio clip" ; rdfs:subClassOf schema:Clip ; . schema:RadioEpisode a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A radio episode which can be part of a series or season."^^rdf:HTML ; rdfs:label "Radio episode" ; rdfs:subClassOf schema:Episode ; . schema:RadioSeason a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Season dedicated to radio broadcast and associated online delivery."^^rdf:HTML ; rdfs:label "Radio season" ; rdfs:subClassOf schema:CreativeWorkSeason ; . schema:RadioSeries a rdfs:Class ; a sh:NodeShape ; rdfs:comment "CreativeWorkSeries dedicated to radio broadcast and associated online delivery."^^rdf:HTML ; rdfs:label "Radio series" ; rdfs:subClassOf schema:CreativeWorkSeries ; sh:property schema:RadioSeries-actor ; sh:property schema:RadioSeries-actors ; sh:property schema:RadioSeries-containsSeason ; sh:property schema:RadioSeries-director ; sh:property schema:RadioSeries-directors ; sh:property schema:RadioSeries-episode ; sh:property schema:RadioSeries-episodes ; sh:property schema:RadioSeries-musicBy ; sh:property schema:RadioSeries-numberOfEpisodes ; sh:property schema:RadioSeries-numberOfSeasons ; sh:property schema:RadioSeries-productionCompany ; sh:property schema:RadioSeries-season ; sh:property schema:RadioSeries-seasons ; sh:property schema:RadioSeries-trailer ; . schema:RadioSeries-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:RadioSeries-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:RadioSeries-containsSeason a sh:PropertyShape ; sh:path schema:containsSeason ; sh:class schema:CreativeWorkSeason ; sh:description "A season that is part of the media series."^^rdf:HTML ; sh:name "containsSeason" ; . schema:RadioSeries-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:RadioSeries-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:RadioSeries-episode a sh:PropertyShape ; sh:path schema:episode ; sh:class schema:Episode ; sh:description "An episode of a tv, radio or game media within a series or season."^^rdf:HTML ; sh:name "episode" ; . schema:RadioSeries-episodes a sh:PropertyShape ; sh:path schema:episodes ; sh:class schema:Episode ; sh:description "An episode of a TV/radio series or season."^^rdf:HTML ; sh:name "episodes" ; . schema:RadioSeries-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:RadioSeries-numberOfEpisodes a sh:PropertyShape ; sh:path schema:numberOfEpisodes ; sh:datatype xsd:integer ; sh:description "The number of episodes in this season or series."^^rdf:HTML ; sh:name "numberOfEpisodes" ; . schema:RadioSeries-numberOfSeasons a sh:PropertyShape ; sh:path schema:numberOfSeasons ; sh:datatype xsd:integer ; sh:description "The number of seasons in this series."^^rdf:HTML ; sh:name "numberOfSeasons" ; . schema:RadioSeries-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:RadioSeries-season a sh:PropertyShape ; sh:path schema:season ; sh:description "A season in a media series."^^rdf:HTML ; sh:name "season" ; sh:or ( [ sh:class schema:CreativeWorkSeason ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:RadioSeries-seasons a sh:PropertyShape ; sh:path schema:seasons ; sh:class schema:CreativeWorkSeason ; sh:description "A season in a media series."^^rdf:HTML ; sh:name "seasons" ; . schema:RadioSeries-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:RadioStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A radio station."^^rdf:HTML ; rdfs:label "Radio station" ; rdfs:subClassOf schema:LocalBusiness ; . schema:Radiography a schema:MedicalImagingTechnique ; a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "Radiography is an imaging technique that uses electromagnetic radiation other than visible light, especially X-rays, to view the internal structure of a non-uniformly composed and opaque object such as the human body." ; rdfs:label "Radiography" ; . schema:RandomizedTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A randomized trial design." ; rdfs:label "Randomized trial" ; . schema:Rating a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A rating is an evaluation on a numeric scale, such as 1 to 5 stars."^^rdf:HTML ; rdfs:label "Rating" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Rating-author ; sh:property schema:Rating-bestRating ; sh:property schema:Rating-ratingExplanation ; sh:property schema:Rating-ratingValue ; sh:property schema:Rating-reviewAspect ; sh:property schema:Rating-worstRating ; . schema:Rating-author a sh:PropertyShape ; sh:path schema:author ; sh:description "The author of this content or rating. Please note that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag. That is equivalent to this and may be used interchangeably."^^rdf:HTML ; sh:name "author" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Rating-bestRating a sh:PropertyShape ; sh:path schema:bestRating ; sh:description "The highest value allowed in this rating system. If bestRating is omitted, 5 is assumed."^^rdf:HTML ; sh:name "bestRating" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Rating-ratingExplanation a sh:PropertyShape ; sh:path schema:ratingExplanation ; sh:datatype xsd:string ; sh:description "A short explanation (e.g. one to two sentences) providing background context and other information that led to the conclusion expressed in the rating. This is particularly applicable to ratings associated with \"fact check\" markup using [[ClaimReview]]."^^rdf:HTML ; sh:name "ratingExplanation" ; . schema:Rating-ratingValue a sh:PropertyShape ; sh:path schema:ratingValue ; sh:description "The rating for the content.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "ratingValue" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Rating-reviewAspect a sh:PropertyShape ; sh:path schema:reviewAspect ; sh:datatype xsd:string ; sh:description "This Review or Rating is relevant to this part or facet of the itemReviewed."^^rdf:HTML ; sh:name "reviewAspect" ; . schema:Rating-worstRating a sh:PropertyShape ; sh:path schema:worstRating ; sh:description "The lowest value allowed in this rating system. If worstRating is omitted, 1 is assumed."^^rdf:HTML ; sh:name "worstRating" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ReactAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of responding instinctively and emotionally to an object, expressing a sentiment."^^rdf:HTML ; rdfs:label "React action" ; rdfs:subClassOf schema:AssessAction ; . schema:ReadAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of consuming written content."^^rdf:HTML ; rdfs:label "Read action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:ReadPermission a schema:DigitalDocumentPermissionType ; rdfs:comment "Permission to read or view the document." ; rdfs:label "Read permission" ; . schema:RealEstateAgent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A real-estate agent."^^rdf:HTML ; rdfs:label "Real estate agent" ; rdfs:subClassOf schema:LocalBusiness ; . schema:RealEstateListing a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A [[RealEstateListing]] is a listing that describes one or more real-estate [[Offer]]s (whose [[businessFunction]] is typically to lease out, or to sell). The [[RealEstateListing]] type itself represents the overall listing, as manifested in some [[WebPage]]. """^^rdf:HTML ; rdfs:label "Real estate listing" ; rdfs:subClassOf schema:WebPage ; sh:property schema:RealEstateListing-datePosted ; sh:property schema:RealEstateListing-leaseLength ; . schema:RealEstateListing-datePosted a sh:PropertyShape ; sh:path schema:datePosted ; sh:description "Publication date of an online listing."^^rdf:HTML ; sh:name "datePosted" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:RealEstateListing-leaseLength a sh:PropertyShape ; sh:path schema:leaseLength ; sh:description "Length of the lease for some [[Accommodation]], either particular to some [[Offer]] or in some cases intrinsic to the property."^^rdf:HTML ; sh:name "leaseLength" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:duration ; ] ) ; . schema:RearWheelDriveConfiguration a schema:DriveWheelConfigurationValue ; schema:source ; rdfs:comment "Real-wheel drive is a transmission layout where the engine drives the rear wheels." ; rdfs:label "Rear wheel drive configuration" ; . schema:ReceiveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of physically/electronically taking delivery of an object that has been transferred from an origin to a destination. Reciprocal of SendAction.\\n\\nRelated actions:\\n\\n* [[SendAction]]: The reciprocal of ReceiveAction.\\n* [[TakeAction]]: Unlike TakeAction, ReceiveAction does not imply that the ownership has been transfered (e.g. I can receive a package, but it does not mean the package is now mine)."^^rdf:HTML ; rdfs:label "Receive action" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:ReceiveAction-deliveryMethod ; sh:property schema:ReceiveAction-sender ; . schema:ReceiveAction-deliveryMethod a sh:PropertyShape ; sh:path schema:deliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "A sub property of instrument. The method of delivery."^^rdf:HTML ; sh:name "deliveryMethod" ; . schema:ReceiveAction-sender a sh:PropertyShape ; sh:path schema:sender ; sh:description "A sub property of participant. The participant who is at the sending end of the action."^^rdf:HTML ; sh:name "sender" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Recipe a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A recipe. For dietary restrictions covered by the recipe, a few common restrictions are enumerated via [[suitableForDiet]]. The [[keywords]] property can also be used to add more detail."^^rdf:HTML ; rdfs:label "Recipe" ; rdfs:subClassOf schema:HowTo ; sh:property schema:Recipe-cookTime ; sh:property schema:Recipe-cookingMethod ; sh:property schema:Recipe-ingredients ; sh:property schema:Recipe-nutrition ; sh:property schema:Recipe-recipeCategory ; sh:property schema:Recipe-recipeCuisine ; sh:property schema:Recipe-recipeIngredient ; sh:property schema:Recipe-recipeInstructions ; sh:property schema:Recipe-recipeYield ; sh:property schema:Recipe-suitableForDiet ; . schema:Recipe-cookTime a sh:PropertyShape ; sh:path schema:cookTime ; sh:datatype xsd:duration ; sh:description "The time it takes to actually cook the dish, in [ISO 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "cookTime" ; . schema:Recipe-cookingMethod a sh:PropertyShape ; sh:path schema:cookingMethod ; sh:datatype xsd:string ; sh:description "The method of cooking, such as Frying, Steaming, ..."^^rdf:HTML ; sh:name "cookingMethod" ; . schema:Recipe-ingredients a sh:PropertyShape ; sh:path schema:ingredients ; sh:datatype xsd:string ; sh:description "A single ingredient used in the recipe, e.g. sugar, flour or garlic."^^rdf:HTML ; sh:name "ingredients" ; . schema:Recipe-nutrition a sh:PropertyShape ; sh:path schema:nutrition ; sh:class schema:NutritionInformation ; sh:description "Nutrition information about the recipe or menu item."^^rdf:HTML ; sh:name "nutrition" ; . schema:Recipe-recipeCategory a sh:PropertyShape ; sh:path schema:recipeCategory ; sh:datatype xsd:string ; sh:description "The category of the recipe—for example, appetizer, entree, etc."^^rdf:HTML ; sh:name "recipeCategory" ; . schema:Recipe-recipeCuisine a sh:PropertyShape ; sh:path schema:recipeCuisine ; sh:datatype xsd:string ; sh:description "The cuisine of the recipe (for example, French or Ethiopian)."^^rdf:HTML ; sh:name "recipeCuisine" ; . schema:Recipe-recipeIngredient a sh:PropertyShape ; sh:path schema:recipeIngredient ; sh:datatype xsd:string ; sh:description "A single ingredient used in the recipe, e.g. sugar, flour or garlic."^^rdf:HTML ; sh:name "recipeIngredient" ; . schema:Recipe-recipeInstructions a sh:PropertyShape ; sh:path schema:recipeInstructions ; sh:description "A step in making the recipe, in the form of a single item (document, video, etc.) or an ordered list with HowToStep and/or HowToSection items."^^rdf:HTML ; sh:name "recipeInstructions" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:ItemList ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Recipe-recipeYield a sh:PropertyShape ; sh:path schema:recipeYield ; sh:description "The quantity produced by the recipe (for example, number of people served, number of servings, etc)."^^rdf:HTML ; sh:name "recipeYield" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Recipe-suitableForDiet a sh:PropertyShape ; sh:path schema:suitableForDiet ; sh:class schema:RestrictedDiet ; sh:description "Indicates a dietary restriction or guideline for which this recipe or menu item is suitable, e.g. diabetic, halal etc."^^rdf:HTML ; sh:name "suitableForDiet" ; . schema:Recommendation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "[[Recommendation]] is a type of [[Review]] that suggests or proposes something as the best option or best course of action. Recommendations may be for products or services, or other concrete things, as in the case of a ranked list or product guide. A [[Guide]] may list multiple recommendations for different categories. For example, in a [[Guide]] about which TVs to buy, the author may have several [[Recommendation]]s."^^rdf:HTML ; rdfs:label "Recommendation" ; rdfs:subClassOf schema:Review ; sh:property schema:Recommendation-category ; . schema:Recommendation-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:RecommendedDoseSchedule a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A recommended dosing schedule for a drug or supplement as prescribed or recommended by an authority or by the drug/supplement's manufacturer. Capture the recommending authority in the recognizingAuthority property of MedicalEntity."^^rdf:HTML ; rdfs:label "Recommended dose schedule" ; rdfs:subClassOf schema:DoseSchedule ; . schema:Recruiting a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Recruiting participants." ; rdfs:label "Recruiting" ; . schema:RecyclingCenter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A recycling center."^^rdf:HTML ; rdfs:label "Recycling center" ; rdfs:subClassOf schema:LocalBusiness ; . schema:RefundTypeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "RefundTypeEnumeration enumerates several kinds of product return refund types."^^rdf:HTML ; rdfs:label "Refund type enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:RefurbishedCondition a schema:OfferItemCondition ; rdfs:comment "Indicates that the item is refurbished." ; rdfs:label "Refurbished condition" ; . schema:RegisterAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of registering to be a user of a service, product or web page.\\n\\nRelated actions:\\n\\n* [[JoinAction]]: Unlike JoinAction, RegisterAction implies you are registering to be a user of a service, *not* a group/team of people.\\n* [FollowAction]]: Unlike FollowAction, RegisterAction doesn't imply that the agent is expecting to poll for updates from the object.\\n* [[SubscribeAction]]: Unlike SubscribeAction, RegisterAction doesn't imply that the agent is expecting updates from the object."^^rdf:HTML ; rdfs:label "Register action" ; rdfs:subClassOf schema:InteractAction ; . schema:Registry a schema:MedicalObservationalStudyDesign ; schema:isPartOf ; rdfs:comment "A registry-based study design." ; rdfs:label "Registry" ; . schema:ReimbursementCap a schema:DrugCostCategory ; schema:isPartOf ; rdfs:comment "The drug's cost represents the maximum reimbursement paid by an insurer for the drug." ; rdfs:label "Reimbursement cap" ; . schema:RejectAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of rejecting to/adopting an object.\\n\\nRelated actions:\\n\\n* [[AcceptAction]]: The antonym of RejectAction."^^rdf:HTML ; rdfs:label "Reject action" ; rdfs:subClassOf schema:AllocateAction ; . schema:RelatedTopicsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Other prominent or relevant topics tied to the main topic." ; rdfs:label "Related topics health aspect" ; . schema:RemixAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "RemixAlbum." ; rdfs:label "Remix album" ; . schema:Renal a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to the study of the kidneys and its respective disease states." ; rdfs:label "Renal" ; . schema:RentAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of giving money in return for temporary use, but not ownership, of an object such as a vehicle or property. For example, an agent rents a property from a landlord in exchange for a periodic payment."^^rdf:HTML ; rdfs:label "Rent action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:RentAction-landlord ; sh:property schema:RentAction-realEstateAgent ; . schema:RentAction-landlord a sh:PropertyShape ; sh:path schema:landlord ; sh:description "A sub property of participant. The owner of the real estate property."^^rdf:HTML ; sh:name "landlord" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:RentAction-realEstateAgent a sh:PropertyShape ; sh:path schema:realEstateAgent ; sh:class schema:RealEstateAgent ; sh:description "A sub property of participant. The real estate agent involved in the action."^^rdf:HTML ; sh:name "realEstateAgent" ; . schema:RentalCarReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for a rental car.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations."^^rdf:HTML ; rdfs:label "Rental car reservation" ; rdfs:subClassOf schema:Reservation ; sh:property schema:RentalCarReservation-dropoffLocation ; sh:property schema:RentalCarReservation-dropoffTime ; sh:property schema:RentalCarReservation-pickupLocation ; sh:property schema:RentalCarReservation-pickupTime ; . schema:RentalCarReservation-dropoffLocation a sh:PropertyShape ; sh:path schema:dropoffLocation ; sh:class schema:Place ; sh:description "Where a rental car can be dropped off."^^rdf:HTML ; sh:name "dropoffLocation" ; . schema:RentalCarReservation-dropoffTime a sh:PropertyShape ; sh:path schema:dropoffTime ; sh:datatype xsd:dateTime ; sh:description "When a rental car can be dropped off."^^rdf:HTML ; sh:name "dropoffTime" ; . schema:RentalCarReservation-pickupLocation a sh:PropertyShape ; sh:path schema:pickupLocation ; sh:class schema:Place ; sh:description "Where a taxi will pick up a passenger or a rental car can be picked up."^^rdf:HTML ; sh:name "pickupLocation" ; . schema:RentalCarReservation-pickupTime a sh:PropertyShape ; sh:path schema:pickupTime ; sh:datatype xsd:dateTime ; sh:description "When a taxi will pickup a passenger or a rental car can be picked up."^^rdf:HTML ; sh:name "pickupTime" ; . schema:RentalVehicleUsage a schema:CarUsageType ; schema:isPartOf ; schema:source ; rdfs:comment "Indicates the usage of the vehicle as a rental car." ; rdfs:label "Rental vehicle usage" ; . schema:RepaymentSpecification a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A structured value representing repayment."^^rdf:HTML ; rdfs:label "Repayment specification" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:RepaymentSpecification-downPayment ; sh:property schema:RepaymentSpecification-earlyPrepaymentPenalty ; sh:property schema:RepaymentSpecification-loanPaymentAmount ; sh:property schema:RepaymentSpecification-loanPaymentFrequency ; sh:property schema:RepaymentSpecification-numberOfLoanPayments ; . schema:RepaymentSpecification-downPayment a sh:PropertyShape ; sh:path schema:downPayment ; sh:description "a type of payment made in cash during the onset of the purchase of an expensive good/service. The payment typically represents only a percentage of the full purchase price."^^rdf:HTML ; sh:name "downPayment" ; sh:or ( [ sh:class schema:MonetaryAmount ; ] [ sh:datatype xsd:float ; ] ) ; . schema:RepaymentSpecification-earlyPrepaymentPenalty a sh:PropertyShape ; sh:path schema:earlyPrepaymentPenalty ; sh:class schema:MonetaryAmount ; sh:description "The amount to be paid as a penalty in the event of early payment of the loan."^^rdf:HTML ; sh:name "earlyPrepaymentPenalty" ; . schema:RepaymentSpecification-loanPaymentAmount a sh:PropertyShape ; sh:path schema:loanPaymentAmount ; sh:class schema:MonetaryAmount ; sh:description "The amount of money to pay in a single payment."^^rdf:HTML ; sh:name "loanPaymentAmount" ; . schema:RepaymentSpecification-loanPaymentFrequency a sh:PropertyShape ; sh:path schema:loanPaymentFrequency ; sh:datatype xsd:float ; sh:description "Frequency of payments due, i.e. number of months between payments. This is defined as a frequency, i.e. the reciprocal of a period of time."^^rdf:HTML ; sh:name "loanPaymentFrequency" ; . schema:RepaymentSpecification-numberOfLoanPayments a sh:PropertyShape ; sh:path schema:numberOfLoanPayments ; sh:datatype xsd:float ; sh:description "The number of payments contractually required at origination to repay the loan. For monthly paying loans this is the number of months from the contractual first payment date to the maturity date."^^rdf:HTML ; sh:name "numberOfLoanPayments" ; . schema:ReplaceAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of editing a recipient by replacing an old object with a new object."^^rdf:HTML ; rdfs:label "Replace action" ; rdfs:subClassOf schema:UpdateAction ; sh:property schema:ReplaceAction-replacee ; sh:property schema:ReplaceAction-replacer ; . schema:ReplaceAction-replacee a sh:PropertyShape ; sh:path schema:replacee ; sh:class schema:Thing ; sh:description "A sub property of object. The object that is being replaced."^^rdf:HTML ; sh:name "replacee" ; . schema:ReplaceAction-replacer a sh:PropertyShape ; sh:path schema:replacer ; sh:class schema:Thing ; sh:description "A sub property of object. The object that replaces."^^rdf:HTML ; sh:name "replacer" ; . schema:ReplyAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of responding to a question/message asked/sent by the object. Related to [[AskAction]]\\n\\nRelated actions:\\n\\n* [[AskAction]]: Appears generally as an origin of a ReplyAction."^^rdf:HTML ; rdfs:label "Reply action" ; rdfs:subClassOf schema:CommunicateAction ; sh:property schema:ReplyAction-resultComment ; . schema:ReplyAction-resultComment a sh:PropertyShape ; sh:path schema:resultComment ; sh:class schema:Comment ; sh:description "A sub property of result. The Comment created or sent as a result of this action."^^rdf:HTML ; sh:name "resultComment" ; . schema:Report a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A Report generated by governmental or non-governmental organization."^^rdf:HTML ; rdfs:label "Report" ; rdfs:subClassOf schema:Article ; sh:property schema:Report-reportNumber ; . schema:Report-reportNumber a sh:PropertyShape ; sh:path schema:reportNumber ; sh:datatype xsd:string ; sh:description "The number or other unique designator assigned to a Report by the publishing organization."^^rdf:HTML ; sh:name "reportNumber" ; . schema:ReportageNewsArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment """The [[ReportageNewsArticle]] type is a subtype of [[NewsArticle]] representing news articles which are the result of journalistic news reporting conventions. In practice many news publishers produce a wide variety of article types, many of which might be considered a [[NewsArticle]] but not a [[ReportageNewsArticle]]. For example, opinion pieces, reviews, analysis, sponsored or satirical articles, or articles that combine several of these elements. The [[ReportageNewsArticle]] type is based on a stricter ideal for \"news\" as a work of journalism, with articles based on factual information either observed or verified by the author, or reported and verified from knowledgeable sources. This often includes perspectives from multiple viewpoints on a particular issue (distinguishing news reports from public relations or propaganda). News reports in the [[ReportageNewsArticle]] sense de-emphasize the opinion of the author, with commentary and value judgements typically expressed elsewhere. A [[ReportageNewsArticle]] which goes deeper into analysis can also be marked with an additional type of [[AnalysisNewsArticle]]. """^^rdf:HTML ; rdfs:label "Reportage news article" ; rdfs:subClassOf schema:NewsArticle ; . schema:ReportedDoseSchedule a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A patient-reported or observed dosing schedule for a drug or supplement."^^rdf:HTML ; rdfs:label "Reported dose schedule" ; rdfs:subClassOf schema:DoseSchedule ; . schema:ResearchProject a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A Research project."^^rdf:HTML ; rdfs:label "Research project" ; rdfs:subClassOf schema:Project ; . schema:Researcher a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Researchers."^^rdf:HTML ; rdfs:label "Researcher" ; rdfs:subClassOf schema:Audience ; . schema:Reservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Describes a reservation for travel, dining or an event. Some reservations require tickets. \\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, restaurant reservations, flights, or rental cars, use [[Offer]]."^^rdf:HTML ; rdfs:label "Reservation" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Reservation-bookingAgent ; sh:property schema:Reservation-bookingTime ; sh:property schema:Reservation-broker ; sh:property schema:Reservation-modifiedTime ; sh:property schema:Reservation-priceCurrency ; sh:property schema:Reservation-programMembershipUsed ; sh:property schema:Reservation-provider ; sh:property schema:Reservation-reservationFor ; sh:property schema:Reservation-reservationId ; sh:property schema:Reservation-reservationStatus ; sh:property schema:Reservation-reservedTicket ; sh:property schema:Reservation-totalPrice ; sh:property schema:Reservation-underName ; . schema:Reservation-bookingAgent a sh:PropertyShape ; sh:path schema:bookingAgent ; sh:description "'bookingAgent' is an out-dated term indicating a 'broker' that serves as a booking agent."^^rdf:HTML ; sh:name "bookingAgent" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Reservation-bookingTime a sh:PropertyShape ; sh:path schema:bookingTime ; sh:datatype xsd:dateTime ; sh:description "The date and time the reservation was booked."^^rdf:HTML ; sh:name "bookingTime" ; . schema:Reservation-broker a sh:PropertyShape ; sh:path schema:broker ; sh:description "An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred."^^rdf:HTML ; sh:name "broker" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Reservation-modifiedTime a sh:PropertyShape ; sh:path schema:modifiedTime ; sh:datatype xsd:dateTime ; sh:description "The date and time the reservation was modified."^^rdf:HTML ; sh:name "modifiedTime" ; . schema:Reservation-priceCurrency a sh:PropertyShape ; sh:path schema:priceCurrency ; sh:datatype xsd:string ; sh:description "The currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "priceCurrency" ; . schema:Reservation-programMembershipUsed a sh:PropertyShape ; sh:path schema:programMembershipUsed ; sh:class schema:ProgramMembership ; sh:description "Any membership in a frequent flyer, hotel loyalty program, etc. being applied to the reservation."^^rdf:HTML ; sh:name "programMembershipUsed" ; . schema:Reservation-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Reservation-reservationFor a sh:PropertyShape ; sh:path schema:reservationFor ; sh:class schema:Thing ; sh:description "The thing -- flight, event, restaurant,etc. being reserved."^^rdf:HTML ; sh:name "reservationFor" ; . schema:Reservation-reservationId a sh:PropertyShape ; sh:path schema:reservationId ; sh:datatype xsd:string ; sh:description "A unique identifier for the reservation."^^rdf:HTML ; sh:name "reservationId" ; . schema:Reservation-reservationStatus a sh:PropertyShape ; sh:path schema:reservationStatus ; sh:class schema:ReservationStatusType ; sh:description "The current status of the reservation."^^rdf:HTML ; sh:name "reservationStatus" ; . schema:Reservation-reservedTicket a sh:PropertyShape ; sh:path schema:reservedTicket ; sh:class schema:Ticket ; sh:description "A ticket associated with the reservation."^^rdf:HTML ; sh:name "reservedTicket" ; . schema:Reservation-totalPrice a sh:PropertyShape ; sh:path schema:totalPrice ; sh:description "The total price for the reservation or ticket, including applicable taxes, shipping, etc.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "totalPrice" ; sh:or ( [ sh:class schema:PriceSpecification ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Reservation-underName a sh:PropertyShape ; sh:path schema:underName ; sh:description "The person or organization the reservation or ticket is for."^^rdf:HTML ; sh:name "underName" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:ReservationCancelled a schema:ReservationStatusType ; rdfs:comment "The status for a previously confirmed reservation that is now cancelled." ; rdfs:label "Reservation cancelled" ; . schema:ReservationConfirmed a schema:ReservationStatusType ; rdfs:comment "The status of a confirmed reservation." ; rdfs:label "Reservation confirmed" ; . schema:ReservationHold a schema:ReservationStatusType ; rdfs:comment "The status of a reservation on hold pending an update like credit card number or flight changes." ; rdfs:label "Reservation hold" ; . schema:ReservationPackage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A group of multiple reservations with common values for all sub-reservations."^^rdf:HTML ; rdfs:label "Reservation package" ; rdfs:subClassOf schema:Reservation ; sh:property schema:ReservationPackage-subReservation ; . schema:ReservationPackage-subReservation a sh:PropertyShape ; sh:path schema:subReservation ; sh:class schema:Reservation ; sh:description "The individual reservations included in the package. Typically a repeated property."^^rdf:HTML ; sh:name "subReservation" ; . schema:ReservationPending a schema:ReservationStatusType ; rdfs:comment "The status of a reservation when a request has been sent, but not confirmed." ; rdfs:label "Reservation pending" ; . schema:ReservationStatusType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Enumerated status values for Reservation."^^rdf:HTML ; rdfs:label "Reservation status type" ; rdfs:subClassOf schema:StatusEnumeration ; . schema:ReserveAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Reserving a concrete object.\\n\\nRelated actions:\\n\\n* [[ScheduleAction]]: Unlike ScheduleAction, ReserveAction reserves concrete objects (e.g. a table, a hotel) towards a time slot / spatial allocation."^^rdf:HTML ; rdfs:label "Reserve action" ; rdfs:subClassOf schema:PlanAction ; . schema:Reservoir a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservoir of water, typically an artificially created lake, like the Lake Kariba reservoir."^^rdf:HTML ; rdfs:label "Reservoir" ; rdfs:subClassOf schema:BodyOfWater ; . schema:Residence a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The place where a person lives."^^rdf:HTML ; rdfs:label "Residence" ; rdfs:subClassOf schema:Place ; sh:property schema:Residence-accommodationFloorPlan ; . schema:Residence-accommodationFloorPlan a sh:PropertyShape ; sh:path schema:accommodationFloorPlan ; sh:class schema:FloorPlan ; sh:description "A floorplan of some [[Accommodation]]."^^rdf:HTML ; sh:name "accommodationFloorPlan" ; . schema:Resort a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A resort is a place used for relaxation or recreation, attracting visitors for holidays or vacations. Resorts are places, towns or sometimes commercial establishment operated by a single company (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Resort).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Resort" ; rdfs:subClassOf schema:LodgingBusiness ; . schema:RespiratoryTherapy a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "The therapy that is concerned with the maintenance or improvement of respiratory function (as in patients with pulmonary disease)." ; rdfs:label "Respiratory therapy" ; rdfs:subClassOf schema:MedicalTherapy ; . schema:Restaurant a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A restaurant."^^rdf:HTML ; rdfs:label "Restaurant" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:RestockingFees a schema:ReturnFeesEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "RestockingFees ..." ; rdfs:label "Restocking fees" ; . schema:RestrictedDiet a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A diet restricted to certain foods or preparations for cultural, religious, health or lifestyle reasons. "^^rdf:HTML ; rdfs:label "Restricted diet" ; rdfs:subClassOf schema:Enumeration ; . schema:ResultsAvailable a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Results are available." ; rdfs:label "Results available" ; . schema:ResultsNotAvailable a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Results are not available." ; rdfs:label "Results not available" ; . schema:ResumeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of resuming a device or application which was formerly paused (e.g. resume music playback or resume a timer)."^^rdf:HTML ; rdfs:label "Resume action" ; rdfs:subClassOf schema:ControlAction ; . schema:Retail a schema:DrugCostCategory ; schema:isPartOf ; rdfs:comment "The drug's cost represents the retail cost of the drug." ; rdfs:label "Retail" ; . schema:ReturnAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of returning to the origin that which was previously received (concrete objects) or taken (ownership)."^^rdf:HTML ; rdfs:label "Return action" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:ReturnAction-recipient ; . schema:ReturnAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:ReturnFeesEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "ReturnFeesEnumeration expresses policies for return fees."^^rdf:HTML ; rdfs:label "Return fees enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:ReturnShippingFees a schema:ReturnFeesEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "ReturnShippingFees ..." ; rdfs:label "Return shipping fees" ; . schema:Review a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A review of an item - for example, of a restaurant, movie, or store."^^rdf:HTML ; rdfs:label "Review" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Review-itemReviewed ; sh:property schema:Review-reviewAspect ; sh:property schema:Review-reviewBody ; sh:property schema:Review-reviewRating ; . schema:Review-itemReviewed a sh:PropertyShape ; sh:path schema:itemReviewed ; sh:class schema:Thing ; sh:description "The item that is being reviewed/rated."^^rdf:HTML ; sh:name "itemReviewed" ; . schema:Review-reviewAspect a sh:PropertyShape ; sh:path schema:reviewAspect ; sh:datatype xsd:string ; sh:description "This Review or Rating is relevant to this part or facet of the itemReviewed."^^rdf:HTML ; sh:name "reviewAspect" ; . schema:Review-reviewBody a sh:PropertyShape ; sh:path schema:reviewBody ; sh:datatype xsd:string ; sh:description "The actual body of the review."^^rdf:HTML ; sh:name "reviewBody" ; . schema:Review-reviewRating a sh:PropertyShape ; sh:path schema:reviewRating ; sh:class schema:Rating ; sh:description "The rating given in this review. Note that reviews can themselves be rated. The ```reviewRating``` applies to rating given by the review. The [[aggregateRating]] property applies to the review itself, as a creative work."^^rdf:HTML ; sh:name "reviewRating" ; . schema:ReviewAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of producing a balanced opinion about the object for an audience. An agent reviews an object with participants resulting in a review."^^rdf:HTML ; rdfs:label "Review action" ; rdfs:subClassOf schema:AssessAction ; sh:property schema:ReviewAction-resultReview ; . schema:ReviewAction-resultReview a sh:PropertyShape ; sh:path schema:resultReview ; sh:class schema:Review ; sh:description "A sub property of result. The review that resulted in the performing of the action."^^rdf:HTML ; sh:name "resultReview" ; . schema:ReviewNewsArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "A [[NewsArticle]] and [[CriticReview]] providing a professional critic's assessment of a service, product, performance, or artistic or literary work."^^rdf:HTML ; rdfs:label "Review news article" ; rdfs:subClassOf schema:CriticReview ; rdfs:subClassOf schema:NewsArticle ; . schema:Rheumatologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that deals with the study and treatment of rheumatic, autoimmune or joint diseases." ; rdfs:label "Rheumatologic" ; . schema:RightHandDriving a schema:SteeringPositionValue ; schema:source ; rdfs:comment "The steering position is on the right side of the vehicle (viewed from the main direction of driving)." ; rdfs:label "Right hand driving" ; . schema:RisksOrComplicationsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Information about the risk factors and possible complications that may follow a topic." ; rdfs:label "Risks or complications health aspect" ; . schema:RiverBodyOfWater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A river (for example, the broad majestic Shannon)."^^rdf:HTML ; rdfs:label "River body of water" ; rdfs:subClassOf schema:BodyOfWater ; . schema:Role a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Represents additional information about a relationship or property. For example a Role can be used to say that a 'member' role linking some SportsTeam to a player occurred during a particular time period. Or that a Person's 'actor' role in a Movie was for some particular characterName. Such properties can be attached to a Role entity, which is then associated with the main entities using ordinary properties like 'member' or 'actor'.\\n\\nSee also [blog post](http://blog.schema.org/2014/06/introducing-role.html)."^^rdf:HTML ; rdfs:label "Role" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Role-endDate ; sh:property schema:Role-namedPosition ; sh:property schema:Role-roleName ; sh:property schema:Role-startDate ; . schema:Role-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Role-namedPosition a sh:PropertyShape ; sh:path schema:namedPosition ; sh:description "A position played, performed or filled by a person or organization, as part of an organization. For example, an athlete in a SportsTeam might play in the position named 'Quarterback'."^^rdf:HTML ; sh:name "namedPosition" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Role-roleName a sh:PropertyShape ; sh:path schema:roleName ; sh:description "A role played, performed or filled by a person or organization. For example, the team of creators for a comic book might fill the roles named 'inker', 'penciller', and 'letterer'; or an athlete in a SportsTeam might play in the position named 'Quarterback'."^^rdf:HTML ; sh:name "roleName" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Role-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:RoofingContractor a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A roofing contractor."^^rdf:HTML ; rdfs:label "Roofing contractor" ; rdfs:subClassOf schema:HomeAndConstructionBusiness ; . schema:Room a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A room is a distinguishable space within a structure, usually separated from other spaces by interior walls. (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Room).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Room" ; rdfs:subClassOf schema:Accommodation ; . schema:RsvpAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of notifying an event organizer as to whether you expect to attend the event."^^rdf:HTML ; rdfs:label "Rsvp action" ; rdfs:subClassOf schema:InformAction ; sh:property schema:RsvpAction-additionalNumberOfGuests ; sh:property schema:RsvpAction-comment ; sh:property schema:RsvpAction-rsvpResponse ; . schema:RsvpAction-additionalNumberOfGuests a sh:PropertyShape ; sh:path schema:additionalNumberOfGuests ; sh:datatype xsd:float ; sh:description "If responding yes, the number of guests who will attend in addition to the invitee."^^rdf:HTML ; sh:name "additionalNumberOfGuests" ; . schema:RsvpAction-comment a sh:PropertyShape ; sh:path schema:comment ; sh:class schema:Comment ; sh:description "Comments, typically from users."^^rdf:HTML ; sh:name "comment" ; . schema:RsvpAction-rsvpResponse a sh:PropertyShape ; sh:path schema:rsvpResponse ; sh:class schema:RsvpResponseType ; sh:description "The response (yes, no, maybe) to the RSVP."^^rdf:HTML ; sh:name "rsvpResponse" ; . schema:RsvpResponseMaybe a schema:RsvpResponseType ; rdfs:comment "The invitee may or may not attend." ; rdfs:label "Rsvp response maybe" ; . schema:RsvpResponseNo a schema:RsvpResponseType ; rdfs:comment "The invitee will not attend." ; rdfs:label "Rsvp response no" ; . schema:RsvpResponseType a rdfs:Class ; a sh:NodeShape ; rdfs:comment "RsvpResponseType is an enumeration type whose instances represent responding to an RSVP request."^^rdf:HTML ; rdfs:label "Rsvp response type" ; rdfs:subClassOf schema:Enumeration ; . schema:RsvpResponseYes a schema:RsvpResponseType ; rdfs:comment "The invitee will attend." ; rdfs:label "Rsvp response yes" ; . schema:SRP a schema:PriceTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the suggested retail price (\"SRP\") of an offered product." ; rdfs:label "SRP" ; . schema:SafetyHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about the safety-related aspects of a health topic." ; rdfs:label "Safety health aspect" ; . schema:SaleEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Sales event."^^rdf:HTML ; rdfs:label "Sale event" ; rdfs:subClassOf schema:Event ; . schema:SalePrice a schema:PriceTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents a sale price (usually active for a limited period) of an offered product." ; rdfs:label "Sale price" ; . schema:SatireOrParodyContent a schema:MediaManipulationRatingEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment """Content coded 'satire or content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'satire or parody content': A video that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) For an [[ImageObject]] to be 'satire or parody content': An image that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) For an [[ImageObject]] with embedded text to be 'satire or parody content': An image that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) For an [[AudioObject]] to be 'satire or parody content': Audio that was created as political or humorous commentary and is presented in that context. (Reshares of satire/parody content that do not include relevant context are more likely to fall under the “missing context†rating.) """ ; rdfs:label "Satire or parody content" ; . schema:SatiricalArticle a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "An [[Article]] whose content is primarily [[satirical]](https://en.wikipedia.org/wiki/Satire) in nature, i.e. unlikely to be literally true. A satirical article is sometimes but not necessarily also a [[NewsArticle]]. [[ScholarlyArticle]]s are also sometimes satirized."^^rdf:HTML ; rdfs:label "Satirical article" ; rdfs:subClassOf schema:Article ; . schema:Saturday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Friday and Sunday." ; rdfs:label "Saturday" ; . schema:Schedule a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A schedule defines a repeating time period used to describe a regularly occurring [[Event]]. At a minimum a schedule will specify [[repeatFrequency]] which describes the interval between occurences of the event. Additional information can be provided to specify the schedule more precisely. This includes identifying the day(s) of the week or month when the recurring event will take place, in addition to its start and end time. Schedules may also have start and end dates to indicate when they are active, e.g. to define a limited calendar of events."""^^rdf:HTML ; rdfs:label "Schedule" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Schedule-byDay ; sh:property schema:Schedule-byMonth ; sh:property schema:Schedule-byMonthDay ; sh:property schema:Schedule-byMonthWeek ; sh:property schema:Schedule-duration ; sh:property schema:Schedule-endDate ; sh:property schema:Schedule-endTime ; sh:property schema:Schedule-exceptDate ; sh:property schema:Schedule-repeatCount ; sh:property schema:Schedule-repeatFrequency ; sh:property schema:Schedule-scheduleTimezone ; sh:property schema:Schedule-startDate ; sh:property schema:Schedule-startTime ; . schema:Schedule-byDay a sh:PropertyShape ; sh:path schema:byDay ; sh:description "Defines the day(s) of the week on which a recurring [[Event]] takes place. May be specified using either [[DayOfWeek]], or alternatively [[Text]] conforming to iCal's syntax for byDay recurrence rules."^^rdf:HTML ; sh:name "byDay" ; sh:or ( [ sh:class schema:DayOfWeek ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Schedule-byMonth a sh:PropertyShape ; sh:path schema:byMonth ; sh:datatype xsd:integer ; sh:description "Defines the month(s) of the year on which a recurring [[Event]] takes place. Specified as an [[Integer]] between 1-12. January is 1."^^rdf:HTML ; sh:name "byMonth" ; . schema:Schedule-byMonthDay a sh:PropertyShape ; sh:path schema:byMonthDay ; sh:datatype xsd:integer ; sh:description "Defines the day(s) of the month on which a recurring [[Event]] takes place. Specified as an [[Integer]] between 1-31."^^rdf:HTML ; sh:name "byMonthDay" ; . schema:Schedule-byMonthWeek a sh:PropertyShape ; sh:path schema:byMonthWeek ; sh:datatype xsd:integer ; sh:description "Defines the week(s) of the month on which a recurring Event takes place. Specified as an Integer between 1-5. For clarity, byMonthWeek is best used in conjunction with byDay to indicate concepts like the first and third Mondays of a month."^^rdf:HTML ; sh:name "byMonthWeek" ; . schema:Schedule-duration a sh:PropertyShape ; sh:path schema:duration ; sh:datatype xsd:duration ; sh:description "The duration of the item (movie, audio recording, event, etc.) in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601)."^^rdf:HTML ; sh:name "duration" ; . schema:Schedule-endDate a sh:PropertyShape ; sh:path schema:endDate ; sh:description "The end date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "endDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Schedule-endTime a sh:PropertyShape ; sh:path schema:endTime ; sh:description "The endTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to end. For actions that span a period of time, when the action was performed. e.g. John wrote a book from January to *December*. For media, including audio and video, it's the time offset of the end of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "endTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Schedule-exceptDate a sh:PropertyShape ; sh:path schema:exceptDate ; sh:description """Defines a [[Date]] or [[DateTime]] during which a scheduled [[Event]] will not take place. The property allows exceptions to a [[Schedule]] to be specified. If an exception is specified as a [[DateTime]] then only the event that would have started at that specific date and time should be excluded from the schedule. If an exception is specified as a [[Date]] then any event that is scheduled for that 24 hour period should be excluded from the schedule. This allows a whole day to be excluded from the schedule without having to itemise every scheduled event."""^^rdf:HTML ; sh:name "exceptDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Schedule-repeatCount a sh:PropertyShape ; sh:path schema:repeatCount ; sh:datatype xsd:integer ; sh:description "Defines the number of times a recurring [[Event]] will take place"^^rdf:HTML ; sh:name "repeatCount" ; . schema:Schedule-repeatFrequency a sh:PropertyShape ; sh:path schema:repeatFrequency ; sh:description """Defines the frequency at which [[Event]]s will occur according to a schedule [[Schedule]]. The intervals between events should be defined as a [[Duration]] of time."""^^rdf:HTML ; sh:name "repeatFrequency" ; sh:or ( [ sh:datatype xsd:duration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Schedule-scheduleTimezone a sh:PropertyShape ; sh:path schema:scheduleTimezone ; sh:datatype xsd:string ; sh:description "Indicates the timezone for which the time(s) indicated in the [[Schedule]] are given. The value provided should be among those listed in the IANA Time Zone Database."^^rdf:HTML ; sh:name "scheduleTimezone" ; . schema:Schedule-startDate a sh:PropertyShape ; sh:path schema:startDate ; sh:description "The start date and time of the item (in [ISO 8601 date format](http://en.wikipedia.org/wiki/ISO_8601))."^^rdf:HTML ; sh:name "startDate" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Schedule-startTime a sh:PropertyShape ; sh:path schema:startTime ; sh:description "The startTime of something. For a reserved event or service (e.g. FoodEstablishmentReservation), the time that it is expected to start. For actions that span a period of time, when the action was performed. e.g. John wrote a book from *January* to December. For media, including audio and video, it's the time offset of the start of a clip within a larger file.\\n\\nNote that Event uses startDate/endDate instead of startTime/endTime, even when describing dates with times. This situation may be clarified in future revisions."^^rdf:HTML ; sh:name "startTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:ScheduleAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Scheduling future actions, events, or tasks.\\n\\nRelated actions:\\n\\n* [[ReserveAction]]: Unlike ReserveAction, ScheduleAction allocates future actions (e.g. an event, a task, etc) towards a time slot / spatial allocation."^^rdf:HTML ; rdfs:label "Schedule action" ; rdfs:subClassOf schema:PlanAction ; . schema:ScholarlyArticle a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A scholarly article."^^rdf:HTML ; rdfs:label "Scholarly article" ; rdfs:subClassOf schema:Article ; . schema:School a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A school."^^rdf:HTML ; rdfs:label "School" ; rdfs:subClassOf schema:EducationalOrganization ; . schema:SchoolDistrict a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A School District is an administrative area for the administration of schools."^^rdf:HTML ; rdfs:label "School district" ; rdfs:subClassOf schema:AdministrativeArea ; . schema:ScreeningEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A screening of a movie or other video."^^rdf:HTML ; rdfs:label "Screening event" ; rdfs:subClassOf schema:Event ; sh:property schema:ScreeningEvent-subtitleLanguage ; sh:property schema:ScreeningEvent-videoFormat ; sh:property schema:ScreeningEvent-workPresented ; . schema:ScreeningEvent-subtitleLanguage a sh:PropertyShape ; sh:path schema:subtitleLanguage ; sh:description "Languages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47)."^^rdf:HTML ; sh:name "subtitleLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ScreeningEvent-videoFormat a sh:PropertyShape ; sh:path schema:videoFormat ; sh:datatype xsd:string ; sh:description "The type of screening or video broadcast used (e.g. IMAX, 3D, SD, HD, etc.)."^^rdf:HTML ; sh:name "videoFormat" ; . schema:ScreeningEvent-workPresented a sh:PropertyShape ; sh:path schema:workPresented ; sh:class schema:Movie ; sh:description "The movie presented during this event."^^rdf:HTML ; sh:name "workPresented" ; . schema:ScreeningHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about how to screen or further filter a topic." ; rdfs:label "Screening health aspect" ; . schema:Sculpture a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A piece of sculpture."^^rdf:HTML ; rdfs:label "Sculpture" ; rdfs:subClassOf schema:CreativeWork ; . schema:SeaBodyOfWater a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sea (for example, the Caspian sea)."^^rdf:HTML ; rdfs:label "Sea body of water" ; rdfs:subClassOf schema:BodyOfWater ; . schema:SearchAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of searching for an object.\\n\\nRelated actions:\\n\\n* [[FindAction]]: SearchAction generally leads to a FindAction, but not necessarily."^^rdf:HTML ; rdfs:label "Search action" ; rdfs:subClassOf schema:Action ; sh:property schema:SearchAction-query ; . schema:SearchAction-query a sh:PropertyShape ; sh:path schema:query ; sh:datatype xsd:string ; sh:description "A sub property of instrument. The query used on this action."^^rdf:HTML ; sh:name "query" ; . schema:SearchResultsPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Search results page."^^rdf:HTML ; rdfs:label "Search results page" ; rdfs:subClassOf schema:WebPage ; . schema:Season a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:CreativeWorkSeason ; rdfs:comment "A media season e.g. tv, radio, video game etc."^^rdf:HTML ; rdfs:label "Season" ; rdfs:subClassOf schema:CreativeWork ; . schema:Seat a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Used to describe a seat, such as a reserved seat in an event reservation."^^rdf:HTML ; rdfs:label "Seat" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Seat-seatNumber ; sh:property schema:Seat-seatRow ; sh:property schema:Seat-seatSection ; sh:property schema:Seat-seatingType ; . schema:Seat-seatNumber a sh:PropertyShape ; sh:path schema:seatNumber ; sh:datatype xsd:string ; sh:description "The location of the reserved seat (e.g., 27)."^^rdf:HTML ; sh:name "seatNumber" ; . schema:Seat-seatRow a sh:PropertyShape ; sh:path schema:seatRow ; sh:datatype xsd:string ; sh:description "The row location of the reserved seat (e.g., B)."^^rdf:HTML ; sh:name "seatRow" ; . schema:Seat-seatSection a sh:PropertyShape ; sh:path schema:seatSection ; sh:datatype xsd:string ; sh:description "The section location of the reserved seat (e.g. Orchestra)."^^rdf:HTML ; sh:name "seatSection" ; . schema:Seat-seatingType a sh:PropertyShape ; sh:path schema:seatingType ; sh:description "The type/class of the seat."^^rdf:HTML ; sh:name "seatingType" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SeatingMap a schema:MapCategoryType ; rdfs:comment "A seating map." ; rdfs:label "Seating map" ; . schema:SeeDoctorHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Information about questions that may be asked, when to see a professional, measures before seeing a doctor or content about the first consultation." ; rdfs:label "See doctor health aspect" ; . schema:SeekToAction a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "This is the [[Action]] of navigating to a specific [[startOffset]] timestamp within a [[VideoObject]], typically represented with a URL template structure."^^rdf:HTML ; rdfs:label "Seek to action" ; rdfs:subClassOf schema:Action ; . schema:SelfCareHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Self care actions or measures that can be taken to sooth, health or avoid a topic. This may be carried at home and can be carried/managed by the person itself." ; rdfs:label "Self care health aspect" ; . schema:SelfStorage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A self-storage facility."^^rdf:HTML ; rdfs:label "Self storage" ; rdfs:subClassOf schema:LocalBusiness ; . schema:SellAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of taking money from a buyer in exchange for goods or services rendered. An agent sells an object, product, or service to a buyer for a price. Reciprocal of BuyAction."^^rdf:HTML ; rdfs:label "Sell action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:SellAction-buyer ; sh:property schema:SellAction-warrantyPromise ; . schema:SellAction-buyer a sh:PropertyShape ; sh:path schema:buyer ; sh:class schema:Person ; sh:description "A sub property of participant. The participant/person/organization that bought the object."^^rdf:HTML ; sh:name "buyer" ; . schema:SellAction-warrantyPromise a sh:PropertyShape ; sh:path schema:warrantyPromise ; sh:class schema:WarrantyPromise ; sh:description "The warranty promise(s) included in the offer."^^rdf:HTML ; sh:name "warrantyPromise" ; . schema:SendAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of physically/electronically dispatching an object for transfer from an origin to a destination.Related actions:\\n\\n* [[ReceiveAction]]: The reciprocal of SendAction.\\n* [[GiveAction]]: Unlike GiveAction, SendAction does not imply the transfer of ownership (e.g. I can send you my laptop, but I'm not necessarily giving it to you)."^^rdf:HTML ; rdfs:label "Send action" ; rdfs:subClassOf schema:TransferAction ; sh:property schema:SendAction-deliveryMethod ; sh:property schema:SendAction-recipient ; . schema:SendAction-deliveryMethod a sh:PropertyShape ; sh:path schema:deliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "A sub property of instrument. The method of delivery."^^rdf:HTML ; sh:name "deliveryMethod" ; . schema:SendAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Series a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A Series in schema.org is a group of related items, typically but not necessarily of the same kind. See also [[CreativeWorkSeries]], [[EventSeries]]."^^rdf:HTML ; rdfs:label "Series" ; rdfs:subClassOf schema:Intangible ; . schema:Service a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A service provided by an organization, e.g. delivery service, print services, etc."^^rdf:HTML ; rdfs:label "Service" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Service-aggregateRating ; sh:property schema:Service-areaServed ; sh:property schema:Service-audience ; sh:property schema:Service-availableChannel ; sh:property schema:Service-award ; sh:property schema:Service-brand ; sh:property schema:Service-broker ; sh:property schema:Service-category ; sh:property schema:Service-hasOfferCatalog ; sh:property schema:Service-hoursAvailable ; sh:property schema:Service-isRelatedTo ; sh:property schema:Service-isSimilarTo ; sh:property schema:Service-logo ; sh:property schema:Service-offers ; sh:property schema:Service-produces ; sh:property schema:Service-provider ; sh:property schema:Service-providerMobility ; sh:property schema:Service-review ; sh:property schema:Service-serviceArea ; sh:property schema:Service-serviceAudience ; sh:property schema:Service-serviceOutput ; sh:property schema:Service-serviceType ; sh:property schema:Service-slogan ; sh:property schema:Service-termsOfService ; . schema:Service-aggregateRating a sh:PropertyShape ; sh:path schema:aggregateRating ; sh:class schema:AggregateRating ; sh:description "The overall rating, based on a collection of reviews or ratings, of the item."^^rdf:HTML ; sh:name "aggregateRating" ; . schema:Service-areaServed a sh:PropertyShape ; sh:path schema:areaServed ; sh:description "The geographic area where a service or offered item is provided."^^rdf:HTML ; sh:name "areaServed" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Service-audience a sh:PropertyShape ; sh:path schema:audience ; sh:class schema:Audience ; sh:description "An intended audience, i.e. a group for whom something was created."^^rdf:HTML ; sh:name "audience" ; . schema:Service-availableChannel a sh:PropertyShape ; sh:path schema:availableChannel ; sh:class schema:ServiceChannel ; sh:description "A means of accessing the service (e.g. a phone bank, a web site, a location, etc.)."^^rdf:HTML ; sh:name "availableChannel" ; . schema:Service-award a sh:PropertyShape ; sh:path schema:award ; sh:datatype xsd:string ; sh:description "An award won by or for this item."^^rdf:HTML ; sh:name "award" ; . schema:Service-brand a sh:PropertyShape ; sh:path schema:brand ; sh:description "The brand(s) associated with a product or service, or the brand(s) maintained by an organization or business person."^^rdf:HTML ; sh:name "brand" ; sh:or ( [ sh:class schema:Brand ; ] [ sh:class schema:Organization ; ] ) ; . schema:Service-broker a sh:PropertyShape ; sh:path schema:broker ; sh:description "An entity that arranges for an exchange between a buyer and a seller. In most cases a broker never acquires or releases ownership of a product or service involved in an exchange. If it is not clear whether an entity is a broker, seller, or buyer, the latter two terms are preferred."^^rdf:HTML ; sh:name "broker" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Service-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Service-hasOfferCatalog a sh:PropertyShape ; sh:path schema:hasOfferCatalog ; sh:class schema:OfferCatalog ; sh:description "Indicates an OfferCatalog listing for this Organization, Person, or Service."^^rdf:HTML ; sh:name "hasOfferCatalog" ; . schema:Service-hoursAvailable a sh:PropertyShape ; sh:path schema:hoursAvailable ; sh:class schema:OpeningHoursSpecification ; sh:description "The hours during which this service or contact is available."^^rdf:HTML ; sh:name "hoursAvailable" ; . schema:Service-isRelatedTo a sh:PropertyShape ; sh:path schema:isRelatedTo ; sh:description "A pointer to another, somehow related product (or multiple products)."^^rdf:HTML ; sh:name "isRelatedTo" ; sh:or ( [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:Service-isSimilarTo a sh:PropertyShape ; sh:path schema:isSimilarTo ; sh:description "A pointer to another, functionally similar product (or multiple products)."^^rdf:HTML ; sh:name "isSimilarTo" ; sh:or ( [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:Service-logo a sh:PropertyShape ; sh:path schema:logo ; sh:description "An associated logo."^^rdf:HTML ; sh:name "logo" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Service-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:Service-produces a sh:PropertyShape ; sh:path schema:produces ; sh:class schema:Thing ; sh:description "The tangible thing generated by the service, e.g. a passport, permit, etc."^^rdf:HTML ; sh:name "produces" ; . schema:Service-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Service-providerMobility a sh:PropertyShape ; sh:path schema:providerMobility ; sh:datatype xsd:string ; sh:description "Indicates the mobility of a provided service (e.g. 'static', 'dynamic')."^^rdf:HTML ; sh:name "providerMobility" ; . schema:Service-review a sh:PropertyShape ; sh:path schema:review ; sh:class schema:Review ; sh:description "A review of the item."^^rdf:HTML ; sh:name "review" ; . schema:Service-serviceArea a sh:PropertyShape ; sh:path schema:serviceArea ; sh:description "The geographic area where the service is provided."^^rdf:HTML ; sh:name "serviceArea" ; sh:or ( [ sh:class schema:AdministrativeArea ; ] [ sh:class schema:GeoShape ; ] [ sh:class schema:Place ; ] ) ; . schema:Service-serviceAudience a sh:PropertyShape ; sh:path schema:serviceAudience ; sh:class schema:Audience ; sh:description "The audience eligible for this service."^^rdf:HTML ; sh:name "serviceAudience" ; . schema:Service-serviceOutput a sh:PropertyShape ; sh:path schema:serviceOutput ; sh:class schema:Thing ; sh:description "The tangible thing generated by the service, e.g. a passport, permit, etc."^^rdf:HTML ; sh:name "serviceOutput" ; . schema:Service-serviceType a sh:PropertyShape ; sh:path schema:serviceType ; sh:description "The type of service being offered, e.g. veterans' benefits, emergency relief, etc."^^rdf:HTML ; sh:name "serviceType" ; sh:or ( [ sh:class schema:GovernmentBenefitsType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Service-slogan a sh:PropertyShape ; sh:path schema:slogan ; sh:datatype xsd:string ; sh:description "A slogan or motto associated with the item."^^rdf:HTML ; sh:name "slogan" ; . schema:Service-termsOfService a sh:PropertyShape ; sh:path schema:termsOfService ; sh:description "Human-readable terms of service documentation."^^rdf:HTML ; sh:name "termsOfService" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ServiceChannel a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A means for accessing a service, e.g. a government office location, web site, or phone number."^^rdf:HTML ; rdfs:label "Service channel" ; rdfs:subClassOf schema:Intangible ; sh:property schema:ServiceChannel-availableLanguage ; sh:property schema:ServiceChannel-processingTime ; sh:property schema:ServiceChannel-providesService ; sh:property schema:ServiceChannel-serviceLocation ; sh:property schema:ServiceChannel-servicePhone ; sh:property schema:ServiceChannel-servicePostalAddress ; sh:property schema:ServiceChannel-serviceSmsNumber ; sh:property schema:ServiceChannel-serviceUrl ; . schema:ServiceChannel-availableLanguage a sh:PropertyShape ; sh:path schema:availableLanguage ; sh:description "A language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]"^^rdf:HTML ; sh:name "availableLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:ServiceChannel-processingTime a sh:PropertyShape ; sh:path schema:processingTime ; sh:datatype xsd:duration ; sh:description "Estimated processing time for the service using this channel."^^rdf:HTML ; sh:name "processingTime" ; . schema:ServiceChannel-providesService a sh:PropertyShape ; sh:path schema:providesService ; sh:class schema:Service ; sh:description "The service provided by this channel."^^rdf:HTML ; sh:name "providesService" ; . schema:ServiceChannel-serviceLocation a sh:PropertyShape ; sh:path schema:serviceLocation ; sh:class schema:Place ; sh:description "The location (e.g. civic structure, local business, etc.) where a person can go to access the service."^^rdf:HTML ; sh:name "serviceLocation" ; . schema:ServiceChannel-servicePhone a sh:PropertyShape ; sh:path schema:servicePhone ; sh:class schema:ContactPoint ; sh:description "The phone number to use to access the service."^^rdf:HTML ; sh:name "servicePhone" ; . schema:ServiceChannel-servicePostalAddress a sh:PropertyShape ; sh:path schema:servicePostalAddress ; sh:class schema:PostalAddress ; sh:description "The address for accessing the service by mail."^^rdf:HTML ; sh:name "servicePostalAddress" ; . schema:ServiceChannel-serviceSmsNumber a sh:PropertyShape ; sh:path schema:serviceSmsNumber ; sh:class schema:ContactPoint ; sh:description "The number to access the service by text message."^^rdf:HTML ; sh:name "serviceSmsNumber" ; . schema:ServiceChannel-serviceUrl a sh:PropertyShape ; sh:path schema:serviceUrl ; sh:description "The website to access the service."^^rdf:HTML ; sh:name "serviceUrl" ; sh:nodeKind sh:IRI ; . schema:ShareAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of distributing content to people for their amusement or edification."^^rdf:HTML ; rdfs:label "Share action" ; rdfs:subClassOf schema:CommunicateAction ; . schema:SheetMusic a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Printed music, as opposed to performed or recorded music."^^rdf:HTML ; rdfs:label "Sheet music" ; rdfs:subClassOf schema:CreativeWork ; . schema:ShippingDeliveryTime a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "ShippingDeliveryTime provides various pieces of information about delivery times for shipping."^^rdf:HTML ; rdfs:label "Shipping delivery time" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:ShippingDeliveryTime-businessDays ; sh:property schema:ShippingDeliveryTime-cutoffTime ; sh:property schema:ShippingDeliveryTime-handlingTime ; sh:property schema:ShippingDeliveryTime-transitTime ; . schema:ShippingDeliveryTime-businessDays a sh:PropertyShape ; sh:path schema:businessDays ; sh:class schema:OpeningHoursSpecification ; sh:description "Days of the week when the merchant typically operates, indicated via opening hours markup."^^rdf:HTML ; sh:name "businessDays" ; . schema:ShippingDeliveryTime-cutoffTime a sh:PropertyShape ; sh:path schema:cutoffTime ; sh:datatype xsd:time ; sh:description "Order cutoff time allows merchants to describe the time after which they will no longer process orders received on that day. For orders processed after cutoff time, one day gets added to the delivery time estimate. This property is expected to be most typically used via the [[ShippingRateSettings]] publication pattern. The time is indicated using the ISO-8601 Time format, e.g. \"23:30:00-05:00\" would represent 6:30 pm Eastern Standard Time (EST) which is 5 hours behind Coordinated Universal Time (UTC)."^^rdf:HTML ; sh:name "cutoffTime" ; . schema:ShippingDeliveryTime-handlingTime a sh:PropertyShape ; sh:path schema:handlingTime ; sh:class schema:QuantitativeValue ; sh:description "The typical delay between the receipt of the order and the goods either leaving the warehouse or being prepared for pickup, in case the delivery method is on site pickup. Typical properties: minValue, maxValue, unitCode (d for DAY). This is by common convention assumed to mean business days (if a unitCode is used, coded as \"d\"), i.e. only counting days when the business normally operates."^^rdf:HTML ; sh:name "handlingTime" ; . schema:ShippingDeliveryTime-transitTime a sh:PropertyShape ; sh:path schema:transitTime ; sh:class schema:QuantitativeValue ; sh:description "The typical delay the order has been sent for delivery and the goods reach the final customer. Typical properties: minValue, maxValue, unitCode (d for DAY)."^^rdf:HTML ; sh:name "transitTime" ; . schema:ShippingRateSettings a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A ShippingRateSettings represents re-usable pieces of shipping information. It is designed for publication on an URL that may be referenced via the [[shippingSettingsLink]] property of an [[OfferShippingDetails]]. Several occurrences can be published, distinguished and matched (i.e. identified/referenced) by their different values for [[shippingLabel]]."^^rdf:HTML ; rdfs:label "Shipping rate settings" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:ShippingRateSettings-doesNotShip ; sh:property schema:ShippingRateSettings-freeShippingThreshold ; sh:property schema:ShippingRateSettings-isUnlabelledFallback ; sh:property schema:ShippingRateSettings-shippingDestination ; sh:property schema:ShippingRateSettings-shippingLabel ; sh:property schema:ShippingRateSettings-shippingRate ; . schema:ShippingRateSettings-doesNotShip a sh:PropertyShape ; sh:path schema:doesNotShip ; sh:datatype xsd:boolean ; sh:description "Indicates when shipping to a particular [[shippingDestination]] is not available."^^rdf:HTML ; sh:name "doesNotShip" ; . schema:ShippingRateSettings-freeShippingThreshold a sh:PropertyShape ; sh:path schema:freeShippingThreshold ; sh:description "A monetary value above which (or equal to) the shipping rate becomes free. Intended to be used via an [[OfferShippingDetails]] with [[shippingSettingsLink]] matching this [[ShippingRateSettings]]."^^rdf:HTML ; sh:name "freeShippingThreshold" ; sh:or ( [ sh:class schema:DeliveryChargeSpecification ; ] [ sh:class schema:MonetaryAmount ; ] ) ; . schema:ShippingRateSettings-isUnlabelledFallback a sh:PropertyShape ; sh:path schema:isUnlabelledFallback ; sh:datatype xsd:boolean ; sh:description "This can be marked 'true' to indicate that some published [[DeliveryTimeSettings]] or [[ShippingRateSettings]] are intended to apply to all [[OfferShippingDetails]] published by the same merchant, when referenced by a [[shippingSettingsLink]] in those settings. It is not meaningful to use a 'true' value for this property alongside a transitTimeLabel (for [[DeliveryTimeSettings]]) or shippingLabel (for [[ShippingRateSettings]]), since this property is for use with unlabelled settings."^^rdf:HTML ; sh:name "isUnlabelledFallback" ; . schema:ShippingRateSettings-shippingDestination a sh:PropertyShape ; sh:path schema:shippingDestination ; sh:class schema:DefinedRegion ; sh:description "indicates (possibly multiple) shipping destinations. These can be defined in several ways e.g. postalCode ranges."^^rdf:HTML ; sh:name "shippingDestination" ; . schema:ShippingRateSettings-shippingLabel a sh:PropertyShape ; sh:path schema:shippingLabel ; sh:datatype xsd:string ; sh:description "Label to match an [[OfferShippingDetails]] with a [[ShippingRateSettings]] (within the context of a [[shippingSettingsLink]] cross-reference)."^^rdf:HTML ; sh:name "shippingLabel" ; . schema:ShippingRateSettings-shippingRate a sh:PropertyShape ; sh:path schema:shippingRate ; sh:class schema:MonetaryAmount ; sh:description "The shipping rate is the cost of shipping to the specified destination. Typically, the maxValue and currency values (of the [[MonetaryAmount]]) are most appropriate."^^rdf:HTML ; sh:name "shippingRate" ; . schema:ShoeStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A shoe store."^^rdf:HTML ; rdfs:label "Shoe store" ; rdfs:subClassOf schema:Store ; . schema:ShoppingCenter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A shopping center or mall."^^rdf:HTML ; rdfs:label "Shopping center" ; rdfs:subClassOf schema:LocalBusiness ; . schema:ShortStory a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Short story or tale. A brief work of literature, usually written in narrative prose."^^rdf:HTML ; rdfs:label "Short story" ; rdfs:subClassOf schema:CreativeWork ; . schema:SideEffectsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Side effects that can be observed from the usage of the topic." ; rdfs:label "Side effects health aspect" ; . schema:SingleBlindedTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A trial design in which the researcher knows which treatment the patient was randomly assigned to but the patient does not." ; rdfs:label "Single blinded trial" ; . schema:SingleCenterTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A trial that takes place at a single center." ; rdfs:label "Single center trial" ; . schema:SingleFamilyResidence a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Residence type: Single-family home."^^rdf:HTML ; rdfs:label "Single family residence" ; rdfs:subClassOf schema:House ; sh:property schema:SingleFamilyResidence-numberOfRooms ; sh:property schema:SingleFamilyResidence-occupancy ; . schema:SingleFamilyResidence-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:SingleFamilyResidence-occupancy a sh:PropertyShape ; sh:path schema:occupancy ; sh:class schema:QuantitativeValue ; sh:description """The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person"""^^rdf:HTML ; sh:name "occupancy" ; . schema:SinglePlayer a schema:GamePlayMode ; rdfs:comment "Play mode: SinglePlayer. Which is played by a lone player." ; rdfs:label "Single player" ; . schema:SingleRelease a schema:MusicAlbumReleaseType ; schema:source ; rdfs:comment "SingleRelease." ; rdfs:label "Single release" ; . schema:SiteNavigationElement a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A navigation element of the page."^^rdf:HTML ; rdfs:label "Site navigation element" ; rdfs:subClassOf schema:WebPageElement ; . schema:SizeGroupEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates common size groups for various product categories."^^rdf:HTML ; rdfs:label "Size group enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:SizeSpecification a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Size related properties of a product, typically a size code ([[name]]) and optionally a [[sizeSystem]], [[sizeGroup]], and product measurements ([[hasMeasurement]]). In addition, the intended audience can be defined through [[suggestedAge]], [[suggestedGender]], and suggested body measurements ([[suggestedMeasurement]])."^^rdf:HTML ; rdfs:label "Size specification" ; rdfs:subClassOf schema:QualitativeValue ; sh:property schema:SizeSpecification-hasMeasurement ; sh:property schema:SizeSpecification-sizeGroup ; sh:property schema:SizeSpecification-sizeSystem ; sh:property schema:SizeSpecification-suggestedAge ; sh:property schema:SizeSpecification-suggestedGender ; sh:property schema:SizeSpecification-suggestedMeasurement ; . schema:SizeSpecification-hasMeasurement a sh:PropertyShape ; sh:path schema:hasMeasurement ; sh:class schema:QuantitativeValue ; sh:description "A product measurement, for example the inseam of pants, the wheel size of a bicycle, or the gauge of a screw. Usually an exact measurement, but can also be a range of measurements for adjustable products, for example belts and ski bindings."^^rdf:HTML ; sh:name "hasMeasurement" ; . schema:SizeSpecification-sizeGroup a sh:PropertyShape ; sh:path schema:sizeGroup ; sh:description "The size group (also known as \"size type\") for a product's size. Size groups are common in the fashion industry to define size segments and suggested audiences for wearable products. Multiple values can be combined, for example \"men's big and tall\", \"petite maternity\" or \"regular\""^^rdf:HTML ; sh:name "sizeGroup" ; sh:or ( [ sh:class schema:SizeGroupEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SizeSpecification-sizeSystem a sh:PropertyShape ; sh:path schema:sizeSystem ; sh:description "The size system used to identify a product's size. Typically either a standard (for example, \"GS1\" or \"ISO-EN13402\"), country code (for example \"US\" or \"JP\"), or a measuring system (for example \"Metric\" or \"Imperial\")."^^rdf:HTML ; sh:name "sizeSystem" ; sh:or ( [ sh:class schema:SizeSystemEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SizeSpecification-suggestedAge a sh:PropertyShape ; sh:path schema:suggestedAge ; sh:class schema:QuantitativeValue ; sh:description "The age or age range for the intended audience or person, for example 3-12 months for infants, 1-5 years for toddlers."^^rdf:HTML ; sh:name "suggestedAge" ; . schema:SizeSpecification-suggestedGender a sh:PropertyShape ; sh:path schema:suggestedGender ; sh:description "The suggested gender of the intended person or audience, for example \"male\", \"female\", or \"unisex\"."^^rdf:HTML ; sh:name "suggestedGender" ; sh:or ( [ sh:class schema:GenderType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SizeSpecification-suggestedMeasurement a sh:PropertyShape ; sh:path schema:suggestedMeasurement ; sh:class schema:QuantitativeValue ; sh:description "A suggested range of body measurements for the intended audience or person, for example inseam between 32 and 34 inches or height between 170 and 190 cm. Typically found on a size chart for wearable products."^^rdf:HTML ; sh:name "suggestedMeasurement" ; . schema:SizeSystemEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates common size systems for different categories of products, for example \"EN-13402\" or \"UK\" for wearables or \"Imperial\" for screws."^^rdf:HTML ; rdfs:label "Size system enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:SizeSystemImperial a schema:SizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Imperial size system." ; rdfs:label "Size system imperial" ; . schema:SizeSystemMetric a schema:SizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Metric size system." ; rdfs:label "Size system metric" ; . schema:SkiResort a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A ski resort."^^rdf:HTML ; rdfs:label "Ski resort" ; rdfs:subClassOf schema:Resort ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:Skin a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Skin assessment with clinical examination." ; rdfs:label "Skin" ; . schema:SocialEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Social event."^^rdf:HTML ; rdfs:label "Social event" ; rdfs:subClassOf schema:Event ; . schema:SocialMediaPosting a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A post to a social media platform, including blog posts, tweets, Facebook posts, etc."^^rdf:HTML ; rdfs:label "Social media posting" ; rdfs:subClassOf schema:Article ; sh:property schema:SocialMediaPosting-sharedContent ; . schema:SocialMediaPosting-sharedContent a sh:PropertyShape ; sh:path schema:sharedContent ; sh:class schema:CreativeWork ; sh:description "A CreativeWork such as an image, video, or audio clip shared as part of this posting."^^rdf:HTML ; sh:name "sharedContent" ; . schema:SoftwareApplication a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A software application."^^rdf:HTML ; rdfs:label "Software application" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:SoftwareApplication-applicationCategory ; sh:property schema:SoftwareApplication-applicationSubCategory ; sh:property schema:SoftwareApplication-applicationSuite ; sh:property schema:SoftwareApplication-availableOnDevice ; sh:property schema:SoftwareApplication-countriesNotSupported ; sh:property schema:SoftwareApplication-countriesSupported ; sh:property schema:SoftwareApplication-device ; sh:property schema:SoftwareApplication-downloadUrl ; sh:property schema:SoftwareApplication-featureList ; sh:property schema:SoftwareApplication-fileSize ; sh:property schema:SoftwareApplication-installUrl ; sh:property schema:SoftwareApplication-memoryRequirements ; sh:property schema:SoftwareApplication-operatingSystem ; sh:property schema:SoftwareApplication-permissions ; sh:property schema:SoftwareApplication-processorRequirements ; sh:property schema:SoftwareApplication-releaseNotes ; sh:property schema:SoftwareApplication-requirements ; sh:property schema:SoftwareApplication-screenshot ; sh:property schema:SoftwareApplication-softwareAddOn ; sh:property schema:SoftwareApplication-softwareHelp ; sh:property schema:SoftwareApplication-softwareRequirements ; sh:property schema:SoftwareApplication-softwareVersion ; sh:property schema:SoftwareApplication-storageRequirements ; sh:property schema:SoftwareApplication-supportingData ; . schema:SoftwareApplication-applicationCategory a sh:PropertyShape ; sh:path schema:applicationCategory ; sh:description "Type of software application, e.g. 'Game, Multimedia'."^^rdf:HTML ; sh:name "applicationCategory" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-applicationSubCategory a sh:PropertyShape ; sh:path schema:applicationSubCategory ; sh:description "Subcategory of the application, e.g. 'Arcade Game'."^^rdf:HTML ; sh:name "applicationSubCategory" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-applicationSuite a sh:PropertyShape ; sh:path schema:applicationSuite ; sh:datatype xsd:string ; sh:description "The name of the application suite to which the application belongs (e.g. Excel belongs to Office)."^^rdf:HTML ; sh:name "applicationSuite" ; . schema:SoftwareApplication-availableOnDevice a sh:PropertyShape ; sh:path schema:availableOnDevice ; sh:datatype xsd:string ; sh:description "Device required to run the application. Used in cases where a specific make/model is required to run the application."^^rdf:HTML ; sh:name "availableOnDevice" ; . schema:SoftwareApplication-countriesNotSupported a sh:PropertyShape ; sh:path schema:countriesNotSupported ; sh:datatype xsd:string ; sh:description "Countries for which the application is not supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code."^^rdf:HTML ; sh:name "countriesNotSupported" ; . schema:SoftwareApplication-countriesSupported a sh:PropertyShape ; sh:path schema:countriesSupported ; sh:datatype xsd:string ; sh:description "Countries for which the application is supported. You can also provide the two-letter ISO 3166-1 alpha-2 country code."^^rdf:HTML ; sh:name "countriesSupported" ; . schema:SoftwareApplication-device a sh:PropertyShape ; sh:path schema:device ; sh:datatype xsd:string ; sh:description "Device required to run the application. Used in cases where a specific make/model is required to run the application."^^rdf:HTML ; sh:name "device" ; . schema:SoftwareApplication-downloadUrl a sh:PropertyShape ; sh:path schema:downloadUrl ; sh:description "If the file can be downloaded, URL to download the binary."^^rdf:HTML ; sh:name "downloadUrl" ; sh:nodeKind sh:IRI ; . schema:SoftwareApplication-featureList a sh:PropertyShape ; sh:path schema:featureList ; sh:description "Features or modules provided by this application (and possibly required by other applications)."^^rdf:HTML ; sh:name "featureList" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-fileSize a sh:PropertyShape ; sh:path schema:fileSize ; sh:datatype xsd:string ; sh:description "Size of the application / package (e.g. 18MB). In the absence of a unit (MB, KB etc.), KB will be assumed."^^rdf:HTML ; sh:name "fileSize" ; . schema:SoftwareApplication-installUrl a sh:PropertyShape ; sh:path schema:installUrl ; sh:description "URL at which the app may be installed, if different from the URL of the item."^^rdf:HTML ; sh:name "installUrl" ; sh:nodeKind sh:IRI ; . schema:SoftwareApplication-memoryRequirements a sh:PropertyShape ; sh:path schema:memoryRequirements ; sh:description "Minimum memory requirements."^^rdf:HTML ; sh:name "memoryRequirements" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-operatingSystem a sh:PropertyShape ; sh:path schema:operatingSystem ; sh:datatype xsd:string ; sh:description "Operating systems supported (Windows 7, OSX 10.6, Android 1.6)."^^rdf:HTML ; sh:name "operatingSystem" ; . schema:SoftwareApplication-permissions a sh:PropertyShape ; sh:path schema:permissions ; sh:datatype xsd:string ; sh:description "Permission(s) required to run the app (for example, a mobile app may require full internet access or may run only on wifi)."^^rdf:HTML ; sh:name "permissions" ; . schema:SoftwareApplication-processorRequirements a sh:PropertyShape ; sh:path schema:processorRequirements ; sh:datatype xsd:string ; sh:description "Processor architecture required to run the application (e.g. IA64)."^^rdf:HTML ; sh:name "processorRequirements" ; . schema:SoftwareApplication-releaseNotes a sh:PropertyShape ; sh:path schema:releaseNotes ; sh:description "Description of what changed in this version."^^rdf:HTML ; sh:name "releaseNotes" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-requirements a sh:PropertyShape ; sh:path schema:requirements ; sh:description "Component dependency requirements for application. This includes runtime environments and shared libraries that are not included in the application distribution package, but required to run the application (Examples: DirectX, Java or .NET runtime)."^^rdf:HTML ; sh:name "requirements" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-screenshot a sh:PropertyShape ; sh:path schema:screenshot ; sh:description "A link to a screenshot image of the app."^^rdf:HTML ; sh:name "screenshot" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:SoftwareApplication-softwareAddOn a sh:PropertyShape ; sh:path schema:softwareAddOn ; sh:class schema:SoftwareApplication ; sh:description "Additional content for a software application."^^rdf:HTML ; sh:name "softwareAddOn" ; . schema:SoftwareApplication-softwareHelp a sh:PropertyShape ; sh:path schema:softwareHelp ; sh:class schema:CreativeWork ; sh:description "Software application help."^^rdf:HTML ; sh:name "softwareHelp" ; . schema:SoftwareApplication-softwareRequirements a sh:PropertyShape ; sh:path schema:softwareRequirements ; sh:description "Component dependency requirements for application. This includes runtime environments and shared libraries that are not included in the application distribution package, but required to run the application (Examples: DirectX, Java or .NET runtime)."^^rdf:HTML ; sh:name "softwareRequirements" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-softwareVersion a sh:PropertyShape ; sh:path schema:softwareVersion ; sh:datatype xsd:string ; sh:description "Version of the software instance."^^rdf:HTML ; sh:name "softwareVersion" ; . schema:SoftwareApplication-storageRequirements a sh:PropertyShape ; sh:path schema:storageRequirements ; sh:description "Storage requirements (free space required)."^^rdf:HTML ; sh:name "storageRequirements" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareApplication-supportingData a sh:PropertyShape ; sh:path schema:supportingData ; sh:class schema:DataFeed ; sh:description "Supporting data for a SoftwareApplication."^^rdf:HTML ; sh:name "supportingData" ; . schema:SoftwareSourceCode a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Computer programming source code. Example: Full (compile ready) solutions, code snippet samples, scripts, templates."^^rdf:HTML ; rdfs:label "Software source code" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:SoftwareSourceCode-codeRepository ; sh:property schema:SoftwareSourceCode-codeSampleType ; sh:property schema:SoftwareSourceCode-programmingLanguage ; sh:property schema:SoftwareSourceCode-runtime ; sh:property schema:SoftwareSourceCode-runtimePlatform ; sh:property schema:SoftwareSourceCode-sampleType ; sh:property schema:SoftwareSourceCode-targetProduct ; . schema:SoftwareSourceCode-codeRepository a sh:PropertyShape ; sh:path schema:codeRepository ; sh:description "Link to the repository where the un-compiled, human readable code and related code is located (SVN, github, CodePlex)."^^rdf:HTML ; sh:name "codeRepository" ; sh:nodeKind sh:IRI ; . schema:SoftwareSourceCode-codeSampleType a sh:PropertyShape ; sh:path schema:codeSampleType ; sh:datatype xsd:string ; sh:description "What type of code sample: full (compile ready) solution, code snippet, inline code, scripts, template."^^rdf:HTML ; sh:name "codeSampleType" ; . schema:SoftwareSourceCode-programmingLanguage a sh:PropertyShape ; sh:path schema:programmingLanguage ; sh:description "The computer programming language."^^rdf:HTML ; sh:name "programmingLanguage" ; sh:or ( [ sh:class schema:ComputerLanguage ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SoftwareSourceCode-runtime a sh:PropertyShape ; sh:path schema:runtime ; sh:datatype xsd:string ; sh:description "Runtime platform or script interpreter dependencies (Example - Java v1, Python2.3, .Net Framework 3.0)."^^rdf:HTML ; sh:name "runtime" ; . schema:SoftwareSourceCode-runtimePlatform a sh:PropertyShape ; sh:path schema:runtimePlatform ; sh:datatype xsd:string ; sh:description "Runtime platform or script interpreter dependencies (Example - Java v1, Python2.3, .Net Framework 3.0)."^^rdf:HTML ; sh:name "runtimePlatform" ; . schema:SoftwareSourceCode-sampleType a sh:PropertyShape ; sh:path schema:sampleType ; sh:datatype xsd:string ; sh:description "What type of code sample: full (compile ready) solution, code snippet, inline code, scripts, template."^^rdf:HTML ; sh:name "sampleType" ; . schema:SoftwareSourceCode-targetProduct a sh:PropertyShape ; sh:path schema:targetProduct ; sh:class schema:SoftwareApplication ; sh:description "Target Operating System / Product to which the code applies. If applies to several versions, just the product name can be used."^^rdf:HTML ; sh:name "targetProduct" ; . schema:SoldOut a schema:ItemAvailability ; rdfs:comment "Indicates that the item has sold out." ; rdfs:label "Sold out" ; . schema:SolveMathAction a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "The action that takes in a math expression and directs users to a page potentially capable of solving/simplifying that expression."^^rdf:HTML ; rdfs:label "Solve math action" ; rdfs:subClassOf schema:Action ; sh:property schema:SolveMathAction-eduQuestionType ; . schema:SolveMathAction-eduQuestionType a sh:PropertyShape ; sh:path schema:eduQuestionType ; sh:datatype xsd:string ; sh:description "For questions that are part of learning resources (e.g. Quiz), eduQuestionType indicates the format of question being given. Example: \"Multiple choice\", \"Open ended\", \"Flashcard\"."^^rdf:HTML ; sh:name "eduQuestionType" ; . schema:SomeProducts a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A placeholder for multiple similar products of the same kind."^^rdf:HTML ; rdfs:label "Some products" ; rdfs:subClassOf schema:Product ; sh:property schema:SomeProducts-inventoryLevel ; . schema:SomeProducts-inventoryLevel a sh:PropertyShape ; sh:path schema:inventoryLevel ; sh:class schema:QuantitativeValue ; sh:description "The current approximate inventory level for the item or items."^^rdf:HTML ; sh:name "inventoryLevel" ; . schema:SoundtrackAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "SoundtrackAlbum." ; rdfs:label "Soundtrack album" ; . schema:SpeakableSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A SpeakableSpecification indicates (typically via [[xpath]] or [[cssSelector]]) sections of a document that are highlighted as particularly [[speakable]]. Instances of this type are expected to be used primarily as values of the [[speakable]] property."^^rdf:HTML ; rdfs:label "Speakable specification" ; rdfs:subClassOf schema:Intangible ; sh:property schema:SpeakableSpecification-cssSelector ; sh:property schema:SpeakableSpecification-xpath ; . schema:SpeakableSpecification-cssSelector a sh:PropertyShape ; sh:path schema:cssSelector ; sh:class schema:CssSelectorType ; sh:description "A CSS selector, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual \"Web page element\"."^^rdf:HTML ; sh:name "cssSelector" ; . schema:SpeakableSpecification-xpath a sh:PropertyShape ; sh:path schema:xpath ; sh:class schema:XPathType ; sh:description "An XPath, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual \"Web page element\"."^^rdf:HTML ; sh:name "xpath" ; . schema:SpecialAnnouncement a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A SpecialAnnouncement combines a simple date-stamped textual information update with contextualized Web links and other structured data. It represents an information update made by a locally-oriented organization, for example schools, pharmacies, healthcare providers, community groups, police, local government. For work in progress guidelines on Coronavirus-related markup see [this doc](https://docs.google.com/document/d/14ikaGCKxo50rRM7nvKSlbUpjyIk2WMQd3IkB1lItlrM/edit#). The motivating scenario for SpecialAnnouncement is the [Coronavirus pandemic](https://en.wikipedia.org/wiki/2019%E2%80%9320_coronavirus_pandemic), and the initial vocabulary is oriented to this urgent situation. Schema.org expect to improve the markup iteratively as it is deployed and as feedback emerges from use. In addition to our usual [Github entry](https://github.com/schemaorg/schemaorg/issues/2490), feedback comments can also be provided in [this document](https://docs.google.com/document/d/1fpdFFxk8s87CWwACs53SGkYv3aafSxz_DTtOQxMrBJQ/edit#). While this schema is designed to communicate urgent crisis-related information, it is not the same as an emergency warning technology like [CAP](https://en.wikipedia.org/wiki/Common_Alerting_Protocol), although there may be overlaps. The intent is to cover the kinds of everyday practical information being posted to existing websites during an emergency situation. Several kinds of information can be provided: We encourage the provision of \"name\", \"text\", \"datePosted\", \"expires\" (if appropriate), \"category\" and \"url\" as a simple baseline. It is important to provide a value for \"category\" where possible, most ideally as a well known URL from Wikipedia or Wikidata. In the case of the 2019-2020 Coronavirus pandemic, this should be \"https://en.wikipedia.org/w/index.php?title=2019-20\\_coronavirus\\_pandemic\" or \"https://www.wikidata.org/wiki/Q81068910\". For many of the possible properties, values can either be simple links or an inline description, depending on whether a summary is available. For a link, provide just the URL of the appropriate page as the property's value. For an inline description, use a [[WebContent]] type, and provide the url as a property of that, alongside at least a simple \"[[text]]\" summary of the page. It is unlikely that a single SpecialAnnouncement will need all of the possible properties simultaneously. We expect that in many cases the page referenced might contain more specialized structured data, e.g. contact info, [[openingHours]], [[Event]], [[FAQPage]] etc. By linking to those pages from a [[SpecialAnnouncement]] you can help make it clearer that the events are related to the situation (e.g. Coronavirus) indicated by the [[category]] property of the [[SpecialAnnouncement]]. Many [[SpecialAnnouncement]]s will relate to particular regions and to identifiable local organizations. Use [[spatialCoverage]] for the region, and [[announcementLocation]] to indicate specific [[LocalBusiness]]es and [[CivicStructure]]s. If the announcement affects both a particular region and a specific location (for example, a library closure that serves an entire region), use both [[spatialCoverage]] and [[announcementLocation]]. The [[about]] property can be used to indicate entities that are the focus of the announcement. We now recommend using [[about]] only for representing non-location entities (e.g. a [[Course]] or a [[RadioStation]]). For places, use [[announcementLocation]] and [[spatialCoverage]]. Consumers of this markup should be aware that the initial design encouraged the use of /about for locations too. The basic content of [[SpecialAnnouncement]] is similar to that of an [RSS](https://en.wikipedia.org/wiki/RSS) or [Atom](https://en.wikipedia.org/wiki/Atom_(Web_standard)) feed. For publishers without such feeds, basic feed-like information can be shared by posting [[SpecialAnnouncement]] updates in a page, e.g. using JSON-LD. For sites with Atom/RSS functionality, you can point to a feed with the [[webFeed]] property. This can be a simple URL, or an inline [[DataFeed]] object, with [[encodingFormat]] providing media type information e.g. \"application/rss+xml\" or \"application/atom+xml\". """^^rdf:HTML ; rdfs:label "Special announcement" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:SpecialAnnouncement-announcementLocation ; sh:property schema:SpecialAnnouncement-category ; sh:property schema:SpecialAnnouncement-datePosted ; sh:property schema:SpecialAnnouncement-diseasePreventionInfo ; sh:property schema:SpecialAnnouncement-diseaseSpreadStatistics ; sh:property schema:SpecialAnnouncement-gettingTestedInfo ; sh:property schema:SpecialAnnouncement-governmentBenefitsInfo ; sh:property schema:SpecialAnnouncement-newsUpdatesAndGuidelines ; sh:property schema:SpecialAnnouncement-publicTransportClosuresInfo ; sh:property schema:SpecialAnnouncement-quarantineGuidelines ; sh:property schema:SpecialAnnouncement-schoolClosuresInfo ; sh:property schema:SpecialAnnouncement-travelBans ; sh:property schema:SpecialAnnouncement-webFeed ; . schema:SpecialAnnouncement-announcementLocation a sh:PropertyShape ; sh:path schema:announcementLocation ; sh:description "Indicates a specific [[CivicStructure]] or [[LocalBusiness]] associated with the SpecialAnnouncement. For example, a specific testing facility or business with special opening hours. For a larger geographic region like a quarantine of an entire region, use [[spatialCoverage]]."^^rdf:HTML ; sh:name "announcementLocation" ; sh:or ( [ sh:class schema:CivicStructure ; ] [ sh:class schema:LocalBusiness ; ] ) ; . schema:SpecialAnnouncement-category a sh:PropertyShape ; sh:path schema:category ; sh:description "A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy."^^rdf:HTML ; sh:name "category" ; sh:or ( [ sh:class schema:PhysicalActivityCategory ; ] [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SpecialAnnouncement-datePosted a sh:PropertyShape ; sh:path schema:datePosted ; sh:description "Publication date of an online listing."^^rdf:HTML ; sh:name "datePosted" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:SpecialAnnouncement-diseasePreventionInfo a sh:PropertyShape ; sh:path schema:diseasePreventionInfo ; sh:description "Information about disease prevention."^^rdf:HTML ; sh:name "diseasePreventionInfo" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-diseaseSpreadStatistics a sh:PropertyShape ; sh:path schema:diseaseSpreadStatistics ; sh:description """Statistical information about the spread of a disease, either as [[WebContent]], or described directly as a [[Dataset]], or the specific [[Observation]]s in the dataset. When a [[WebContent]] URL is provided, the page indicated might also contain more such markup."""^^rdf:HTML ; sh:name "diseaseSpreadStatistics" ; sh:or ( [ sh:class schema:Dataset ; ] [ sh:class schema:Observation ; ] [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-gettingTestedInfo a sh:PropertyShape ; sh:path schema:gettingTestedInfo ; sh:description "Information about getting tested (for a [[MedicalCondition]]), e.g. in the context of a pandemic."^^rdf:HTML ; sh:name "gettingTestedInfo" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-governmentBenefitsInfo a sh:PropertyShape ; sh:path schema:governmentBenefitsInfo ; sh:class schema:GovernmentService ; sh:description "governmentBenefitsInfo provides information about government benefits associated with a SpecialAnnouncement."^^rdf:HTML ; sh:name "governmentBenefitsInfo" ; . schema:SpecialAnnouncement-newsUpdatesAndGuidelines a sh:PropertyShape ; sh:path schema:newsUpdatesAndGuidelines ; sh:description "Indicates a page with news updates and guidelines. This could often be (but is not required to be) the main page containing [[SpecialAnnouncement]] markup on a site."^^rdf:HTML ; sh:name "newsUpdatesAndGuidelines" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-publicTransportClosuresInfo a sh:PropertyShape ; sh:path schema:publicTransportClosuresInfo ; sh:description "Information about public transport closures."^^rdf:HTML ; sh:name "publicTransportClosuresInfo" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-quarantineGuidelines a sh:PropertyShape ; sh:path schema:quarantineGuidelines ; sh:description "Guidelines about quarantine rules, e.g. in the context of a pandemic."^^rdf:HTML ; sh:name "quarantineGuidelines" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-schoolClosuresInfo a sh:PropertyShape ; sh:path schema:schoolClosuresInfo ; sh:description "Information about school closures."^^rdf:HTML ; sh:name "schoolClosuresInfo" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-travelBans a sh:PropertyShape ; sh:path schema:travelBans ; sh:description "Information about travel bans, e.g. in the context of a pandemic."^^rdf:HTML ; sh:name "travelBans" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:class schema:WebContent ; ] ) ; . schema:SpecialAnnouncement-webFeed a sh:PropertyShape ; sh:path schema:webFeed ; sh:description "The URL for a feed, e.g. associated with a podcast series, blog, or series of date-stamped updates. This is usually RSS or Atom."^^rdf:HTML ; sh:name "webFeed" ; sh:or ( [ sh:class schema:DataFeed ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Specialty a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Any branch of a field in which people typically develop specific expertise, usually after significant study, time, and effort."^^rdf:HTML ; rdfs:label "Specialty" ; rdfs:subClassOf schema:Enumeration ; . schema:SpeechPathology a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "The scientific study and treatment of defects, disorders, and malfunctions of speech and voice, as stuttering, lisping, or lalling, and of language disturbances, as aphasia or delayed language acquisition." ; rdfs:label "Speech pathology" ; . schema:SpokenWordAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "SpokenWordAlbum." ; rdfs:label "Spoken word album" ; . schema:SportingGoodsStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sporting goods store."^^rdf:HTML ; rdfs:label "Sporting goods store" ; rdfs:subClassOf schema:Store ; . schema:SportsActivityLocation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sports location, such as a playing field."^^rdf:HTML ; rdfs:label "Sports activity location" ; rdfs:subClassOf schema:LocalBusiness ; . schema:SportsClub a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sports club."^^rdf:HTML ; rdfs:label "Sports club" ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:SportsEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Sports event."^^rdf:HTML ; rdfs:label "Sports event" ; rdfs:subClassOf schema:Event ; sh:property schema:SportsEvent-awayTeam ; sh:property schema:SportsEvent-competitor ; sh:property schema:SportsEvent-homeTeam ; sh:property schema:SportsEvent-sport ; . schema:SportsEvent-awayTeam a sh:PropertyShape ; sh:path schema:awayTeam ; sh:description "The away team in a sports event."^^rdf:HTML ; sh:name "awayTeam" ; sh:or ( [ sh:class schema:Person ; ] [ sh:class schema:SportsTeam ; ] ) ; . schema:SportsEvent-competitor a sh:PropertyShape ; sh:path schema:competitor ; sh:description "A competitor in a sports event."^^rdf:HTML ; sh:name "competitor" ; sh:or ( [ sh:class schema:Person ; ] [ sh:class schema:SportsTeam ; ] ) ; . schema:SportsEvent-homeTeam a sh:PropertyShape ; sh:path schema:homeTeam ; sh:description "The home team in a sports event."^^rdf:HTML ; sh:name "homeTeam" ; sh:or ( [ sh:class schema:Person ; ] [ sh:class schema:SportsTeam ; ] ) ; . schema:SportsEvent-sport a sh:PropertyShape ; sh:path schema:sport ; sh:description "A type of sport (e.g. Baseball)."^^rdf:HTML ; sh:name "sport" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SportsOrganization a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Represents the collection of all sports organizations, including sports teams, governing bodies, and sports associations."^^rdf:HTML ; rdfs:label "Sports organization" ; rdfs:subClassOf schema:Organization ; sh:property schema:SportsOrganization-sport ; . schema:SportsOrganization-sport a sh:PropertyShape ; sh:path schema:sport ; sh:description "A type of sport (e.g. Baseball)."^^rdf:HTML ; sh:name "sport" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SportsTeam a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Organization: Sports team."^^rdf:HTML ; rdfs:label "Sports team" ; rdfs:subClassOf schema:SportsOrganization ; sh:property schema:SportsTeam-athlete ; sh:property schema:SportsTeam-coach ; sh:property schema:SportsTeam-gender ; . schema:SportsTeam-athlete a sh:PropertyShape ; sh:path schema:athlete ; sh:class schema:Person ; sh:description "A person that acts as performing member of a sports team; a player as opposed to a coach."^^rdf:HTML ; sh:name "athlete" ; . schema:SportsTeam-coach a sh:PropertyShape ; sh:path schema:coach ; sh:class schema:Person ; sh:description "A person that acts in a coaching role for a sports team."^^rdf:HTML ; sh:name "coach" ; . schema:SportsTeam-gender a sh:PropertyShape ; sh:path schema:gender ; sh:description "Gender of something, typically a [[Person]], but possibly also fictional characters, animals, etc. While http://schema.org/Male and http://schema.org/Female may be used, text strings are also acceptable for people who do not identify as a binary gender. The [[gender]] property can also be used in an extended sense to cover e.g. the gender of sports teams. As with the gender of individuals, we do not try to enumerate all possibilities. A mixed-gender [[SportsTeam]] can be indicated with a text value of \"Mixed\"."^^rdf:HTML ; sh:name "gender" ; sh:or ( [ sh:class schema:GenderType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:SpreadsheetDigitalDocument a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A spreadsheet file."^^rdf:HTML ; rdfs:label "Spreadsheet digital document" ; rdfs:subClassOf schema:DigitalDocument ; . schema:StadiumOrArena a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A stadium."^^rdf:HTML ; rdfs:label "Stadium or arena" ; rdfs:subClassOf schema:CivicStructure ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:StagedContent a schema:MediaManipulationRatingEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment """Content coded 'staged content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'staged content': A video that has been created using actors or similarly contrived. For an [[ImageObject]] to be 'staged content': An image that was created using actors or similarly contrived, such as a screenshot of a fake tweet. For an [[ImageObject]] with embedded text to be 'staged content': An image that was created using actors or similarly contrived, such as a screenshot of a fake tweet. For an [[AudioObject]] to be 'staged content': Audio that has been created using actors or similarly contrived. """ ; rdfs:label "Staged content" ; . schema:StagesHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Stages that can be observed from a topic." ; rdfs:label "Stages health aspect" ; . schema:State a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A state or province of a country."^^rdf:HTML ; rdfs:label "State" ; rdfs:subClassOf schema:AdministrativeArea ; . schema:StatisticalPopulation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment """A StatisticalPopulation is a set of instances of a certain given type that satisfy some set of constraints. The property [[populationType]] is used to specify the type. Any property that can be used on instances of that type can appear on the statistical population. For example, a [[StatisticalPopulation]] representing all [[Person]]s with a [[homeLocation]] of East Podunk California, would be described by applying the appropriate [[homeLocation]] and [[populationType]] properties to a [[StatisticalPopulation]] item that stands for that set of people. The properties [[numConstraints]] and [[constrainingProperty]] are used to specify which of the populations properties are used to specify the population. Note that the sense of \"population\" used here is the general sense of a statistical population, and does not imply that the population consists of people. For example, a [[populationType]] of [[Event]] or [[NewsArticle]] could be used. See also [[Observation]], and the [data and datasets](/docs/data-and-datasets.html) overview for more details. """^^rdf:HTML ; rdfs:label "Statistical population" ; rdfs:subClassOf schema:Intangible ; sh:property schema:StatisticalPopulation-constrainingProperty ; sh:property schema:StatisticalPopulation-numConstraints ; sh:property schema:StatisticalPopulation-populationType ; . schema:StatisticalPopulation-constrainingProperty a sh:PropertyShape ; sh:path schema:constrainingProperty ; sh:datatype xsd:integer ; sh:description """Indicates a property used as a constraint to define a [[StatisticalPopulation]] with respect to the set of entities corresponding to an indicated type (via [[populationType]])."""^^rdf:HTML ; sh:name "constrainingProperty" ; . schema:StatisticalPopulation-numConstraints a sh:PropertyShape ; sh:path schema:numConstraints ; sh:datatype xsd:integer ; sh:description "Indicates the number of constraints (not counting [[populationType]]) defined for a particular [[StatisticalPopulation]]. This helps applications understand if they have access to a sufficiently complete description of a [[StatisticalPopulation]]."^^rdf:HTML ; sh:name "numConstraints" ; . schema:StatisticalPopulation-populationType a sh:PropertyShape ; sh:path schema:populationType ; sh:class rdfs:Class ; sh:description "Indicates the populationType common to all members of a [[StatisticalPopulation]]."^^rdf:HTML ; sh:name "populationType" ; . schema:StatusEnumeration a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "Lists or enumerations dealing with status types."^^rdf:HTML ; rdfs:label "Status enumeration" ; rdfs:subClassOf schema:Enumeration ; . schema:SteeringPositionValue a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A value indicating a steering position."^^rdf:HTML ; rdfs:label "Steering position value" ; rdfs:subClassOf schema:QualitativeValue ; . schema:Store a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A retail good store."^^rdf:HTML ; rdfs:label "Store" ; rdfs:subClassOf schema:LocalBusiness ; . schema:StoreCreditRefund a schema:RefundTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "A StoreCreditRefund ..." ; rdfs:label "Store credit refund" ; . schema:StrengthTraining a schema:PhysicalActivityCategory ; schema:isPartOf ; rdfs:comment "Physical activity that is engaged in to improve muscle and bone strength. Also referred to as resistance training." ; rdfs:label "Strength training" ; . schema:StructuredValue a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Structured values are used when the value of a property has a more complex structure than simply being a textual value or a reference to another thing."^^rdf:HTML ; rdfs:label "Structured value" ; rdfs:subClassOf schema:Intangible ; . schema:StudioAlbum a schema:MusicAlbumProductionType ; schema:source ; rdfs:comment "StudioAlbum." ; rdfs:label "Studio album" ; . schema:StupidType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A StupidType for testing."^^rdf:HTML ; rdfs:label "Stupid type" ; rdfs:subClassOf schema:Thing ; sh:property schema:StupidType-stupidProperty ; . schema:StupidType-stupidProperty a sh:PropertyShape ; sh:path schema:stupidProperty ; sh:class schema:QuantitativeValue ; sh:description "This is a StupidProperty! - for testing only"^^rdf:HTML ; sh:name "stupidProperty" ; . schema:SubscribeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of forming a personal connection with someone/something (object) unidirectionally/asymmetrically to get updates pushed to.\\n\\nRelated actions:\\n\\n* [[FollowAction]]: Unlike FollowAction, SubscribeAction implies that the subscriber acts as a passive agent being constantly/actively pushed for updates.\\n* [[RegisterAction]]: Unlike RegisterAction, SubscribeAction implies that the agent is interested in continuing receiving updates from the object.\\n* [[JoinAction]]: Unlike JoinAction, SubscribeAction implies that the agent is interested in continuing receiving updates from the object."^^rdf:HTML ; rdfs:label "Subscribe action" ; rdfs:subClassOf schema:InteractAction ; . schema:Subscription a schema:PriceComponentTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the subscription pricing component of the total price for an offered product." ; rdfs:label "Subscription" ; . schema:Substance a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Any matter of defined composition that has discrete existence, whose origin may be biological, mineral or chemical."^^rdf:HTML ; rdfs:label "Substance" ; rdfs:subClassOf schema:MedicalEntity ; owl:equivalentClass ; sh:property schema:Substance-activeIngredient ; sh:property schema:Substance-maximumIntake ; . schema:Substance-activeIngredient a sh:PropertyShape ; sh:path schema:activeIngredient ; sh:datatype xsd:string ; sh:description "An active ingredient, typically chemical compounds and/or biologic substances."^^rdf:HTML ; sh:name "activeIngredient" ; . schema:Substance-maximumIntake a sh:PropertyShape ; sh:path schema:maximumIntake ; sh:class schema:MaximumDoseSchedule ; sh:description "Recommended intake of this supplement for a given population as defined by a specific recommending authority."^^rdf:HTML ; sh:name "maximumIntake" ; . schema:SubwayStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A subway station."^^rdf:HTML ; rdfs:label "Subway station" ; rdfs:subClassOf schema:CivicStructure ; . schema:Suite a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A suite in a hotel or other public accommodation, denotes a class of luxury accommodations, the key feature of which is multiple rooms (Source: Wikipedia, the free encyclopedia, see http://en.wikipedia.org/wiki/Suite_(hotel)).

See also the dedicated document on the use of schema.org for marking up hotels and other forms of accommodations. """^^rdf:HTML ; rdfs:label "Suite" ; rdfs:subClassOf schema:Accommodation ; sh:property schema:Suite-bed ; sh:property schema:Suite-numberOfRooms ; sh:property schema:Suite-occupancy ; . schema:Suite-bed a sh:PropertyShape ; sh:path schema:bed ; sh:description """The type of bed or beds included in the accommodation. For the single case of just one bed of a certain type, you use bed directly with a text. If you want to indicate the quantity of a certain kind of bed, use an instance of BedDetails. For more detailed information, use the amenityFeature property."""^^rdf:HTML ; sh:name "bed" ; sh:or ( [ sh:class schema:BedDetails ; ] [ sh:class schema:BedType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Suite-numberOfRooms a sh:PropertyShape ; sh:path schema:numberOfRooms ; sh:description """The number of rooms (excluding bathrooms and closets) of the accommodation or lodging business. Typical unit code(s): ROM for room or C62 for no unit. The type of room can be put in the unitText property of the QuantitativeValue."""^^rdf:HTML ; sh:name "numberOfRooms" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Suite-occupancy a sh:PropertyShape ; sh:path schema:occupancy ; sh:class schema:QuantitativeValue ; sh:description """The allowed total occupancy for the accommodation in persons (including infants etc). For individual accommodations, this is not necessarily the legal maximum but defines the permitted usage as per the contractual agreement (e.g. a double room used by a single person). Typical unit code(s): C62 for person"""^^rdf:HTML ; sh:name "occupancy" ; . schema:Sunday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Saturday and Monday." ; rdfs:label "Sunday" ; . schema:SuperficialAnatomy a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Anatomical features that can be observed by sight (without dissection), including the form and proportions of the human body as well as surface landmarks that correspond to deeper subcutaneous structures. Superficial anatomy plays an important role in sports medicine, phlebotomy, and other medical specialties as underlying anatomical structures can be identified through surface palpation. For example, during back surgery, superficial anatomy can be used to palpate and count vertebrae to find the site of incision. Or in phlebotomy, superficial anatomy can be used to locate an underlying vein; for example, the median cubital vein can be located by palpating the borders of the cubital fossa (such as the epicondyles of the humerus) and then looking for the superficial signs of the vein, such as size, prominence, ability to refill after depression, and feel of surrounding tissue support. As another example, in a subluxation (dislocation) of the glenohumeral joint, the bony structure becomes pronounced with the deltoid muscle failing to cover the glenohumeral joint allowing the edges of the scapula to be superficially visible. Here, the superficial anatomy is the visible edges of the scapula, implying the underlying dislocation of the joint (the related anatomical structure)."^^rdf:HTML ; rdfs:label "Superficial anatomy" ; rdfs:subClassOf schema:MedicalEntity ; sh:property schema:SuperficialAnatomy-associatedPathophysiology ; sh:property schema:SuperficialAnatomy-relatedAnatomy ; sh:property schema:SuperficialAnatomy-relatedCondition ; sh:property schema:SuperficialAnatomy-relatedTherapy ; sh:property schema:SuperficialAnatomy-significance ; . schema:SuperficialAnatomy-associatedPathophysiology a sh:PropertyShape ; sh:path schema:associatedPathophysiology ; sh:datatype xsd:string ; sh:description "If applicable, a description of the pathophysiology associated with the anatomical system, including potential abnormal changes in the mechanical, physical, and biochemical functions of the system."^^rdf:HTML ; sh:name "associatedPathophysiology" ; . schema:SuperficialAnatomy-relatedAnatomy a sh:PropertyShape ; sh:path schema:relatedAnatomy ; sh:description "Anatomical systems or structures that relate to the superficial anatomy."^^rdf:HTML ; sh:name "relatedAnatomy" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:AnatomicalSystem ; ] ) ; . schema:SuperficialAnatomy-relatedCondition a sh:PropertyShape ; sh:path schema:relatedCondition ; sh:class schema:MedicalCondition ; sh:description "A medical condition associated with this anatomy."^^rdf:HTML ; sh:name "relatedCondition" ; . schema:SuperficialAnatomy-relatedTherapy a sh:PropertyShape ; sh:path schema:relatedTherapy ; sh:class schema:MedicalTherapy ; sh:description "A medical therapy related to this anatomy."^^rdf:HTML ; sh:name "relatedTherapy" ; . schema:SuperficialAnatomy-significance a sh:PropertyShape ; sh:path schema:significance ; sh:datatype xsd:string ; sh:description "The significance associated with the superficial anatomy; as an example, how characteristics of the superficial anatomy can suggest underlying medical conditions or courses of treatment."^^rdf:HTML ; sh:name "significance" ; . schema:Surgical a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that pertains to treating diseases, injuries and deformities by manual and instrumental means." ; rdfs:label "Surgical" ; . schema:SurgicalProcedure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical procedure involving an incision with instruments; performed for diagnose, or therapeutic purposes."^^rdf:HTML ; rdfs:label "Surgical procedure" ; rdfs:subClassOf schema:MedicalProcedure ; owl:equivalentClass ; . schema:SuspendAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of momentarily pausing a device or application (e.g. pause music playback or pause a timer)."^^rdf:HTML ; rdfs:label "Suspend action" ; rdfs:subClassOf schema:ControlAction ; . schema:Suspended a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Suspended." ; rdfs:label "Suspended" ; . schema:SymptomsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Symptoms or related symptoms of a Topic." ; rdfs:label "Symptoms health aspect" ; . schema:Synagogue a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A synagogue."^^rdf:HTML ; rdfs:label "Synagogue" ; rdfs:subClassOf schema:PlaceOfWorship ; . schema:TVClip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A short TV program or a segment/part of a TV program."^^rdf:HTML ; rdfs:label "TVClip" ; rdfs:subClassOf schema:Clip ; sh:property schema:TVClip-partOfTVSeries ; . schema:TVClip-partOfTVSeries a sh:PropertyShape ; sh:path schema:partOfTVSeries ; sh:class schema:TVSeries ; sh:description "The TV series to which this episode or season belongs."^^rdf:HTML ; sh:name "partOfTVSeries" ; . schema:TVEpisode a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A TV episode which can be part of a series or season."^^rdf:HTML ; rdfs:label "TVEpisode" ; rdfs:subClassOf schema:Episode ; sh:property schema:TVEpisode-countryOfOrigin ; sh:property schema:TVEpisode-partOfTVSeries ; sh:property schema:TVEpisode-subtitleLanguage ; sh:property schema:TVEpisode-titleEIDR ; . schema:TVEpisode-countryOfOrigin a sh:PropertyShape ; sh:path schema:countryOfOrigin ; sh:class schema:Country ; sh:description "The country of the principal offices of the production company or individual responsible for the movie or program."^^rdf:HTML ; sh:name "countryOfOrigin" ; . schema:TVEpisode-partOfTVSeries a sh:PropertyShape ; sh:path schema:partOfTVSeries ; sh:class schema:TVSeries ; sh:description "The TV series to which this episode or season belongs."^^rdf:HTML ; sh:name "partOfTVSeries" ; . schema:TVEpisode-subtitleLanguage a sh:PropertyShape ; sh:path schema:subtitleLanguage ; sh:description "Languages in which subtitles/captions are available, in [IETF BCP 47 standard format](http://tools.ietf.org/html/bcp47)."^^rdf:HTML ; sh:name "subtitleLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TVEpisode-titleEIDR a sh:PropertyShape ; sh:path schema:titleEIDR ; sh:description """An [EIDR](https://eidr.org/) (Entertainment Identifier Registry) [[identifier]] representing at the most general/abstract level, a work of film or television. For example, the motion picture known as \"Ghostbusters\" has a titleEIDR of \"10.5240/7EC7-228A-510A-053E-CBB8-J\". This title (or work) may have several variants, which EIDR calls \"edits\". See [[editEIDR]]. Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for both works and their multiple expressions, it is possible to use [[titleEIDR]] alone (for a general description), or alongside [[editEIDR]] for a more edit-specific description. """^^rdf:HTML ; sh:name "titleEIDR" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TVSeason a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Season dedicated to TV broadcast and associated online delivery."^^rdf:HTML ; rdfs:label "TVSeason" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:CreativeWorkSeason ; sh:property schema:TVSeason-countryOfOrigin ; sh:property schema:TVSeason-partOfTVSeries ; . schema:TVSeason-countryOfOrigin a sh:PropertyShape ; sh:path schema:countryOfOrigin ; sh:class schema:Country ; sh:description "The country of the principal offices of the production company or individual responsible for the movie or program."^^rdf:HTML ; sh:name "countryOfOrigin" ; . schema:TVSeason-partOfTVSeries a sh:PropertyShape ; sh:path schema:partOfTVSeries ; sh:class schema:TVSeries ; sh:description "The TV series to which this episode or season belongs."^^rdf:HTML ; sh:name "partOfTVSeries" ; . schema:TVSeries a rdfs:Class ; a sh:NodeShape ; rdfs:comment "CreativeWorkSeries dedicated to TV broadcast and associated online delivery."^^rdf:HTML ; rdfs:label "TVSeries" ; rdfs:subClassOf schema:CreativeWork ; rdfs:subClassOf schema:CreativeWorkSeries ; sh:property schema:TVSeries-actor ; sh:property schema:TVSeries-actors ; sh:property schema:TVSeries-containsSeason ; sh:property schema:TVSeries-countryOfOrigin ; sh:property schema:TVSeries-director ; sh:property schema:TVSeries-directors ; sh:property schema:TVSeries-episode ; sh:property schema:TVSeries-episodes ; sh:property schema:TVSeries-musicBy ; sh:property schema:TVSeries-numberOfEpisodes ; sh:property schema:TVSeries-numberOfSeasons ; sh:property schema:TVSeries-productionCompany ; sh:property schema:TVSeries-season ; sh:property schema:TVSeries-seasons ; sh:property schema:TVSeries-trailer ; . schema:TVSeries-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:TVSeries-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:TVSeries-containsSeason a sh:PropertyShape ; sh:path schema:containsSeason ; sh:class schema:CreativeWorkSeason ; sh:description "A season that is part of the media series."^^rdf:HTML ; sh:name "containsSeason" ; . schema:TVSeries-countryOfOrigin a sh:PropertyShape ; sh:path schema:countryOfOrigin ; sh:class schema:Country ; sh:description "The country of the principal offices of the production company or individual responsible for the movie or program."^^rdf:HTML ; sh:name "countryOfOrigin" ; . schema:TVSeries-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:TVSeries-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:TVSeries-episode a sh:PropertyShape ; sh:path schema:episode ; sh:class schema:Episode ; sh:description "An episode of a tv, radio or game media within a series or season."^^rdf:HTML ; sh:name "episode" ; . schema:TVSeries-episodes a sh:PropertyShape ; sh:path schema:episodes ; sh:class schema:Episode ; sh:description "An episode of a TV/radio series or season."^^rdf:HTML ; sh:name "episodes" ; . schema:TVSeries-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:TVSeries-numberOfEpisodes a sh:PropertyShape ; sh:path schema:numberOfEpisodes ; sh:datatype xsd:integer ; sh:description "The number of episodes in this season or series."^^rdf:HTML ; sh:name "numberOfEpisodes" ; . schema:TVSeries-numberOfSeasons a sh:PropertyShape ; sh:path schema:numberOfSeasons ; sh:datatype xsd:integer ; sh:description "The number of seasons in this series."^^rdf:HTML ; sh:name "numberOfSeasons" ; . schema:TVSeries-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:TVSeries-season a sh:PropertyShape ; sh:path schema:season ; sh:description "A season in a media series."^^rdf:HTML ; sh:name "season" ; sh:or ( [ sh:class schema:CreativeWorkSeason ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:TVSeries-seasons a sh:PropertyShape ; sh:path schema:seasons ; sh:class schema:CreativeWorkSeason ; sh:description "A season in a media series."^^rdf:HTML ; sh:name "seasons" ; . schema:TVSeries-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:Table a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A table on a Web page."^^rdf:HTML ; rdfs:label "Table" ; rdfs:subClassOf schema:WebPageElement ; . schema:TakeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of gaining ownership of an object from an origin. Reciprocal of GiveAction.\\n\\nRelated actions:\\n\\n* [[GiveAction]]: The reciprocal of TakeAction.\\n* [[ReceiveAction]]: Unlike ReceiveAction, TakeAction implies that ownership has been transfered."^^rdf:HTML ; rdfs:label "Take action" ; rdfs:subClassOf schema:TransferAction ; . schema:TattooParlor a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A tattoo parlor."^^rdf:HTML ; rdfs:label "Tattoo parlor" ; rdfs:subClassOf schema:HealthAndBeautyBusiness ; . schema:Taxi a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:TaxiService ; rdfs:comment "A taxi."^^rdf:HTML ; rdfs:label "Taxi" ; rdfs:subClassOf schema:Service ; . schema:TaxiReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for a taxi.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]."^^rdf:HTML ; rdfs:label "Taxi reservation" ; rdfs:subClassOf schema:Reservation ; sh:property schema:TaxiReservation-partySize ; sh:property schema:TaxiReservation-pickupLocation ; sh:property schema:TaxiReservation-pickupTime ; . schema:TaxiReservation-partySize a sh:PropertyShape ; sh:path schema:partySize ; sh:description "Number of people the reservation should accommodate."^^rdf:HTML ; sh:name "partySize" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:integer ; ] ) ; . schema:TaxiReservation-pickupLocation a sh:PropertyShape ; sh:path schema:pickupLocation ; sh:class schema:Place ; sh:description "Where a taxi will pick up a passenger or a rental car can be picked up."^^rdf:HTML ; sh:name "pickupLocation" ; . schema:TaxiReservation-pickupTime a sh:PropertyShape ; sh:path schema:pickupTime ; sh:datatype xsd:dateTime ; sh:description "When a taxi will pickup a passenger or a rental car can be picked up."^^rdf:HTML ; sh:name "pickupTime" ; . schema:TaxiService a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A service for a vehicle for hire with a driver for local travel. Fares are usually calculated based on distance traveled."^^rdf:HTML ; rdfs:label "Taxi service" ; rdfs:subClassOf schema:Service ; . schema:TaxiStand a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A taxi stand."^^rdf:HTML ; rdfs:label "Taxi stand" ; rdfs:subClassOf schema:CivicStructure ; . schema:TaxiVehicleUsage a schema:CarUsageType ; schema:isPartOf ; schema:source ; rdfs:comment "Indicates the usage of the car as a taxi." ; rdfs:label "Taxi vehicle usage" ; . schema:TechArticle a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A technical article - Example: How-to (task) topics, step-by-step, procedural troubleshooting, specifications, etc."^^rdf:HTML ; rdfs:label "Tech article" ; rdfs:subClassOf schema:Article ; sh:property schema:TechArticle-dependencies ; sh:property schema:TechArticle-proficiencyLevel ; . schema:TechArticle-dependencies a sh:PropertyShape ; sh:path schema:dependencies ; sh:datatype xsd:string ; sh:description "Prerequisites needed to fulfill steps in article."^^rdf:HTML ; sh:name "dependencies" ; . schema:TechArticle-proficiencyLevel a sh:PropertyShape ; sh:path schema:proficiencyLevel ; sh:datatype xsd:string ; sh:description "Proficiency needed for this content; expected values: 'Beginner', 'Expert'."^^rdf:HTML ; sh:name "proficiencyLevel" ; . schema:TelevisionChannel a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A unique instance of a television BroadcastService on a CableOrSatelliteService lineup."^^rdf:HTML ; rdfs:label "Television channel" ; rdfs:subClassOf schema:BroadcastChannel ; . schema:TelevisionStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A television station."^^rdf:HTML ; rdfs:label "Television station" ; rdfs:subClassOf schema:LocalBusiness ; . schema:TennisComplex a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A tennis complex."^^rdf:HTML ; rdfs:label "Tennis complex" ; rdfs:subClassOf schema:SportsActivityLocation ; . schema:Terminated a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Terminated." ; rdfs:label "Terminated" ; . schema:Text a schema:DataType ; a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Data type: Text."^^rdf:HTML ; rdfs:label "Text" ; rdfs:subClassOf rdfs:Resource ; . schema:TextDigitalDocument a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A file composed primarily of text."^^rdf:HTML ; rdfs:label "Text digital document" ; rdfs:subClassOf schema:DigitalDocument ; . schema:TheaterEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Theater performance."^^rdf:HTML ; rdfs:label "Theater event" ; rdfs:subClassOf schema:Event ; . schema:TheaterGroup a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A theater group or company, for example, the Royal Shakespeare Company or Druid Theatre."^^rdf:HTML ; rdfs:label "Theater group" ; rdfs:subClassOf schema:PerformingGroup ; . schema:Therapeutic a schema:MedicalDevicePurpose ; schema:isPartOf ; rdfs:comment "A medical device used for therapeutic purposes." ; rdfs:label "Therapeutic" ; . schema:TherapeuticProcedure a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A medical procedure intended primarily for therapeutic purposes, aimed at improving a health condition."^^rdf:HTML ; rdfs:label "Therapeutic procedure" ; rdfs:subClassOf schema:MedicalProcedure ; owl:equivalentClass ; sh:property schema:TherapeuticProcedure-adverseOutcome ; sh:property schema:TherapeuticProcedure-doseSchedule ; sh:property schema:TherapeuticProcedure-drug ; . schema:TherapeuticProcedure-adverseOutcome a sh:PropertyShape ; sh:path schema:adverseOutcome ; sh:class schema:MedicalEntity ; sh:description "A possible complication and/or side effect of this therapy. If it is known that an adverse outcome is serious (resulting in death, disability, or permanent damage; requiring hospitalization; or is otherwise life-threatening or requires immediate medical attention), tag it as a seriouseAdverseOutcome instead."^^rdf:HTML ; sh:name "adverseOutcome" ; . schema:TherapeuticProcedure-doseSchedule a sh:PropertyShape ; sh:path schema:doseSchedule ; sh:class schema:DoseSchedule ; sh:description "A dosing schedule for the drug for a given population, either observed, recommended, or maximum dose based on the type used."^^rdf:HTML ; sh:name "doseSchedule" ; . schema:TherapeuticProcedure-drug a sh:PropertyShape ; sh:path schema:drug ; sh:class schema:Drug ; sh:description "Specifying a drug or medicine used in a medication procedure."^^rdf:HTML ; sh:name "drug" ; . schema:Thesis a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A thesis or dissertation document submitted in support of candidature for an academic degree or professional qualification."^^rdf:HTML ; rdfs:label "Thesis" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:Thesis-inSupportOf ; . schema:Thesis-inSupportOf a sh:PropertyShape ; sh:path schema:inSupportOf ; sh:datatype xsd:string ; sh:description "Qualification, candidature, degree, application that Thesis supports."^^rdf:HTML ; sh:name "inSupportOf" ; . schema:Thing a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The most generic type of item."^^rdf:HTML ; rdfs:label "Thing" ; rdfs:subClassOf owl:Thing ; sh:property schema:Thing-additionalType ; sh:property schema:Thing-alternateName ; sh:property schema:Thing-description ; sh:property schema:Thing-disambiguatingDescription ; sh:property schema:Thing-identifier ; sh:property schema:Thing-image ; sh:property schema:Thing-mainEntityOfPage ; sh:property schema:Thing-name ; sh:property schema:Thing-potentialAction ; sh:property schema:Thing-sameAs ; sh:property schema:Thing-subjectOf ; sh:property schema:Thing-url ; . schema:Thing-additionalType a sh:PropertyShape ; sh:path schema:additionalType ; sh:description "An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax. This is a relationship between something and a class that the thing is in. In RDFa syntax, it is better to use the native RDFa syntax - the 'typeof' attribute - for multiple types. Schema.org tools may have only weaker understanding of extra types, in particular those defined externally."^^rdf:HTML ; sh:name "additionalType" ; sh:nodeKind sh:IRI ; . schema:Thing-alternateName a sh:PropertyShape ; sh:path schema:alternateName ; sh:datatype xsd:string ; sh:description "An alias for the item."^^rdf:HTML ; sh:name "alternateName" ; . schema:Thing-description a sh:PropertyShape ; sh:path schema:description ; sh:datatype xsd:string ; sh:description "A description of the item."^^rdf:HTML ; sh:name "description" ; . schema:Thing-disambiguatingDescription a sh:PropertyShape ; sh:path schema:disambiguatingDescription ; sh:datatype xsd:string ; sh:description "A sub property of description. A short description of the item used to disambiguate from other, similar items. Information from other properties (in particular, name) may be necessary for the description to be useful for disambiguation."^^rdf:HTML ; sh:name "disambiguatingDescription" ; . schema:Thing-identifier a sh:PropertyShape ; sh:path schema:identifier ; sh:description """The identifier property represents any kind of identifier for any kind of [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides dedicated properties for representing many of these, either as textual strings or as URL (URI) links. See [background notes](/docs/datamodel.html#identifierBg) for more details. """^^rdf:HTML ; sh:name "identifier" ; sh:or ( [ sh:class schema:PropertyValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Thing-image a sh:PropertyShape ; sh:path schema:image ; sh:description "An image of the item. This can be a [[URL]] or a fully described [[ImageObject]]."^^rdf:HTML ; sh:name "image" ; sh:or ( [ sh:class schema:ImageObject ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Thing-mainEntityOfPage a sh:PropertyShape ; sh:path schema:mainEntityOfPage ; sh:description "Indicates a page (or other CreativeWork) for which this thing is the main entity being described. See [background notes](/docs/datamodel.html#mainEntityBackground) for details."^^rdf:HTML ; sh:name "mainEntityOfPage" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:Thing-name a sh:PropertyShape ; sh:path schema:name ; sh:datatype xsd:string ; sh:description "The name of the item."^^rdf:HTML ; sh:name "name" ; . schema:Thing-potentialAction a sh:PropertyShape ; sh:path schema:potentialAction ; sh:class schema:Action ; sh:description "Indicates a potential Action, which describes an idealized action in which this thing would play an 'object' role."^^rdf:HTML ; sh:name "potentialAction" ; . schema:Thing-sameAs a sh:PropertyShape ; sh:path schema:sameAs ; sh:description "URL of a reference Web page that unambiguously indicates the item's identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or official website."^^rdf:HTML ; sh:name "sameAs" ; sh:nodeKind sh:IRI ; . schema:Thing-subjectOf a sh:PropertyShape ; sh:path schema:subjectOf ; sh:description "A CreativeWork or Event about this Thing."^^rdf:HTML ; sh:name "subjectOf" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:class schema:Event ; ] ) ; . schema:Thing-url a sh:PropertyShape ; sh:path schema:url ; sh:description "URL of the item."^^rdf:HTML ; sh:name "url" ; sh:nodeKind sh:IRI ; . schema:Throat a schema:PhysicalExam ; schema:isPartOf ; rdfs:comment "Throat assessment with clinical examination." ; rdfs:label "Throat" ; . schema:Thursday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Wednesday and Friday." ; rdfs:label "Thursday" ; . schema:Ticket a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Used to describe a ticket to an event, a flight, a bus ride, etc."^^rdf:HTML ; rdfs:label "Ticket" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Ticket-dateIssued ; sh:property schema:Ticket-issuedBy ; sh:property schema:Ticket-priceCurrency ; sh:property schema:Ticket-ticketNumber ; sh:property schema:Ticket-ticketToken ; sh:property schema:Ticket-ticketedSeat ; sh:property schema:Ticket-totalPrice ; sh:property schema:Ticket-underName ; . schema:Ticket-dateIssued a sh:PropertyShape ; sh:path schema:dateIssued ; sh:description "The date the ticket was issued."^^rdf:HTML ; sh:name "dateIssued" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:Ticket-issuedBy a sh:PropertyShape ; sh:path schema:issuedBy ; sh:class schema:Organization ; sh:description "The organization issuing the ticket or permit."^^rdf:HTML ; sh:name "issuedBy" ; . schema:Ticket-priceCurrency a sh:PropertyShape ; sh:path schema:priceCurrency ; sh:datatype xsd:string ; sh:description "The currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "priceCurrency" ; . schema:Ticket-ticketNumber a sh:PropertyShape ; sh:path schema:ticketNumber ; sh:datatype xsd:string ; sh:description "The unique identifier for the ticket."^^rdf:HTML ; sh:name "ticketNumber" ; . schema:Ticket-ticketToken a sh:PropertyShape ; sh:path schema:ticketToken ; sh:description "Reference to an asset (e.g., Barcode, QR code image or PDF) usable for entrance."^^rdf:HTML ; sh:name "ticketToken" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Ticket-ticketedSeat a sh:PropertyShape ; sh:path schema:ticketedSeat ; sh:class schema:Seat ; sh:description "The seat associated with the ticket."^^rdf:HTML ; sh:name "ticketedSeat" ; . schema:Ticket-totalPrice a sh:PropertyShape ; sh:path schema:totalPrice ; sh:description "The total price for the reservation or ticket, including applicable taxes, shipping, etc.\\n\\nUsage guidelines:\\n\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator."^^rdf:HTML ; sh:name "totalPrice" ; sh:or ( [ sh:class schema:PriceSpecification ; ] [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Ticket-underName a sh:PropertyShape ; sh:path schema:underName ; sh:description "The person or organization the reservation or ticket is for."^^rdf:HTML ; sh:name "underName" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:TieAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of reaching a draw in a competitive activity."^^rdf:HTML ; rdfs:label "Tie action" ; rdfs:subClassOf schema:AchieveAction ; . schema:Time a schema:DataType ; a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A point in time recurring on multiple days in the form hh:mm:ss[Z|(+|-)hh:mm] (see [XML schema for details](http://www.w3.org/TR/xmlschema-2/#time))."^^rdf:HTML ; rdfs:label "Time" ; rdfs:subClassOf rdfs:Resource ; . schema:TipAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of giving money voluntarily to a beneficiary in recognition of services rendered."^^rdf:HTML ; rdfs:label "Tip action" ; rdfs:subClassOf schema:TradeAction ; sh:property schema:TipAction-recipient ; . schema:TipAction-recipient a sh:PropertyShape ; sh:path schema:recipient ; sh:description "A sub property of participant. The participant who is at the receiving end of the action."^^rdf:HTML ; sh:name "recipient" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:class schema:ContactPoint ; ] [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:TireShop a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A tire shop."^^rdf:HTML ; rdfs:label "Tire shop" ; rdfs:subClassOf schema:Store ; . schema:TollFree a schema:ContactPointOption ; rdfs:comment "The associated telephone number is toll free." ; rdfs:label "Toll free" ; . schema:TouristAttraction a rdfs:Class ; a sh:NodeShape ; schema:source ; schema:source ; rdfs:comment "A tourist attraction. In principle any Thing can be a [[TouristAttraction]], from a [[Mountain]] and [[LandmarksOrHistoricalBuildings]] to a [[LocalBusiness]]. This Type can be used on its own to describe a general [[TouristAttraction]], or be used as an [[additionalType]] to add tourist attraction properties to any other type. (See examples below)"^^rdf:HTML ; rdfs:label "Tourist attraction" ; rdfs:subClassOf schema:Place ; sh:property schema:TouristAttraction-availableLanguage ; sh:property schema:TouristAttraction-touristType ; . schema:TouristAttraction-availableLanguage a sh:PropertyShape ; sh:path schema:availableLanguage ; sh:description "A language someone may use with or at the item, service or place. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[inLanguage]]"^^rdf:HTML ; sh:name "availableLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TouristAttraction-touristType a sh:PropertyShape ; sh:path schema:touristType ; sh:description "Attraction suitable for type(s) of tourist. eg. Children, visitors from a particular country, etc. "^^rdf:HTML ; sh:name "touristType" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TouristDestination a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; schema:source ; rdfs:comment """A tourist destination. In principle any [[Place]] can be a [[TouristDestination]] from a [[City]], Region or [[Country]] to an [[AmusementPark]] or [[Hotel]]. This Type can be used on its own to describe a general [[TouristDestination]], or be used as an [[additionalType]] to add tourist relevant properties to any other [[Place]]. A [[TouristDestination]] is defined as a [[Place]] that contains, or is colocated with, one or more [[TouristAttraction]]s, often linked by a similar theme or interest to a particular [[touristType]]. The [UNWTO](http://www2.unwto.org/) defines Destination (main destination of a tourism trip) as the place visited that is central to the decision to take the trip. (See examples below)."""^^rdf:HTML ; rdfs:label "Tourist destination" ; rdfs:subClassOf schema:Place ; sh:property schema:TouristDestination-includesAttraction ; sh:property schema:TouristDestination-touristType ; . schema:TouristDestination-includesAttraction a sh:PropertyShape ; sh:path schema:includesAttraction ; sh:class schema:TouristAttraction ; sh:description "Attraction located at destination."^^rdf:HTML ; sh:name "includesAttraction" ; . schema:TouristDestination-touristType a sh:PropertyShape ; sh:path schema:touristType ; sh:description "Attraction suitable for type(s) of tourist. eg. Children, visitors from a particular country, etc. "^^rdf:HTML ; sh:name "touristType" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TouristInformationCenter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A tourist information center."^^rdf:HTML ; rdfs:label "Tourist information center" ; rdfs:subClassOf schema:LocalBusiness ; . schema:TouristTrip a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; schema:source ; schema:source ; rdfs:comment """A tourist trip. A created itinerary of visits to one or more places of interest ([[TouristAttraction]]/[[TouristDestination]]) often linked by a similar theme, geographic area, or interest to a particular [[touristType]]. The [UNWTO](http://www2.unwto.org/) defines tourism trip as the Trip taken by visitors. (See examples below)."""^^rdf:HTML ; rdfs:label "Tourist trip" ; rdfs:subClassOf schema:Trip ; sh:property schema:TouristTrip-touristType ; . schema:TouristTrip-touristType a sh:PropertyShape ; sh:path schema:touristType ; sh:description "Attraction suitable for type(s) of tourist. eg. Children, visitors from a particular country, etc. "^^rdf:HTML ; sh:name "touristType" ; sh:or ( [ sh:class schema:Audience ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Toxicologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that is concerned with poisons, their nature, effects and detection and involved in the treatment of poisoning." ; rdfs:label "Toxicologic" ; . schema:ToyStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A toy store."^^rdf:HTML ; rdfs:label "Toy store" ; rdfs:subClassOf schema:Store ; . schema:TrackAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An agent tracks an object for updates.\\n\\nRelated actions:\\n\\n* [[FollowAction]]: Unlike FollowAction, TrackAction refers to the interest on the location of innanimates objects.\\n* [[SubscribeAction]]: Unlike SubscribeAction, TrackAction refers to the interest on the location of innanimate objects."^^rdf:HTML ; rdfs:label "Track action" ; rdfs:subClassOf schema:FindAction ; sh:property schema:TrackAction-deliveryMethod ; . schema:TrackAction-deliveryMethod a sh:PropertyShape ; sh:path schema:deliveryMethod ; sh:class schema:DeliveryMethod ; sh:description "A sub property of instrument. The method of delivery."^^rdf:HTML ; sh:name "deliveryMethod" ; . schema:TradeAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of participating in an exchange of goods and services for monetary compensation. An agent trades an object, product or service with a participant in exchange for a one time or periodic payment."^^rdf:HTML ; rdfs:label "Trade action" ; rdfs:subClassOf schema:Action ; sh:property schema:TradeAction-price ; sh:property schema:TradeAction-priceCurrency ; sh:property schema:TradeAction-priceSpecification ; . schema:TradeAction-price a sh:PropertyShape ; sh:path schema:price ; sh:description """The offer price of a product, or of a price component when attached to PriceSpecification and its subtypes.\\n\\nUsage guidelines:\\n\\n* Use the [[priceCurrency]] property (with standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\") instead of including [ambiguous symbols](http://en.wikipedia.org/wiki/Dollar_sign#Currencies_that_use_the_dollar_or_peso_sign) such as '$' in the value.\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.\\n* Note that both [RDFa](http://www.w3.org/TR/xhtml-rdfa-primer/#using-the-content-attribute) and Microdata syntax allow the use of a \"content=\" attribute for publishing simple machine-readable values alongside more human-friendly formatting.\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. """^^rdf:HTML ; sh:name "price" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TradeAction-priceCurrency a sh:PropertyShape ; sh:path schema:priceCurrency ; sh:datatype xsd:string ; sh:description "The currency of the price, or a price component when attached to [[PriceSpecification]] and its subtypes.\\n\\nUse standard formats: [ISO 4217 currency format](http://en.wikipedia.org/wiki/ISO_4217) e.g. \"USD\"; [Ticker symbol](https://en.wikipedia.org/wiki/List_of_cryptocurrencies) for cryptocurrencies e.g. \"BTC\"; well known names for [Local Exchange Tradings Systems](https://en.wikipedia.org/wiki/Local_exchange_trading_system) (LETS) and other currency types e.g. \"Ithaca HOUR\"."^^rdf:HTML ; sh:name "priceCurrency" ; . schema:TradeAction-priceSpecification a sh:PropertyShape ; sh:path schema:priceSpecification ; sh:class schema:PriceSpecification ; sh:description "One or more detailed price specifications, indicating the unit price and delivery or payment charges."^^rdf:HTML ; sh:name "priceSpecification" ; . schema:TraditionalChinese a schema:MedicineSystem ; schema:isPartOf ; rdfs:comment "A system of medicine based on common theoretical concepts that originated in China and evolved over thousands of years, that uses herbs, acupuncture, exercise, massage, dietary therapy, and other methods to treat a wide range of conditions." ; rdfs:label "Traditional chinese" ; . schema:TrainReservation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A reservation for train travel.\\n\\nNote: This type is for information about actual reservations, e.g. in confirmation emails or HTML pages with individual confirmations of reservations. For offers of tickets, use [[Offer]]."^^rdf:HTML ; rdfs:label "Train reservation" ; rdfs:subClassOf schema:Reservation ; . schema:TrainStation a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A train station."^^rdf:HTML ; rdfs:label "Train station" ; rdfs:subClassOf schema:CivicStructure ; . schema:TrainTrip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A trip on a commercial train line."^^rdf:HTML ; rdfs:label "Train trip" ; rdfs:subClassOf schema:Trip ; sh:property schema:TrainTrip-arrivalPlatform ; sh:property schema:TrainTrip-arrivalStation ; sh:property schema:TrainTrip-departurePlatform ; sh:property schema:TrainTrip-departureStation ; sh:property schema:TrainTrip-trainName ; sh:property schema:TrainTrip-trainNumber ; . schema:TrainTrip-arrivalPlatform a sh:PropertyShape ; sh:path schema:arrivalPlatform ; sh:datatype xsd:string ; sh:description "The platform where the train arrives."^^rdf:HTML ; sh:name "arrivalPlatform" ; . schema:TrainTrip-arrivalStation a sh:PropertyShape ; sh:path schema:arrivalStation ; sh:class schema:TrainStation ; sh:description "The station where the train trip ends."^^rdf:HTML ; sh:name "arrivalStation" ; . schema:TrainTrip-departurePlatform a sh:PropertyShape ; sh:path schema:departurePlatform ; sh:datatype xsd:string ; sh:description "The platform from which the train departs."^^rdf:HTML ; sh:name "departurePlatform" ; . schema:TrainTrip-departureStation a sh:PropertyShape ; sh:path schema:departureStation ; sh:class schema:TrainStation ; sh:description "The station from which the train departs."^^rdf:HTML ; sh:name "departureStation" ; . schema:TrainTrip-trainName a sh:PropertyShape ; sh:path schema:trainName ; sh:datatype xsd:string ; sh:description "The name of the train (e.g. The Orient Express)."^^rdf:HTML ; sh:name "trainName" ; . schema:TrainTrip-trainNumber a sh:PropertyShape ; sh:path schema:trainNumber ; sh:datatype xsd:string ; sh:description "The unique identifier for the train."^^rdf:HTML ; sh:name "trainNumber" ; . schema:TransferAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of transferring/moving (abstract or concrete) animate or inanimate objects from one place to another."^^rdf:HTML ; rdfs:label "Transfer action" ; rdfs:subClassOf schema:Action ; sh:property schema:TransferAction-fromLocation ; sh:property schema:TransferAction-toLocation ; . schema:TransferAction-fromLocation a sh:PropertyShape ; sh:path schema:fromLocation ; sh:class schema:Place ; sh:description "A sub property of location. The original location of the object or the agent before the action."^^rdf:HTML ; sh:name "fromLocation" ; . schema:TransferAction-toLocation a sh:PropertyShape ; sh:path schema:toLocation ; sh:class schema:Place ; sh:description "A sub property of location. The final location of the object or the agent after the action."^^rdf:HTML ; sh:name "toLocation" ; . schema:TransformedContent a schema:MediaManipulationRatingEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment """Content coded 'transformed content' in a [[MediaReview]], considered in the context of how it was published or shared. For a [[VideoObject]] to be 'transformed content': or all of the video has been manipulated to transform the footage itself. This category includes using tools like the Adobe Suite to change the speed of the video, add or remove visual elements or dub audio. Deepfakes are also a subset of transformation. For an [[ImageObject]] to be transformed content': Adding or deleting visual elements to give the image a different meaning with the intention to mislead. For an [[ImageObject]] with embedded text to be 'transformed content': Adding or deleting visual elements to give the image a different meaning with the intention to mislead. For an [[AudioObject]] to be 'transformed content': Part or all of the audio has been manipulated to alter the words or sounds, or the audio has been synthetically generated, such as to create a sound-alike voice. """ ; rdfs:label "Transformed content" ; . schema:TransitMap a schema:MapCategoryType ; rdfs:comment "A transit map." ; rdfs:label "Transit map" ; . schema:TravelAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of traveling from an fromLocation to a destination by a specified mode of transport, optionally with participants."^^rdf:HTML ; rdfs:label "Travel action" ; rdfs:subClassOf schema:MoveAction ; sh:property schema:TravelAction-distance ; . schema:TravelAction-distance a sh:PropertyShape ; sh:path schema:distance ; sh:datatype xsd:string ; sh:description "The distance travelled, e.g. exercising or travelling."^^rdf:HTML ; sh:name "distance" ; . schema:TravelAgency a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A travel agency."^^rdf:HTML ; rdfs:label "Travel agency" ; rdfs:subClassOf schema:LocalBusiness ; . schema:TreatmentIndication a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "An indication for treating an underlying condition, symptom, etc."^^rdf:HTML ; rdfs:label "Treatment indication" ; rdfs:subClassOf schema:MedicalIndication ; . schema:TreatmentsHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Treatments or related therapies for a Topic." ; rdfs:label "Treatments health aspect" ; . schema:Trip a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A trip or journey. An itinerary of visits to one or more places."^^rdf:HTML ; rdfs:label "Trip" ; rdfs:subClassOf schema:Intangible ; sh:property schema:Trip-arrivalTime ; sh:property schema:Trip-departureTime ; sh:property schema:Trip-itinerary ; sh:property schema:Trip-offers ; sh:property schema:Trip-partOfTrip ; sh:property schema:Trip-provider ; sh:property schema:Trip-subTrip ; . schema:Trip-arrivalTime a sh:PropertyShape ; sh:path schema:arrivalTime ; sh:description "The expected arrival time."^^rdf:HTML ; sh:name "arrivalTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Trip-departureTime a sh:PropertyShape ; sh:path schema:departureTime ; sh:description "The expected departure time."^^rdf:HTML ; sh:name "departureTime" ; sh:or ( [ sh:datatype xsd:dateTime ; ] [ sh:datatype xsd:time ; ] ) ; . schema:Trip-itinerary a sh:PropertyShape ; sh:path schema:itinerary ; sh:description "Destination(s) ( [[Place]] ) that make up a trip. For a trip where destination order is important use [[ItemList]] to specify that order (see examples)."^^rdf:HTML ; sh:name "itinerary" ; sh:or ( [ sh:class schema:ItemList ; ] [ sh:class schema:Place ; ] ) ; . schema:Trip-offers a sh:PropertyShape ; sh:path schema:offers ; sh:description """An offer to provide this item—for example, an offer to sell a product, rent the DVD of a movie, perform a service, or give away tickets to an event. Use [[businessFunction]] to indicate the kind of transaction offered, i.e. sell, lease, etc. This property can also be used to describe a [[Demand]]. While this property is listed as expected on a number of common types, it can be used in others. In that case, using a second type, such as Product or a subtype of Product, can clarify the nature of the offer. """^^rdf:HTML ; sh:name "offers" ; sh:or ( [ sh:class schema:Demand ; ] [ sh:class schema:Offer ; ] ) ; . schema:Trip-partOfTrip a sh:PropertyShape ; sh:path schema:partOfTrip ; sh:class schema:Trip ; sh:description "Identifies that this [[Trip]] is a subTrip of another Trip. For example Day 1, Day 2, etc. of a multi-day trip."^^rdf:HTML ; sh:name "partOfTrip" ; . schema:Trip-provider a sh:PropertyShape ; sh:path schema:provider ; sh:description "The service provider, service operator, or service performer; the goods producer. Another party (a seller) may offer those services or goods on behalf of the provider. A provider may also serve as the seller."^^rdf:HTML ; sh:name "provider" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:Trip-subTrip a sh:PropertyShape ; sh:path schema:subTrip ; sh:class schema:Trip ; sh:description "Identifies a [[Trip]] that is a subTrip of this Trip. For example Day 1, Day 2, etc. of a multi-day trip."^^rdf:HTML ; sh:name "subTrip" ; . schema:TripleBlindedTrial a schema:MedicalTrialDesign ; schema:isPartOf ; rdfs:comment "A trial design in which neither the researcher, the person administering the therapy nor the patient knows the details of the treatment the patient was randomly assigned to." ; rdfs:label "Triple blinded trial" ; . schema:True a xsd:boolean ; rdfs:comment "The boolean value true." ; rdfs:label "True" ; . schema:Tuesday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Monday and Wednesday." ; rdfs:label "Tuesday" ; . schema:TypeAndQuantityNode a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A structured value indicating the quantity, unit of measurement, and business function of goods included in a bundle offer."^^rdf:HTML ; rdfs:label "Type and quantity node" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:TypeAndQuantityNode-amountOfThisGood ; sh:property schema:TypeAndQuantityNode-businessFunction ; sh:property schema:TypeAndQuantityNode-typeOfGood ; sh:property schema:TypeAndQuantityNode-unitCode ; sh:property schema:TypeAndQuantityNode-unitText ; . schema:TypeAndQuantityNode-amountOfThisGood a sh:PropertyShape ; sh:path schema:amountOfThisGood ; sh:datatype xsd:float ; sh:description "The quantity of the goods included in the offer."^^rdf:HTML ; sh:name "amountOfThisGood" ; . schema:TypeAndQuantityNode-businessFunction a sh:PropertyShape ; sh:path schema:businessFunction ; sh:class schema:BusinessFunction ; sh:description "The business function (e.g. sell, lease, repair, dispose) of the offer or component of a bundle (TypeAndQuantityNode). The default is http://purl.org/goodrelations/v1#Sell."^^rdf:HTML ; sh:name "businessFunction" ; . schema:TypeAndQuantityNode-typeOfGood a sh:PropertyShape ; sh:path schema:typeOfGood ; sh:description "The product that this structured value is referring to."^^rdf:HTML ; sh:name "typeOfGood" ; sh:or ( [ sh:class schema:Product ; ] [ sh:class schema:Service ; ] ) ; . schema:TypeAndQuantityNode-unitCode a sh:PropertyShape ; sh:path schema:unitCode ; sh:description "The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon."^^rdf:HTML ; sh:name "unitCode" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:TypeAndQuantityNode-unitText a sh:PropertyShape ; sh:path schema:unitText ; sh:datatype xsd:string ; sh:description """A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for unitCode."""^^rdf:HTML ; sh:name "unitText" ; . schema:TypesHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Categorization and other types related to a topic." ; rdfs:label "Types health aspect" ; . schema:UKNonprofitType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "UKNonprofitType: Non-profit organization type originating from the United Kingdom."^^rdf:HTML ; rdfs:label "UKNonprofit type" ; rdfs:subClassOf schema:NonprofitType ; . schema:UKTrust a schema:UKNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "UKTrust: Non-profit type referring to a UK trust." ; rdfs:label "UKTrust" ; . schema:URL a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Data type: URL."^^rdf:HTML ; rdfs:label "URL" ; rdfs:subClassOf xsd:string ; . schema:USNonprofitType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "USNonprofitType: Non-profit organization type originating from the United States."^^rdf:HTML ; rdfs:label "USNonprofit type" ; rdfs:subClassOf schema:NonprofitType ; . schema:Ultrasound a schema:MedicalImagingTechnique ; schema:isPartOf ; rdfs:comment "Ultrasound imaging." ; rdfs:label "Ultrasound" ; . schema:UnRegisterAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of un-registering from a service.\\n\\nRelated actions:\\n\\n* [[RegisterAction]]: antonym of UnRegisterAction.\\n* [[LeaveAction]]: Unlike LeaveAction, UnRegisterAction implies that you are unregistering from a service you werer previously registered, rather than leaving a team/group of people."^^rdf:HTML ; rdfs:label "Un register action" ; rdfs:subClassOf schema:InteractAction ; . schema:UnemploymentSupport a schema:GovernmentBenefitsType ; schema:isPartOf ; schema:source ; rdfs:comment "UnemploymentSupport: this is a benefit for unemployment support." ; rdfs:label "Unemployment support" ; . schema:UnincorporatedAssociationCharity a schema:UKNonprofitType ; schema:isPartOf ; schema:source ; rdfs:comment "UnincorporatedAssociationCharity: Non-profit type referring to a charitable company that is not incorporated (UK)." ; rdfs:label "Unincorporated association charity" ; . schema:UnitPriceSpecification a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "The price asked for a given offer by the respective organization or person."^^rdf:HTML ; rdfs:label "Unit price specification" ; rdfs:subClassOf schema:PriceSpecification ; sh:property schema:UnitPriceSpecification-billingDuration ; sh:property schema:UnitPriceSpecification-billingIncrement ; sh:property schema:UnitPriceSpecification-billingStart ; sh:property schema:UnitPriceSpecification-priceComponentType ; sh:property schema:UnitPriceSpecification-priceType ; sh:property schema:UnitPriceSpecification-referenceQuantity ; sh:property schema:UnitPriceSpecification-unitCode ; sh:property schema:UnitPriceSpecification-unitText ; . schema:UnitPriceSpecification-billingDuration a sh:PropertyShape ; sh:path schema:billingDuration ; sh:description "Specifies for how long this price (or price component) will be billed. Can be used, for example, to model the contractual duration of a subscription or payment plan. Type can be either a Duration or a Number (in which case the unit of measurement, for example month, is specified by the unitCode property)."^^rdf:HTML ; sh:name "billingDuration" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:duration ; ] [ sh:datatype xsd:float ; ] ) ; . schema:UnitPriceSpecification-billingIncrement a sh:PropertyShape ; sh:path schema:billingIncrement ; sh:datatype xsd:float ; sh:description "This property specifies the minimal quantity and rounding increment that will be the basis for the billing. The unit of measurement is specified by the unitCode property."^^rdf:HTML ; sh:name "billingIncrement" ; . schema:UnitPriceSpecification-billingStart a sh:PropertyShape ; sh:path schema:billingStart ; sh:datatype xsd:float ; sh:description "Specifies after how much time this price (or price component) becomes valid and billing starts. Can be used, for example, to model a price increase after the first year of a subscription. The unit of measurement is specified by the unitCode property."^^rdf:HTML ; sh:name "billingStart" ; . schema:UnitPriceSpecification-priceComponentType a sh:PropertyShape ; sh:path schema:priceComponentType ; sh:class schema:PriceComponentTypeEnumeration ; sh:description "Identifies a price component (for example, a line item on an invoice), part of the total price for an offer."^^rdf:HTML ; sh:name "priceComponentType" ; . schema:UnitPriceSpecification-priceType a sh:PropertyShape ; sh:path schema:priceType ; sh:description "Defines the type of a price specified for an offered product, for example a list price, a (temporary) sale price or a manufacturer suggested retail price. If multiple prices are specified for an offer the [[priceType]] property can be used to identify the type of each such specified price. The value of priceType can be specified as a value from enumeration PriceTypeEnumeration or as a free form text string for price types that are not already predefined in PriceTypeEnumeration."^^rdf:HTML ; sh:name "priceType" ; sh:or ( [ sh:class schema:PriceTypeEnumeration ; ] [ sh:datatype xsd:string ; ] ) ; . schema:UnitPriceSpecification-referenceQuantity a sh:PropertyShape ; sh:path schema:referenceQuantity ; sh:class schema:QuantitativeValue ; sh:description "The reference quantity for which a certain price applies, e.g. 1 EUR per 4 kWh of electricity. This property is a replacement for unitOfMeasurement for the advanced cases where the price does not relate to a standard unit."^^rdf:HTML ; sh:name "referenceQuantity" ; . schema:UnitPriceSpecification-unitCode a sh:PropertyShape ; sh:path schema:unitCode ; sh:description "The unit of measurement given using the UN/CEFACT Common Code (3 characters) or a URL. Other codes than the UN/CEFACT Common Code may be used with a prefix followed by a colon."^^rdf:HTML ; sh:name "unitCode" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:UnitPriceSpecification-unitText a sh:PropertyShape ; sh:path schema:unitText ; sh:datatype xsd:string ; sh:description """A string or text indicating the unit of measurement. Useful if you cannot provide a standard unit code for unitCode."""^^rdf:HTML ; sh:name "unitText" ; . schema:UnofficialLegalValue a schema:LegalValueLevel ; schema:isPartOf ; schema:source ; schema:source ; rdfs:comment "Indicates that a document has no particular or special standing (e.g. a republication of a law by a private publisher)." ; rdfs:label "Unofficial legal value" ; . schema:UpdateAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of managing by changing/editing the state of the object."^^rdf:HTML ; rdfs:label "Update action" ; rdfs:subClassOf schema:Action ; sh:property schema:UpdateAction-collection ; sh:property schema:UpdateAction-targetCollection ; . schema:UpdateAction-collection a sh:PropertyShape ; sh:path schema:collection ; sh:class schema:Thing ; sh:description "A sub property of object. The collection target of the action."^^rdf:HTML ; sh:name "collection" ; . schema:UpdateAction-targetCollection a sh:PropertyShape ; sh:path schema:targetCollection ; sh:class schema:Thing ; sh:description "A sub property of object. The collection target of the action."^^rdf:HTML ; sh:name "targetCollection" ; . schema:Urologic a schema:MedicalSpecialty ; schema:isPartOf ; rdfs:comment "A specific branch of medical science that is concerned with the diagnosis and treatment of diseases pertaining to the urinary tract and the urogenital system." ; rdfs:label "Urologic" ; . schema:UsageOrScheduleHealthAspect a schema:HealthAspectEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Content about how, when, frequency and dosage of a topic." ; rdfs:label "Usage or schedule health aspect" ; . schema:UseAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of applying an object to its intended purpose."^^rdf:HTML ; rdfs:label "Use action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:UsedCondition a schema:OfferItemCondition ; rdfs:comment "Indicates that the item is used." ; rdfs:label "Used condition" ; . schema:UserBlocks a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User blocks" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserCheckins a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User checkins" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserComments a rdfs:Class ; a sh:NodeShape ; schema:source ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User comments" ; rdfs:subClassOf schema:UserInteraction ; sh:property schema:UserComments-commentText ; sh:property schema:UserComments-commentTime ; sh:property schema:UserComments-creator ; sh:property schema:UserComments-discusses ; sh:property schema:UserComments-replyToUrl ; . schema:UserComments-commentText a sh:PropertyShape ; sh:path schema:commentText ; sh:datatype xsd:string ; sh:description "The text of the UserComment."^^rdf:HTML ; sh:name "commentText" ; . schema:UserComments-commentTime a sh:PropertyShape ; sh:path schema:commentTime ; sh:description "The time at which the UserComment was made."^^rdf:HTML ; sh:name "commentTime" ; sh:or ( [ sh:datatype xsd:date ; ] [ sh:datatype xsd:dateTime ; ] ) ; . schema:UserComments-creator a sh:PropertyShape ; sh:path schema:creator ; sh:description "The creator/author of this CreativeWork. This is the same as the Author property for CreativeWork."^^rdf:HTML ; sh:name "creator" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:UserComments-discusses a sh:PropertyShape ; sh:path schema:discusses ; sh:class schema:CreativeWork ; sh:description "Specifies the CreativeWork associated with the UserComment."^^rdf:HTML ; sh:name "discusses" ; . schema:UserComments-replyToUrl a sh:PropertyShape ; sh:path schema:replyToUrl ; sh:description "The URL at which a reply may be posted to the specified UserComment."^^rdf:HTML ; sh:name "replyToUrl" ; sh:nodeKind sh:IRI ; . schema:UserDownloads a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User downloads" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserInteraction a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User interaction" ; rdfs:subClassOf schema:Event ; . schema:UserLikes a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User likes" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserPageVisits a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User page visits" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserPlays a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User plays" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserPlusOnes a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User plus ones" ; rdfs:subClassOf schema:UserInteraction ; . schema:UserReview a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A review created by an end-user (e.g. consumer, purchaser, attendee etc.), in contrast with [[CriticReview]]."^^rdf:HTML ; rdfs:label "User review" ; rdfs:subClassOf schema:Review ; . schema:UserTweets a rdfs:Class ; a sh:NodeShape ; schema:supersededBy schema:InteractionCounter ; rdfs:comment "UserInteraction and its subtypes is an old way of talking about users interacting with pages. It is generally better to use [[Action]]-based vocabulary, alongside types such as [[Comment]]."^^rdf:HTML ; rdfs:label "User tweets" ; rdfs:subClassOf schema:UserInteraction ; . schema:VeganDiet a schema:RestrictedDiet ; rdfs:comment "A diet exclusive of all animal products." ; rdfs:label "Vegan diet" ; . schema:VegetarianDiet a schema:RestrictedDiet ; rdfs:comment "A diet exclusive of animal meat." ; rdfs:label "Vegetarian diet" ; . schema:Vehicle a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A vehicle is a device that is designed or used to transport people or cargo over land, water, air, or through space."^^rdf:HTML ; rdfs:label "Vehicle" ; rdfs:subClassOf schema:Product ; sh:property schema:Vehicle-accelerationTime ; sh:property schema:Vehicle-bodyType ; sh:property schema:Vehicle-callSign ; sh:property schema:Vehicle-cargoVolume ; sh:property schema:Vehicle-dateVehicleFirstRegistered ; sh:property schema:Vehicle-driveWheelConfiguration ; sh:property schema:Vehicle-emissionsCO2 ; sh:property schema:Vehicle-fuelCapacity ; sh:property schema:Vehicle-fuelConsumption ; sh:property schema:Vehicle-fuelEfficiency ; sh:property schema:Vehicle-fuelType ; sh:property schema:Vehicle-knownVehicleDamages ; sh:property schema:Vehicle-meetsEmissionStandard ; sh:property schema:Vehicle-mileageFromOdometer ; sh:property schema:Vehicle-modelDate ; sh:property schema:Vehicle-numberOfAirbags ; sh:property schema:Vehicle-numberOfAxles ; sh:property schema:Vehicle-numberOfDoors ; sh:property schema:Vehicle-numberOfForwardGears ; sh:property schema:Vehicle-numberOfPreviousOwners ; sh:property schema:Vehicle-payload ; sh:property schema:Vehicle-productionDate ; sh:property schema:Vehicle-purchaseDate ; sh:property schema:Vehicle-seatingCapacity ; sh:property schema:Vehicle-speed ; sh:property schema:Vehicle-steeringPosition ; sh:property schema:Vehicle-stupidProperty ; sh:property schema:Vehicle-tongueWeight ; sh:property schema:Vehicle-trailerWeight ; sh:property schema:Vehicle-vehicleConfiguration ; sh:property schema:Vehicle-vehicleEngine ; sh:property schema:Vehicle-vehicleIdentificationNumber ; sh:property schema:Vehicle-vehicleInteriorColor ; sh:property schema:Vehicle-vehicleInteriorType ; sh:property schema:Vehicle-vehicleModelDate ; sh:property schema:Vehicle-vehicleSeatingCapacity ; sh:property schema:Vehicle-vehicleSpecialUsage ; sh:property schema:Vehicle-vehicleTransmission ; sh:property schema:Vehicle-weightTotal ; sh:property schema:Vehicle-wheelbase ; . schema:Vehicle-accelerationTime a sh:PropertyShape ; sh:path schema:accelerationTime ; sh:class schema:QuantitativeValue ; sh:description "The time needed to accelerate the vehicle from a given start velocity to a given target velocity.\\n\\nTypical unit code(s): SEC for seconds\\n\\n* Note: There are unfortunately no standard unit codes for seconds/0..100 km/h or seconds/0..60 mph. Simply use \"SEC\" for seconds and indicate the velocities in the [[name]] of the [[QuantitativeValue]], or use [[valueReference]] with a [[QuantitativeValue]] of 0..60 mph or 0..100 km/h to specify the reference speeds."^^rdf:HTML ; sh:name "accelerationTime" ; . schema:Vehicle-bodyType a sh:PropertyShape ; sh:path schema:bodyType ; sh:description "Indicates the design and body style of the vehicle (e.g. station wagon, hatchback, etc.)."^^rdf:HTML ; sh:name "bodyType" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-callSign a sh:PropertyShape ; sh:path schema:callSign ; sh:datatype xsd:string ; sh:description "A [callsign](https://en.wikipedia.org/wiki/Call_sign), as used in broadcasting and radio communications to identify people, radio and TV stations, or vehicles."^^rdf:HTML ; sh:name "callSign" ; . schema:Vehicle-cargoVolume a sh:PropertyShape ; sh:path schema:cargoVolume ; sh:class schema:QuantitativeValue ; sh:description "The available volume for cargo or luggage. For automobiles, this is usually the trunk volume.\\n\\nTypical unit code(s): LTR for liters, FTQ for cubic foot/feet\\n\\nNote: You can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "cargoVolume" ; . schema:Vehicle-dateVehicleFirstRegistered a sh:PropertyShape ; sh:path schema:dateVehicleFirstRegistered ; sh:datatype xsd:date ; sh:description "The date of the first registration of the vehicle with the respective public authorities."^^rdf:HTML ; sh:name "dateVehicleFirstRegistered" ; . schema:Vehicle-driveWheelConfiguration a sh:PropertyShape ; sh:path schema:driveWheelConfiguration ; sh:description "The drive wheel configuration, i.e. which roadwheels will receive torque from the vehicle's engine via the drivetrain."^^rdf:HTML ; sh:name "driveWheelConfiguration" ; sh:or ( [ sh:class schema:DriveWheelConfigurationValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-emissionsCO2 a sh:PropertyShape ; sh:path schema:emissionsCO2 ; sh:datatype xsd:float ; sh:description "The CO2 emissions in g/km. When used in combination with a QuantitativeValue, put \"g/km\" into the unitText property of that value, since there is no UN/CEFACT Common Code for \"g/km\"."^^rdf:HTML ; sh:name "emissionsCO2" ; . schema:Vehicle-fuelCapacity a sh:PropertyShape ; sh:path schema:fuelCapacity ; sh:class schema:QuantitativeValue ; sh:description "The capacity of the fuel tank or in the case of electric cars, the battery. If there are multiple components for storage, this should indicate the total of all storage of the same type.\\n\\nTypical unit code(s): LTR for liters, GLL of US gallons, GLI for UK / imperial gallons, AMH for ampere-hours (for electrical vehicles)."^^rdf:HTML ; sh:name "fuelCapacity" ; . schema:Vehicle-fuelConsumption a sh:PropertyShape ; sh:path schema:fuelConsumption ; sh:class schema:QuantitativeValue ; sh:description "The amount of fuel consumed for traveling a particular distance or temporal duration with the given vehicle (e.g. liters per 100 km).\\n\\n* Note 1: There are unfortunately no standard unit codes for liters per 100 km. Use [[unitText]] to indicate the unit of measurement, e.g. L/100 km.\\n* Note 2: There are two ways of indicating the fuel consumption, [[fuelConsumption]] (e.g. 8 liters per 100 km) and [[fuelEfficiency]] (e.g. 30 miles per gallon). They are reciprocal.\\n* Note 3: Often, the absolute value is useful only when related to driving speed (\"at 80 km/h\") or usage pattern (\"city traffic\"). You can use [[valueReference]] to link the value for the fuel consumption to another value."^^rdf:HTML ; sh:name "fuelConsumption" ; . schema:Vehicle-fuelEfficiency a sh:PropertyShape ; sh:path schema:fuelEfficiency ; sh:class schema:QuantitativeValue ; sh:description "The distance traveled per unit of fuel used; most commonly miles per gallon (mpg) or kilometers per liter (km/L).\\n\\n* Note 1: There are unfortunately no standard unit codes for miles per gallon or kilometers per liter. Use [[unitText]] to indicate the unit of measurement, e.g. mpg or km/L.\\n* Note 2: There are two ways of indicating the fuel consumption, [[fuelConsumption]] (e.g. 8 liters per 100 km) and [[fuelEfficiency]] (e.g. 30 miles per gallon). They are reciprocal.\\n* Note 3: Often, the absolute value is useful only when related to driving speed (\"at 80 km/h\") or usage pattern (\"city traffic\"). You can use [[valueReference]] to link the value for the fuel economy to another value."^^rdf:HTML ; sh:name "fuelEfficiency" ; . schema:Vehicle-fuelType a sh:PropertyShape ; sh:path schema:fuelType ; sh:description "The type of fuel suitable for the engine or engines of the vehicle. If the vehicle has only one engine, this property can be attached directly to the vehicle."^^rdf:HTML ; sh:name "fuelType" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-knownVehicleDamages a sh:PropertyShape ; sh:path schema:knownVehicleDamages ; sh:datatype xsd:string ; sh:description "A textual description of known damages, both repaired and unrepaired."^^rdf:HTML ; sh:name "knownVehicleDamages" ; . schema:Vehicle-meetsEmissionStandard a sh:PropertyShape ; sh:path schema:meetsEmissionStandard ; sh:description "Indicates that the vehicle meets the respective emission standard."^^rdf:HTML ; sh:name "meetsEmissionStandard" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-mileageFromOdometer a sh:PropertyShape ; sh:path schema:mileageFromOdometer ; sh:class schema:QuantitativeValue ; sh:description "The total distance travelled by the particular vehicle since its initial production, as read from its odometer.\\n\\nTypical unit code(s): KMT for kilometers, SMI for statute miles"^^rdf:HTML ; sh:name "mileageFromOdometer" ; . schema:Vehicle-modelDate a sh:PropertyShape ; sh:path schema:modelDate ; sh:datatype xsd:date ; sh:description "The release date of a vehicle model (often used to differentiate versions of the same make and model)."^^rdf:HTML ; sh:name "modelDate" ; . schema:Vehicle-numberOfAirbags a sh:PropertyShape ; sh:path schema:numberOfAirbags ; sh:description "The number or type of airbags in the vehicle."^^rdf:HTML ; sh:name "numberOfAirbags" ; sh:or ( [ sh:datatype xsd:float ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-numberOfAxles a sh:PropertyShape ; sh:path schema:numberOfAxles ; sh:description "The number of axles.\\n\\nTypical unit code(s): C62"^^rdf:HTML ; sh:name "numberOfAxles" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Vehicle-numberOfDoors a sh:PropertyShape ; sh:path schema:numberOfDoors ; sh:description "The number of doors.\\n\\nTypical unit code(s): C62"^^rdf:HTML ; sh:name "numberOfDoors" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Vehicle-numberOfForwardGears a sh:PropertyShape ; sh:path schema:numberOfForwardGears ; sh:description "The total number of forward gears available for the transmission system of the vehicle.\\n\\nTypical unit code(s): C62"^^rdf:HTML ; sh:name "numberOfForwardGears" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Vehicle-numberOfPreviousOwners a sh:PropertyShape ; sh:path schema:numberOfPreviousOwners ; sh:description "The number of owners of the vehicle, including the current one.\\n\\nTypical unit code(s): C62"^^rdf:HTML ; sh:name "numberOfPreviousOwners" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Vehicle-payload a sh:PropertyShape ; sh:path schema:payload ; sh:class schema:QuantitativeValue ; sh:description "The permitted weight of passengers and cargo, EXCLUDING the weight of the empty vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: Many databases specify the permitted TOTAL weight instead, which is the sum of [[weight]] and [[payload]]\\n* Note 2: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 3: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 4: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "payload" ; . schema:Vehicle-productionDate a sh:PropertyShape ; sh:path schema:productionDate ; sh:datatype xsd:date ; sh:description "The date of production of the item, e.g. vehicle."^^rdf:HTML ; sh:name "productionDate" ; . schema:Vehicle-purchaseDate a sh:PropertyShape ; sh:path schema:purchaseDate ; sh:datatype xsd:date ; sh:description "The date the item e.g. vehicle was purchased by the current owner."^^rdf:HTML ; sh:name "purchaseDate" ; . schema:Vehicle-seatingCapacity a sh:PropertyShape ; sh:path schema:seatingCapacity ; sh:description "The number of persons that can be seated (e.g. in a vehicle), both in terms of the physical space available, and in terms of limitations set by law.\\n\\nTypical unit code(s): C62 for persons "^^rdf:HTML ; sh:name "seatingCapacity" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Vehicle-speed a sh:PropertyShape ; sh:path schema:speed ; sh:class schema:QuantitativeValue ; sh:description "The speed range of the vehicle. If the vehicle is powered by an engine, the upper limit of the speed range (indicated by [[maxValue]] should be the maximum speed achievable under regular conditions.\\n\\nTypical unit code(s): KMH for km/h, HM for mile per hour (0.447 04 m/s), KNT for knot\\n\\n*Note 1: Use [[minValue]] and [[maxValue]] to indicate the range. Typically, the minimal value is zero.\\n* Note 2: There are many different ways of measuring the speed range. You can link to information about how the given value has been determined using the [[valueReference]] property."^^rdf:HTML ; sh:name "speed" ; . schema:Vehicle-steeringPosition a sh:PropertyShape ; sh:path schema:steeringPosition ; sh:class schema:SteeringPositionValue ; sh:description "The position of the steering wheel or similar device (mostly for cars)."^^rdf:HTML ; sh:name "steeringPosition" ; . schema:Vehicle-stupidProperty a sh:PropertyShape ; sh:path schema:stupidProperty ; sh:class schema:QuantitativeValue ; sh:description "This is a StupidProperty! - for testing only"^^rdf:HTML ; sh:name "stupidProperty" ; . schema:Vehicle-tongueWeight a sh:PropertyShape ; sh:path schema:tongueWeight ; sh:class schema:QuantitativeValue ; sh:description "The permitted vertical load (TWR) of a trailer attached to the vehicle. Also referred to as Tongue Load Rating (TLR) or Vertical Load Rating (VLR)\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "tongueWeight" ; . schema:Vehicle-trailerWeight a sh:PropertyShape ; sh:path schema:trailerWeight ; sh:class schema:QuantitativeValue ; sh:description "The permitted weight of a trailer attached to the vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "trailerWeight" ; . schema:Vehicle-vehicleConfiguration a sh:PropertyShape ; sh:path schema:vehicleConfiguration ; sh:datatype xsd:string ; sh:description "A short text indicating the configuration of the vehicle, e.g. '5dr hatchback ST 2.5 MT 225 hp' or 'limited edition'."^^rdf:HTML ; sh:name "vehicleConfiguration" ; . schema:Vehicle-vehicleEngine a sh:PropertyShape ; sh:path schema:vehicleEngine ; sh:class schema:EngineSpecification ; sh:description "Information about the engine or engines of the vehicle."^^rdf:HTML ; sh:name "vehicleEngine" ; . schema:Vehicle-vehicleIdentificationNumber a sh:PropertyShape ; sh:path schema:vehicleIdentificationNumber ; sh:datatype xsd:string ; sh:description "The Vehicle Identification Number (VIN) is a unique serial number used by the automotive industry to identify individual motor vehicles."^^rdf:HTML ; sh:name "vehicleIdentificationNumber" ; . schema:Vehicle-vehicleInteriorColor a sh:PropertyShape ; sh:path schema:vehicleInteriorColor ; sh:datatype xsd:string ; sh:description "The color or color combination of the interior of the vehicle."^^rdf:HTML ; sh:name "vehicleInteriorColor" ; . schema:Vehicle-vehicleInteriorType a sh:PropertyShape ; sh:path schema:vehicleInteriorType ; sh:datatype xsd:string ; sh:description "The type or material of the interior of the vehicle (e.g. synthetic fabric, leather, wood, etc.). While most interior types are characterized by the material used, an interior type can also be based on vehicle usage or target audience."^^rdf:HTML ; sh:name "vehicleInteriorType" ; . schema:Vehicle-vehicleModelDate a sh:PropertyShape ; sh:path schema:vehicleModelDate ; sh:datatype xsd:date ; sh:description "The release date of a vehicle model (often used to differentiate versions of the same make and model)."^^rdf:HTML ; sh:name "vehicleModelDate" ; . schema:Vehicle-vehicleSeatingCapacity a sh:PropertyShape ; sh:path schema:vehicleSeatingCapacity ; sh:description "The number of passengers that can be seated in the vehicle, both in terms of the physical space available, and in terms of limitations set by law.\\n\\nTypical unit code(s): C62 for persons."^^rdf:HTML ; sh:name "vehicleSeatingCapacity" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:float ; ] ) ; . schema:Vehicle-vehicleSpecialUsage a sh:PropertyShape ; sh:path schema:vehicleSpecialUsage ; sh:description "Indicates whether the vehicle has been used for special purposes, like commercial rental, driving school, or as a taxi. The legislation in many countries requires this information to be revealed when offering a car for sale."^^rdf:HTML ; sh:name "vehicleSpecialUsage" ; sh:or ( [ sh:class schema:CarUsageType ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-vehicleTransmission a sh:PropertyShape ; sh:path schema:vehicleTransmission ; sh:description "The type of component used for transmitting the power from a rotating power source to the wheels or other relevant component(s) (\"gearbox\" for cars)."^^rdf:HTML ; sh:name "vehicleTransmission" ; sh:or ( [ sh:class schema:QualitativeValue ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:Vehicle-weightTotal a sh:PropertyShape ; sh:path schema:weightTotal ; sh:class schema:QuantitativeValue ; sh:description "The permitted total weight of the loaded vehicle, including passengers and cargo and the weight of the empty vehicle.\\n\\nTypical unit code(s): KGM for kilogram, LBR for pound\\n\\n* Note 1: You can indicate additional information in the [[name]] of the [[QuantitativeValue]] node.\\n* Note 2: You may also link to a [[QualitativeValue]] node that provides additional information using [[valueReference]].\\n* Note 3: Note that you can use [[minValue]] and [[maxValue]] to indicate ranges."^^rdf:HTML ; sh:name "weightTotal" ; . schema:Vehicle-wheelbase a sh:PropertyShape ; sh:path schema:wheelbase ; sh:class schema:QuantitativeValue ; sh:description "The distance between the centers of the front and rear wheels.\\n\\nTypical unit code(s): CMT for centimeters, MTR for meters, INH for inches, FOT for foot/feet"^^rdf:HTML ; sh:name "wheelbase" ; . schema:Vein a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A type of blood vessel that specifically carries blood to the heart."^^rdf:HTML ; rdfs:label "Vein" ; rdfs:subClassOf schema:Vessel ; sh:property schema:Vein-drainsTo ; sh:property schema:Vein-regionDrained ; sh:property schema:Vein-tributary ; . schema:Vein-drainsTo a sh:PropertyShape ; sh:path schema:drainsTo ; sh:class schema:Vessel ; sh:description "The vasculature that the vein drains into."^^rdf:HTML ; sh:name "drainsTo" ; . schema:Vein-regionDrained a sh:PropertyShape ; sh:path schema:regionDrained ; sh:description "The anatomical or organ system drained by this vessel; generally refers to a specific part of an organ."^^rdf:HTML ; sh:name "regionDrained" ; sh:or ( [ sh:class schema:AnatomicalStructure ; ] [ sh:class schema:AnatomicalSystem ; ] ) ; . schema:Vein-tributary a sh:PropertyShape ; sh:path schema:tributary ; sh:class schema:AnatomicalStructure ; sh:description "The anatomical or organ system that the vein flows into; a larger structure that the vein connects to."^^rdf:HTML ; sh:name "tributary" ; . schema:VenueMap a schema:MapCategoryType ; rdfs:comment "A venue map (e.g. for malls, auditoriums, museums, etc.)." ; rdfs:label "Venue map" ; . schema:Vessel a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A component of the human body circulatory system comprised of an intricate network of hollow tubes that transport blood throughout the entire body."^^rdf:HTML ; rdfs:label "Vessel" ; rdfs:subClassOf schema:AnatomicalStructure ; . schema:VeterinaryCare a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "A vet's office."^^rdf:HTML ; rdfs:label "Veterinary care" ; rdfs:subClassOf schema:MedicalOrganization ; . schema:VideoGallery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web page type: Video gallery page."^^rdf:HTML ; rdfs:label "Video gallery" ; rdfs:subClassOf schema:MediaGallery ; . schema:VideoGame a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A video game is an electronic game that involves human interaction with a user interface to generate visual feedback on a video device."^^rdf:HTML ; rdfs:label "Video game" ; rdfs:subClassOf schema:Game ; rdfs:subClassOf schema:SoftwareApplication ; sh:property schema:VideoGame-actor ; sh:property schema:VideoGame-actors ; sh:property schema:VideoGame-cheatCode ; sh:property schema:VideoGame-director ; sh:property schema:VideoGame-directors ; sh:property schema:VideoGame-gamePlatform ; sh:property schema:VideoGame-gameServer ; sh:property schema:VideoGame-gameTip ; sh:property schema:VideoGame-musicBy ; sh:property schema:VideoGame-playMode ; sh:property schema:VideoGame-trailer ; . schema:VideoGame-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:VideoGame-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:VideoGame-cheatCode a sh:PropertyShape ; sh:path schema:cheatCode ; sh:class schema:CreativeWork ; sh:description "Cheat codes to the game."^^rdf:HTML ; sh:name "cheatCode" ; . schema:VideoGame-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:VideoGame-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:VideoGame-gamePlatform a sh:PropertyShape ; sh:path schema:gamePlatform ; sh:description "The electronic systems used to play video games."^^rdf:HTML ; sh:name "gamePlatform" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VideoGame-gameServer a sh:PropertyShape ; sh:path schema:gameServer ; sh:class schema:GameServer ; sh:description "The server on which it is possible to play the game."^^rdf:HTML ; sh:name "gameServer" ; . schema:VideoGame-gameTip a sh:PropertyShape ; sh:path schema:gameTip ; sh:class schema:CreativeWork ; sh:description "Links to tips, tactics, etc."^^rdf:HTML ; sh:name "gameTip" ; . schema:VideoGame-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:VideoGame-playMode a sh:PropertyShape ; sh:path schema:playMode ; sh:class schema:GamePlayMode ; sh:description "Indicates whether this game is multi-player, co-op or single-player. The game can be marked as multi-player, co-op and single-player at the same time."^^rdf:HTML ; sh:name "playMode" ; . schema:VideoGame-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:VideoGameClip a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A short segment/part of a video game."^^rdf:HTML ; rdfs:label "Video game clip" ; rdfs:subClassOf schema:Clip ; . schema:VideoGameSeries a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A video game series."^^rdf:HTML ; rdfs:label "Video game series" ; rdfs:subClassOf schema:CreativeWorkSeries ; sh:property schema:VideoGameSeries-actor ; sh:property schema:VideoGameSeries-actors ; sh:property schema:VideoGameSeries-characterAttribute ; sh:property schema:VideoGameSeries-cheatCode ; sh:property schema:VideoGameSeries-containsSeason ; sh:property schema:VideoGameSeries-director ; sh:property schema:VideoGameSeries-directors ; sh:property schema:VideoGameSeries-episode ; sh:property schema:VideoGameSeries-episodes ; sh:property schema:VideoGameSeries-gameItem ; sh:property schema:VideoGameSeries-gameLocation ; sh:property schema:VideoGameSeries-gamePlatform ; sh:property schema:VideoGameSeries-musicBy ; sh:property schema:VideoGameSeries-numberOfEpisodes ; sh:property schema:VideoGameSeries-numberOfPlayers ; sh:property schema:VideoGameSeries-numberOfSeasons ; sh:property schema:VideoGameSeries-playMode ; sh:property schema:VideoGameSeries-productionCompany ; sh:property schema:VideoGameSeries-quest ; sh:property schema:VideoGameSeries-season ; sh:property schema:VideoGameSeries-seasons ; sh:property schema:VideoGameSeries-trailer ; . schema:VideoGameSeries-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:VideoGameSeries-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:VideoGameSeries-characterAttribute a sh:PropertyShape ; sh:path schema:characterAttribute ; sh:class schema:Thing ; sh:description "A piece of data that represents a particular aspect of a fictional character (skill, power, character points, advantage, disadvantage)."^^rdf:HTML ; sh:name "characterAttribute" ; . schema:VideoGameSeries-cheatCode a sh:PropertyShape ; sh:path schema:cheatCode ; sh:class schema:CreativeWork ; sh:description "Cheat codes to the game."^^rdf:HTML ; sh:name "cheatCode" ; . schema:VideoGameSeries-containsSeason a sh:PropertyShape ; sh:path schema:containsSeason ; sh:class schema:CreativeWorkSeason ; sh:description "A season that is part of the media series."^^rdf:HTML ; sh:name "containsSeason" ; . schema:VideoGameSeries-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:VideoGameSeries-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:VideoGameSeries-episode a sh:PropertyShape ; sh:path schema:episode ; sh:class schema:Episode ; sh:description "An episode of a tv, radio or game media within a series or season."^^rdf:HTML ; sh:name "episode" ; . schema:VideoGameSeries-episodes a sh:PropertyShape ; sh:path schema:episodes ; sh:class schema:Episode ; sh:description "An episode of a TV/radio series or season."^^rdf:HTML ; sh:name "episodes" ; . schema:VideoGameSeries-gameItem a sh:PropertyShape ; sh:path schema:gameItem ; sh:class schema:Thing ; sh:description "An item is an object within the game world that can be collected by a player or, occasionally, a non-player character."^^rdf:HTML ; sh:name "gameItem" ; . schema:VideoGameSeries-gameLocation a sh:PropertyShape ; sh:path schema:gameLocation ; sh:description "Real or fictional location of the game (or part of game)."^^rdf:HTML ; sh:name "gameLocation" ; sh:or ( [ sh:class schema:Place ; ] [ sh:class schema:PostalAddress ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:VideoGameSeries-gamePlatform a sh:PropertyShape ; sh:path schema:gamePlatform ; sh:description "The electronic systems used to play video games."^^rdf:HTML ; sh:name "gamePlatform" ; sh:or ( [ sh:class schema:Thing ; ] [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VideoGameSeries-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:VideoGameSeries-numberOfEpisodes a sh:PropertyShape ; sh:path schema:numberOfEpisodes ; sh:datatype xsd:integer ; sh:description "The number of episodes in this season or series."^^rdf:HTML ; sh:name "numberOfEpisodes" ; . schema:VideoGameSeries-numberOfPlayers a sh:PropertyShape ; sh:path schema:numberOfPlayers ; sh:class schema:QuantitativeValue ; sh:description "Indicate how many people can play this game (minimum, maximum, or range)."^^rdf:HTML ; sh:name "numberOfPlayers" ; . schema:VideoGameSeries-numberOfSeasons a sh:PropertyShape ; sh:path schema:numberOfSeasons ; sh:datatype xsd:integer ; sh:description "The number of seasons in this series."^^rdf:HTML ; sh:name "numberOfSeasons" ; . schema:VideoGameSeries-playMode a sh:PropertyShape ; sh:path schema:playMode ; sh:class schema:GamePlayMode ; sh:description "Indicates whether this game is multi-player, co-op or single-player. The game can be marked as multi-player, co-op and single-player at the same time."^^rdf:HTML ; sh:name "playMode" ; . schema:VideoGameSeries-productionCompany a sh:PropertyShape ; sh:path schema:productionCompany ; sh:class schema:Organization ; sh:description "The production company or studio responsible for the item e.g. series, video game, episode etc."^^rdf:HTML ; sh:name "productionCompany" ; . schema:VideoGameSeries-quest a sh:PropertyShape ; sh:path schema:quest ; sh:class schema:Thing ; sh:description "The task that a player-controlled character, or group of characters may complete in order to gain a reward."^^rdf:HTML ; sh:name "quest" ; . schema:VideoGameSeries-season a sh:PropertyShape ; sh:path schema:season ; sh:description "A season in a media series."^^rdf:HTML ; sh:name "season" ; sh:or ( [ sh:class schema:CreativeWorkSeason ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:VideoGameSeries-seasons a sh:PropertyShape ; sh:path schema:seasons ; sh:class schema:CreativeWorkSeason ; sh:description "A season in a media series."^^rdf:HTML ; sh:name "seasons" ; . schema:VideoGameSeries-trailer a sh:PropertyShape ; sh:path schema:trailer ; sh:class schema:VideoObject ; sh:description "The trailer of a movie or tv/radio series, season, episode, etc."^^rdf:HTML ; sh:name "trailer" ; . schema:VideoObject a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A video file."^^rdf:HTML ; rdfs:label "Video object" ; rdfs:subClassOf schema:MediaObject ; sh:property schema:VideoObject-actor ; sh:property schema:VideoObject-actors ; sh:property schema:VideoObject-caption ; sh:property schema:VideoObject-director ; sh:property schema:VideoObject-directors ; sh:property schema:VideoObject-musicBy ; sh:property schema:VideoObject-thumbnail ; sh:property schema:VideoObject-transcript ; sh:property schema:VideoObject-videoFrameSize ; sh:property schema:VideoObject-videoQuality ; . schema:VideoObject-actor a sh:PropertyShape ; sh:path schema:actor ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actor" ; . schema:VideoObject-actors a sh:PropertyShape ; sh:path schema:actors ; sh:class schema:Person ; sh:description "An actor, e.g. in tv, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "actors" ; . schema:VideoObject-caption a sh:PropertyShape ; sh:path schema:caption ; sh:description "The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]]."^^rdf:HTML ; sh:name "caption" ; sh:or ( [ sh:class schema:MediaObject ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VideoObject-director a sh:PropertyShape ; sh:path schema:director ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "director" ; . schema:VideoObject-directors a sh:PropertyShape ; sh:path schema:directors ; sh:class schema:Person ; sh:description "A director of e.g. tv, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip."^^rdf:HTML ; sh:name "directors" ; . schema:VideoObject-musicBy a sh:PropertyShape ; sh:path schema:musicBy ; sh:description "The composer of the soundtrack."^^rdf:HTML ; sh:name "musicBy" ; sh:or ( [ sh:class schema:MusicGroup ; ] [ sh:class schema:Person ; ] ) ; . schema:VideoObject-thumbnail a sh:PropertyShape ; sh:path schema:thumbnail ; sh:class schema:ImageObject ; sh:description "Thumbnail image for an image or video."^^rdf:HTML ; sh:name "thumbnail" ; . schema:VideoObject-transcript a sh:PropertyShape ; sh:path schema:transcript ; sh:datatype xsd:string ; sh:description "If this MediaObject is an AudioObject or VideoObject, the transcript of that object."^^rdf:HTML ; sh:name "transcript" ; . schema:VideoObject-videoFrameSize a sh:PropertyShape ; sh:path schema:videoFrameSize ; sh:datatype xsd:string ; sh:description "The frame size of the video."^^rdf:HTML ; sh:name "videoFrameSize" ; . schema:VideoObject-videoQuality a sh:PropertyShape ; sh:path schema:videoQuality ; sh:datatype xsd:string ; sh:description "The quality of the video."^^rdf:HTML ; sh:name "videoQuality" ; . schema:ViewAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of consuming static visual content."^^rdf:HTML ; rdfs:label "View action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:VinylFormat a schema:MusicReleaseFormatType ; schema:source ; rdfs:comment "VinylFormat." ; rdfs:label "Vinyl format" ; . schema:VirtualLocation a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An online or virtual location for attending events. For example, one may attend an online seminar or educational event. While a virtual location may be used as the location of an event, virtual locations should not be confused with physical locations in the real world."^^rdf:HTML ; rdfs:label "Virtual location" ; rdfs:subClassOf schema:Intangible ; . schema:Virus a schema:InfectiousAgentClass ; schema:isPartOf ; rdfs:comment "Pathogenic virus that causes viral infection." ; rdfs:label "Virus" ; . schema:VisualArtsEvent a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Event type: Visual arts event."^^rdf:HTML ; rdfs:label "Visual arts event" ; rdfs:subClassOf schema:Event ; . schema:VisualArtwork a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A work of art that is primarily visual in character."^^rdf:HTML ; rdfs:label "Visual artwork" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:VisualArtwork-artEdition ; sh:property schema:VisualArtwork-artMedium ; sh:property schema:VisualArtwork-artform ; sh:property schema:VisualArtwork-artist ; sh:property schema:VisualArtwork-artworkSurface ; sh:property schema:VisualArtwork-colorist ; sh:property schema:VisualArtwork-depth ; sh:property schema:VisualArtwork-height ; sh:property schema:VisualArtwork-inker ; sh:property schema:VisualArtwork-letterer ; sh:property schema:VisualArtwork-penciler ; sh:property schema:VisualArtwork-surface ; sh:property schema:VisualArtwork-width ; . schema:VisualArtwork-artEdition a sh:PropertyShape ; sh:path schema:artEdition ; sh:description "The number of copies when multiple copies of a piece of artwork are produced - e.g. for a limited edition of 20 prints, 'artEdition' refers to the total number of copies (in this example \"20\")."^^rdf:HTML ; sh:name "artEdition" ; sh:or ( [ sh:datatype xsd:integer ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-artMedium a sh:PropertyShape ; sh:path schema:artMedium ; sh:description "The material used. (e.g. Oil, Watercolour, Acrylic, Linoprint, Marble, Cyanotype, Digital, Lithograph, DryPoint, Intaglio, Pastel, Woodcut, Pencil, Mixed Media, etc.)"^^rdf:HTML ; sh:name "artMedium" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-artform a sh:PropertyShape ; sh:path schema:artform ; sh:description "e.g. Painting, Drawing, Sculpture, Print, Photograph, Assemblage, Collage, etc."^^rdf:HTML ; sh:name "artform" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-artist a sh:PropertyShape ; sh:path schema:artist ; sh:class schema:Person ; sh:description """The primary artist for a work in a medium other than pencils or digital line art--for example, if the primary artwork is done in watercolors or digital paints."""^^rdf:HTML ; sh:name "artist" ; . schema:VisualArtwork-artworkSurface a sh:PropertyShape ; sh:path schema:artworkSurface ; sh:description "The supporting materials for the artwork, e.g. Canvas, Paper, Wood, Board, etc."^^rdf:HTML ; sh:name "artworkSurface" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-colorist a sh:PropertyShape ; sh:path schema:colorist ; sh:class schema:Person ; sh:description "The individual who adds color to inked drawings."^^rdf:HTML ; sh:name "colorist" ; . schema:VisualArtwork-depth a sh:PropertyShape ; sh:path schema:depth ; sh:description "The depth of the item."^^rdf:HTML ; sh:name "depth" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-height a sh:PropertyShape ; sh:path schema:height ; sh:description "The height of the item."^^rdf:HTML ; sh:name "height" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-inker a sh:PropertyShape ; sh:path schema:inker ; sh:class schema:Person ; sh:description "The individual who traces over the pencil drawings in ink after pencils are complete."^^rdf:HTML ; sh:name "inker" ; . schema:VisualArtwork-letterer a sh:PropertyShape ; sh:path schema:letterer ; sh:class schema:Person ; sh:description "The individual who adds lettering, including speech balloons and sound effects, to artwork."^^rdf:HTML ; sh:name "letterer" ; . schema:VisualArtwork-penciler a sh:PropertyShape ; sh:path schema:penciler ; sh:class schema:Person ; sh:description "The individual who draws the primary narrative artwork."^^rdf:HTML ; sh:name "penciler" ; . schema:VisualArtwork-surface a sh:PropertyShape ; sh:path schema:surface ; sh:description "A material used as a surface in some artwork, e.g. Canvas, Paper, Wood, Board, etc."^^rdf:HTML ; sh:name "surface" ; sh:or ( [ sh:nodeKind sh:IRI ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VisualArtwork-width a sh:PropertyShape ; sh:path schema:width ; sh:description "The width of the item."^^rdf:HTML ; sh:name "width" ; sh:or ( [ sh:class schema:QuantitativeValue ; ] [ sh:datatype xsd:string ; ] ) ; . schema:VitalSign a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; rdfs:comment "Vital signs are measures of various physiological functions in order to assess the most basic body functions."^^rdf:HTML ; rdfs:label "Vital sign" ; rdfs:subClassOf schema:MedicalSign ; . schema:Volcano a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A volcano, like Fuji san."^^rdf:HTML ; rdfs:label "Volcano" ; rdfs:subClassOf schema:Landform ; . schema:VoteAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a preference from a fixed/finite/structured set of choices/options."^^rdf:HTML ; rdfs:label "Vote action" ; rdfs:subClassOf schema:ChooseAction ; sh:property schema:VoteAction-candidate ; . schema:VoteAction-candidate a sh:PropertyShape ; sh:path schema:candidate ; sh:class schema:Person ; sh:description "A sub property of object. The candidate subject of this action."^^rdf:HTML ; sh:name "candidate" ; . schema:WPAdBlock a rdfs:Class ; a sh:NodeShape ; rdfs:comment "An advertising section of the page."^^rdf:HTML ; rdfs:label "WPAd block" ; rdfs:subClassOf schema:WebPageElement ; . schema:WPFooter a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The footer section of the page."^^rdf:HTML ; rdfs:label "WPFooter" ; rdfs:subClassOf schema:WebPageElement ; . schema:WPHeader a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The header section of the page."^^rdf:HTML ; rdfs:label "WPHeader" ; rdfs:subClassOf schema:WebPageElement ; . schema:WPSideBar a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A sidebar section of the page."^^rdf:HTML ; rdfs:label "WPSide bar" ; rdfs:subClassOf schema:WebPageElement ; . schema:WantAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of expressing a desire about the object. An agent wants an object."^^rdf:HTML ; rdfs:label "Want action" ; rdfs:subClassOf schema:ReactAction ; . schema:WarrantyPromise a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A structured value representing the duration and scope of services that will be provided to a customer free of charge in case of a defect or malfunction of a product."^^rdf:HTML ; rdfs:label "Warranty promise" ; rdfs:subClassOf schema:StructuredValue ; sh:property schema:WarrantyPromise-durationOfWarranty ; sh:property schema:WarrantyPromise-warrantyScope ; . schema:WarrantyPromise-durationOfWarranty a sh:PropertyShape ; sh:path schema:durationOfWarranty ; sh:class schema:QuantitativeValue ; sh:description "The duration of the warranty promise. Common unitCode values are ANN for year, MON for months, or DAY for days."^^rdf:HTML ; sh:name "durationOfWarranty" ; . schema:WarrantyPromise-warrantyScope a sh:PropertyShape ; sh:path schema:warrantyScope ; sh:class schema:WarrantyScope ; sh:description "The scope of the warranty promise."^^rdf:HTML ; sh:name "warrantyScope" ; . schema:WarrantyScope a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment """A range of of services that will be provided to a customer free of charge in case of a defect or malfunction of a product.\\n\\nCommonly used values:\\n\\n* http://purl.org/goodrelations/v1#Labor-BringIn\\n* http://purl.org/goodrelations/v1#PartsAndLabor-BringIn\\n* http://purl.org/goodrelations/v1#PartsAndLabor-PickUp """^^rdf:HTML ; rdfs:label "Warranty scope" ; rdfs:subClassOf schema:Enumeration ; . schema:WatchAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of consuming dynamic/moving visual content."^^rdf:HTML ; rdfs:label "Watch action" ; rdfs:subClassOf schema:ConsumeAction ; . schema:Waterfall a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A waterfall, like Niagara."^^rdf:HTML ; rdfs:label "Waterfall" ; rdfs:subClassOf schema:BodyOfWater ; . schema:WearAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of dressing oneself in clothing."^^rdf:HTML ; rdfs:label "Wear action" ; rdfs:subClassOf schema:UseAction ; . schema:WearableMeasurementBack a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the back section, for example of a jacket" ; rdfs:label "Wearable measurement back" ; . schema:WearableMeasurementChestOrBust a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the chest/bust section, for example of a suit" ; rdfs:label "Wearable measurement chest or bust" ; . schema:WearableMeasurementCollar a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the collar, for example of a shirt" ; rdfs:label "Wearable measurement collar" ; . schema:WearableMeasurementCup a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the cup, for example of a bra" ; rdfs:label "Wearable measurement cup" ; . schema:WearableMeasurementHeight a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the height, for example the heel height of a shoe" ; rdfs:label "Wearable measurement height" ; . schema:WearableMeasurementHips a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the hip section, for example of a skirt" ; rdfs:label "Wearable measurement hips" ; . schema:WearableMeasurementInseam a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the inseam, for example of pants" ; rdfs:label "Wearable measurement inseam" ; . schema:WearableMeasurementLength a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Represents the length, for example of a dress" ; rdfs:label "Wearable measurement length" ; . schema:WearableMeasurementOutsideLeg a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the outside leg, for example of pants" ; rdfs:label "Wearable measurement outside leg" ; . schema:WearableMeasurementSleeve a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the sleeve length, for example of a shirt" ; rdfs:label "Wearable measurement sleeve" ; . schema:WearableMeasurementTypeEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates common types of measurement for wearables products."^^rdf:HTML ; rdfs:label "Wearable measurement type enumeration" ; rdfs:subClassOf schema:MeasurementTypeEnumeration ; . schema:WearableMeasurementWaist a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the waist section, for example of pants" ; rdfs:label "Wearable measurement waist" ; . schema:WearableMeasurementWidth a schema:WearableMeasurementTypeEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Measurement of the width, for example of shoes" ; rdfs:label "Wearable measurement width" ; . schema:WearableSizeGroupBig a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Big\" for wearables." ; rdfs:label "Wearable size group big" ; . schema:WearableSizeGroupBoys a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Boys\" for wearables." ; rdfs:label "Wearable size group boys" ; . schema:WearableSizeGroupEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates common size groups (also known as \"size types\") for wearable products."^^rdf:HTML ; rdfs:label "Wearable size group enumeration" ; rdfs:subClassOf schema:SizeGroupEnumeration ; . schema:WearableSizeGroupExtraShort a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Extra Short\" for wearables." ; rdfs:label "Wearable size group extra short" ; . schema:WearableSizeGroupExtraTall a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Extra Tall\" for wearables." ; rdfs:label "Wearable size group extra tall" ; . schema:WearableSizeGroupGirls a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Girls\" for wearables." ; rdfs:label "Wearable size group girls" ; . schema:WearableSizeGroupHusky a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Husky\" (or \"Stocky\") for wearables." ; rdfs:label "Wearable size group husky" ; . schema:WearableSizeGroupInfants a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Infants\" for wearables." ; rdfs:label "Wearable size group infants" ; . schema:WearableSizeGroupJuniors a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Juniors\" for wearables." ; rdfs:label "Wearable size group juniors" ; . schema:WearableSizeGroupMaternity a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Maternity\" for wearables." ; rdfs:label "Wearable size group maternity" ; . schema:WearableSizeGroupMens a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Mens\" for wearables." ; rdfs:label "Wearable size group mens" ; . schema:WearableSizeGroupMisses a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Misses\" (also known as \"Missy\") for wearables." ; rdfs:label "Wearable size group misses" ; . schema:WearableSizeGroupPetite a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Petite\" for wearables." ; rdfs:label "Wearable size group petite" ; . schema:WearableSizeGroupPlus a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Plus\" for wearables." ; rdfs:label "Wearable size group plus" ; . schema:WearableSizeGroupRegular a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Regular\" for wearables." ; rdfs:label "Wearable size group regular" ; . schema:WearableSizeGroupShort a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Short\" for wearables." ; rdfs:label "Wearable size group short" ; . schema:WearableSizeGroupTall a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Tall\" for wearables." ; rdfs:label "Wearable size group tall" ; . schema:WearableSizeGroupWomens a schema:WearableSizeGroupEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Size group \"Womens\" for wearables." ; rdfs:label "Wearable size group womens" ; . schema:WearableSizeSystemAU a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Australian size system for wearables." ; rdfs:label "Wearable size system AU" ; . schema:WearableSizeSystemBR a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Brazilian size system for wearables." ; rdfs:label "Wearable size system BR" ; . schema:WearableSizeSystemCN a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Chinese size system for wearables." ; rdfs:label "Wearable size system CN" ; . schema:WearableSizeSystemContinental a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Continental size system for wearables." ; rdfs:label "Wearable size system continental" ; . schema:WearableSizeSystemDE a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "German size system for wearables." ; rdfs:label "Wearable size system DE" ; . schema:WearableSizeSystemEN13402 a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "EN 13402 (joint European standard for size labelling of clothes)." ; rdfs:label "Wearable size system EN13402" ; . schema:WearableSizeSystemEnumeration a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Enumerates common size systems specific for wearable products"^^rdf:HTML ; rdfs:label "Wearable size system enumeration" ; rdfs:subClassOf schema:SizeSystemEnumeration ; . schema:WearableSizeSystemEurope a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "European size system for wearables." ; rdfs:label "Wearable size system europe" ; . schema:WearableSizeSystemFR a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "French size system for wearables." ; rdfs:label "Wearable size system FR" ; . schema:WearableSizeSystemGS1 a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "GS1 (formerly NRF) size system for wearables." ; rdfs:label "Wearable size system GS1" ; . schema:WearableSizeSystemIT a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Italian size system for wearables." ; rdfs:label "Wearable size system IT" ; . schema:WearableSizeSystemJP a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Japanese size system for wearables." ; rdfs:label "Wearable size system JP" ; . schema:WearableSizeSystemMX a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "Mexican size system for wearables." ; rdfs:label "Wearable size system MX" ; . schema:WearableSizeSystemUK a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "United Kingdom size system for wearables." ; rdfs:label "Wearable size system UK" ; . schema:WearableSizeSystemUS a schema:WearableSizeSystemEnumeration ; schema:isPartOf ; schema:source ; rdfs:comment "United States size system for wearables." ; rdfs:label "Wearable size system US" ; . schema:WebAPI a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "An application programming interface accessible over Web/Internet technologies."^^rdf:HTML ; rdfs:label "Web API" ; rdfs:subClassOf schema:Service ; sh:property schema:WebAPI-documentation ; . schema:WebAPI-documentation a sh:PropertyShape ; sh:path schema:documentation ; sh:description "Further documentation describing the Web API in more detail."^^rdf:HTML ; sh:name "documentation" ; sh:or ( [ sh:class schema:CreativeWork ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:WebApplication a rdfs:Class ; a sh:NodeShape ; rdfs:comment "Web applications."^^rdf:HTML ; rdfs:label "Web application" ; rdfs:subClassOf schema:SoftwareApplication ; sh:property schema:WebApplication-browserRequirements ; . schema:WebApplication-browserRequirements a sh:PropertyShape ; sh:path schema:browserRequirements ; sh:datatype xsd:string ; sh:description "Specifies browser requirements in human-readable text. For example, 'requires HTML5 support'."^^rdf:HTML ; sh:name "browserRequirements" ; . schema:WebContent a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "WebContent is a type representing all [[WebPage]], [[WebSite]] and [[WebPageElement]] content. It is sometimes the case that detailed distinctions between Web pages, sites and their parts is not always important or obvious. The [[WebContent]] type makes it easier to describe Web-addressable content without requiring such distinctions to always be stated. (The intent is that the existing types [[WebPage]], [[WebSite]] and [[WebPageElement]] will eventually be declared as subtypes of [[WebContent]])."^^rdf:HTML ; rdfs:label "Web content" ; rdfs:subClassOf schema:CreativeWork ; . schema:WebPage a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A web page. Every web page is implicitly assumed to be declared to be of type WebPage, so the various properties about that webpage, such as breadcrumb may be used. We recommend explicit declaration if these properties are specified, but if they are found outside of an itemscope, they will be assumed to be about the page."^^rdf:HTML ; rdfs:label "Web page" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:WebPage-breadcrumb ; sh:property schema:WebPage-lastReviewed ; sh:property schema:WebPage-mainContentOfPage ; sh:property schema:WebPage-primaryImageOfPage ; sh:property schema:WebPage-relatedLink ; sh:property schema:WebPage-reviewedBy ; sh:property schema:WebPage-significantLink ; sh:property schema:WebPage-significantLinks ; sh:property schema:WebPage-speakable ; sh:property schema:WebPage-specialty ; . schema:WebPage-breadcrumb a sh:PropertyShape ; sh:path schema:breadcrumb ; sh:description "A set of links that can help a user understand and navigate a website hierarchy."^^rdf:HTML ; sh:name "breadcrumb" ; sh:or ( [ sh:class schema:BreadcrumbList ; ] [ sh:datatype xsd:string ; ] ) ; . schema:WebPage-lastReviewed a sh:PropertyShape ; sh:path schema:lastReviewed ; sh:datatype xsd:date ; sh:description "Date on which the content on this web page was last reviewed for accuracy and/or completeness."^^rdf:HTML ; sh:name "lastReviewed" ; . schema:WebPage-mainContentOfPage a sh:PropertyShape ; sh:path schema:mainContentOfPage ; sh:class schema:WebPageElement ; sh:description "Indicates if this web page element is the main subject of the page."^^rdf:HTML ; sh:name "mainContentOfPage" ; . schema:WebPage-primaryImageOfPage a sh:PropertyShape ; sh:path schema:primaryImageOfPage ; sh:class schema:ImageObject ; sh:description "Indicates the main image on the page."^^rdf:HTML ; sh:name "primaryImageOfPage" ; . schema:WebPage-relatedLink a sh:PropertyShape ; sh:path schema:relatedLink ; sh:description "A link related to this web page, for example to other related web pages."^^rdf:HTML ; sh:name "relatedLink" ; sh:nodeKind sh:IRI ; . schema:WebPage-reviewedBy a sh:PropertyShape ; sh:path schema:reviewedBy ; sh:description "People or organizations that have reviewed the content on this web page for accuracy and/or completeness."^^rdf:HTML ; sh:name "reviewedBy" ; sh:or ( [ sh:class schema:Organization ; ] [ sh:class schema:Person ; ] ) ; . schema:WebPage-significantLink a sh:PropertyShape ; sh:path schema:significantLink ; sh:description "One of the more significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most."^^rdf:HTML ; sh:name "significantLink" ; sh:nodeKind sh:IRI ; . schema:WebPage-significantLinks a sh:PropertyShape ; sh:path schema:significantLinks ; sh:description "The most significant URLs on the page. Typically, these are the non-navigation links that are clicked on the most."^^rdf:HTML ; sh:name "significantLinks" ; sh:nodeKind sh:IRI ; . schema:WebPage-speakable a sh:PropertyShape ; sh:path schema:speakable ; sh:description """Indicates sections of a Web page that are particularly 'speakable' in the sense of being highlighted as being especially appropriate for text-to-speech conversion. Other sections of a page may also be usefully spoken in particular circumstances; the 'speakable' property serves to indicate the parts most likely to be generally useful for speech. The *speakable* property can be repeated an arbitrary number of times, with three kinds of possible 'content-locator' values: 1.) *id-value* URL references - uses *id-value* of an element in the page being annotated. The simplest use of *speakable* has (potentially relative) URL values, referencing identified sections of the document concerned. 2.) CSS Selectors - addresses content in the annotated page, eg. via class attribute. Use the [[cssSelector]] property. 3.) XPaths - addresses content via XPaths (assuming an XML view of the content). Use the [[xpath]] property. For more sophisticated markup of speakable sections beyond simple ID references, either CSS selectors or XPath expressions to pick out document section(s) as speakable. For this we define a supporting type, [[SpeakableSpecification]] which is defined to be a possible value of the *speakable* property. """^^rdf:HTML ; sh:name "speakable" ; sh:or ( [ sh:class schema:SpeakableSpecification ; ] [ sh:nodeKind sh:IRI ; ] ) ; . schema:WebPage-specialty a sh:PropertyShape ; sh:path schema:specialty ; sh:class schema:Specialty ; sh:description "One of the domain specialities to which this web page's content applies."^^rdf:HTML ; sh:name "specialty" ; . schema:WebPageElement a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A web page element, like a table or an image."^^rdf:HTML ; rdfs:label "Web page element" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:WebPageElement-cssSelector ; sh:property schema:WebPageElement-xpath ; . schema:WebPageElement-cssSelector a sh:PropertyShape ; sh:path schema:cssSelector ; sh:class schema:CssSelectorType ; sh:description "A CSS selector, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual \"Web page element\"."^^rdf:HTML ; sh:name "cssSelector" ; . schema:WebPageElement-xpath a sh:PropertyShape ; sh:path schema:xpath ; sh:class schema:XPathType ; sh:description "An XPath, e.g. of a [[SpeakableSpecification]] or [[WebPageElement]]. In the latter case, multiple matches within a page can constitute a single conceptual \"Web page element\"."^^rdf:HTML ; sh:name "xpath" ; . schema:WebSite a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A WebSite is a set of related web pages and other items typically served from a single web domain and accessible via URLs."^^rdf:HTML ; rdfs:label "Web site" ; rdfs:subClassOf schema:CreativeWork ; sh:property schema:WebSite-issn ; . schema:WebSite-issn a sh:PropertyShape ; sh:path schema:issn ; sh:datatype xsd:string ; sh:description "The International Standard Serial Number (ISSN) that identifies this serial publication. You can repeat this property to identify different formats of, or the linking ISSN (ISSN-L) for, this serial publication."^^rdf:HTML ; sh:name "issn" ; . schema:Wednesday a schema:DayOfWeek ; schema:sameAs ; rdfs:comment "The day of the week between Tuesday and Thursday." ; rdfs:label "Wednesday" ; . schema:WesternConventional a schema:MedicineSystem ; schema:isPartOf ; rdfs:comment "The conventional Western system of medicine, that aims to apply the best available evidence gained from the scientific method to clinical decision making. Also known as conventional or Western medicine." ; rdfs:label "Western conventional" ; . schema:Wholesale a schema:DrugCostCategory ; schema:isPartOf ; rdfs:comment "The drug's cost represents the wholesale acquisition cost of the drug." ; rdfs:label "Wholesale" ; . schema:WholesaleStore a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A wholesale store."^^rdf:HTML ; rdfs:label "Wholesale store" ; rdfs:subClassOf schema:Store ; . schema:WinAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of achieving victory in a competitive activity."^^rdf:HTML ; rdfs:label "Win action" ; rdfs:subClassOf schema:AchieveAction ; sh:property schema:WinAction-loser ; . schema:WinAction-loser a sh:PropertyShape ; sh:path schema:loser ; sh:class schema:Person ; sh:description "A sub property of participant. The loser of the action."^^rdf:HTML ; sh:name "loser" ; . schema:Winery a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A winery."^^rdf:HTML ; rdfs:label "Winery" ; rdfs:subClassOf schema:FoodEstablishment ; . schema:Withdrawn a schema:MedicalStudyStatus ; schema:isPartOf ; rdfs:comment "Withdrawn." ; rdfs:label "Withdrawn" ; . schema:WorkBasedProgram a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "A program with both an educational and employment component. Typically based at a workplace and structured around work-based learning, with the aim of instilling competencies related to an occupation. WorkBasedProgram is used to distinguish programs such as apprenticeships from school, college or other classroom based educational programs."^^rdf:HTML ; rdfs:label "Work based program" ; rdfs:subClassOf schema:EducationalOccupationalProgram ; sh:property schema:WorkBasedProgram-occupationalCategory ; sh:property schema:WorkBasedProgram-trainingSalary ; . schema:WorkBasedProgram-occupationalCategory a sh:PropertyShape ; sh:path schema:occupationalCategory ; sh:description """A category describing the job, preferably using a term from a taxonomy such as [BLS O*NET-SOC](http://www.onetcenter.org/taxonomy.html), [ISCO-08](https://www.ilo.org/public/english/bureau/stat/isco/isco08/) or similar, with the property repeated for each applicable value. Ideally the taxonomy should be identified, and both the textual label and formal code for the category should be provided.\\n Note: for historical reasons, any textual label and formal code provided as a literal may be assumed to be from O*NET-SOC."""^^rdf:HTML ; sh:name "occupationalCategory" ; sh:or ( [ sh:class schema:CategoryCode ; ] [ sh:datatype xsd:string ; ] ) ; . schema:WorkBasedProgram-trainingSalary a sh:PropertyShape ; sh:path schema:trainingSalary ; sh:class schema:MonetaryAmountDistribution ; sh:description "The estimated salary earned while in the program."^^rdf:HTML ; sh:name "trainingSalary" ; . schema:WorkersUnion a rdfs:Class ; a sh:NodeShape ; schema:source ; rdfs:comment "A Workers Union (also known as a Labor Union, Labour Union, or Trade Union) is an organization that promotes the interests of its worker members by collectively bargaining with management, organizing, and political lobbying."^^rdf:HTML ; rdfs:label "Workers union" ; rdfs:subClassOf schema:Organization ; . schema:WriteAction a rdfs:Class ; a sh:NodeShape ; rdfs:comment "The act of authoring written creative content."^^rdf:HTML ; rdfs:label "Write action" ; rdfs:subClassOf schema:CreateAction ; sh:property schema:WriteAction-inLanguage ; sh:property schema:WriteAction-language ; . schema:WriteAction-inLanguage a sh:PropertyShape ; sh:path schema:inLanguage ; sh:description "The language of the content or performance or used in an action. Please use one of the language codes from the [IETF BCP 47 standard](http://tools.ietf.org/html/bcp47). See also [[availableLanguage]]."^^rdf:HTML ; sh:name "inLanguage" ; sh:or ( [ sh:class schema:Language ; ] [ sh:datatype xsd:string ; ] ) ; . schema:WriteAction-language a sh:PropertyShape ; sh:path schema:language ; sh:class schema:Language ; sh:description "A sub property of instrument. The language used on this action."^^rdf:HTML ; sh:name "language" ; . schema:WritePermission a schema:DigitalDocumentPermissionType ; rdfs:comment "Permission to write or edit the document." ; rdfs:label "Write permission" ; . schema:XPathType a rdfs:Class ; a sh:NodeShape ; schema:isPartOf ; schema:source ; rdfs:comment "Text representing an XPath (typically but not necessarily version 1.0)."^^rdf:HTML ; rdfs:label "XPath type" ; rdfs:subClassOf xsd:string ; . schema:XRay a schema:MedicalImagingTechnique ; schema:isPartOf ; rdfs:comment "X-ray imaging." ; rdfs:label "XRay" ; . schema:ZoneBoardingPolicy a schema:BoardingPolicyType ; rdfs:comment "The airline boards by zones of the plane." ; rdfs:label "Zone boarding policy" ; . schema:Zoo a rdfs:Class ; a sh:NodeShape ; rdfs:comment "A zoo."^^rdf:HTML ; rdfs:label "Zoo" ; rdfs:subClassOf schema:CivicStructure ; . pyshacl-0.30.1/pyshacl/assets/shacl-shacl.pickle0000644000000000000000000017136100000000000016456 0ustar00€•æòŒrdflib.plugins.stores.memory”ŒMemory”“”)”}”(Œ_Store__node_pickler”NŒ dispatcher”Œ rdflib.events”Œ Dispatcher”“”)”Œ identifier”Œ rdflib.term”ŒURIRef”“”Œ!http://www.w3.org/ns/shacl-shacl#”…”R”Œ _Memory__spo”}”(hŒ!http://www.w3.org/ns/shacl-shacl#”…”R”}”(hŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h ŒLiteral”“”ŒSHACL for SHACL”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”hŒcThis shapes graph can be used to validate SHACL shapes graphs against a subset of the syntax rules.”Œen”N‡”R”KshŒ"http://www.w3.org/ns/shacl#declare”…”R”}”h ŒBNode”“”Œ#n8210bc7b64504ee9bc615742e2e57f4fb1”…”R”Ksuh2}”(hŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”hŒshsh”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”hŒ!http://www.w3.org/ns/shacl-shacl#”NN‡”R”KsuhŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”hŒ List shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”hŒA shape describing well-formed RDF lists. Currently does not check for non-recursion. This could be expressed using SHACL-SPARQL.”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#seeAlso”…”R”}”hŒ3https://www.w3.org/TR/shacl/#syntax-rule-SHACL-list”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”h/Œ#n8210bc7b64504ee9bc615742e2e57f4fb2”…”R”Ksuh/Œ#n8210bc7b64504ee9bc615742e2e57f4fb3”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Ksshj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hmKshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”hŒQEach list member (including this node) must be have the shape shsh:ListNodeShape.”Œen”N‡”R”KshŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ.http://www.w3.org/ns/shacl-shacl#ListNodeShape”…”R”KsuhŒ.http://www.w3.org/ns/shacl-shacl#ListNodeShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”hŒList node shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”hŒÜDefines constraints on what it means for a node to be a node within a well-formed RDF list. Note that this does not check whether the rdf:rest items are also well-formed lists as this would lead to unsupported recursion.”Œen”N‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb11”…”R”Ksuh/Œ#n8210bc7b64504ee9bc615742e2e57f4fb4”…”R”}”(hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(h/Œ#n8210bc7b64504ee9bc615742e2e57f4fb5”…”R”Kh/Œ#n8210bc7b64504ee9bc615742e2e57f4fb6”…”R”KuuhÄ}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsuhÇ}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuh/Œ#n8210bc7b64504ee9bc615742e2e57f4fb8”…”R”}”hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Kssh/Œ#n8210bc7b64504ee9bc615742e2e57f4fb7”…”R”}”(hŒhttp://www.w3.org/ns/shacl#not”…”R”}”hîKshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(h/Œ#n8210bc7b64504ee9bc615742e2e57f4fb9”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb10”…”R”Kuuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#minCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#minCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuh²}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hµKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb12”…”R”KsujL}”(jD}”hùKsjH}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ+http://www.w3.org/ns/shacl-shacl#ShapeShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”hŒ Shape shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”hŒCA shape that can be used to validate syntax rules for other shapes.”Œen”N‡”R”KshŒ&http://www.w3.org/ns/shacl#targetClass”…”R”}”(hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KhŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KuhŒ+http://www.w3.org/ns/shacl#targetSubjectsOf”…”R”}”(hŒ&http://www.w3.org/ns/shacl#targetClass”…”R”KhŒ%http://www.w3.org/ns/shacl#targetNode”…”R”KhŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”KhŒ+http://www.w3.org/ns/shacl#targetSubjectsOf”…”R”KhŒhttp://www.w3.org/ns/shacl#and”…”R”KhŒ http://www.w3.org/ns/shacl#class”…”R”KhŒ!http://www.w3.org/ns/shacl#closed”…”R”KhŒ#http://www.w3.org/ns/shacl#datatype”…”R”KhŒ#http://www.w3.org/ns/shacl#disjoint”…”R”KhŒ!http://www.w3.org/ns/shacl#equals”…”R”KhŒ http://www.w3.org/ns/shacl#flags”…”R”KhŒ#http://www.w3.org/ns/shacl#hasValue”…”R”KhŒ,http://www.w3.org/ns/shacl#ignoredProperties”…”R”KhŒhttp://www.w3.org/ns/shacl#in”…”R”KhŒ%http://www.w3.org/ns/shacl#languageIn”…”R”KhŒ#http://www.w3.org/ns/shacl#lessThan”…”R”KhŒ+http://www.w3.org/ns/shacl#lessThanOrEquals”…”R”KhŒ#http://www.w3.org/ns/shacl#maxCount”…”R”KhŒ'http://www.w3.org/ns/shacl#maxExclusive”…”R”KhŒ'http://www.w3.org/ns/shacl#maxInclusive”…”R”KhŒ$http://www.w3.org/ns/shacl#maxLength”…”R”KhŒ#http://www.w3.org/ns/shacl#minCount”…”R”KhŒ'http://www.w3.org/ns/shacl#minExclusive”…”R”KhŒ'http://www.w3.org/ns/shacl#minInclusive”…”R”KhŒ$http://www.w3.org/ns/shacl#minLength”…”R”KhŒhttp://www.w3.org/ns/shacl#node”…”R”KhŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”KhŒhttp://www.w3.org/ns/shacl#not”…”R”KhŒhttp://www.w3.org/ns/shacl#or”…”R”KhŒ"http://www.w3.org/ns/shacl#pattern”…”R”KhŒ#http://www.w3.org/ns/shacl#property”…”R”KhŒ,http://www.w3.org/ns/shacl#qualifiedMaxCount”…”R”KhŒ,http://www.w3.org/ns/shacl#qualifiedMinCount”…”R”KhŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”KhŒ7http://www.w3.org/ns/shacl#qualifiedValueShapesDisjoint”…”R”KhŒ!http://www.w3.org/ns/shacl#sparql”…”R”KhŒ%http://www.w3.org/ns/shacl#uniqueLang”…”R”KhŒhttp://www.w3.org/ns/shacl#xone”…”R”KuhŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”}”(hŒhttp://www.w3.org/ns/shacl#node”…”R”KhŒhttp://www.w3.org/ns/shacl#not”…”R”KhŒ#http://www.w3.org/ns/shacl#property”…”R”KhŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”KuhŒhttp://www.w3.org/ns/shacl#xone”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb13”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb15”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb16”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb17”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb18”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb28”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb29”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb34”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb37”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb38”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb39”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb40”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb41”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb46”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb47”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb48”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb49”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb50”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb51”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb56”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb57”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb58”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb59”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb60”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb61”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb62”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb63”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb64”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb65”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb66”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb73”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb74”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb75”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb76”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb77”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb78”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb79”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb80”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb81”…”R”KuhŒhttp://www.w3.org/ns/shacl#or”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb26”…”R”Ksuj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ/http://www.w3.org/ns/shacl-shacl#NodeShapeShape”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb14”…”R”Ksuj}”(j…}”hŒ3http://www.w3.org/ns/shacl-shacl#PropertyShapeShape”…”R”KsjŒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj }”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://www.w3.org/ns/shacl#targetNode”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ'http://www.w3.org/ns/shacl#IRIOrLiteral”…”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://www.w3.org/ns/shacl#targetClass”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://www.w3.org/ns/shacl#targetSubjectsOf”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb20”…”R”}”(hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb23”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb21”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”Kssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb22”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”Kssjç}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jêKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb24”…”R”Ksuj }”(j}”jõKsj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb19”…”R”}”hŒhttp://www.w3.org/ns/shacl#not”…”R”}”jØKssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb25”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb27”…”R”Ksuj.}”(j&}”jKsj*}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#severity”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://www.w3.org/ns/shacl#message”…”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb32”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb30”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”Kssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb31”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ5http://www.w3.org/1999/02/22-rdf-syntax-ns#langString”…”R”Kssj\}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j_KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb33”…”R”Ksuj~}”(jv}”jjKsjz}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ&http://www.w3.org/ns/shacl#deactivated”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#in”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb35”…”R”Ksuj}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb36”…”R”Ksuj¯}”(j¡}”hŒfalse”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”Ksj«}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj }”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#and”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”Ksuj#}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj&}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://www.w3.org/ns/shacl#closed”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj)}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://www.w3.org/ns/shacl#ignoredProperties”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb42”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Kssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb43”…”R”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ,http://www.w3.org/ns/shacl#ignoredProperties”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb44”…”R”Ksuj(}”(j}”jKsj$}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb45”…”R”Ksuj.}”(j}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”Ksj$}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj,}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”jKshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj/}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj2}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#disjoint”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj5}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://www.w3.org/ns/shacl#equals”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksuj8}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#in”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”Ksuj;}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://www.w3.org/ns/shacl#languageIn”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb52”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Kssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb53”…”R”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ%http://www.w3.org/ns/shacl#languageIn”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb54”…”R”KsujÉ}”(j¾}”j¯KsjÅ}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb55”…”R”KsujÏ}”(j¾}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”KsjÅ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj>}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”jºKshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KsujA}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#lessThan”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsujD}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://www.w3.org/ns/shacl#lessThanOrEquals”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KsujG}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#maxCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsujJ}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#maxExclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KsujM}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#maxInclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KsujP}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://www.w3.org/ns/shacl#maxLength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsujS}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#minCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsujV}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#minExclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KsujY}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#minInclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”Ksuj\}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://www.w3.org/ns/shacl#minLength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj_}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”KshŒhttp://www.w3.org/ns/shacl#in”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb67”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsujÙ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ$http://www.w3.org/ns/shacl#BlankNode”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb68”…”R”Ksujò}”(jç}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksjî}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb69”…”R”Ksujû}”(jç}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”Ksjî}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb70”…”R”Ksuj}”(jç}”hŒ)http://www.w3.org/ns/shacl#BlankNodeOrIRI”…”R”Ksjî}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb71”…”R”Ksuj }”(jç}”hŒ-http://www.w3.org/ns/shacl#BlankNodeOrLiteral”…”R”Ksjî}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb72”…”R”Ksuj}”(jç}”hŒ'http://www.w3.org/ns/shacl#IRIOrLiteral”…”R”Ksjî}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksujb}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#or”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”Ksuje}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://www.w3.org/ns/shacl#pattern”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujh}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://www.w3.org/ns/shacl#flags”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujk}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://www.w3.org/ns/shacl#qualifiedMaxCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujn}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://www.w3.org/ns/shacl#qualifiedMinCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujq}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujt}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ7http://www.w3.org/ns/shacl#qualifiedValueShapesDisjoint”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujw}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://www.w3.org/ns/shacl#uniqueLang”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksujz}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#xone”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#ListShape”…”R”KsuhŒ/http://www.w3.org/ns/shacl-shacl#NodeShapeShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”}”hŒhttp://www.w3.org/ns/shacl#node”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”(h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb82”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb83”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb84”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb85”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb86”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb87”…”R”Kh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb88”…”R”Kuujþ}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#path”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#lessThan”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://www.w3.org/ns/shacl#lessThanOrEquals”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#maxCount”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj }”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#minCount”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj }”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”Ksuj}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://www.w3.org/ns/shacl#uniqueLang”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ0”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KsuhŒ3http://www.w3.org/ns/shacl-shacl#PropertyShapeShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb89”…”R”Ksuj§}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#path”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#minCount”…”R”}”hŒ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒhttp://www.w3.org/ns/shacl#or”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb91”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb90”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KssjÊ}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ*http://www.w3.org/ns/shacl-shacl#PathShape”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb92”…”R”Ksujä}”(jÙ}”jÍKsjà}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ0http://www.w3.org/ns/shacl-shacl#ShapesListShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”}”(hŒhttp://www.w3.org/ns/shacl#and”…”R”KhŒhttp://www.w3.org/ns/shacl#or”…”R”KhŒhttp://www.w3.org/ns/shacl#xone”…”R”KuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb93”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb94”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Kssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb95”…”R”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ$n8210bc7b64504ee9bc615742e2e57f4fb96”…”R”Ksuj#}”(j}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”Ksj}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuj }”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”jKshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ+http://www.w3.org/ns/shacl-shacl#ShapeShape”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb98”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Kssh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb99”…”R”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”j;KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb100”…”R”KsujR}”(jJ}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”KsjN}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuh/Œ%n8210bc7b64504ee9bc615742e2e57f4fb101”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”Kssh/Œ%n8210bc7b64504ee9bc615742e2e57f4fb102”…”R”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ*http://www.w3.org/ns/shacl#alternativePath”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb103”…”R”Ksujx}”(jm}”j^Ksjt}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb104”…”R”Ksuj~}”(jm}”hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”Ksjt}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuh/Œ%n8210bc7b64504ee9bc615742e2e57f4fb105”…”R”}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”jFKshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb106”…”R”Ksuj–}”(jŽ}”jiKsj’}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb107”…”R”Ksujœ}”(jŽ}”hŒ&http://www.w3.org/ns/shacl#inversePath”…”R”Ksj’}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb108”…”R”Ksuj¥}”(jŽ}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”Ksj’}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb109”…”R”Ksuj®}”(jŽ}”hŒ(http://www.w3.org/ns/shacl#oneOrMorePath”…”R”Ksj’}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb110”…”R”Ksuj·}”(jŽ}”hŒ(http://www.w3.org/ns/shacl#zeroOrOnePath”…”R”Ksj’}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”Ksuh/Œ$n8210bc7b64504ee9bc615742e2e57f4fb97”…”R”}”hŒ*http://www.w3.org/ns/shacl#alternativePath”…”R”}”jŠKsshŒ*http://www.w3.org/ns/shacl-shacl#PathShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”hŒ Path shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”hŒQA shape that can be used to validate the syntax rules of well-formed SHACL paths.”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#seeAlso”…”R”}”hŒ+https://www.w3.org/TR/shacl/#property-paths”…”R”KshŒ#http://www.w3.org/ns/shacl#property”…”R”}”h/Œ%n8210bc7b64504ee9bc615742e2e57f4fb111”…”R”Ksuh/Œ%n8210bc7b64504ee9bc615742e2e57f4fb112”…”R”}”hŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”jÃKssjñ}”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”jôKshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ.http://www.w3.org/ns/shacl-shacl#PathNodeShape”…”R”Ksuh/Œ%n8210bc7b64504ee9bc615742e2e57f4fb113”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Kssh/Œ%n8210bc7b64504ee9bc615742e2e57f4fb114”…”R”}”(hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ$http://www.w3.org/ns/shacl#BlankNode”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒ }”(hŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ*http://www.w3.org/ns/shacl#alternativePath”…”R”KshŒhttp://www.w3.org/ns/shacl#node”…”R”}”hŒKsjì}”(jAKjKujû}”(jDKjKuj }”(jGKjKuj#}”jJKsj<}”jMKsjU}”jPKsjn}”(jSKj Kuj‡}”jVKsj }”jYKsj¹}”j\KsjÒ}”j_Ksj'}”jbKsj6}”jeKsjO}”jhKsjh}”jkKsj}”jnKsjš}”(jqKj Kuj¬}”jtKsjÅ}”(jwKjKujÞ}”jzKsj}”(jþKj§Kuj}”j Ksjô}”jñKsjF }”j> Ksj… }”j} Ksj½ }”jµ Ksjõ }”jí Ksj- }”j% Ksj˜ }”j• Ksuh…}”h‰}”(hjKhµKhîKushŒ}”(h}”hjKsjÊ}”(j Kj)Kj8Kj;KjbKjzKj Kuj8}”j Ksj }”jñKsj" }”(j Kj> Kuuhf}”(hj}”hDKshÄ}”hµKshÇ}”hµKsj}”hùKsj}”hùKsj }”jUKsj}”jUKsj}”jUKsj}”jUKsj}”jUKsj}”jUKsj}”jUKsj }”jUKsj#}”jUKsj&}”jUKsj)}”jUKsj,}”jUKsj/}”jUKsj2}”jUKsj5}”jUKsj8}”jUKsj;}”jUKsj>}”jUKsjA}”jUKsjD}”jUKsjG}”jUKsjJ}”jUKsjM}”jUKsjP}”jUKsjS}”jUKsjV}”jUKsjY}”jUKsj\}”jUKsj_}”jUKsjb}”jUKsje}”jUKsjh}”jUKsjk}”jUKsjn}”jUKsjq}”jUKsjt}”jUKsjw}”jUKsjz}”jUKsjþ}”jèKsj}”jèKsj}”jèKsj}”jèKsj }”jèKsj }”jèKsj}”jèKsj§}”j‘Ksj }”jíKsjñ}”jËKsj> }”j% Ksj} }”jd Ksjµ }”jœ Ksjí }”jÔ Ksj% }”j Ksj• }”j KsuhÒ}”(hÙ}”(hÄKhÇKjþKjKjKjKj Kj KjKuj}”(jKjKjKjKj&Kj)Kj/Kj8Kj;KjGKjJKjMKjPKjSKjVKjYKj\Kj_KjeKjhKjkKjnKjqKjtKjwKj§Kj> Kj} Kjµ Kjí Kj% Kuuhý}”(hî}”hùKsjØ}”jKsuj}”(j$}”(jKjKj§Kj> Kj} Kjµ Kjí Kj% Kuj¯ }”j• KsujD}”(hµ}”h²Kshù}”jLKsj‰}”jKsj•}”jKsjê}”jçKsjõ}”j Ksj}”jKsj}”j.Ksj_}”j\Ksjj}”j~Ksj¨}”jKsj·}”j¯Ksj!}”jKsj}”j(Ksj3}”(j.KjÏKj#KjRKj~KujÂ}”jºKsj¯}”jÉKsjë}”jÙKsj÷}”jòKsj}”jûKsj }”jKsj}”j Ksj}”jKsjÝ}”jÊKsjÍ}”jäKsj }”jKsj;}”jFKsjq}”jiKsj^}”jxKsjF}”jŠKsji}”j–Ksj¡}”jœKsjª}”j¥Ksj³}”j®Ksj¼}”j·Ksj }”jD Ksj }”jP Ksj% }”jV Ksjd }”j\ Ksjœ }”jb KsjÔ }”jh Ksj }”jn KsujH}”(jL}”h²KsjR}”(jLKjKj Kj.Kj~Kj¯Kj.KjÏKjKjäKj#KjRKj~Kj·Kjn Kuj}”jKsj }”jçKsj.}”jKsj~}”j\Ksj¯}”jKsj(}”jKsj.}”j(KsjÉ}”jºKsjÏ}”jÉKsjò}”jÙKsjû}”jòKsj}”jûKsj }”jKsj}”j Ksjä}”jÊKsj#}”jKsjR}”jFKsjx}”jiKsj~}”jxKsj–}”jŠKsjœ}”j–Ksj¥}”jœKsj®}”j¥Ksj·}”j®KsjP }”jD KsjV }”jP Ksj\ }”jV Ksjb }”j\ Ksjh }”jb Ksjn }”jh Ksuh®}”(h²}”h“Ksjç}”jØKsj}”jUKsj\}”jKsjÊ}”j§Ksujp}”(jt}”jUKsjw}”jUKsujz}”(j~}”jUKsj}”jUKsj„}”jUKsj‡}”jUKsjŠ}”jUKsj}”jUKsj}”jUKsj“}”jUKsj–}”jUKsj™}”jUKsjœ}”jUKsjŸ}”jUKsj¢}”jUKsj¥}”jUKsj¨}”jUKsj«}”jUKsj®}”jUKsj±}”jUKsj´}”jUKsj·}”jUKsjº}”jUKsj½}”jUKsjÀ}”jUKsjÃ}”jUKsjÆ}”jUKsjÉ}”jUKsjÌ}”jUKsjÏ}”jUKsjÒ}”jUKsjÕ}”jUKsjØ}”jUKsjÛ}”jUKsjÞ}”jUKsjá}”jUKsjä}”jUKsjç}”jUKsjê}”jUKsjí}”jUKsujð}”(jô}”(jUKjèKuj÷}”jUKsjú}”(jUKj‘Kujý}”jUKsjü}”jíKsjÿ}”jíKsj}”jíKsjÁ }”j² KsjÚ }”jË Ksuj}”(j}”jUKsjD }”jw Ksuj¤}”(j¨}”j Ksj·}”(jKjKjKjKjKj#Kj,Kj/Kj2Kj5KjAKjDKjÍKj Kj² KjË Kuj4}”(jJKjMKjVKjYKuj }”(j Kj% Kjd Kjœ KjÔ Kj KuujÜ}”(jà}”jØKsjò}”jêKsjý}”jõKsujc}”(jg}”(j_Kj>KjeKjhKujr}”jjKsjè}”(j&KjtKjwKuj}”(jGKjPKjSKj\KjkKjnKuuj™}”(j}”jKsjÙ}”j_KsujÇ}”jŠ}”jÃKssj0 }”j7 }”(j% Kjd Kjœ KjÔ Kj Kusjœ }”j  }”j˜ KssuŒ _Memory__osp”}”(h!}”h}”hKssh)}”h}”h$Kssh:}”h2}”h6KsshA}”h2}”h=Kssh2}”h}”h,KsshL}”(hD}”hHKsh“}”h—KsjU}”(jYKjpKujê}”jîKsjè}”jìKsj‘}”j•Ksjí}”jñKsjË}”jÏKsj }”jƒ Ksj² }”j¶ KsjË }”jÏ KsuhT}”hD}”hOKssh\}”hD}”hWKsshc}”hD}”h_Ksshu}”(hm}”hqKshÇ}”hÝKsj}”j(Ksj}”jKsj¯}”j³Ksj }”jKsj;}”j?Ksj^}”jbKsj˜ }”jœ Ksuhm}”hj}”hyKssh‚}”hj}”h}Kssh‰}”(hj}”h…Kshµ}”h¹Kshî}”hòKsjL}”jHKsj}”jŒKsj }”jKsj.}”j*Ksj~}”jzKsj¯}”j«Ksj.}”j$KsjÏ}”jÅKsj}”jîKsjä}”jàKsj#}”jKsjR}”jNKsj~}”jtKsj·}”j’Ksjn }”jL Ksuh}”hj}”hŒKsshj}”hD}”hfKssh£}”h“}”hžKssh«}”h“}”h¦KsshÏ}”(hÄ}”hËKsj}”j Ksj.}”jKsjÏ}”j¾Ksj#}”jKsjR}”jJKsj~}”jmKsuhÙ}”(hÄ}”hÒKshÇ}”häKsjþ}”jKsj}”j-Ksj}”j?Ksj}”jQKsj }”jcKsj }”juKsj}”j‡KsuhÄ}”hµ}”hÀKsshÇ}”hµ}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Ksshî}”hù}”hýKssj}”(j}”(jKjKuj}”(j/Kj9Kuj}”j?Ksj}”jKsj&}”jëKsj)}”jKsj/}”jUKsj8}”j…Ksj;}”jžKsjG}”jKsjJ}”j&KsjM}”j?KsjP}”j_KsjS}”jxKsjV}”jŠKsjY}”j£Ksj\}”jÃKsj_}”jÜKsje}”j@Ksjh}”jYKsjk}”jrKsjn}”j‹Ksjq}”jKsjt}”j¶Ksjw}”jÏKsj§}”(j²Kj¼Kuj> }”(jP KjZ Kuj} }”(jˆ Kj’ Kujµ }”(jÀ KjÊ Kují }”(jø Kj Kuj% }”(j0 Kj: Kuuj}”hù}”jKssj}”hù}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Ksshµ}”h²}”jDKssjL}”h²}”jHKsshù}”jL}”jDKssh²}”h“}”h®Kssje}”jU}”j`Kssjm}”jU}”jhKssjw}”(jU}”hŒ&http://www.w3.org/ns/shacl#targetClass”…”R”Ksjõ}”jùKsuj~}”(jU}”jzKsj}”j¬Ksuj}”(jU}”jzKsj }”jKsuj„}”(jU}”jzKsj}”jÊKsuj‡}”(jU}”jzKsj}”j»KsujŠ}”(jU}”hŒ+http://www.w3.org/ns/shacl#targetSubjectsOf”…”R”Ksj }”j¿Ksjí}”jøKsuj}”(jU}”jÊ Ksj#}”jÎKsuj}”(jU}”jÊ Ksj&}”jÝKsuj“}”(jU}”jÊ Ksj/}”jGKsuj–}”(jU}”jÊ Ksj2}”j`Ksuj™}”(jU}”jÊ Ksj5}”joKsujœ}”(jU}”jÊ Ksjh}”jKKsujŸ}”jU}”jÊ Kssj¢}”(jU}”jÊ Ksj)}”jöKsj}”jKsuj¥}”(jU}”jÊ Ksj8}”j~Ksuj¨}”(jU}”jÊ Ksj;}”j—Ksjº}”j¾Ksuj«}”(jU}”jÊ KsjA}”jèKsj}”j&Ksuj®}”(jU}”jÊ KsjD}”j÷Ksj}”j8Ksuj±}”(jU}”jÊ KsjG}”jKsj}”jJKsuj´}”(jU}”jÊ KsjJ}”jKsuj·}”(jU}”jÊ KsjM}”j8Ksujº}”(jU}”jÊ KsjP}”jQKsuj½}”(jU}”jÊ KsjS}”jjKsj }”j\KsujÀ}”(jU}”jÊ KsjV}”jƒKsujÃ}”(jU}”jÊ KsjY}”jœKsujÆ}”(jU}”jÊ Ksj\}”jµKsujÉ}”(jU}”(jÊ KjðKujè}”jóKsujÌ}”(jU}”jÊ Ksj_}”jÎKsujÏ}”jU}”(jÊ KhŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”KusjÒ}”(jU}”jÊ Ksjb}”j#Ksjí}”hŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”KsujÕ}”(jU}”jÊ Ksje}”j2KsujØ}”(jU}”(jÊ KhŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”Kuj‘}”jœKsujÛ}”(jU}”jÊ Ksjk}”jdKsujÞ}”(jU}”jÊ Ksjn}”j}Ksujá}”(jU}”(jÊ KhŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”Kujq}”j–Ksj }”jnKsujä}”(jU}”jÊ Ksjt}”j¨Ksujç}”jU}”jÊ Kssjê}”(jU}”jÊ Ksjw}”jÁKsj}”j€Ksují}”(jU}”jÊ Ksjz}”jÚKsjí}”hŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”Ksuj‰}”j}”j…Kssj}”j}”jŒKssj•}”j}”j…Kssj}”jU}”jKssj¨}”(j }”j¤Ksj}”jçKsuj }”jU}”jKssj·}”(j}”j³Ksj}”jÂKsj}”jÑKsj}”jKsj}”jIKsj#}”jÕKsj,}”j?Ksj/}”jNKsj2}”jgKsj5}”jvKsjA}”jïKsjD}”jþKsjò}”jçKsjÍ}”jÑKsj }”j Ksj² }”jÄ KsjË }”jÝ Ksuj}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjà}”jØ}”jÜKssjê}”jç}”jKssj }”jç}”jKssjõ}”j }”jKssjç}”jØ}”jãKssjØ}”j}”jKssj}”j}”j&Kssj.}”j}”j*Kssj}”j.}”j&Kssj}”jU}”j}Kssj<}”j}”j8Kssj}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjU}”j}”jQKssjg}”(j_}”jcKsj>}”jàKsje}”j9Ksjh}”jRKsujr}”jj}”jnKssj_}”j\}”jvKssj~}”j\}”jzKssjj}”j~}”jvKssj\}”j}”jXKssj}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjŒ}”j}”jˆKssj¨}”(j}”j¡Ksj% }”j0 Ksjd }”jo Ksjœ }”j§ KsjÔ }”jß Ksj }”j Ksuj¯}”j}”j«Kssj·}”j¯}”j¡Kssj}”j}”j™Kssj}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÊ}”(j }”jÆKsj)}”jýKsj8}”jKsj;}”j¨Ksjb}”j*Ksjz}”jáKsj }”jŠ Ksuj }”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj#}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjè}”(j&}”jäKsjt}”j¯Ksjw}”jÈKsuj&}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj)}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj(}”j}”j$Kssj}”j(}”jKssj.}”j(}”j$Kssj}”j,}”j;Kssj,}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj/}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj2}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj5}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj8}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj;}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÉ}”jº}”jÅKssj¯}”jÉ}”j¾KssjÏ}”jÉ}”jÅKssjº}”j>}”jÜKssj>}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjA}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjD}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”(jG}”j KsjP}”jXKsjS}”jqKsj\}”j¼Ksjk}”jkKsjn}”j„KsujG}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj4}”(jJ}”j0KsjM}”jIKsjV}”j”KsjY}”j­Ksjû}”jçKsujJ}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjM}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjP}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjS}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjV}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjY}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj\}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjë}”(jÙ}”jçKsj }”j Ksj% }”j) Ksjd }”jh Ksjœ }”j  KsjÔ }”jØ Ksj }”j Ksujò}”jÙ}”jîKssjû}”jò}”jîKssj}”jû}”jîKssj }”j}”jçKssj }”j}”jîKssj}”j }”jçKssj}”j }”jîKssjÙ}”j_}”jÕKssj_}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjb}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssje}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjh}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjk}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjn}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjq}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjt}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjw}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssjz}”jU}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”(jþ}”jKsj§}”j«Ksujþ}”jè}”júKssj}”jè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj }”jè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”Kssj}”jè}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KssjÝ}”jÊ}”jÙKssjä}”jÊ}”jàKssjÍ}”jä}”jÙKssjÊ}”j§}”jÆKssj§}”j‘}”j£Kssj }”j}”jKssj#}”j}”jKssj}”j }”j0Kssj8}”j }”j4Kssj }”jí}”jKssj;}”jF}”jJKssjR}”jF}”jNKssjq}”(ji}”jmKsj> }”jB Ksujx}”ji}”jtKssj^}”jx}”jmKssj~}”jx}”jtKssjF}”jŠ}”jŽKssj–}”jŠ}”j’Kssji}”j–}”jŽKssjœ}”j–}”j’Kssj¡}”(jœ}”jŽKsj} }”j Ksuj¥}”jœ}”j’Kssjª}”(j¥}”jŽKsjµ }”j¹ Ksuj®}”j¥}”j’Kssj³}”(j®}”jŽKsjí }”jñ Ksuj·}”j®}”j’Kssj¼}”(j·}”jŽKsj% }”j) KsujŠ}”jÃ}”jÇKssjÛ}”jË}”jÖKssjã}”jË}”jÞKssjê}”jË}”jæKssjÃ}”jô}”jøKssjô}”jñ}”jýKssj }”jñ}”j Kssjñ}”jË}”jíKssj" }”(j }”j Ksj> }”jI Ksuj> }”j% }”j: Kssj} }”jd }”jy Kssjµ }”jœ }”j± Kssjí }”jÔ }”jé Kssj% }”j }”j! Kssj }”jD }”jH KssjP }”jD }”jL Kssj }”jP }”jH KssjV }”jP }”jL Kssj% }”jV }”jH Kssj\ }”jV }”jL Kssjd }”j\ }”jH Kssjb }”j\ }”jL Kssjœ }”jb }”jH Kssjh }”jb }”jL KssjÔ }”jh }”jH Kssjn }”jh }”jL Kssj }”jn }”jH KssjD }”jw }”j{ Kssj˜ }”j• }”j¤ Kssj¯ }”j• }”j¨ Kssj• }”j }”j‘ KssjÁ }”j² }”j½ KssjÚ }”jË }”jÖ KssuŒ_Memory__namespace”}”(Œowl”hŒhttp://www.w3.org/2002/07/owl#”…”R”Œrdf”hŒ+http://www.w3.org/1999/02/22-rdf-syntax-ns#”…”R”Œrdfs”hŒ%http://www.w3.org/2000/01/rdf-schema#”…”R”Œxsd”hŒ!http://www.w3.org/2001/XMLSchema#”…”R”Œxml”hŒ$http://www.w3.org/XML/1998/namespace”…”R”Œsh”hŒhttp://www.w3.org/ns/shacl#”…”R”Œshsh”hŒ!http://www.w3.org/ns/shacl-shacl#”…”R”uŒ_Memory__prefix”}”(j;j8j?j<jCj@jGjDjKjHjOjLjSjPuŒ_Memory__context_obj_map”}”Œ(URIRef:http://www.w3.org/ns/shacl-shacl#”Œ rdflib.graph”ŒGraph”“”hh†”R”sŒ_Memory__tripleContexts”}”Œ_Memory__contextTriples”}”(N”(jŠjŽjF‡”jjJjN‡”j(j$j.‡”jjj$‡”j jçj‡”jËjæjꇔjFjJj;‡”j• j¨ j¯ ‡”jí j j ‡”jUjÊ j™‡”j.j&j‡”jj/j6‡”jj³j·‡”jUjÊ j퇔j#jÕjÙ‡”jUjÊ j¨‡”j/jNjR‡”h“h¦h«‡”j_jÕjÙ‡”j jîj‡”jUjpjt‡”jUjÊ j¢‡”jDjþj‡”jJj0j4‡”jÙjçj뇔jUj j÷‡”jñj j ‡”j j j ‡”j j¿jÇ”jUjô j5‡”jËjÏjÓ‡”jjQjU‡”j\jÃjʇ”j§j¼jÇ”h2h=hA‡”j¯j³j·‡”j\jµj¹‡”j¯j«j»‡”jb jL jh ‡”j~jtj‡‡”j j! j% ‡”j jcjj‡”jV jL j\ ‡”j j j" ‡”hh$h)‡”jj™j‡”jUjŽ j‡”jwjÈj̇”jjjnjr‡”jbj*j.‡”j>jÜjº‡”jUjzj~‡”hjhyhm‡”jijtjx‡”jn jL jt ‡”jn jH j ‡”jh jL jn ‡”jVjƒj‡‡”jVjŠj‘‡”jkjkjo‡”jÏjÅj؇”jj¬j°‡”j j0j‡”h“h—h›‡”jD jH j ‡”j² j½ jÁ ‡”j j j ‡”jUjÊ j؇”j¯j¡j·‡”jjçj‡”jUjljb‡”j} jˆ j ‡”jej2j6‡”j^jbjf‡”h²jDhµ‡”jË jÏ jÓ ‡”jP jH j ‡”jË jÖ jÚ ‡”jûjîj‡”j)jöjú‡”jUjÅ j ‡”hh,h2‡”jzjáj凔jºjÅjɇ”jUjzj„‡”jUjs j‡”jèj£j‡”jd jo jv ‡”jUj¤ j‡”jd jh jl ‡”jèjìjð‡”jUjEjY‡”jUjðjô‡”jSjxj‡”jjj!‡”jj9j@‡”jj8j<‡”jj*j.‡”j§j²j¹‡”jµ jÀ jÇ ‡”j#jj(‡”jV jH j% ‡”j% j0 j7 ‡”j2jgjk‡”jíjE j‡”jjÂjƇ”j8jj“‡”j jƒ j‡ ‡”jUj1jM‡”jÊjàj䇔j5jvjz‡”jUjÊ j¥‡”jUjjw‡”jUjgj_‡”j> jB jF ‡”jUjhjm‡”jñjýjô‡”hjhŒh‡”j·j’jÀ‡”j j‘ j• ‡”jej@jG‡”jhjKjO‡”jUjYj]‡”jLjHjR‡”j² j¶ jº ‡”jUjÊ jɇ”j~jvjj‡”jYj£jª‡”jj…j•‡”jj?jF‡”j} j’ j™ ‡”jÙjîjò‡”hµhÀhć”j;j?jC‡”jíjñjõ‡”jUjjA‡”jjçj ‡”jzjÚjÞ‡”jh jH jÔ ‡”hDhWh\‡”jUjÊ jЇ”jUjqje‡”jUjÊ j“‡”jUjÊ j®‡”jej9j=‡”hjh}h‚‡”jtj¨j¬‡”jjj#‡”jUjÊ j–‡”jèj¨j‡”jD jL jP ‡”jijmjq‡”jíjj ‡”jôjøjÇ”j/jGjK‡”jèj·j‡”jUjÊ j´‡”j j j ‡”jJj&j-‡”jjj–‡”jUjÊ jÇ”jUjŠjt‡”jj«j¯‡”j% j: jA ‡”jUj}j‡”hhh!‡”jj€j„‡”j&jëjò‡”jUj!jG‡”jUj¸ j‡”jòjîjû‡”j jnjr‡”h2h6h:‡”jUj' jú‡”jGj j‡”jj j‡”j#jj,‡”hDhHhL‡”jèjój÷‡”jjîj‡”jUjÊ j#‡”jµ jÊ jÑ ‡”jjîj ‡”j\jzj~‡”jUjjD‡”jUjvjh‡”jºj¾j‡”jäjÙj͇”jäjàjꇔjMj8j<‡”jUjï j2‡”jj8j<‡”jÃjÇjЇ”jj&j‡”jYjœj ‡”jqj–jš‡”jUjÓ j&‡”jUj j>‡”jAjïjó‡”hDh_hc‡”jØjÜjà‡”hÇhÝhᇔjUjÊ j‡”jUjÊ jÕ‡”j#jÎjÒ‡”jUjå j,‡”jxjtj~‡”jUjzj‡”jUjÊ jÞ‡”jUj…jq‡”jUjù j8‡”jUjÊ j±‡”jUjÊ j‡”jMjIjM‡”jb jH jœ ‡”jíjøjü‡”jwjÁjŇ”j% j: j> ‡”jŠj’j–‡”jUjÊ j·‡”jGjj ‡”jUjJj\‡”jËjÖjÛ‡”jjj ‡”j~jmjƒ‡”j.jj3‡”j>jàj䇔j‘j•j™‡”jj-j4‡”j2j`jd‡”jÉj¾j¯‡”jjÑjÕ‡”jËjíjñ‡”jkjrjy‡”jjQjX‡”jœ j  j¤ ‡”jUj`je‡”j5jojs‡”jUjÊ j«‡”jUjÊ jꇔj\ jL jb ‡”jUj6jP‡”jþjj‡”jUjÊ jᇔjËjÞj㇔jÔ jß jæ ‡”jÊjÙj݇”jçjjꇔj–jŽji‡”jRjJjW‡”j jj¡‡”jUjÊ j½‡”hÄhËhχ”j jjõ‡”jjj؇”j> jP jW ‡”j&jäj臔hùhýhj‘jœj ‡”jDj÷jû‡”jèjújþ‡”jPjXj\‡”j juj|‡”jFjNjR‡”jèj²j ‡”j8j~j‚‡”jtj¯j³‡”hDhfhj‡”j j4j8‡”jœ j± jµ ‡”jd jy j} ‡”j,j?jC‡”j} j j… ‡”j\j¼jÀ‡”j jÆjʇ”jPj_jf‡”j§jÆjʇ”j¥j’j®‡”jUjj ‡”jUjê j/‡”jµ j¹ j½ ‡”jjÊj·”j;j¨j¬‡”j®jŽj³‡”jœjŽj¡‡”jœ j§ j® ‡”j j j ‡”jUjÊ jÒ‡”j² jÄ jÈ ‡”j> jI jM ‡”j;jžj¥‡”j,j;j‡”jj$j(‡”jLjDhù‡”jUjÊ j䇔jtj¶j½‡”jkjdjh‡”jêjîjò‡”jUjzj‡‡”j% j) j- ‡”jUj,jJ‡”jj?jF‡”hµh¹h½‡”h“hžh£‡”j®j’j·‡”j_jÜj㇔hmhqhu‡”j~jzj„‡”j> jZ ja ‡”jqjj¤‡”hùj§ j‡”jhjYj`‡”jUjÊ jÛ‡”jj…j‰‡”j.j*j4‡”j.j$j7‡”hDhOhT‡”j_jÎjÒ‡”jUjÊ jº‡”jJjj#‡”jUj@jV‡”jSjqju‡”jUjØ j)‡”j j¤j¨‡”jUjÊ jŸ‡”jÉjÅjχ”jØjãj燔jUjþ j;‡”jxjmj^‡”jUj€jn‡”j–j’jœ‡”j;j—j›‡”jûjçj‡”jhjRjV‡”j jŠ jŽ ‡”jUjÊ jχ”jGjj‡”jnj„jˆ‡”hùjj‡”jèj­j ‡”j j\j`‡”jwjÏjÖ‡”j·jŽj¼‡”jUj3 jý‡”jUj”jz‡”jMj?jF‡”jí jø jÿ ‡”j¥jŽjª‡”jUj;jS‡”j• j¤ j˜ ‡”jUji j‡”jUj{jk‡”jVj”j˜‡”jjŒj‡”jjˆjŒ‡”j\ jH jd ‡”jõjùjý‡”jP jL jV ‡”jèjžj‡”hîhòhö‡”j(jj‡”jUjÊ jƇ”j§j«j¯‡”jUj¸ jw‡”j8j…jŒ‡”jj¡j¨‡”h²jHjL‡”jjj‡”jj‡jއ”hjh…h‰‡”hÇhäh뇔j jj‡”j/jUj\‡”jUjÊ j̇”jRjNj[‡”jSjjjn‡”jnj}j‡”jÔ jØ jÜ ‡”j% j) j- ‡”jþjj"‡”jj»j¿‡”j˜ jœ j  ‡”jË jÝ já ‡”jPjQjU‡”jíj jÿ‡”jUjÊ jÀ‡”h“h®h²‡”jjj"‡”jUjj‡”hµj~ hLJ”jnj‹j’‡”jÔ jé jí ‡”jj(j,‡”jí jñ jõ ‡”j&jÝjᇔj jj‡”j_jcjg‡”j\jvj_‡”jÍjÑjÕ‡”jjŒj™‡”jjIjM‡”jòjçj÷‡”j)jýj‡”j% j0 j7 ‡”jçjj ‡”jÏj¾jÔ‡”jj&j*‡”jUjn j‡”jœj’j¥‡”jw j{ jD ‡”jUjÊ j燔jAjèj쇔j)jj ‡”jYj­j±‡”j‘j£j§‡”jjXj\‡”jUjÊ jœ‡”jjj‡”jbj#j'‡”hÄhÒhÙ‡”jX”(jcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jj€jj‚jƒj„j…j†j‡jˆj‰jŠj‹jŒjjŽjjj‘j’j“j”j•j–j—j˜j™jšj›jœjjžjŸj j¡j¢j£j¤j¥j¦j§j¨j©jªj«j¬j­j®j¯j°j±j²j³j´jµj¶j·j¸j¹jºj»j¼j½j¾j¿jÀjÁjÂjÃjÄjÅjÆjÇjÈjÉjÊjËjÌjÍjÎjÏjÐjÑjÒjÓjÔjÕjÖj×jØjÙjÚjÛjÜjÝjÞjßjàjájâjãjäjåjæjçjèjéjêjëjìjíjîjïjðjñjòjójôjõjöj÷jøjùjújûjüjýjþjÿjjjjjjjjjj j j j j jjjjjjjjjjjjjjjjjjj j!j"j#j$j%j&j'j(j)j*j+j,j-j.j/j0j1j2j3j4j5j6j7j8j9j:j;j<j=j>j?j@jAjBjCjDjEjFjGjHjIjJjKjLjMjNjOjPjQjRjSjTjUjVjWjXjYjZj[j\j]j^j_j`jajbjcjdjejfjgjhjijjjkjljmjnjojpjqjrjsjtjujvjwjxjyjzj{j|j}j~jj€jj‚jƒj„j…j†j‡jˆj‰jŠj‹jŒjjŽjjj‘j’j“j”j•j–j—j˜j™jšj›jœjjžjŸj j¡j¢j£j¤j¥j¦j§j¨j©jªj«j¬j­j®j¯j°j±j²j³j´jµj¶j·j¸j¹jºj»j¼j½j¾j¿jÀjÁjÂjÃjÄjÅjÆjÇjÈjÉjÊjËjÌjÍjÎjÏjÐjÑjÒjÓjÔjÕjÖj×jØjÙjÚjÛjÜjÝjÞjßjàjájâjãjäjåjæjçjèjéjêjëjìjíjîjïjðjñjòjójôjõjöj÷jøjùjújûjüjýjþjÿjjjjjjjuŒ_Memory__all_contexts””(j]Œ_Memory__defaultContexts”}”(jX‰N‰uubh†”.pyshacl-0.30.1/pyshacl/assets/shacl-shacl.ttl0000644000000000000000000003052000000000000016001 0ustar00# baseURI: http://www.w3.org/ns/shacl-shacl# # A SHACL shapes graph to validate SHACL shapes graphs # Draft last edited 2017-04-04 @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix shsh: . shsh: rdfs:label "SHACL for SHACL"@en ; rdfs:comment "This shapes graph can be used to validate SHACL shapes graphs against a subset of the syntax rules."@en ; sh:declare [ sh:prefix "shsh" ; sh:namespace "http://www.w3.org/ns/shacl-shacl#" ; ] . shsh:ListShape a sh:NodeShape ; rdfs:label "List shape"@en ; rdfs:comment "A shape describing well-formed RDF lists. Currently does not check for non-recursion. This could be expressed using SHACL-SPARQL."@en ; rdfs:seeAlso ; sh:property [ sh:path [ sh:zeroOrMorePath rdf:rest ] ; rdfs:comment "Each list member (including this node) must be have the shape shsh:ListNodeShape."@en ; sh:hasValue rdf:nil ; sh:node shsh:ListNodeShape ; ] . shsh:ListNodeShape a sh:NodeShape ; rdfs:label "List node shape"@en ; rdfs:comment "Defines constraints on what it means for a node to be a node within a well-formed RDF list. Note that this does not check whether the rdf:rest items are also well-formed lists as this would lead to unsupported recursion."@en ; sh:or ( [ sh:hasValue rdf:nil ; sh:property [ sh:path rdf:first ; sh:maxCount 0 ; ] ; sh:property [ sh:path rdf:rest ; sh:maxCount 0 ; ] ; ] [ sh:not [ sh:hasValue rdf:nil ] ; sh:property [ sh:path rdf:first ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ sh:path rdf:rest ; sh:maxCount 1 ; sh:minCount 1 ; ] ; ] ) . shsh:ShapeShape a sh:NodeShape ; rdfs:label "Shape shape"@en ; rdfs:comment "A shape that can be used to validate syntax rules for other shapes."@en ; # See https://www.w3.org/TR/shacl/#shapes for what counts as a shape sh:targetClass sh:NodeShape ; sh:targetClass sh:PropertyShape ; sh:targetSubjectsOf sh:targetClass, sh:targetNode, sh:targetObjectsOf, sh:targetSubjectsOf ; sh:targetSubjectsOf sh:and, sh:class, sh:closed, sh:datatype, sh:disjoint, sh:equals, sh:flags, sh:hasValue, sh:ignoredProperties, sh:in, sh:languageIn, sh:lessThan, sh:lessThanOrEquals, sh:maxCount, sh:maxExclusive, sh:maxInclusive, sh:maxLength, sh:minCount, sh:minExclusive, sh:minInclusive, sh:minLength, sh:node, sh:nodeKind, sh:not, sh:or, sh:pattern, sh:property, sh:qualifiedMaxCount, sh:qualifiedMinCount, sh:qualifiedValueShape, sh:qualifiedValueShape, sh:qualifiedValueShapesDisjoint, sh:qualifiedValueShapesDisjoint, sh:sparql, sh:uniqueLang, sh:xone ; sh:targetObjectsOf sh:node ; # node-node sh:targetObjectsOf sh:not ; # not-node sh:targetObjectsOf sh:property ; # property-node sh:targetObjectsOf sh:qualifiedValueShape ; # qualifiedValueShape-node # Shapes are either node shapes or property shapes sh:xone ( shsh:NodeShapeShape shsh:PropertyShapeShape ) ; sh:property [ sh:path sh:targetNode ; sh:nodeKind sh:IRIOrLiteral ; # targetNode-nodeKind ] ; sh:property [ sh:path sh:targetClass ; sh:nodeKind sh:IRI ; # targetClass-nodeKind ] ; sh:property [ sh:path sh:targetSubjectsOf ; sh:nodeKind sh:IRI ; # targetSubjectsOf-nodeKind ] ; sh:property [ sh:path sh:targetObjectsOf ; sh:nodeKind sh:IRI ; # targetObjectsOf-nodeKind ] ; sh:or ( [ sh:not [ sh:class rdfs:Class ; sh:or ( [ sh:class sh:NodeShape ] [ sh:class sh:PropertyShape ] ) ] ] [ sh:nodeKind sh:IRI ] ) ; # implicit-targetClass-nodeKind sh:property [ sh:path sh:severity ; sh:maxCount 1 ; # severity-maxCount sh:nodeKind sh:IRI ; # severity-nodeKind ] ; sh:property [ sh:path sh:message ; sh:or ( [ sh:datatype xsd:string ] [ sh:datatype rdf:langString ] ) ; # message-datatype ] ; sh:property [ sh:path sh:deactivated ; sh:maxCount 1 ; # deactivated-maxCount sh:in ( true false ) ; # deactivated-datatype ] ; sh:property [ sh:path sh:and ; sh:node shsh:ListShape ; # and-node ] ; sh:property [ sh:path sh:class ; sh:nodeKind sh:IRI ; # class-nodeKind ] ; sh:property [ sh:path sh:closed ; sh:datatype xsd:boolean ; # closed-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:ignoredProperties ; sh:node shsh:ListShape ; # ignoredProperties-node sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path ( sh:ignoredProperties [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ; sh:nodeKind sh:IRI ; # ignoredProperties-members-nodeKind ] ; sh:property [ sh:path sh:datatype ; sh:nodeKind sh:IRI ; # datatype-nodeKind sh:maxCount 1 ; # datatype-maxCount ] ; sh:property [ sh:path sh:disjoint ; sh:nodeKind sh:IRI ; # disjoint-nodeKind ] ; sh:property [ sh:path sh:equals ; sh:nodeKind sh:IRI ; # equals-nodeKind ] ; sh:property [ sh:path sh:in ; sh:maxCount 1 ; # in-maxCount sh:node shsh:ListShape ; # in-node ] ; sh:property [ sh:path sh:languageIn ; sh:maxCount 1 ; # languageIn-maxCount sh:node shsh:ListShape ; # languageIn-node ] ; sh:property [ sh:path ( sh:languageIn [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ; sh:datatype xsd:string ; # languageIn-members-datatype ] ; sh:property [ sh:path sh:lessThan ; sh:nodeKind sh:IRI ; # lessThan-nodeKind ] ; sh:property [ sh:path sh:lessThanOrEquals ; sh:nodeKind sh:IRI ; # lessThanOrEquals-nodeKind ] ; sh:property [ sh:path sh:maxCount ; sh:datatype xsd:integer ; # maxCount-datatype sh:maxCount 1 ; # maxCount-maxCount ] ; sh:property [ sh:path sh:maxExclusive ; sh:maxCount 1 ; # maxExclusive-maxCount sh:nodeKind sh:Literal ; # maxExclusive-nodeKind ] ; sh:property [ sh:path sh:maxInclusive ; sh:maxCount 1 ; # maxInclusive-maxCount sh:nodeKind sh:Literal ; # maxInclusive-nodeKind ] ; sh:property [ sh:path sh:maxLength ; sh:datatype xsd:integer ; # maxLength-datatype sh:maxCount 1 ; # maxLength-maxCount ] ; sh:property [ sh:path sh:minCount ; sh:datatype xsd:integer ; # minCount-datatype sh:maxCount 1 ; # minCount-maxCount ] ; sh:property [ sh:path sh:minExclusive ; sh:maxCount 1 ; # minExclusive-maxCount sh:nodeKind sh:Literal ; # minExclusive-nodeKind ] ; sh:property [ sh:path sh:minInclusive ; sh:maxCount 1 ; # minInclusive-maxCount sh:nodeKind sh:Literal ; # minInclusive-nodeKind ] ; sh:property [ sh:path sh:minLength ; sh:datatype xsd:integer ; # minLength-datatype sh:maxCount 1 ; # minLength-maxCount ] ; sh:property [ sh:path sh:nodeKind ; sh:in ( sh:BlankNode sh:IRI sh:Literal sh:BlankNodeOrIRI sh:BlankNodeOrLiteral sh:IRIOrLiteral ) ; # nodeKind-in sh:maxCount 1 ; # nodeKind-maxCount ] ; sh:property [ sh:path sh:or ; sh:node shsh:ListShape ; # or-node ] ; sh:property [ sh:path sh:pattern ; sh:datatype xsd:string ; # pattern-datatype sh:maxCount 1 ; # multiple-parameters # Not implemented: syntax rule pattern-regex ] ; sh:property [ sh:path sh:flags ; sh:datatype xsd:string ; # flags-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedMaxCount ; sh:datatype xsd:integer ; # qualifiedMaxCount-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedMinCount ; sh:datatype xsd:integer ; # qualifiedMinCount-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedValueShape ; sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedValueShapesDisjoint ; sh:datatype xsd:boolean ; # qualifiedValueShapesDisjoint-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:uniqueLang ; sh:datatype xsd:boolean ; # uniqueLang-datatype sh:maxCount 1 ; # uniqueLang-maxCount ] ; sh:property [ sh:path sh:xone ; sh:node shsh:ListShape ; # xone-node ] . shsh:NodeShapeShape a sh:NodeShape ; sh:targetObjectsOf sh:node ; # node-node sh:property [ sh:path sh:path ; sh:maxCount 0 ; # NodeShape-path-maxCount ] ; sh:property [ sh:path sh:lessThan ; sh:maxCount 0 ; # lessThan-scope ] ; sh:property [ sh:path sh:lessThanOrEquals ; sh:maxCount 0 ; # lessThanOrEquals-scope ] ; sh:property [ sh:path sh:maxCount ; sh:maxCount 0 ; # maxCount-scope ] ; sh:property [ sh:path sh:minCount ; sh:maxCount 0 ; # minCount-scope ] ; sh:property [ sh:path sh:qualifiedValueShape ; sh:maxCount 0 ; # qualifiedValueShape-scope ] ; sh:property [ sh:path sh:uniqueLang ; sh:maxCount 0 ; # uniqueLang-scope ] . shsh:PropertyShapeShape a sh:NodeShape ; sh:targetObjectsOf sh:property ; # property-node sh:property [ sh:path sh:path ; sh:maxCount 1 ; # path-maxCount sh:minCount 1 ; # PropertyShape-path-minCount sh:or ( shsh:PathShape [ sh:nodeKind sh:IRI ] ) ; # path-node ] . # Values of sh:and, sh:or and sh:xone must be lists of shapes shsh:ShapesListShape a sh:NodeShape ; sh:targetObjectsOf sh:and ; # and-members-node sh:targetObjectsOf sh:or ; # or-members-node sh:targetObjectsOf sh:xone ; # xone-members-node sh:property [ sh:path ( [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ; sh:node shsh:ShapeShape ; ] . # A path of blank node path syntax, used to simulate recursion _:PathPath sh:alternativePath ( ( [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ( sh:alternativePath [ sh:zeroOrMorePath rdf:rest ] rdf:first ) sh:inversePath sh:zeroOrMorePath sh:oneOrMorePath sh:zeroOrOnePath ) . shsh:PathShape a sh:NodeShape ; rdfs:label "Path shape"@en ; rdfs:comment "A shape that can be used to validate the syntax rules of well-formed SHACL paths."@en ; rdfs:seeAlso ; sh:property [ sh:path [ sh:zeroOrMorePath _:PathPath ] ; sh:node shsh:PathNodeShape ; ] . shsh:PathNodeShape sh:xone ( # path-metarule [ sh:nodeKind sh:IRI ] # 2.3.1.1: Predicate path [ sh:nodeKind sh:BlankNode ; # 2.3.1.2: Sequence path sh:node shsh:PathListWithAtLeast2Members ; ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.3: Alternative path sh:closed true ; sh:property [ sh:path sh:alternativePath ; sh:node shsh:PathListWithAtLeast2Members ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.4: Inverse path sh:closed true ; sh:property [ sh:path sh:inversePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.5: Zero-or-more path sh:closed true ; sh:property [ sh:path sh:zeroOrMorePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.6: One-or-more path sh:closed true ; sh:property [ sh:path sh:oneOrMorePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.7: Zero-or-one path sh:closed true ; sh:property [ sh:path sh:zeroOrOnePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] ) . shsh:PathListWithAtLeast2Members a sh:NodeShape ; sh:node shsh:ListShape ; sh:property [ sh:path [ sh:oneOrMorePath rdf:rest ] ; sh:minCount 2 ; # 1 other list node plus rdf:nil ] . shsh:ShapesGraphShape a sh:NodeShape ; sh:targetObjectsOf sh:shapesGraph ; sh:nodeKind sh:IRI . # shapesGraph-nodeKind shsh:EntailmentShape a sh:NodeShape ; sh:targetObjectsOf sh:entailment ; sh:nodeKind sh:IRI . # entailment-nodeKind pyshacl-0.30.1/pyshacl/assets/shacl.pickle0000644000000000000000000057720400000000000015374 0ustar00€•?Œrdflib.plugins.stores.memory”ŒMemory”“”)”}”(Œ_Store__node_pickler”NŒ dispatcher”Œ rdflib.events”Œ Dispatcher”“”)”Œ identifier”Œ rdflib.term”ŒURIRef”“”Œhttp://www.w3.org/ns/shacl#”…”R”Œ _Memory__spo”}”(hŒhttp://www.w3.org/ns/shacl#”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h ŒLiteral”“”Œ1W3C Shapes Constraint Language (SHACL) Vocabulary”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒPThis vocabulary defines terms used in SHACL, the W3C Shapes Constraint Language.”Œen”N‡”R”KshŒ"http://www.w3.org/ns/shacl#declare”…”R”}”h ŒBNode”“”Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb1”…”R”KshŒ/http://www.w3.org/ns/shacl#suggestedShapesGraph”…”R”}”hŒ!http://www.w3.org/ns/shacl-shacl#”…”R”Ksuh9}”(hŒ!http://www.w3.org/ns/shacl#prefix”…”R”}”h$Œsh”NN‡”R”KshŒ$http://www.w3.org/ns/shacl#namespace”…”R”}”h$Œhttp://www.w3.org/ns/shacl#”NhŒ'http://www.w3.org/2001/XMLSchema#anyURI”…”R”‡”R”KsuhŒ http://www.w3.org/ns/shacl#Shape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒShape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNA shape is a collection of constraints that may be targeted for certain nodes.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Node shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA node shape is a shape that specifies constraint that need to be met with respect to focus nodes.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProperty shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒrA property shape is a shape that specifies constraints on the values of a focus node for a given property or path.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ&http://www.w3.org/ns/shacl#deactivated”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ deactivated”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ.If set to true then all nodes conform to this.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ&http://www.w3.org/ns/shacl#targetClass”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ target class”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ_Links a shape to a class, indicating that all instances of the class must conform to the shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ%http://www.w3.org/ns/shacl#targetNode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ target node”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYLinks a shape to individual nodes, indicating that these nodes must conform to the shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ*http://www.w3.org/ns/shacl#targetObjectsOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œtarget objects of”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ’Links a shape to a property, indicating that all all objects of triples that have the given property as their predicate must conform to the shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ+http://www.w3.org/ns/shacl#targetSubjectsOf”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œtarget subjects of”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒLinks a shape to a property, indicating that all subjects of triples that have the given property as their predicate must conform to the shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ"http://www.w3.org/ns/shacl#message”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œmessage”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒgA human-readable message (possibly with placeholders for variables) explaining the cause of the result.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#severity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œseverity”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒeDefines the severity that validation results produced by a shape must have. Defaults to sh:Violation.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ#http://www.w3.org/ns/shacl#Severity”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Node kind”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ The class of all node kinds, including sh:BlankNode, sh:IRI, sh:Literal or the combinations of these: sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral, sh:IRIOrLiteral.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#BlankNode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Blank node”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ!The node kind of all blank nodes.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ)http://www.w3.org/ns/shacl#BlankNodeOrIRI”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBlank node or IRI”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)The node kind of all blank nodes or IRIs.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ-http://www.w3.org/ns/shacl#BlankNodeOrLiteral”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒBlank node or literal”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-The node kind of all blank nodes or literals.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#IRI”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIRI”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe node kind of all IRIs.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ'http://www.w3.org/ns/shacl#IRIOrLiteral”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIRI or literal”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ&The node kind of all IRIs or literals.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ"http://www.w3.org/ns/shacl#Literal”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLiteral”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe node kind of all literals.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ+http://www.w3.org/ns/shacl#ValidationReport”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒValidation report”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ&The class of SHACL validation reports.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#conforms”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œconforms”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSTrue if the validation did not produce any validation results, and false otherwise.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ+http://www.w3.org/ns/shacl#ValidationReport”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ!http://www.w3.org/ns/shacl#result”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œresult”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ8The validation results contained in a validation report.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ+http://www.w3.org/ns/shacl#ValidationReport”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ+http://www.w3.org/ns/shacl#ValidationResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ0http://www.w3.org/ns/shacl#shapesGraphWellFormed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œshapes graph well-formed”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŒIf true then the validation engine was certain that the shapes graph has passed all SHACL syntax requirements during the validation process.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ+http://www.w3.org/ns/shacl#ValidationReport”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAbstract result”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒJThe base class of validation results, typically not instantiated directly.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ+http://www.w3.org/ns/shacl#ValidationResult”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒValidation result”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ The class of validation results.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#Severity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSeverity”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒWThe class of validation result severity levels, including violation and warning levels.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#Info”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#Severity”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒInfo”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ4The severity for an informational validation result.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#Violation”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#Severity”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Violation”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ/The severity for a violation validation result.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ"http://www.w3.org/ns/shacl#Warning”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ#http://www.w3.org/ns/shacl#Severity”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒWarning”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ-The severity for a warning validation result.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ!http://www.w3.org/ns/shacl#detail”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdetail”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒvLinks a result with other results that provide more details, for example to describe violations against nested shapes.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#focusNode”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ focus node”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?The focus node that was validated when the result was produced.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ(http://www.w3.org/ns/shacl#resultMessage”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œresult message”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;Human-readable messages explaining the cause of the result.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ%http://www.w3.org/ns/shacl#resultPath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ result path”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSThe path of a validation result, based on the path of the validated property shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ)http://www.w3.org/ns/shacl#resultSeverity”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œresult severity”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ)The severity of the result, e.g. warning.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ#http://www.w3.org/ns/shacl#Severity”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ+http://www.w3.org/ns/shacl#sourceConstraint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œsource constraint”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ?The constraint that was validated when the result was produced.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ&http://www.w3.org/ns/shacl#sourceShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ source shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ=The shape that is was validated when the result was produced.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ4http://www.w3.org/ns/shacl#sourceConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œsource constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ:The constraint component that is the source of the result.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ http://www.w3.org/ns/shacl#value”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œvalue”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ'An RDF node that has caused the result.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ)http://www.w3.org/ns/shacl#AbstractResult”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ&http://www.w3.org/ns/shacl#shapesGraph”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ shapes graph”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒBShapes graphs that should be used when validating this data graph.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ/http://www.w3.org/ns/shacl#suggestedShapesGraph”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œsuggested shapes graph”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒˆSuggested shapes graphs for this ontology. The values of this property may be used in the absence of specific sh:shapesGraph statements.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ%http://www.w3.org/ns/shacl#entailment”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ entailment”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[An entailment regime that indicates what kind of inferencing is required by a shapes graph.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ&http://www.w3.org/2002/07/owl#Ontology”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#path”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œpath”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ0Specifies the property path of a property shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ&http://www.w3.org/ns/shacl#inversePath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ inverse path”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSThe (single) value of this property represents an inverse path (object to subject).”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ*http://www.w3.org/ns/shacl#alternativePath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œalternative path”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒtThe (single) value of this property must be a list of path elements, representing the elements of alternative paths.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ)http://www.w3.org/ns/shacl#zeroOrMorePath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œzero or more path”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYThe (single) value of this property represents a path that is matched zero or more times.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ(http://www.w3.org/ns/shacl#oneOrMorePath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œone or more path”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXThe (single) value of this property represents a path that is matched one or more times.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ(http://www.w3.org/ns/shacl#zeroOrOnePath”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œzero or one path”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒXThe (single) value of this property represents a path that is matched zero or one times.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒParameterizable”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbSuperclass of components that can take parameters, especially functions and constraint components.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ parameter”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5The parameters of a function or constraint component.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ(http://www.w3.org/ns/shacl#labelTemplate”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œlabel template”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÆOutlines how human-readable labels of instances of the associated Parameterizable shall be produced. The values can contain {?paramName} as placeholders for the actual values of the given parameter.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#Parameter”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Parameter”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒŸThe class of parameter declarations, consisting of a path predicate and (possibly) information about allowed value type, cardinality and other characteristics.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#optional”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œoptional”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ*Indicates whether a parameter is optional.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒConstraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ#The class of constraint components.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ*http://www.w3.org/ns/shacl#Parameterizable”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#validator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ validator”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒPThe validator(s) used to evaluate constraints of either node or property shapes.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ$http://www.w3.org/ns/shacl#Validator”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ(http://www.w3.org/ns/shacl#nodeValidator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œshape validator”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒNThe validator(s) used to evaluate a constraint in the context of a node shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ$http://www.w3.org/ns/shacl#Validator”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ,http://www.w3.org/ns/shacl#propertyValidator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œproperty validator”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒRThe validator(s) used to evaluate a constraint in the context of a property shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ$http://www.w3.org/ns/shacl#Validator”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#Validator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Validator”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÂThe class of validators, which provide instructions on how to process a constraint definition. This class serves as base class for the SPARQL-based validators and other possible implementations.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ-http://www.w3.org/ns/shacl#SPARQLAskValidator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSPARQL ASK validator”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒžThe class of validators based on SPARQL ASK queries. The queries are evaluated for each value node and are supposed to return true if the given node conforms.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ$http://www.w3.org/ns/shacl#Validator”…”R”KhŒ.http://www.w3.org/ns/shacl#SPARQLAskExecutable”…”R”KuhŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ0http://www.w3.org/ns/shacl#SPARQLSelectValidator”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒSPARQL SELECT validator”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ³The class of validators based on SPARQL SELECT queries. The queries are evaluated for each focus node and are supposed to produce bindings for all focus nodes that do not conform.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”(hŒ$http://www.w3.org/ns/shacl#Validator”…”R”KhŒ1http://www.w3.org/ns/shacl#SPARQLSelectExecutable”…”R”KuhŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ1http://www.w3.org/ns/shacl#AndConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒAnd constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒzA constraint component that can be used to test whether a value node conforms to all members of a provided list of shapes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ5http://www.w3.org/ns/shacl#AndConstraintComponent-and”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ5http://www.w3.org/ns/shacl#AndConstraintComponent-and”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#and”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#and”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œand”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7RDF list of shapes to validate the value nodes against.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ3http://www.w3.org/ns/shacl#ClassConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒClass constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒfA constraint component that can be used to verify that each value node is an instance of a given type.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ9http://www.w3.org/ns/shacl#ClassConstraintComponent-class”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ9http://www.w3.org/ns/shacl#ClassConstraintComponent-class”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://www.w3.org/ns/shacl#class”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ http://www.w3.org/ns/shacl#class”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œclass”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(The type that all value nodes must have.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ4http://www.w3.org/ns/shacl#ClosedConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒClosed constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ­A constraint component that can be used to indicate that focus nodes must only have values for those properties that have been explicitly enumerated via sh:property/sh:path.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”(hŒ;http://www.w3.org/ns/shacl#ClosedConstraintComponent-closed”…”R”KhŒFhttp://www.w3.org/ns/shacl#ClosedConstraintComponent-ignoredProperties”…”R”KuhŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ;http://www.w3.org/ns/shacl#ClosedConstraintComponent-closed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://www.w3.org/ns/shacl#closed”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒFhttp://www.w3.org/ns/shacl#ClosedConstraintComponent-ignoredProperties”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://www.w3.org/ns/shacl#ignoredProperties”…”R”KshŒ#http://www.w3.org/ns/shacl#optional”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ!http://www.w3.org/ns/shacl#closed”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œclosed”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ(If set to true then the shape is closed.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ,http://www.w3.org/ns/shacl#ignoredProperties”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œignored properties”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ~An optional RDF list of properties that are also permitted in addition to those explicitly enumerated via sh:property/sh:path.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#DatatypeConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDatatype constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒTA constraint component that can be used to restrict the datatype of all value nodes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#DatatypeConstraintComponent-datatype”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#DatatypeConstraintComponent-datatype”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#datatype”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdatatype”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Specifies an RDF datatype that all value nodes must have.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Datatype”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#DisjointConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒDisjoint constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒÇA constraint component that can be used to verify that the set of value nodes is disjoint with the the set of nodes that have the focus node as subject and the value of a given property as predicate.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#DisjointConstraintComponent-disjoint”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#DisjointConstraintComponent-disjoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#disjoint”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#disjoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œdisjoint”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒSSpecifies a property where the set of values must be disjoint with the value nodes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ4http://www.w3.org/ns/shacl#EqualsConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒEquals constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¾A constraint component that can be used to verify that the set of value nodes is equal to the set of nodes that have the focus node as subject and the value of a given property as predicate.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ;http://www.w3.org/ns/shacl#EqualsConstraintComponent-equals”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ;http://www.w3.org/ns/shacl#EqualsConstraintComponent-equals”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ!http://www.w3.org/ns/shacl#equals”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ!http://www.w3.org/ns/shacl#equals”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œequals”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒGSpecifies a property that must have the same values as the value nodes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#HasValueConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒHas-value constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA constraint component that can be used to verify that one of the value nodes is a given RDF node.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#HasValueConstraintComponent-hasValue”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#HasValueConstraintComponent-hasValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#hasValue”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#hasValue”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ has value”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ5Specifies a value that must be among the value nodes.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ0http://www.w3.org/ns/shacl#InConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒIn constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ[A constraint component that can be used to exclusively enumerate the permitted value nodes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ3http://www.w3.org/ns/shacl#InConstraintComponent-in”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ3http://www.w3.org/ns/shacl#InConstraintComponent-in”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#in”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#in”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œin”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒgSpecifies a list of allowed values so that each value node must be among the members of the given list.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ8http://www.w3.org/ns/shacl#LanguageInConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Language-in constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒbA constraint component that can be used to enumerate language tags that all value nodes must have.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒChttp://www.w3.org/ns/shacl#LanguageInConstraintComponent-languageIn”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒChttp://www.w3.org/ns/shacl#LanguageInConstraintComponent-languageIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ%http://www.w3.org/ns/shacl#languageIn”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ%http://www.w3.org/ns/shacl#languageIn”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ language in”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒASpecifies a list of language tags that all value nodes must have.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#LessThanConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒLess-than constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¸A constraint component that can be used to verify that each value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#LessThanConstraintComponent-lessThan”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#LessThanConstraintComponent-lessThan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#lessThan”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#lessThan”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ less than”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒHSpecifies a property that must have smaller values than the value nodes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ>http://www.w3.org/ns/shacl#LessThanOrEqualsConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ(less-than-or-equals constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ¹A constraint component that can be used to verify that every value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒOhttp://www.w3.org/ns/shacl#LessThanOrEqualsConstraintComponent-lessThanOrEquals”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒOhttp://www.w3.org/ns/shacl#LessThanOrEqualsConstraintComponent-lessThanOrEquals”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ+http://www.w3.org/ns/shacl#lessThanOrEquals”…”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ+http://www.w3.org/ns/shacl#lessThanOrEquals”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œless than or equals”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒQSpecifies a property that must have smaller or equal values than the value nodes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#MaxCountConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMax-count constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒVA constraint component that can be used to restrict the maximum number of value nodes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#MaxCountConstraintComponent-maxCount”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#MaxCountConstraintComponent-maxCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#maxCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ max count”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒASpecifies the maximum number of values in the set of value nodes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ:http://www.w3.org/ns/shacl#MaxExclusiveConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Max-exclusive constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlA constraint component that can be used to restrict the range of value nodes with a maximum exclusive value.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒGhttp://www.w3.org/ns/shacl#MaxExclusiveConstraintComponent-maxExclusive”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒGhttp://www.w3.org/ns/shacl#MaxExclusiveConstraintComponent-maxExclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#maxExclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ'http://www.w3.org/ns/shacl#maxExclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ max exclusive”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Specifies the maximum exclusive value of each value node.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ:http://www.w3.org/ns/shacl#MaxInclusiveConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Max-inclusive constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlA constraint component that can be used to restrict the range of value nodes with a maximum inclusive value.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒGhttp://www.w3.org/ns/shacl#MaxInclusiveConstraintComponent-maxInclusive”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒGhttp://www.w3.org/ns/shacl#MaxInclusiveConstraintComponent-maxInclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#maxInclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ'http://www.w3.org/ns/shacl#maxInclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ max inclusive”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Specifies the maximum inclusive value of each value node.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ7http://www.w3.org/ns/shacl#MaxLengthConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMax-length constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ]A constraint component that can be used to restrict the maximum string length of value nodes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒAhttp://www.w3.org/ns/shacl#MaxLengthConstraintComponent-maxLength”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒAhttp://www.w3.org/ns/shacl#MaxLengthConstraintComponent-maxLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://www.w3.org/ns/shacl#maxLength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#maxLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ max length”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7Specifies the maximum string length of each value node.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#MinCountConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMin-count constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒVA constraint component that can be used to restrict the minimum number of value nodes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#MinCountConstraintComponent-minCount”…”R”•KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#MinCountConstraintComponent-minCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#minCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#minCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ min count”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒASpecifies the minimum number of values in the set of value nodes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ:http://www.w3.org/ns/shacl#MinExclusiveConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Min-exclusive constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlA constraint component that can be used to restrict the range of value nodes with a minimum exclusive value.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒGhttp://www.w3.org/ns/shacl#MinExclusiveConstraintComponent-minExclusive”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒGhttp://www.w3.org/ns/shacl#MinExclusiveConstraintComponent-minExclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#minExclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ'http://www.w3.org/ns/shacl#minExclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ min exclusive”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Specifies the minimum exclusive value of each value node.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ:http://www.w3.org/ns/shacl#MinInclusiveConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ"Min-inclusive constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒlA constraint component that can be used to restrict the range of value nodes with a minimum inclusive value.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒGhttp://www.w3.org/ns/shacl#MinInclusiveConstraintComponent-minInclusive”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒGhttp://www.w3.org/ns/shacl#MinInclusiveConstraintComponent-minInclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ'http://www.w3.org/ns/shacl#minInclusive”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ'http://www.w3.org/ns/shacl#minInclusive”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ min inclusive”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ9Specifies the minimum inclusive value of each value node.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ7http://www.w3.org/ns/shacl#MinLengthConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒMin-length constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ]A constraint component that can be used to restrict the minimum string length of value nodes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒAhttp://www.w3.org/ns/shacl#MinLengthConstraintComponent-minLength”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒAhttp://www.w3.org/ns/shacl#MinLengthConstraintComponent-minLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ$http://www.w3.org/ns/shacl#minLength”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#minLength”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ min length”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ7Specifies the minimum string length of each value node.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ2http://www.w3.org/ns/shacl#NodeConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒNode constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒgA constraint component that can be used to verify that all value nodes conform to the given node shape.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ7http://www.w3.org/ns/shacl#NodeConstraintComponent-node”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ7http://www.w3.org/ns/shacl#NodeConstraintComponent-node”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#node”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#node”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œnode”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ>Specifies the node shape that all value nodes must conform to.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ$http://www.w3.org/ns/shacl#NodeShape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#NodeKindConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒNode-kind constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒYA constraint component that can be used to restrict the RDF node kind of each value node.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#NodeKindConstraintComponent-nodeKind”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#NodeKindConstraintComponent-nodeKind”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”KshŒhttp://www.w3.org/ns/shacl#in”…”R”}”h6Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb2”…”R”KshŒ#http://www.w3.org/ns/shacl#maxCount”…”R”}”h$Œ1”NhŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”Ksujg}”(hŒ0http://www.w3.org/1999/02/22-rdf-syntax-ns#first”…”R”}”hŒ$http://www.w3.org/ns/shacl#BlankNode”…”R”KshŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#rest”…”R”}”h6Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb3”…”R”Ksuj‡}”(j|}”hŒhttp://www.w3.org/ns/shacl#IRI”…”R”Ksjƒ}”h6Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb4”…”R”Ksuj}”(j|}”hŒ"http://www.w3.org/ns/shacl#Literal”…”R”Ksjƒ}”h6Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb5”…”R”Ksuj™}”(j|}”hŒ)http://www.w3.org/ns/shacl#BlankNodeOrIRI”…”R”Ksjƒ}”h6Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb6”…”R”Ksuj¢}”(j|}”hŒ-http://www.w3.org/ns/shacl#BlankNodeOrLiteral”…”R”Ksjƒ}”h6Œ#n4acd2e2b7e3846a8ba5f364e61b97d3cb7”…”R”Ksuj«}”(j|}”hŒ'http://www.w3.org/ns/shacl#IRIOrLiteral”…”R”Ksjƒ}”hŒ.http://www.w3.org/1999/02/22-rdf-syntax-ns#nil”…”R”KsuhŒ#http://www.w3.org/ns/shacl#nodeKind”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ node kind”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ>Specifies the node kind (e.g. IRI or literal) each value node.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ#http://www.w3.org/ns/shacl#NodeKind”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ1http://www.w3.org/ns/shacl#NotConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒNot constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒcA constraint component that can be used to verify that value nodes do not conform to a given shape.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ5http://www.w3.org/ns/shacl#NotConstraintComponent-not”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ5http://www.w3.org/ns/shacl#NotConstraintComponent-not”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#not”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#not”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œnot”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ;Specifies a shape that the value nodes must not conform to.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ0http://www.w3.org/ns/shacl#OrConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒOr constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒˆA constraint component that can be used to restrict the value nodes so that they conform to at least one out of several provided shapes.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ3http://www.w3.org/ns/shacl#OrConstraintComponent-or”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ3http://www.w3.org/ns/shacl#OrConstraintComponent-or”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒhttp://www.w3.org/ns/shacl#or”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#or”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œor”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ^Specifies a list of shapes so that the value nodes must conform to at least one of the shapes.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#List”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ5http://www.w3.org/ns/shacl#PatternConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒPattern constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒkA constraint component that can be used to verify that every value node matches a given regular expression.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”(hŒ=http://www.w3.org/ns/shacl#PatternConstraintComponent-pattern”…”R”KhŒ;http://www.w3.org/ns/shacl#PatternConstraintComponent-flags”…”R”KuhŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ=http://www.w3.org/ns/shacl#PatternConstraintComponent-pattern”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ"http://www.w3.org/ns/shacl#pattern”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ;http://www.w3.org/ns/shacl#PatternConstraintComponent-flags”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ http://www.w3.org/ns/shacl#flags”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ#http://www.w3.org/ns/shacl#optional”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ http://www.w3.org/ns/shacl#flags”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œflags”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒEAn optional flag to be used with regular expression pattern matching.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ"http://www.w3.org/ns/shacl#pattern”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œpattern”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒeSpecifies a regular expression pattern that the string representations of the value nodes must match.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ'http://www.w3.org/2001/XMLSchema#string”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ6http://www.w3.org/ns/shacl#PropertyConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒProperty constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒkA constraint component that can be used to verify that all value nodes conform to the given property shape.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”hŒ?http://www.w3.org/ns/shacl#PropertyConstraintComponent-property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#PropertyConstraintComponent-property”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ#http://www.w3.org/ns/shacl#property”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ#http://www.w3.org/ns/shacl#property”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œproperty”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ%Links a shape to its property shapes.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/ns/shacl#PropertyShape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ(Qualified-max-count constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ{A constraint component that can be used to verify that a specified maximum number of value nodes conforms to a given shape.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”(hŒQhttp://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent-qualifiedMaxCount”…”R”KhŒShttp://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent-qualifiedValueShape”…”R”KhŒ\http://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent-qualifiedValueShapesDisjoint”…”R”KuhŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒQhttp://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent-qualifiedMaxCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://www.w3.org/ns/shacl#qualifiedMaxCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒShttp://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent-qualifiedValueShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ\http://www.w3.org/ns/shacl#QualifiedMaxCountConstraintComponent-qualifiedValueShapesDisjoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ7http://www.w3.org/ns/shacl#qualifiedValueShapesDisjoint”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ#http://www.w3.org/ns/shacl#optional”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ?http://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ.http://www.w3.org/ns/shacl#ConstraintComponent”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ(Qualified-min-count constraint component”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ{A constraint component that can be used to verify that a specified minimum number of value nodes conforms to a given shape.”Œen”N‡”R”KshŒ$http://www.w3.org/ns/shacl#parameter”…”R”}”(hŒQhttp://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent-qualifiedMinCount”…”R”KhŒShttp://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent-qualifiedValueShape”…”R”KhŒ\http://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent-qualifiedValueShapesDisjoint”…”R”KuhŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒQhttp://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent-qualifiedMinCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ,http://www.w3.org/ns/shacl#qualifiedMinCount”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒShttp://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent-qualifiedValueShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ\http://www.w3.org/ns/shacl#QualifiedMinCountConstraintComponent-qualifiedValueShapesDisjoint”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ$http://www.w3.org/ns/shacl#Parameter”…”R”KshŒhttp://www.w3.org/ns/shacl#path”…”R”}”hŒ7http://www.w3.org/ns/shacl#qualifiedValueShapesDisjoint”…”R”KshŒ#http://www.w3.org/ns/shacl#datatype”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”KshŒ#http://www.w3.org/ns/shacl#optional”…”R”}”h$Œtrue”NhŒ(http://www.w3.org/2001/XMLSchema#boolean”…”R”‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ,http://www.w3.org/ns/shacl#qualifiedMaxCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œqualified max count”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ@The maximum number of value nodes that can conform to the shape.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ,http://www.w3.org/ns/shacl#qualifiedMinCount”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œqualified min count”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒAThe minimum number of value nodes that must conform to the shape.”Œen”N‡”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ(http://www.w3.org/2001/XMLSchema#integer”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ.http://www.w3.org/ns/shacl#qualifiedValueShape”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œqualified value shape”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe node expression that must return true for the value nodes.”Œen”N‡”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#Rule”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$ŒRule”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$Œ6The class of SHACL rules. Never instantiated directly.”Œen”N‡”R”KshŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”}”hŒ-http://www.w3.org/2000/01/rdf-schema#Resource”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒhttp://www.w3.org/ns/shacl#rule”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œrule”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒThe rules linked to a shape.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒhttp://www.w3.org/ns/shacl#Rule”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ$http://www.w3.org/ns/shacl#condition”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ3http://www.w3.org/1999/02/22-rdf-syntax-ns#Property”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ condition”Œen”N‡”R”KshŒ,http://www.w3.org/2000/01/rdf-schema#comment”…”R”}”h$ŒUThe shapes that the focus nodes need to conform to before a rule is executed on them.”Œen”N‡”R”KshŒ+http://www.w3.org/2000/01/rdf-schema#domain”…”R”}”hŒhttp://www.w3.org/ns/shacl#Rule”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#range”…”R”}”hŒ http://www.w3.org/ns/shacl#Shape”…”R”KshŒ0http://www.w3.org/2000/01/rdf-schema#isDefinedBy”…”R”}”hŒhttp://www.w3.org/ns/shacl#”…”R”KsuhŒ%http://www.w3.org/ns/shacl#TripleRule”…”R”}”(hŒ/http://www.w3.org/1999/02/22-rdf-syntax-ns#type”…”R”}”hŒ*http://www.w3.org/2000/01/rdf-schema#Class”…”R”KshŒ*http://www.w3.org/2000/01/rdf-schema#label”…”R”}”h$Œ Kjº Kj, Kjž Kj Kjw Kjì Kj^KjÐKjLKjÈKj=Kj²Kj.KjªKjKj”KjÿKj·Kj"KjKj,KjUKjÀKjKj=KjfKjKj KjvKjñKjJKj£KjüKj,Kj…KjµKjåKjWKj°KjÙKjKj2Kj[Kj¦Kj²KjKjjKjšKjÃKjKj>Kj`Kj‚KjæKj1 Kja Kj² KjÛ Kj!KjE"Kjm"Kj"KjÆ"Kuj5}”(j-KjOKjqKj“KjµKj×Kuj5}”(j-KjOKjqKujÑ }”(jÉ Kj4 Kj¦ Kjg Kjã KjU KjÇ Kj+ Kj  KjKj‡KjùKjuKjêKj_KjÛKjWKjÌKjAKj½Kj(KjàKjKKj¶Kj~KjðKj‚Kj¸Kj4KjKj¤Kj"Kujú }”(jò Kj] KjÒ Kjò Kj Kj Kj~ Kjð KjT KjÉ Kj>Kj°Kj"KjžKjKjˆKjKj€KjõKjjKjæKjQKj KjtKjâKjKj§KjKj?KjXKj±KjÑKjêKjáKj]Kj>KjÍKj,"Kujû}”jóKsuh!}”(h(}”hKshe}”hUKshŽ}”h~Ksh·}”h§Kshà}”hÐKsj }”hùKsj9}”j)Ksjb}”jRKsj’}”j‚KsjÂ}”j²Ksjä}”jÔKsj}”jKsj=}”j-Ksj_}”jOKsj}”jqKsj£}”j“KsjÅ}”jµKsjç}”j×Ksj }”jùKsj2}”j"Ksjb}”jRKsj’}”j‚KsjÂ}”j²Ksjë}”jÛKsj}”jKsj=}”j-Ksj_}”jOKsj}”jqKsj£}”j“KsjÓ}”jÃKsjü}”jìKsj%}”jKsjU}”jEKsj…}”juKsj®}”jžKsjÞ}”jÎKsj}”jþKsj7}”j'Ksjg}”jWKsj—}”j‡KsjÇ}”j·Ksj÷}”jçKsj }”jKsjI}”j9Ksjr}”jbKsj›}”j‹KsjÄ}”j´Ksjí}”jÝKsj}”j KsjF}”j6Ksjo}”j_KsjŸ}”jKsjÈ}”j¸Ksjø}”jèKsj( }”j KsjX }”jH Ksj }”jq Ksj­ }”j KsjÙ }”jÉ Ksj }”j KsjD }”j4 Ksj }”j} Ksj¶ }”j¦ Ksj% }”j KsjN }”j> Ksjw }”jg KsjÊ }”jº Ksjó }”jã Ksj< }”j, Ksje }”jU Ksj® }”jž Ksj× }”jÇ Ksj }”j Ksj; }”j+ Ksj‡ }”jw Ksj° }”j  Ksjü }”jì Ksj%}”jKsjn}”j^Ksj—}”j‡Ksjà}”jÐKsj }”jùKsj\}”jLKsj…}”juKsjØ}”jÈKsjú}”jêKsjM}”j=Ksjo}”j_KsjÂ}”j²Ksjë}”jÛKsj>}”j.Ksjg}”jWKsjº}”jªKsjÜ}”jÌKsj/}”jKsjQ}”jAKsj¤}”j”KsjÍ}”j½Ksj}”jÿKsj8}”j(KsjÇ}”j·Ksjð}”jàKsj2}”j"Ksj[}”jKKsj}”jKsjÆ}”j¶Ksj<}”j,Ksje}”jUKsjŽ}”j~KsjÐ}”jÀKsj}”jðKsj’}”j‚Ksj$}”jKsjM}”j=Ksjv}”jfKsjŸ}”jKsjÈ}”j¸Ksj}”j KsjD}”j4Ksj†}”jvKsj¯}”jŸKsjØ}”jÈKsj}”jñKsj1}”j!KsjZ}”jJKsjŠ}”jzKsj³}”j£Ksjã}”jÓKsj }”jüKsj<}”j,Ksjl}”j\Ksj•}”j…KsjÅ}”jµKsjõ}”jåKsj%}”jKsjg}”jWKsj—}”j‡KsjÀ}”j°Ksjé}”jÙKsj}”jKsjB}”j2Ksjk}”j[Ksj}”j}Ksj¶}”j¦Ksjæ}”jÖKsj}”jÿKsj;}”j+Ksjj}”jZKsj™}”j‰KsjÂ}”j²Ksjò}”jâKsj!}”jKsjQ}”jAKsjz}”jjKsjª}”jšKsjÓ}”jÃKsj}”jóKsj%}”jKsjN}”j>Ksjp}”j`Ksj’}”j‚Ksj´}”j¤Ksjö}”jæKsj }”j KsjA }”j1 Ksjq }”ja Ksj¡ }”j‘ Ksj }”j² Ksjë }”jÛ Ksj!}”j!Ksj=!}”j-!Ksji!}”jY!Ksj’!}”j‚!Ksj¾!}”j®!Ksjê!}”jÚ!Ksj"}”j"KsjU"}”jE"Ksj}"}”jm"Ksj­"}”(j"Kj"#KujÖ"}”jÆ"Ksj#}”jö"Ksj[#}”jK#Ksj‡#}”jw#Ksuh+}”(h0}”hKshm}”hUKsh–}”h~Ksh¿}”h§Kshè}”hÐKsj}”hùKsjA}”j)Ksjj}”jRKsjš}”j‚KsjÊ}”j²Ksjì}”jÔKsj}”jKsjE}”j-Ksjg}”jOKsj‰}”jqKsj«}”j“KsjÍ}”jµKsjï}”j×Ksj}”jùKsj:}”j"Ksjj}”jRKsjš}”j‚KsjÊ}”j²Ksjó}”jÛKsj}”jKsjE}”j-Ksjg}”jOKsj‰}”jqKsj«}”j“KsjÛ}”jÃKsj}”jìKsj-}”jKsj]}”jEKsj}”juKsj¶}”jžKsjæ}”jÎKsj}”jþKsj?}”j'Ksjo}”jWKsjŸ}”j‡KsjÏ}”j·Ksjÿ}”jçKsj(}”jKsjQ}”j9Ksjz}”jbKsj£}”j‹KsjÌ}”j´Ksjõ}”jÝKsj%}”j KsjN}”j6Ksjw}”j_Ksj§}”jKsjÐ}”j¸Ksj }”jèKsj0 }”j Ksj` }”jH Ksj‰ }”jq Ksjµ }”j Ksjá }”jÉ Ksj# }”j KsjL }”j4 Ksj• }”j} Ksj¾ }”j¦ Ksj- }”j KsjV }”j> Ksj }”jg KsjÒ }”jº Ksjû }”jã KsjD }”j, Ksjm }”jU Ksj¶ }”jž Ksjß }”jÇ Ksj! }”j KsjC }”j+ Ksj }”jw Ksj¸ }”j  Ksj}”jì Ksj-}”jKsjv}”j^KsjŸ}”j‡Ksjè}”jÐKsj}”jùKsjd}”jLKsj}”juKsjà}”jÈKsj}”jêKsjU}”j=Ksjw}”j_KsjÊ}”j²Ksjó}”jÛKsjF}”j.Ksjo}”jWKsjÂ}”jªKsjä}”jÌKsj7}”jKsjY}”jAKsj¬}”j”KsjÕ}”j½Ksj}”jÿKsj@}”j(KsjÏ}”j·Ksjø}”jàKsj:}”j"Ksjc}”jKKsj¥}”jKsjÎ}”j¶KsjD}”j,Ksjm}”jUKsj–}”j~KsjØ}”jÀKsj}”jðKsjš}”j‚Ksj,}”jKsjU}”j=Ksj~}”jfKsj§}”jKsjÐ}”j¸Ksj#}”j KsjL}”j4KsjŽ}”jvKsj·}”jŸKsjà}”jÈKsj }”jñKsj9}”j!Ksjb}”jJKsj’}”jzKsj»}”j£Ksjë}”jÓKsj}”jüKsjD}”j,Ksjt}”j\Ksj}”j…KsjÍ}”jµKsjý}”jåKsj-}”jKsjo}”jWKsjŸ}”j‡KsjÈ}”j°Ksjñ}”jÙKsj}”jKsjJ}”j2Ksjs}”j[Ksj•}”j}Ksj¾}”j¦Ksjî}”jÖKsj}”jÿKsjC}”j+Ksjr}”jZKsj¡}”j‰KsjÊ}”j²Ksjú}”jâKsj)}”jKsjY}”jAKsj‚}”jjKsj²}”jšKsjÛ}”jÃKsj }”jóKsj-}”jKsjV}”j>Ksjx}”j`Ksjš}”j‚Ksj¼}”j¤Ksjþ}”jæKsj }”j KsjI }”j1 Ksjy }”ja KsjÊ }”j² Ksjó }”jÛ Ksj!}”j!KsjE!}”j-!Ksjq!}”jY!Ksjš!}”j‚!KsjÆ!}”j®!Ksjò!}”jÚ!Ksj"}”j"Ksj\"}”jE"Ksj…"}”jm"Ksjµ"}”j"KsjÞ"}”jÆ"Ksj#}”jö"Ksj:#}”j"#Ksjc#}”jK#Ksj#}”jw#KsuhD}”hH}”h9KsshK}”hR}”h9Kssh3}”h9}”hKssh<}”h@}”hKsshp}”(ht}”(hUKjKjùKj²KjKj´KjH KjŸKj\Kj}KjÖKjAKj KjY!Kj"#Kuh}”(h~Kh§Kujú}”jÛKsjU}”j6Ksj®}”(jKjÿKj‰Kuj }”(jq Kj Kjw#Kuj“ }”(jq Kj+KjZKjâKuj¿ }”(j Kj‡Kj+KjZKjâKujç}”(jÈKj!KjzKjÓKuj}”jÿKsjJ}”(j+Kj‚!Kujy}”(jZKj®!Kuj}”(jâKjö"Kuj¨ }”(j‘ Kj-!KjK#KujO!}”j-!Ksj¤!}”(j‚!Kj®!KjÚ!Kjö"KjK#Kjw#Kuuhw}”h{}”(hUKh~Kh§KhÐKhùKj)KjRKj‚Kj²KjÔKjKj-KjOKjqKj“KjµKj×KjùKj"KjRKj‚Kj²KjÛKjKj-KjOKjqKj“KjÃKjìKjKjEKjuKjžKjÎKjþKj'KjWKj‡Kj·KjçKjKj9KjbKj‹Kj´KjÝKj Kj6Kj_KjKj¸KjèKj KjH Kjq Kj KjÉ Kjò Kj Kj4 Kj] Kj} Kj¦ KjÒ Kjò Kj Kj> Kjg Kj Kjº Kjã Kj Kj, KjU Kj~ Kjž KjÇ Kjð Kj Kj+ KjT Kjw Kj  KjÉ Kjì KjKj>Kj^Kj‡Kj°KjÐKjùKj"KjLKjuKjžKjÈKjêKjKj=Kj_KjˆKj²KjÛKjKj.KjWKj€KjªKjÌKjõKjKjAKjjKj”Kj½KjæKjÿKj(KjQKj·KjàKj Kj"KjKKjtKjKj¶KjâKjKj,KjUKj~Kj§KjÀKjðKjKj?KjXKj‚Kj±KjÑKjêKjKj=KjfKjKj¸KjáKj Kj4Kj]KjvKjŸKjÈKjñKj!KjJKjzKj£KjÓKjüKj,Kj\Kj…KjµKjåKjKj>KjWKj‡Kj°KjÙKjKj2Kj[Kj}Kj¦KjÖKjÿKj+KjZKj‰Kj²KjâKjKjAKjjKjšKjÃKjóKjKj>Kj`Kj‚Kj¤KjÍKjæKj Kj1 Kja Kj‘ Kj² KjÛ Kj!Kj-!KjY!Kj‚!Kj®!KjÚ!Kj"Kj,"KjE"Kjm"Kj"KjÆ"Kjö"Kj"#KjK#Kjw#Kushë}”(hï}”(hÐKj"Kj‚Kj_Kj KjKj Kuj}”(hùKj} Kj²Kujx}”(jRKj‚Kj, Kjž Kj^KjÐKjjKujú}”(jÔKjEKujx}”jRKsj¹}”j“Ksj;}”(jKj‡Kj·KjçKj9KjbKj‹KujÄ}”(jžKj"KjfKjKja Kujô}”jÎKsjM}”(j'KjWKj,Kuj/}”(jKj Kj> Kjw Kjì KjKjvKuj}”jÝKsjÞ}”(j¸KjèKj KujÙ }”jº Ksjk}”(jLKj²Kj.Kj”KjKj=Kuj}”jÿKsjÖ}”j·KsjK}”(j,KjUKjñKjJKj£KjüKjµKjÃKjm"Kujæ}”jÀKsj«}”j…Ksj }”(jåKjÆ"Kuj}}”jWKsj(}”jKsjÌ}”j¦Ksj7}”jKsjW }”j1 Ksjc"}”jE"Ksj¼"}”j"Ksuj}”(j}”(hùKj)KjRKj‚KjÔKjÀKjWKj¦Kj1 KujA}”(j"KjRKj‚Kuj²}”(j“KjÃKjìKjKjEKjuKjžKjÎKjþKujF}”(j'KjWKj‡Kj…KujÖ}”(j·Kj°KjÙKjKj2Kujü}”(jÝKj Kuj~}”j_Ksj×}”(j¸KjèKj Kuj}”jñKsji}”jJKsjÉ}”j£Ksj}”jüKsjK}”j,KsjÔ}”(jµKjåKujÑ}”j²Ksj0}”jKsj‰}”(jjKjšKjÃKuj€ }”ja KsjÑ }”(j² KjÛ Kj!KujŒ"}”jm"Ksjå"}”jÆ"Ksujä }”(jè }”jÉ KsjS }”j4 KsjÅ }”j¦ KsjÈ }”j¦ Ksj† }”jg Ksj }”jã Ksjt }”jU Ksjæ }”jÇ KsjJ }”j+ Ksj¿ }”j  Ksj4}”jKsj¦}”j‡Ksj}”jùKsj”}”juKsj }”jêKsj~}”j_Ksjú}”jÛKsjv}”jWKsjë}”jÌKsj`}”jAKsjÜ}”j½KsjG}”j(Ksjÿ}”jàKsjj}”jKKsjÕ}”j¶KsjØ}”j¶Ksj}”j~Ksj}”jðKsj}”jðKsj}”jðKsj¡}”j‚Ksj¤}”j‚Ksj§}”j‚Ksj×}”j¸KsjS}”j4Ksj4}”jKsjÃ}”j¤Ksj""}”j"Ksujý }”(j }”jò Ksjl }”j] Ksjá }”jÒ Ksj }”jò KsjŸ }”j Ksj }”j Ksj }”j~ Ksjÿ }”jð Ksjc }”jT KsjØ }”jÉ KsjM}”j>Ksj¿}”j°Ksj1}”j"Ksj­}”jžKsj"}”jKsj—}”jˆKsj}”jKsj}”j€Ksj}”jõKsjy}”jjKsjõ}”jæKsj`}”jQKsj}”j Ksjƒ}”jtKsjñ}”jâKsj}”jKsj¶}”j§Ksj.}”jKsjN}”(j?KjÑKujg}”(jXKjêKujÀ}”j±Ksjð}”jáKsjl}”j]KsjM}”j>KsjÜ}”jÍKsj;"}”j,"Ksujo }”(js }”(j] Kj Kj Kj~ Kj>Kj°Kuj¾}”(jžKjKj€KjõKuujä }”(jè }”(jÒ KjXKjêKjáKuj8}”(j"KjˆKjKjjKjKj±Kujø}”(jâKjKuuj }”j }”(jò KjKjXKjêKusj© }”j° }”(j KjT KjÉ Kj"KjžKjKjˆKjKj€KjõKjjKjQKjáKusj|}”(j€}”jgKsjŒ}”j‡Ksj•}”jKsjž}”j™Ksj§}”j¢Ksj°}”j«Ksujƒ}”(j‡}”jgKsj}”j‡Ksj™}”jKsj¢}”j™Ksj«}”j¢Ksj´}”j«Ksujc}”jg}”jQKssuŒ _Memory__osp”}”(h}”(h}”hKsj'}”(jBKjIKujW}”(jrKjyKuj‡}”j¢Ksj,}”jNKsj…}”j Ksuh(}”h}”h!Kssh0}”h}”h+KsshH}”h9}”hDKsshR}”h9}”hKKssh9}”h}”h3Kssh@}”h}”hKsjE}”jnKsju}”j—Ksjž}”jÇKsjÎ}”j÷Ksjþ}”j Ksj'}”jPKsjW}”j€Ksj‡}”j°Ksj·}”jàKsjç}”j Ksj}”j2Ksj9}”j[Ksjb}”j„Ksj‹}”j­Ksj´}”jÖKsjÝ}”jKsj }”j/Ksj6}”jXKsj_}”jˆKsj}”j±Ksj¸}”jáKsjè}”j Ksj }”jA KsjH }”jj Ksjq }”j– Ksj }”j KsjÉ }”jë Ksjò }”j Ksj }”j- Ksj4 }”jV Ksj] }”jv Ksj} }”jŸ Ksj¦ }”jË KsjÒ }”jë Ksjò }”j Ksj }”j7 Ksj> }”j` Ksjg }”j‰ Ksj }”j³ Ksjº }”jÜ Ksjã }”j Ksj }”j% Ksj, }”jN KsjU }”jw Ksj~ }”j— Ksjž }”jÀ KsjÇ }”jé Ksjð }”j Ksj }”j$ Ksj+ }”jM KsjT }”jp Ksjw }”j™ Ksj  }”j KsjÉ }”jå Ksjì }”jKsj}”j7Ksj>}”jWKsj^}”j€Ksj‡}”j©Ksj°}”jÉKsjÐ}”jòKsjù}”jKsj"}”jEKsjL}”jnKsju}”j—Ksjž}”jÁKsjÈ}”jãKsjê}”j Ksj}”j6Ksj=}”jXKsj_}”jKsjˆ}”j«Ksj²}”jÔKsjÛ}”jýKsj}”j'Ksj.}”jPKsjW}”jyKsj€}”j£Ksjª}”jÅKsjÌ}”jîKsjõ}”jKsj}”j:KsjA}”jcKsjj}”jKsj”}”j¶Ksj½}”jßKsjæ}”jøKsjÿ}”j!Ksj(}”jJKsjQ}”jtKsj·}”jÙKsjà}”jKsj }”jKsj"}”jDKsjK}”jmKsjt}”j†Ksj}”j¯Ksj¶}”jÛKsjâ}”jûKsj}”j%Ksj,}”jNKsjU}”jwKsj~}”j Ksj§}”j¹KsjÀ}”jéKsjð}”jKsj}”j8Ksj?}”jQKsjX}”j{Ksj‚}”jªKsj±}”jÊKsjÑ}”jãKsjê}”j Ksj}”j6Ksj=}”j_Ksjf}”jˆKsj}”j±Ksj¸}”jÚKsjá}”jKsj }”j-Ksj4}”jVKsj]}”joKsjv}”j˜KsjŸ}”jÁKsjÈ}”jêKsjñ}”jKsj!}”jCKsjJ}”jsKsjz}”jœKsj£}”jÌKsjÓ}”jõKsjü}”j%Ksj,}”jUKsj\}”j~Ksj…}”j®Ksjµ}”jÞKsjå}”jKsj}”j7Ksj>}”jPKsjW}”j€Ksj‡}”j©Ksj°}”jÒKsjÙ}”jûKsj}”j+Ksj2}”jTKsj[}”jvKsj}}”jŸKsj¦}”jÏKsjÖ}”jøKsjÿ}”j$Ksj+}”jSKsjZ}”j‚Ksj‰}”j«Ksj²}”jÛKsjâ}”j Ksj}”j:KsjA}”jcKsjj}”j“Ksjš}”j¼KsjÃ}”jìKsjó}”jKsj}”j7Ksj>}”jYKsj`}”j{Ksj‚}”jKsj¤}”jÆKsjÍ}”jßKsjæ}”j Ksj }”j* Ksj1 }”jZ Ksja }”jŠ Ksj‘ }”j« Ksj² }”jÔ KsjÛ }”jý Ksj!}”j&!Ksj-!}”jR!KsjY!}”j{!Ksj‚!}”j§!Ksj®!}”jÓ!KsjÚ!}”jü!Ksj"}”j%"Ksj,"}”j>"KsjE"}”jf"Ksjm"}”j–"Ksj"}”j¿"KsjÆ"}”jï"Ksjö"}”j#Ksj"#}”jD#KsjK#}”jp#Ksjw#}”jœ#KsuhŽ}”h~}”h‰Kssh–}”h~}”h‘Kssh}”(h~}”h™Ksh§}”hÂKshù}”jKsj)}”jDKsjR}”jmKsj‚}”jKsjÔ}”jïKsjž}”jÀKsj"}”j=KsjÀ}”jÛKsjf}”jKsjW}”jrKsj¦}”jÁKsj}”j0Ksj1 }”jL Ksja }”jƒ Ksuh·}”h§}”h²Kssh¿}”h§}”hºKsshØ}”(hÐ}”hÔKshù}”hýKsj)}”j-KsjR}”(jVKjtKuj‚}”(j†Kj¤Kuj²}”j¶KsjÔ}”jØKsj"}”j&KsjR}”jVKsj‚}”j†Ksj“}”j—KsjÃ}”jÇKsjì}”jðKsj}”jKsjE}”jIKsju}”jyKsjž}”j¢KsjÎ}”jÒKsjþ}”jKsj'}”j+KsjW}”j[Ksj‡}”j‹Ksj·}”j»Ksjç}”jëKsj}”jKsj9}”j=Ksjb}”jfKsj‹}”jKsjÝ}”jáKsj }”jKsj_}”jcKsj¸}”j¼Ksjè}”jìKsj }”j Ksj }”j Ksj} }”j Ksj }”j Ksj> }”jB Ksjº }”j¾ Ksj, }”(j0 KjG Kujž }”(j¢ Kj¹ Kuj }”j Ksjw }”j{ Ksjì }”jð Ksj^}”(jbKjyKujÐ}”(jÔKjëKujL}”jPKsjÈ}”jÌKsj=}”jAKsj²}”j¶Ksj.}”j2Ksjª}”j®Ksj}”j#Ksj”}”j˜Ksjÿ}”jKsj·}”j»Ksj"}”j&Ksj}”j‘Ksj,}”j0KsjU}”jYKsjÀ}”jÄKsj}”jKsj=}”jAKsjf}”jjKsj}”j“Ksj }”jKsjv}”jzKsjñ}”jõKsjJ}”jNKsj£}”j§Ksjü}”jKsj,}”j0Ksj…}”j‰Ksjµ}”j¹Ksjå}”jéKsjW}”j[Ksj°}”j´KsjÙ}”jÝKsj}”jKsj2}”j6Ksj[}”j_Ksj¦}”jªKsj²}”j¶Ksj}”jKsjj}”(jnKjŒKujš}”jžKsjÃ}”jÇKsj}”jKsj>}”jBKsj`}”jdKsj‚}”j†Ksjæ}”jêKsj1 }”j5 Ksja }”je Ksj² }”j¶ KsjÛ }”jß Ksj!}”j!KsjE"}”jI"Ksjm"}”jq"Ksj"}”j¡"KsjÆ"}”jÊ"Ksuhà}”hÐ}”hÛKsshè}”hÐ}”hãKsshï}”(hÐ}”hëKsj"}”jDKsj‚}”j¤Ksj_}”jKsjÒ }”jä Ksj }”j0 KsjX}”jjKsjê}”jüKsj}”jªKsjá}”jóKsj }”j&Ksuj }”hù}”jKssj}”hù}”j Kssj9}”j)}”j4KssjA}”j)}”j<Kssjb}”jR}”j]Kssjj}”jR}”jeKssj’}”j‚}”jKssjš}”j‚}”j•KssjÂ}”j²}”j½KssjÊ}”j²}”jÅKssjä}”jÔ}”jßKssjì}”jÔ}”jçKssjú}”(jÔ}”jöKsj-}”j1KsjO}”jSKsjq}”juKsjE}”jgKsuj}”j}”jKssj}”j}”jKssj5}”(j-}”j1KsjO}”jSKsjq}”juKsj“}”j—Ksjµ}”j¹Ksj×}”jÛKsj·}”jÒKsuj=}”j-}”j8KssjE}”j-}”j@Kssj_}”jO}”jZKssjg}”jO}”jbKssj}”jq}”j|Kssj‰}”jq}”j„Kssj£}”j“}”jžKssj«}”j“}”j¦KssjÅ}”jµ}”jÀKssjÍ}”jµ}”jÈKssjç}”j×}”jâKssjï}”j×}”jêKssj }”jù}”jKssj}”jù}”j Kssj2}”j"}”j-Kssj:}”j"}”j5KssjA}”(j"}”j=KsjR}”jmKsj‚}”jKsujb}”jR}”j]Kssjj}”jR}”jeKssjx}”jR}”jtKssj’}”j‚}”jKssjš}”j‚}”j•KssjÂ}”j²}”j½KssjÊ}”j²}”jÅKssjë}”jÛ}”jæKssjó}”jÛ}”jîKssjú}”(jÛ}”jöKsj“}”(j®KjµKujÃ}”jÞKsjì}”jKsj}”j0KsjE}”j`Ksju}”jKsjž}”j¹KsjÎ}”jéKsjþ}”jKsuj}”j}”jKssj}”j}”jKssj=}”j-}”j8KssjE}”j-}”j@Kssj_}”jO}”jZKssjg}”jO}”jbKssj}”jq}”j|Kssj‰}”jq}”j„Kssj£}”j“}”jžKssj«}”j“}”j¦KssjÓ}”jÃ}”jÎKssjÛ}”jÃ}”jÖKssjü}”jì}”j÷Kssj}”jì}”jÿKssj%}”j}”j Kssj-}”j}”j(KssjU}”jE}”jPKssj]}”jE}”jXKssj…}”ju}”j€Kssj}”ju}”jˆKssj®}”jž}”j©Kssj¶}”jž}”j±KssjÞ}”jÎ}”jÙKssjæ}”jÎ}”jáKssjô}”(jÎ}”jðKsj¸}”jÓKsjè}”j Ksj }”j3 KsjÉ }”jÍ Ksj4 }”j8 Ksj¦ }”jª Ksjg }”jk Ksjã }”jç KsjU }”jY KsjÇ }”jË Ksj+ }”j/ Ksj  }”j¤ Ksj}”jKsj‡}”j‹Ksjù}”jýKsju}”jyKsjê}”jîKsj_}”jcKsjÛ}”jßKsjW}”j[KsjÌ}”jÐKsjA}”jEKsj½}”jÁKsj(}”j,Ksjà}”jäKsjK}”jOKsj¶}”jºKsj~}”j‚Ksjð}”jôKsj‚}”j†Ksj¸}”j¼Ksj4}”j8Ksj}”jKsj¤}”j¨Ksj"}”j"Ksuj}”jþ}”j Kssj}”jþ}”jKssj7}”j'}”j2Kssj?}”j'}”j:Kssjg}”jW}”jbKssjo}”jW}”jjKssj—}”j‡}”j’KssjŸ}”j‡}”jšKssjÇ}”j·}”jÂKssjÏ}”j·}”jÊKssjÖ}”(j·}”jÒKsj6}”jQKsjÀ}”jâKsj°}”jËKsjÙ}”jôKsj}”jKsj2}”jMKsuj÷}”jç}”jòKssjÿ}”jç}”júKssj }”j}”jKssj(}”j}”j#Kssj/}”(j}”j+Ksj }”j& Ksj> }”jY Ksjw }”j’ Ksjì }”jKsj}”j¨Ksjv}”j‘KsujI}”j9}”jDKssjQ}”j9}”jLKssjr}”jb}”jmKssjz}”jb}”juKssj›}”j‹}”j–Kssj£}”j‹}”jžKssjÄ}”j´}”j¿KssjÌ}”j´}”jÇKssjí}”jÝ}”jèKssjõ}”jÝ}”jðKssjü}”(jÝ}”jøKsj }”j(Ksj}”jªKsjÿ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj‰}”j¤Ksuj}”(jÝ}”jÿKsj_}”jzKsjò }”jö Ksj] }”ja KsjÒ }”jÖ Ksjò }”jö Ksj }”j” Ksj }”j Ksj~ }”j‚ Ksjð }”jô KsjT }”jX KsjÉ }”jÍ Ksj>}”jBKsj°}”j´Ksj"}”j&Ksjž}”j¢Ksj}”jKsjˆ}”jŒKsj}”jKsj€}”j„Ksjõ}”jùKsjj}”jnKsjæ}”jêKsjQ}”jUKsj }”j Ksjt}”jxKsjâ}”jæKsj}”jKsj§}”j«Ksj}”j#Ksj?}”jCKsjX}”j\Ksj±}”jµKsjÑ}”jÕKsjê}”jîKsjá}”jåKsj]}”jaKsj>}”jBKsjÍ}”jÑKsj,"}”j0"Ksuj}”j }”jKssj%}”j }”j KssjF}”j6}”jAKssjN}”j6}”jIKssjo}”j_}”jjKssjw}”j_}”jrKssjŸ}”j}”jšKssj§}”j}”j¢KssjÈ}”j¸}”jÃKssjÐ}”j¸}”jËKssjÞ}”(j¸}”jÚKsjè}”j Ksj }”j: Ksjq }”jŒ Ksj }”j¸ Ksjw#}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksujø}”jè}”jóKssj }”jè}”jûKssj( }”j }”j# Kssj0 }”j }”j+ KssjX }”jH }”jS Kssj` }”jH }”j[ Kssj }”jq }”j| Kssj‰ }”jq }”j„ Kssj“ }”(jq }”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjñ}”j Ksj+}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjZ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjâ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksuj­ }”j }”j¨ Kssjµ }”j }”j° Kssj¿ }”(j }”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj£}”jÅKsj‡}”j¢Ksj+}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjZ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksjâ}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsujÙ }”jÉ }”jÔ Kssjá }”jÉ }”jÜ Kssjè }”jÉ }”jä Kssj }”jò }”jý Kssj }”j }”j Kssj# }”j }”j KssjD }”j4 }”j? KssjL }”j4 }”jG KssjS }”j4 }”jO Kssjl }”j] }”jh Kssjs }”(j] }”jo Ksj }”j¢ Ksj }”j Ksj~ }”j Ksj>}”jPKsj°}”jÂKsj‡}”j|Ksuj }”j} }”jˆ Kssj• }”j} }”j Kssj¶ }”j¦ }”j± Kssj¾ }”j¦ }”j¹ KssjÅ }”j¦ }”jÁ KssjÈ }”j¦ }”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssjá }”jÒ }”jÝ Kssj }”jò }”jý Kssj }”(jò }”j Ksj}”jKsjX}”jqKsjê}”jKsuj% }”j }”j Kssj- }”j }”j( KssjN }”j> }”jI KssjV }”j> }”jQ Kssjw }”jg }”jr Kssj }”jg }”jz Kssj† }”jg }”j‚ KssjŸ }”j }”j› Kssj° }”(j }”j© KsjT }”jf KsjÉ }”jÛ Ksj"}”j;Ksjž}”j°Ksj}”j%Ksjˆ}”j¡Ksj}”jKsj€}”j’Ksjõ}”jKsjj}”jƒKsjQ}”jjKsjá}”júKsujÊ }”jº }”jÅ KssjÒ }”jº }”jÍ KssjÙ }”jº }”jÕ Kssjó }”jã }”jî Kssjû }”jã }”jö Kssj }”jã }”jþ Kssj }”j }”j Kssj< }”j, }”j7 KssjD }”j, }”j? Kssje }”jU }”j` Kssjm }”jU }”jh Kssjt }”jU }”jp Kssj }”j~ }”j‰ Kssj® }”jž }”j© Kssj¶ }”jž }”j± Kssj× }”jÇ }”jÒ Kssjß }”jÇ }”jÚ Kssjæ }”jÇ }”jâ Kssjÿ }”jð }”jû Kssj }”j }”j Kssj! }”j }”j Kssj; }”j+ }”j6 KssjC }”j+ }”j> KssjJ }”j+ }”jF Kssjc }”jT }”j_ Kssj‡ }”jw }”j‚ Kssj }”jw }”jŠ Kssj° }”j  }”j« Kssj¸ }”j  }”j³ Kssj¿ }”j  }”j» KssjØ }”jÉ }”jÔ Kssjü }”jì }”j÷ Kssj}”jì }”jÿ Kssj%}”j}”j Kssj-}”j}”j(Kssj4}”j}”j0KssjM}”j>}”jIKssjn}”j^}”jiKssjv}”j^}”jqKssj—}”j‡}”j’KssjŸ}”j‡}”jšKssj¦}”j‡}”j¢Kssj¿}”j°}”j»Kssjà}”jÐ}”jÛKssjè}”jÐ}”jãKssj }”jù}”jKssj}”jù}”j Kssj}”jù}”jKssj1}”j"}”j-Kssj8}”(j"}”j4KsjL}”jgKsjˆ}”jšKsj²}”jÍKsj}”jKsj.}”jIKsjj}”j|Ksj”}”j¯Ksj}”j1Ksj±}”jÃKsj}”j/Ksj=}”jXKsuj\}”jL}”jWKssjd}”jL}”j_Kssj…}”ju}”j€Kssj}”ju}”jˆKssj”}”ju}”jKssj­}”jž}”j©Kssj¾}”(jž}”jºKsj}”j/Ksj€}”jœKsjõ}”jKsj}”j|KsujØ}”jÈ}”jÓKssjà}”jÈ}”jÛKssjú}”jê}”jõKssj}”jê}”jýKssj }”jê}”jKssj"}”j}”jKssjM}”j=}”jHKssjU}”j=}”jPKssjo}”j_}”jjKssjw}”j_}”jrKssj~}”j_}”jzKssj—}”jˆ}”j“KssjÂ}”j²}”j½KssjÊ}”j²}”jÅKssjë}”jÛ}”jæKssjó}”jÛ}”jîKssjú}”jÛ}”jöKssj}”j}”jKssj>}”j.}”j9KssjF}”j.}”jAKssjg}”jW}”jbKssjo}”jW}”jjKssjv}”jW}”jrKssj}”j€}”j‹Kssjº}”jª}”jµKssjÂ}”jª}”j½KssjÜ}”jÌ}”j×Kssjä}”jÌ}”jßKssjë}”jÌ}”jçKssj}”jõ}”jKssj/}”j}”j*Kssj7}”j}”j2KssjQ}”jA}”jLKssjY}”jA}”jTKssj`}”jA}”j\Kssjy}”jj}”juKssj¤}”j”}”jŸKssj¬}”j”}”j§KssjÍ}”j½}”jÈKssjÕ}”j½}”jÐKssjÜ}”j½}”jØKssjõ}”jæ}”jñKssj}”jÿ}”j Kssj}”jÿ}”jKssj}”jÿ}”jKssj8}”j(}”j3Kssj@}”j(}”j;KssjG}”j(}”jCKssj`}”jQ}”j\Kssj€}”jg}”j|Kssj‡}”jg}”jƒKssj}”j‡}”jƒKssj™}”j}”jƒKssjž}”j™}”j|Kssj¢}”j™}”jƒKssj§}”j¢}”j|Kssj«}”j¢}”jƒKssj°}”j«}”j|Kssj´}”j«}”jƒKssjg}”jQ}”jcKssjÇ}”j·}”jÂKssjÏ}”j·}”jÊKssjð}”jà}”jëKssjø}”jà}”jóKssjÿ}”jà}”jûKssj}”j }”jKssj2}”j"}”j-Kssj:}”j"}”j5Kssj[}”jK}”jVKssjc}”jK}”j^Kssjj}”jK}”jfKssjƒ}”jt}”jKssj}”j}”j˜Kssj¥}”j}”j KssjÆ}”j¶}”jÁKssjÎ}”j¶}”jÉKssjÕ}”j¶}”jÑKssjØ}”j¶}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssjñ}”jâ}”jíKssjø}”(jâ}”jôKsj}”jKsj,}”jGKsjU}”jpKsjñ}”jKsjJ}”jlKsj£}”j¾Ksjü}”jKsjµ}”j×KsjÃ}”jåKsjm"}”j"Ksuj}”j}”j Kssj<}”j,}”j7KssjD}”j,}”j?Kssje}”jU}”j`Kssjm}”jU}”jhKssjŽ}”j~}”j‰Kssj–}”j~}”j‘Kssj}”j~}”j™Kssj¶}”j§}”j²KssjÐ}”jÀ}”jËKssjØ}”jÀ}”jÓKssj}”jð}”jûKssj}”jð}”jKssj}”jð}”j Kssj}”jð}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssj}”jð}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssj.}”j}”j*KssjN}”(j?}”jJKsjÑ}”jÜKsujg}”(jX}”jcKsjê}”jõKsuj’}”j‚}”jKssjš}”j‚}”j•Kssj¡}”j‚}”jKssj¤}”j‚}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”Kssj§}”j‚}”hŒ$http://www.w3.org/ns/shacl#parameter”…”R”KssjÀ}”j±}”j¼Kssj$}”j}”jKssj,}”j}”j'KssjM}”j=}”jHKssjU}”j=}”jPKssjv}”jf}”jqKssj~}”jf}”jyKssjŸ}”j}”jšKssj§}”j}”j¢KssjÈ}”j¸}”jÃKssjÐ}”j¸}”jËKssj×}”j¸}”jÓKssjð}”já}”jìKssj}”j }”jKssj#}”j }”jKssjD}”j4}”j?KssjL}”j4}”jGKssjS}”j4}”jOKssjl}”j]}”jhKssj†}”jv}”jKssjŽ}”jv}”j‰Kssj¯}”jŸ}”jªKssj·}”jŸ}”j²KssjØ}”jÈ}”jÓKssjà}”jÈ}”jÛKssjç}”(jÈ}”jãKsj!}”j<Ksjz}”j•KsjÓ}”jîKsj,}”jGKsuj}”jñ}”jüKssj }”jñ}”jKssj1}”j!}”j,Kssj9}”j!}”j4KssjZ}”jJ}”jUKssjb}”jJ}”j]Kssji}”(jJ}”jeKsj-!}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsujŠ}”jz}”j…Kssj’}”jz}”jKssj³}”j£}”j®Kssj»}”j£}”j¶Kssjã}”jÓ}”jÞKssjë}”jÓ}”jæKssj }”jü}”jKssj}”jü}”jKssj}”jü}”jKssj<}”j,}”j7KssjD}”j,}”j?Kssjl}”j\}”jgKssjt}”j\}”joKssj•}”j…}”jKssj}”j…}”j˜Kssj«}”(j…}”j§Ksjµ}”jÐKsjå}”jKsujÅ}”jµ}”jÀKssjÍ}”jµ}”jÈKssjõ}”jå}”jðKssjý}”jå}”jøKssj }”(jå}”jKsjÆ"}”jè"Ksuj%}”j}”j Kssj-}”j}”j(Kssj4}”j}”j0KssjM}”j>}”jIKssjg}”jW}”jbKssjo}”jW}”jjKssj}}”jW}”jyKssj—}”j‡}”j’KssjŸ}”j‡}”jšKssjÀ}”j°}”j»KssjÈ}”j°}”jÃKssjé}”jÙ}”jäKssjñ}”jÙ}”jìKssj}”j}”j Kssj}”j}”jKssj(}”j}”j$KssjB}”j2}”j=KssjJ}”j2}”jEKssjk}”j[}”jfKssjs}”j[}”jnKssj}”j}}”jˆKssj•}”j}}”jKssj¶}”j¦}”j±Kssj¾}”j¦}”j¹KssjÌ}”(j¦}”jÈKsj+}”jFKsj‚!}”j!Ksujæ}”jÖ}”jáKssjî}”jÖ}”jéKssj}”jÿ}”j Kssj}”jÿ}”jKssj;}”j+}”j6KssjC}”j+}”j>Kssjj}”jZ}”jeKssjr}”jZ}”jmKssjy}”(jZ}”juKsj®!}”jÉ!Ksuj™}”j‰}”j”Kssj¡}”j‰}”jœKssjÂ}”j²}”j½KssjÊ}”j²}”jÅKssjÑ}”(j²}”jÍKsjâ}”jýKsjö"}”j#Ksujò}”jâ}”jíKssjú}”jâ}”jõKssj!}”j}”jKssj)}”j}”j$Kssj0}”j}”j,Kssj7}”(j}”j3Ksjj}”j…Ksjš}”jµKsjÃ}”jÞKsujQ}”jA}”jLKssjY}”jA}”jTKssjz}”jj}”juKssj‚}”jj}”j}Kssjª}”jš}”j¥Kssj²}”jš}”j­KssjÓ}”jÃ}”jÎKssjÛ}”jÃ}”jÖKssj}”jó}”jþKssj }”jó}”jKssj%}”j}”j Kssj-}”j}”j(KssjN}”j>}”jIKssjV}”j>}”jQKssjp}”j`}”jkKssjx}”j`}”jsKssj’}”j‚}”jKssjš}”j‚}”j•Kssj´}”j¤}”j¯Kssj¼}”j¤}”j·KssjÃ}”j¤}”j¿KssjÜ}”jÍ}”jØKssjö}”jæ}”jñKssjþ}”jæ}”jùKssj }”j }”j Kssj }”j }”j KssjA }”j1 }”j< KssjI }”j1 }”jD KssjW }”(j1 }”jS Ksja }”j| Ksj‘ }”j¤ Ksj-!}”jH!KsjK#}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksujq }”ja }”jl Kssjy }”ja }”jt Kssj¡ }”j‘ }”jœ Kssj }”j² }”j½ KssjÊ }”j² }”jÅ KssjÑ }”(j² }”jÍ KsjÛ }”jö Ksj!}”j!Ksujë }”jÛ }”jæ Kssjó }”jÛ }”jî Kssj!}”j!}”j!Kssj!}”j!}”j!Kssj=!}”j-!}”j8!KssjE!}”j-!}”j@!Kssji!}”jY!}”jd!Kssjq!}”jY!}”jl!Kssj’!}”j‚!}”j!Kssjš!}”j‚!}”j•!Kssj¤!}”(j‚!}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”Ksj®!}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjÚ!}”jõ!Ksjm"}”jˆ"Ksjö"}”hŒ/http://www.w3.org/2000/01/rdf-schema#subClassOf”…”R”KsjK#}”jf#Ksjw#}”j’#Ksuj¾!}”j®!}”j¹!KssjÆ!}”j®!}”jÁ!Kssjê!}”jÚ!}”jå!Kssjò!}”jÚ!}”jí!Kssj"}”j"}”j"Kssj"}”j"}”j"Kssj""}”j"}”j"Kssj;"}”j,"}”j7"KssjU"}”jE"}”jP"Kssj\"}”jE"}”jX"Kssjc"}”jE"}”j_"Kssj}"}”jm"}”jx"Kssj…"}”jm"}”j€"Kssj­"}”(j"}”j¨"Ksj"#}”j-#Ksujµ"}”j"}”j°"Kssj¼"}”(j"}”j¸"KsjÆ"}”já"KsujÖ"}”jÆ"}”jÑ"KssjÞ"}”jÆ"}”jÙ"Kssj#}”jö"}”j#Kssj#}”jö"}”j #Kssj:#}”j"#}”j5#Kssj[#}”jK#}”jV#Kssjc#}”jK#}”j^#Kssj‡#}”jw#}”j‚#Kssj#}”jw#}”jŠ#KssuŒ_Memory__namespace”}”(Œowl”hŒhttp://www.w3.org/2002/07/owl#”…”R”Œrdf”hŒ+http://www.w3.org/1999/02/22-rdf-syntax-ns#”…”R”Œrdfs”hŒ%http://www.w3.org/2000/01/rdf-schema#”…”R”Œxsd”hŒ!http://www.w3.org/2001/XMLSchema#”…”R”Œxml”hŒ$http://www.w3.org/XML/1998/namespace”…”R”Œsh”hŒhttp://www.w3.org/ns/shacl#”…”R”uŒ_Memory__prefix”}”(jh,je,jl,ji,jp,jm,jt,jq,jx,ju,j|,jy,uŒ_Memory__context_obj_map”}”Œ"URIRef:http://www.w3.org/ns/shacl#”Œ rdflib.graph”ŒGraph”“”hh†”R”sŒ_Memory__tripleContexts”}”Œ_Memory__contextTriples”}”(N”(jùjj‡”j9j[j_‡”j·jÒjÖ‡”jÔjçj쇔j} jˆ j ‡”j~j™j‡”jåjj‡”jójj ‡”j`jsjx‡”jÛjýj‡”jˆj“j—‡”j j” j˜ ‡”j j j" ‡”jÓjîjò‡”jÀjâj懔jT jf jm ‡”jµj×jÛ‡”j} j j• ‡”jùjj‡”jÖjéjj²j½j‡”jÃjÖjÛ‡”j j j ‡”jj j%‡”j¸jËjЇ”j¸jÚjÞ‡”jÌjîjò‡”j>jPjT‡”jÿj¢(j!‡”jqjŒj‡”jÎjéj퇔j‚jj¡‡”j°jÒjÖ‡”j¶jÁjƇ”jÑjãj燔j£jÌjЇ”h§h«h¯‡”j"jDjH‡”j-j1j5‡”j-!j1!j5!‡”j j$ j( ‡”jj“j—‡”jK#jO#jS#‡”j)jDjH‡”j4jOjS‡”j!j!j !‡”jm"j€"j…"‡”jã jþ j ‡”jj6j:‡”jjj|j€‡”j-j@jE‡”j«j|j°‡”jÃjÇjˇ”j6jAjF‡”jEjPjU‡”jqj„j‰‡”jWj€j„‡”jã j j ‡”jÀjÄjȇ”jÓjõjù‡”jj0j4‡”j…j˜j‡”j¦j¹j¾‡”jAjcjg‡”jw#j‚#j‡#‡”j‡j’j—‡”hÐhÛhà‡”j² jÅ jÊ ‡”j²jÔj؇”jKj^jc‡”j}jˆj‡”j,j?jD‡”j\j`jd‡”j, jG jK ‡”jRjmjq‡”jj(j-‡”jj/j3‡”j²jÍjч”hùhýj‡”jZjejj‡”j×jòjö‡”jU j` je ‡”jtjjƒ‡”jâjôjø‡”j”j˜jœ‡”jˆj¡j¨‡”jö"jú"jþ"‡”j‡j‹j‡”j€j„jˆ‡”jEj`jd‡”j"j°"jµ"‡”jÌj×j܇”j9j=jA‡”h9hKhR‡”j´jÖjÚ‡”j‚j•jš‡”j¸jÓjׇ”jY!j{!j!‡”jÿj j‡”jÔjØj܇”jj j¥‡”j¸j¼jÀ‡”j1 jZ j^ ‡”j!j,j1‡”jÉ jÛ jâ ‡”j j0 j4 ‡”j>jPjT‡”jWjrjv‡”jò j j ‡”j‚j«j¯‡”jU jh jm ‡”j¤j¿jÇ”jw#jœ#j #‡”j·j»j¿‡”jµjÐjÔ‡”j,j?jD‡”jjj#‡”jìjj‡”jÛjßj㇔j=jXj\‡”jjj$‡”j¢j|j§‡”j·jÊjχ”j…j j¤‡”jE"jf"jj"‡”jU jY j] ‡”j×jâj燔j j¸ j¼ ‡”j“jµj¹‡”jqjujy‡”j j% j) ‡”jÉ jÜ já ‡”jì jð jô ‡”j)j4j9‡”jj(j-‡”j\jgjl‡”jæjñjö‡”jšj¥jª‡”j j j ‡”jH jS jX ‡”jj(j-‡”hÐhëhjq jŒ j ‡”j=j_jc‡”h9hDhH‡”j,jNjR‡”j j j ‡”jj>jB‡”j+ jF jJ ‡”j"j4j8‡”jU jp jt ‡”jQjUjY‡”j‡jšjŸ‡”j-!j8!j=!‡”jUjYj]‡”hùjj‡”jÖjñjõ‡”j²j¶jº‡”jWjbjg‡”j‚jj’‡”jKjOjS‡”jÑjÕjÙ‡”jájìjð‡”jójþj‡”jQjcjg‡”jµjÈj͇”j?jCjG‡”jjj!‡”jæjêjjWjjjo‡”j‹j–j›‡”jÿjj‡”jæjùjþ‡”j_jjjo‡”j²jÅjʇ”j  j jÆ ‡”jÉ jÔ jÙ ‡”j'j2j7‡”jm"jx"j}"‡”j‚jÜ*j¤‡”j™j|jž‡”jj$j)‡”j±jÊj·”ja jƒ j‡ ‡”j"j;jB‡”j"j=jA‡”jj7j;‡”jÍjÑjÕ‡”jRjVjZ‡”j4 jG jL ‡”j‡j°j´‡”jèj j ‡”j°jÂjƇ”jj j%‡”jtj†jЇ”jÇ jâ jæ ‡”j“j®j²‡”j‚!j!j’!‡”jçj j ‡”jjj‡”j¶jÉj·”h~h‘h–‡”jùjýj‡”jìjðjô‡”j] ja je ‡”j¦jÈj̇”jj&j*‡”jójj‡”j°jÃjȇ”jð jû jÿ ‡”jìjj ‡”jùjýj‡”j£j¾j‡”jÓjæj뇔j²j½j‡”j>jIjM‡”jñjüj‡”jžj¹j½‡”jw j‚ j‡ ‡”j=jAjE‡”j=jXj\‡”j!j<j@‡”jÛ jî jó ‡”j,j0j4‡”j>jWj[‡”j²j¶jº‡”j2j=jB‡”jžjºj¾‡”jêjîjò‡”jžj¢j¦‡”j\jwj{‡”jjšjŸ‡”jZjmjr‡”j®!jÉ!jÍ!‡”jÝjðjõ‡”j¦ jN)jÈ ‡”jÆ"jÙ"jÞ"‡”jjj}j‚‡”j·jÂjLJ”jêjj ‡”j‚jj¡‡”jò jö jú ‡”jž j© j® ‡”jE"j_"jc"‡”jKjfjj‡”jò j j ‡”jÇ jÚ jß ‡”j j j%‡”jfjyj~‡”jâj#)j‡”j¶jÛj߇”jg jr jw ‡”jj7j;‡”jã jç jë ‡”jüjj"‡”h~h™h‡”jªj½j‡”jj¢j§‡”jOjbjg‡”j‘ j• j™ ‡”jÚ!jõ!jù!‡”jj%j)‡”jðjôjø‡”jjšjŸ‡”jzj…jЇ”jU jw j{ ‡”j«jƒj´‡”j…jj•‡”j j- j1 ‡”j j° jµ ‡”jLj_jd‡”jj*j/‡”jj¨j¬‡”j jj‡”jjj‡”jqjujy‡”jWjjjo‡”jÓjÞj㇔j‚j•jš‡”jK#j^#jc#‡”jEjnjr‡”j‡j‹j‡”jõjj‡”jvjj†‡”j\jojt‡”j,j7j<‡”jçjëjjJjUjZ‡”jªj®j²‡”jÔjöjú‡”jÿj j‡”jj,j0‡”jJjljp‡”j1 jD jI ‡”jbjmjr‡”j"j"j"‡”jjj‡”jWjbjg‡”j¶jÑjÕ‡”j‰j”j™‡”jUjhjm‡”j j# j' ‡”jâjûjÿ‡”j j: j> ‡”hÐhãh臔j!j!j!‡”jÖjøjü‡”jT jp jt ‡”jÉ jÔ jØ ‡”jOjbjg‡”jRjmjq‡”jÃjìjð‡”jì j÷ jü ‡”j°jÉj͇”jj#j'‡”j°j»jÀ‡”j^jyj}‡”jÀjéj퇔jqj„j‰‡”jµj¹j½‡”j[jnjs‡”j_jzj~‡”jÛjæj뇔j4 jV jZ ‡”j> jB jF ‡”jÝjèj퇔j4 j? jD ‡”jXjjjn‡”jâjõjú‡”jÆ"jï"jó"‡”jÃjÎjÓ‡”j‰j«j¯‡”j6jIjN‡”j j© j° ‡”jÌjçj뇔j×jÛj߇”jÆ"jè"jì"‡”h~h‰hއ”jj'j+‡”j=jPjU‡”jWjrjv‡”jj¢j§‡”jžj±j¶‡”j_jrjw‡”jjªj®‡”j”j¶jº‡”h§hÉh͇”jjj!‡”j, j? jD ‡”jj+j/‡”jq ju jy ‡”j-!jR!jV!‡”jK#jp#jt#‡”jèj j ‡”j”j¯j³‡”jj j%‡”jJj]jb‡”jqj|j‡”j‡jšjŸ‡”j j j ‡”jÌjÐjÔ‡”j‰jj‘‡”j>jBjF‡”jêjõjù‡”jZj)j‡”jfjjjn‡”jj#j(‡”jµj¹j½‡”hUh`he‡”jEjIjM‡”j jj‡”jj˜j‡”j·jàj䇔j'j+j/‡”j,"j>"jB"‡”jjj ‡”jêj j‡”jjjƒjЇ”j-!jH!jL!‡”j"j"j""‡”j~j‘j–‡”jj$j(‡”jK#jû+jm#‡”jjjj‘‡”j\j~j‚‡”jg jz j ‡”j"jKjO‡”jì jj‡”j,jNjR‡”j+ j> jC ‡”jjj‡”jö"j#j#‡”jžj©j®‡”j+ j6 j; ‡”jò jý j ‡”j+jFjJ‡”jjj ‡”jÝjøjü‡”j j(j,‡”j j¡ j¥ ‡”jŸj£j§‡”jjj ‡”jÒ jä jè ‡”jjj"‡”jö"j#j#‡”j‡j©j­‡”jÛ jß jã ‡”jgj|j€‡”jÇ jé jí ‡”jÒ jë jï ‡”j_jj…‡”j‡jƒj‡”jðjj‡”jj j‡”jájj‡”j²jÛj߇”jUjwj{‡”jšjµj¹‡”hÐhòhö‡”j²j¶jº‡”ja jt jy ‡”jžjÇjˇ”jÆ"jÊ"jÎ"‡”j9jLjQ‡”jw#jê(j™#‡”j j j ‡”j]jhjl‡”jñjõjù‡”j“j—j›‡”jÎjÙjÞ‡”j+j>jC‡”jm"jq"ju"‡”jj2j7‡”j[j_jc‡”jE"jP"jU"‡”j_jj…‡”j4 jO jS ‡”jÌjßj䇔jw j{ j ‡”j²jÅjʇ”jðjÄ*j‡”jOjjjn‡”jT jX j\ ‡”j½jÐjÕ‡”jâjæjꇔj j j ‡”j"#j-#j2#‡”jÐjÔj؇”jjjujy‡”j=jPjU‡”jjj$‡”jAj\j`‡”jRj{j‡”j€jœj ‡”j“j—j›‡”jò jö jú ‡”j[jfjk‡”hùj j‡”j¶jºj¾‡”j j* j. ‡”jÚ!jÞ!jâ!‡”j  j¤ j¨ ‡”j·jÂjLJ”j²jÍjч”jájój÷‡”jêjýj‡”j‡jšjŸ‡”j²jÅjʇ”j‚!j!j¡!‡”jjªj®‡”j²j½j‡”j´jÇj̇”j§j¹j½‡”j4j?jD‡”j®!j¹!j¾!‡”juj€j…‡”jjj ‡”jXj\j`‡”jXjqjx‡”jujj”‡”j, j7 j< ‡”j"j&j*‡”jJjeji‡”j j&j*‡”jj1j5‡”j‚!j•!jš!‡”jùjj ‡”j‘ jœ j¡ ‡”j‚j¤j¨‡”j j j! ‡”j“j®j²‡”jžjÁjŇ”jÿj$j(‡”jj'j,‡”j j)j¿ ‡”j‹j¦jª‡”hUhYh]‡”j> jI jN ‡”j)jKjO‡”j'jIjM‡”j~ j j” ‡”jAjcjg‡”jðjûj‡”jj7j;‡”jõjùjý‡”j+j/j3‡”j®!j&,jÐ!‡”j§j²j¶‡”j>jBjF‡”j‚jj¡‡”jÇ jÒ j× ‡”jæj j ‡”jùjj ‡”j‚j¤j¨‡”j,"j0"j4"‡”jqj|j‡”jRj]jb‡”jRjVjZ‡”jjj"‡”jj:j>‡”jjj‡”jâjæjꇔjˆjŒj‡”j2jTjX‡”jÛjîjó‡”j"#j5#j:#‡”j·jÒjÖ‡”jùjj‡”j] jh jl ‡”j]jojs‡”jÝjÿj‡”jÛ jö jú ‡”jujj”‡”jAjLjQ‡”jjj‡”j,jUjY‡”j_jjjo‡”jÛjöjú‡”j  j³ j¸ ‡”jÖjáj懔j9jDjI‡”jò jý j ‡”jRjejj‡”jÉ jÍ jÑ ‡”j"jEjI‡”jájúj‡”j²jÅjʇ”j?jJjN‡”j²j¶jº‡”jÎjðjô‡”j‘ j¤ j¨ ‡”j j³ j· ‡”jªjÅjɇ”juj€j…‡”j"#j&#j*#‡”j¸jÓjׇ”j j j ‡”j“j¦j«‡”j² j½ j ‡”jÈjãj燔jj j‡”jð j j ‡”jüjj‡”j‰jœj¡‡”j(jCjG‡”j j¢ j¦ ‡”j~j‚j†‡”j‚jj’‡”jvj‘j•‡”j!j4j9‡”j}jj…‡”jÛjîjó‡”j2jMjQ‡”jö"j#j#‡”j"jDjH‡”j‘ j« j¯ ‡”jµjÞj⇔jã jî jó ‡”hÐhÔh؇”j> j` jd ‡”j)j-j1‡”jq j– j𠇔j4 j8 j< ‡”j j/j3‡”jH jL jP ‡”jæjêjjj(j-‡”jWj[j_‡”jój÷jû‡”jðj j‡”j¦jÁjŇ”jjj‡”j§j«j¯‡”j jj‡”jÛ jý j!‡”jjj“j—‡”j-jHjL‡”jÇ jË jÏ ‡”j j j ‡”jKjVj[‡”jµjÐjÔ‡”j~ j— j› ‡”j¸jáj凔j²j½j‡”j™jƒj¢‡”jÈjÌjЇ”jWj[j_‡”j,j0j4‡”jÃjÞj⇔jÿjj‡”h~h‚h†‡”jžj°j·‡”jjj#‡”jèjójø‡”jEjgjk‡”jq j| j ‡”jj“j—‡”jÉ jä jè ‡”j j j% ‡”j.jAjF‡”jgjƒj‡‡”jŸjºj¾‡”jRjejj‡”j^jqjv‡”jfjˆjŒ‡”jþj j‡”j"j¿"jÃ"‡”j"j¨"j­"‡”j_jcjg‡”j jj#‡”jWjjjo‡”j'jPjT‡”jàjûjÿ‡”j6j:j>‡”jÙjÝjᇔj²jÍjч”jj+j/‡”jÎjáj懔j"j"j"‡”jj¯j³‡”j_jrjw‡”jº jÜ jà ‡”j j+ j0 ‡”jÈjÌjЇ”jåjj‡”j²jÔj؇”j-j8j=‡”j‡j’j—‡”j‚jj’‡”j>jIjN‡”hùjj‡”j~j j¤‡”j]jaje‡”j,j7j<‡”j>jQjV‡”hUhpht‡”j j¨ j­ ‡”hh!h(‡”ja je ji ‡”jðjj‡”j"j&j*‡”hUhhhm‡”j…j§j«‡”j±jµj¹‡”j.j9j>‡”j} jŸ j£ ‡”jRjtjx‡”j¦ jª j® ‡”jüjj‡”hhh‡”j,jGjK‡”j‚jj¡‡”jìj÷jü‡”jÔjïjó‡”j jj‡”j"j&j*‡”j£j¶j»‡”jñjj‡”j“j¼jÀ‡”jtjxj|‡”jm"j–"jš"‡”jº jÍ jÒ ‡”jâjíjò‡”j2j6j:‡”j[jvjz‡”j² jÍ jÑ ‡”jÈjÓj؇”j¤j¯j´‡”jj0j4‡”jOjSjW‡”jjjnjr‡”jÿjj‡”j, j0 j4 ‡”jw j™ j ‡”jj:j>‡”jY!jt!jx!‡”j"j¸"j¼"‡”j"#j=#jA#‡”jÛjöjú‡”j¸jËjЇ”jAjEjI‡”jjj‡”j¸j¼jÀ‡”jY!jl!jq!‡”jw#j’#j–#‡”jbj}j‡”jÚ!jå!jê!‡”j`jkjp‡”jÐjòjö‡”j‡j¢j¦‡”jåjðjõ‡”jj&j*‡”j6jQjU‡”jq jÿ(j“ ‡”j j jÆ ‡”jŸjÁjŇ”jàjj‡”j j j ‡”j"j5j:‡”jêjõjú‡”juj—j›‡”j‚!j",j¤!‡”j'j:j?‡”j'jBjF‡”jˆjšjž‡”jzjœj ‡”jüjj ‡”j¤j·j¼‡”jj0j4‡”j²jÔj؇”j>jIjM‡”j‹j­j±‡”j+j)jP‡”jÃjÎjÓ‡”jj‘j•‡”j-!j@!jE!‡”juj—j›‡”jj j%‡”jº j¾ j ‡”jÔjßj䇔j…j‰j‡”j}j˜jœ‡”jÿjj‡”j"j"j "‡”j j j‡”jžj©j­‡”jž jÀ jÄ ‡”j(jJjN‡”ja j| j€ ‡”j~ j‚ j† ‡”j² jÔ jØ ‡”j½jÈj͇”jH jc jg ‡”hUhwh{‡”jçjòj÷‡”jÝjáj凔jjj‡”j"j5j:‡”jzjj’‡”j®!j²!j¶!‡”jWjbjg‡”j j-j1‡”j+ jM jQ ‡”jAjLjQ‡”j-j@jE‡”j} j j… ‡”jÃjÞj⇔jâj j‡”j®!jÁ!jÆ!‡”j j3 j7 ‡”jWjyj}‡”jQjtjx‡”j¤jÆjʇ”jOjSjW‡”jì jj ‡”jRj{j‡”jÉ jë jï ‡”jj*j.‡”j‚jªj®‡”jw jŠ j ‡”jZjujy‡”jÚ!jü!j"‡”j"j¡"j¥"‡”j‚já*j§‡”j,jGjK‡”jÀjËjЇ”j€j’j™‡”jðjÉ*j‡”jJjsjw‡”jLjnjr‡”jçjújÿ‡”jÚ!jí!jò!‡”j‡j’j—‡”jjƒj™‡”j?jQjU‡”jæjøjü‡”jLjgjk‡”j~ j‰ j ‡”j¶j•*j؇”jþjj‡”hh3h9‡”j‚j•jš‡”j°j´j¸‡”j>jBjF‡”jT j_ jc ‡”jþjj‡”j²jÍjч”jjjujz‡”jµjÈj͇”jujyj}‡”jÿjj‡”jLjWj\‡”jâj )j‡”jjj ‡”jjj‡”j¸jÃjȇ”jìjÿj‡”jšjžj¢‡”j+jSjW‡”j`j{j‡”j j7 j; ‡”jj8j<‡”jã jö jû ‡”j¦ jË jÏ ‡”j j# j( ‡”jÙjäj釔jRj]jb‡”j‹jj“‡”j jA jE ‡”jªjµjº‡”jÈjãj燔jõjj‡”j”jŸj¤‡”jÙjìjñ‡”jRjtjx‡”j jj‡”jüj%j)‡”j] jv jz ‡”jjjŒj‡”j1 jL jP ‡”jjj‡”jåjøjý‡”j}jŸj£‡”jY!jd!ji!‡”jujˆj‡”jèjûj ‡”jž j¢ j¦ ‡”j} j˜ jœ ‡”j°jËjχ”jzj~j‚‡”j² j¶ jº ‡”j€j‹j‡”j.jPjT‡”j‡j|jŒ‡”jàjëjð‡”jOjZj_‡”jÓj×jÛ‡”jAjEjI‡”j jj‡”jåjéj퇔j-jHjL‡”jÃjåj釔jOjjjn‡”j.jIjM‡”j^jijn‡”j_jzj~‡”j j› jŸ ‡”j4jVjZ‡”h§hÂhƇ”jÈjêjjâjýj‡”jêjüj‡”j_jcjg‡”jžjÀjć”jWj€j„‡”j¦jªj®‡”jj3j7‡”jþjj‡”j-j1j5‡”jì jÿ j‡”jêj j‡”j‚j†jЇ”j°j´j¸‡”jñjj‡”jQj\j`‡”j"#jD#jH#‡”jÆ"jÑ"jÖ"‡”jÃjåj釔jjjnjr‡”j9jTjX‡”jLjPjT‡”jJjNjR‡”j£j§j«‡”jZj‚j†‡”j> jQ jV ‡”jÛjßj㇔j½jßj㇔jm"j"j“"‡”j j j ‡”j"j-j2‡”jj±jµ‡”jjj‡”jujˆj‡”j‡j©j­‡”jŸj²j·‡”j´j¸j¼‡”jY!j]!ja!‡”j"j%"j)"‡”jÑjÜjà‡”j°j»j¿‡”j¦ j¹ j¾ ‡”j±jÃjLJ”jèj j ‡”jj/j3‡”jº jÅ jÊ ‡”j·jÙj݇”j·jÙj݇”jájåj釔jÙjôjø‡”jÛ jæ jë ‡”jåjj ‡”jg j‰ j ‡”jWj[j_‡”jQjjjq‡”j±j¼jÀ‡”jÒ jÝ já ‡”jÛjæj뇔jÙjûjÿ‡”j`jdjh‡”jw#j{#j#‡”jH jj jn ‡”jvj‰jއ”h§h²h·‡”hh jY j] ‡”jñj j‡”jg j‚ j† ‡”j‡j¢j¦‡”j,"j7"j;"‡”jÎj÷jû‡”jÐjÛjà‡”j¤j¨j¬‡”jÒ jÖ jÚ ‡”jžj¢j¦‡”jj0j4‡”jÉ jÍ jÑ ‡”jÆ"já"jå"‡”j‚j†jЇ”(j‚!j†!jŠ!‡”jÿjj‡”j j( j- ‡”hh+h0‡”j·j»j¿‡”jùj j‡”j  j« j° ‡”j!j%j)‡”jKjmjq‡”jÀjÛj߇”jWjyj}‡”jjj‡”j¦ j± j¶ ‡”j"j-j1‡”j1 j< jA ‡”j-!j++jO!‡”j j j ‡”j‚jj’‡”j  j» j¿ ‡”jfjj…‡”jñjj ‡”jµjÀjŇ”jò j j ‡”jö"j,,j#‡”j…j®j²‡”jêjîjò‡”jXjcjg‡”j^jbjf‡”jfjqjv‡”j j& j* ‡”jêjj ‡”j‡j¢j¦‡”j2jEjJ‡”j!j!j!‡”j´j¿jć”jö"j #j#‡”jH j[ j` ‡”jj7j;‡”jj#j'‡”jÝjj ‡”j“jžj£‡”jÛjýj‡”jEjXj]‡”jqjŒj‡”j‰j¤j¨‡”jÈjÛjà‡”j)j<jA‡”jOjZj_‡”jbjfjj‡”j"j=jA‡”j×jêjj‚j†jЇ”jùj j‡”jWjrjv‡”j(j;j@‡”jvjzj~‡”j_jˆjŒ‡”jèjìjð‡”h§hºh¿‡”j‹jžj£‡”j¦jÏjÓ‡”jõjj‡”jUj`je‡”j“j¦j«‡”jzj•j™‡”jð jô jø ‡”jµjÀjŇ”jj±jµ‡”j-j8j=‡”jÈjÛjà‡”j‚j•jš‡”jþj j$‡”j!j!j#!‡”jÔjýj‡”hùjj ‡”j½jØj܇”j4j8j<‡”j€j£j§‡”j!j&!j*!‡”jÎjÒjÖ‡”j] jo js ‡”jj|j•‡”jˆj«j¯‡”j4jGjL‡”j+j6j;‡”j>jYj]‡”j‡j©j­‡”j”j§j¬‡”jm"jˆ"jŒ"‡”jÍjØj܇”jw#jŠ#j#‡”jçjj‡”jAj\j`‡”j·jÊjχ”jbjujz‡”jÿj!j%‡”jjj‡”jj2j6‡”jšj¼jÀ‡”j®!jÓ!j×!‡”jjj ‡”j½jÁjŇ”jÐjãj臔jw j’ j– ‡”j=jHjM‡”j¢jƒj«‡”jÉ jå jé ‡”j"j-j2‡”j‡j‹j‡”jâjíjñ‡”j¦j±j¶‡”jÈjÓj؇”jj6j:‡”jE"jX"j\"‡”jXj{j‡”j}jj•‡”j1 jS jW ‡”jÀjÓj؇”hùj"j&‡”jq j„ j‰ ‡”jÖjÚjÞ‡”jjj‡”jWjyj}‡”jÍjßj㇔jàjójø‡”jg jk jo ‡”jjj‡”j´jÏjÓ‡”j,”(jŒ,j,jŽ,j,j,j‘,j’,j“,j”,j•,j–,j—,j˜,j™,jš,j›,jœ,j,jž,jŸ,j ,j¡,j¢,j£,j¤,j¥,j¦,j§,j¨,j©,jª,j«,j¬,j­,j®,j¯,j°,j±,j²,j³,j´,jµ,j¶,j·,j¸,j¹,jº,j»,j¼,j½,j¾,j¿,jÀ,jÁ,jÂ,jÃ,jÄ,jÅ,jÆ,jÇ,jÈ,jÉ,jÊ,jË,jÌ,jÍ,jÎ,jÏ,jÐ,jÑ,jÒ,jÓ,jÔ,jÕ,jÖ,j×,jØ,jÙ,jÚ,jÛ,jÜ,jÝ,jÞ,jß,jà,já,jâ,jã,jä,jå,jæ,jç,jè,jé,jê,jë,jì,jí,jî,jï,jð,jñ,jò,jó,jô,jõ,jö,j÷,jø,jù,jú,jû,jü,jý,jþ,jÿ,j-j-j-j-j-j-j-j-j-j -j -j -j -j -j-j-j-j-j-j-j-j-j-j-j-j-j-j-j-j-j-j-j -j!-j"-j#-j$-j%-j&-j'-j(-j)-j*-j+-j,-j--j.-j/-j0-j1-j2-j3-j4-j5-j6-j7-j8-j9-j:-j;-j<-j=-j>-j?-j@-jA-jB-jC-jD-jE-jF-jG-jH-jI-jJ-jK-jL-jM-jN-jO-jP-jQ-jR-jS-jT-jU-jV-jW-jX-jY-jZ-j[-j\-j]-j^-j_-j`-ja-jb-jc-jd-je-jf-jg-jh-ji-jj-jk-jl-jm-jn-jo-jp-jq-jr-js-jt-ju-jv-jw-jx-jy-jz-j{-j|-j}-j~-j-j€-j-j‚-jƒ-j„-j…-j†-j‡-jˆ-j‰-jŠ-j‹-jŒ-j-jŽ-j-j-j‘-j’-j“-j”-j•-j–-j—-j˜-j™-jš-j›-jœ-j-jž-jŸ-j -j¡-j¢-j£-j¤-j¥-j¦-j§-j¨-j©-jª-j«-j¬-j­-j®-j¯-j°-j±-j²-j³-j´-jµ-j¶-j·-j¸-j¹-jº-j»-j¼-j½-j¾-j¿-jÀ-jÁ-jÂ-jÃ-jÄ-jÅ-jÆ-jÇ-jÈ-jÉ-jÊ-jË-jÌ-jÍ-jÎ-jÏ-jÐ-jÑ-jÒ-jÓ-jÔ-jÕ-jÖ-j×-jØ-jÙ-jÚ-jÛ-jÜ-jÝ-jÞ-jß-jà-já-jâ-jã-jä-jå-jæ-jç-jè-jé-jê-jë-jì-jí-jî-jï-jð-jñ-jò-jó-jô-jõ-jö-j÷-jø-jù-jú-jû-jü-jý-jþ-jÿ-j.j.j.j.j.j.j.j.j.j .j .j .j .j .j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j.j .j!.j".j#.j$.j%.j&.j'.j(.j).j*.j+.j,.j-.j..j/.j0.j1.j2.j3.j4.j5.j6.j7.j8.j9.j:.j;.j<.j=.j>.j?.j@.jA.jB.jC.jD.jE.jF.jG.jH.jI.jJ.jK.jL.jM.jN.jO.jP.jQ.jR.jS.jT.jU.jV.jW.jX.jY.jZ.j[.j\.j].j^.j_.j`.ja.jb.jc.jd.je.jf.jg.jh.ji.jj.jk.jl.jm.jn.jo.jp.jq.jr.js.jt.ju.jv.jw.jx.jy.jz.j{.j|.j}.j~.j.j€.j.j‚.jƒ.j„.j….j†.j‡.jˆ.j‰.jŠ.j‹.jŒ.j.jŽ.j.j.j‘.j’.j“.j”.j•.j–.j—.j˜.j™.jš.j›.jœ.j.jž.jŸ.j .j¡.j¢.j£.j¤.j¥.j¦.j§.j¨.j©.jª.j«.j¬.j­.j®.j¯.j°.j±.j².j³.j´.jµ.j¶.j·.j¸.j¹.jº.j».j¼.j½.j¾.j¿.jÀ.jÁ.jÂ.jÃ.jÄ.jÅ.jÆ.jÇ.jÈ.jÉ.jÊ.jË.jÌ.jÍ.jÎ.jÏ.jÐ.jÑ.jÒ.jÓ.jÔ.jÕ.jÖ.j×.jØ.jÙ.jÚ.jÛ.jÜ.jÝ.jÞ.jß.jà.já.jâ.jã.jä.jå.jæ.jç.jè.jé.jê.jë.jì.jí.jî.jï.jð.jñ.jò.jó.jô.jõ.jö.j÷.jø.jù.jú.jû.jü.jý.jþ.jÿ.j/j/j/j/j/j/j/j/j/j /j /j /j /j /j/j/j/j/j/j/j/j/j/j/j/j/j/j/j/j/j/j/j /j!/j"/j#/j$/j%/j&/j'/j(/j)/j*/j+/j,/j-/j./j//j0/j1/j2/j3/j4/j5/j6/j7/j8/j9/j:/j;/j/j?/j@/jA/jB/jC/jD/jE/jF/jG/jH/jI/jJ/jK/jL/jM/jN/jO/jP/jQ/jR/jS/jT/jU/jV/jW/jX/jY/jZ/j[/j\/j]/j^/j_/j`/ja/jb/jc/jd/je/jf/jg/jh/ji/jj/jk/jl/jm/jn/jo/jp/jq/jr/js/jt/ju/jv/jw/jx/jy/jz/j{/j|/j}/j~/j/j€/j/j‚/jƒ/j„/j…/j†/j‡/jˆ/j‰/jŠ/j‹/jŒ/j/jŽ/j/j/j‘/j’/j“/j”/j•/j–/j—/j˜/j™/jš/j›/jœ/j/jž/jŸ/j /j¡/j¢/j£/j¤/j¥/j¦/j§/j¨/j©/jª/j«/j¬/j­/j®/j¯/j°/j±/j²/j³/j´/jµ/j¶/j·/j¸/j¹/jº/j»/j¼/j½/j¾/j¿/jÀ/jÁ/jÂ/jÃ/jÄ/jÅ/jÆ/jÇ/jÈ/jÉ/jÊ/jË/jÌ/jÍ/jÎ/jÏ/jÐ/jÑ/jÒ/jÓ/jÔ/jÕ/jÖ/j×/jØ/jÙ/jÚ/jÛ/jÜ/jÝ/jÞ/jß/jà/já/jâ/jã/jä/jå/jæ/jç/jè/jé/jê/jë/jì/jí/jî/jï/jð/jñ/jò/jó/jô/jõ/jö/j÷/jø/jù/jú/jû/jü/jý/jþ/jÿ/j0j0j0j0j0j0j0j0j0j 0j 0j 0j 0j 0j0j0j0j0j0j0j0j0j0j0j0j0j0j0j0j0j0j0j 0j!0j"0j#0j$0j%0j&0j'0j(0j)0j*0j+0j,0j-0j.0j/0j00j10j20j30j40j50j60j70j80j90j:0j;0j<0j=0j>0j?0j@0jA0jB0jC0jD0jE0jF0jG0jH0jI0jJ0jK0jL0jM0jN0jO0jP0jQ0jR0jS0jT0jU0jV0jW0jX0jY0jZ0j[0j\0j]0j^0j_0j`0ja0jb0jc0jd0je0jf0jg0jh0ji0jj0jk0jl0jm0jn0jo0jp0jq0jr0js0(jt0ju0jv0jw0jx0jy0jz0j{0j|0j}0j~0j0j€0j0j‚0jƒ0j„0j…0j†0j‡0jˆ0j‰0jŠ0j‹0jŒ0j0jŽ0j0j0j‘0j’0j“0j”0j•0j–0j—0j˜0j™0jš0j›0jœ0j0jž0jŸ0j 0j¡0j¢0j£0j¤0j¥0j¦0j§0j¨0j©0jª0j«0j¬0j­0j®0j¯0j°0j±0j²0j³0j´0jµ0j¶0j·0j¸0j¹0jº0j»0j¼0j½0j¾0j¿0jÀ0jÁ0jÂ0jÃ0jÄ0jÅ0jÆ0jÇ0jÈ0jÉ0jÊ0jË0jÌ0jÍ0jÎ0jÏ0jÐ0jÑ0jÒ0jÓ0jÔ0jÕ0jÖ0j×0jØ0jÙ0jÚ0jÛ0jÜ0jÝ0jÞ0jß0jà0já0jâ0jã0jä0jå0jæ0jç0jè0jé0jê0jë0jì0jí0jî0jï0jð0jñ0jò0jó0uŒ_Memory__all_contexts””(j†,Œ_Memory__defaultContexts”}”(j,‰N‰uubh†”.pyshacl-0.30.1/pyshacl/assets/shacl.ttl0000644000000000000000000014741400000000000014724 0ustar00# baseURI: http://www.w3.org/ns/shacl# # W3C Shapes Constraint Language (SHACL) Vocabulary # Version from 2017-07-20 @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix sh: . sh: a owl:Ontology ; rdfs:label "W3C Shapes Constraint Language (SHACL) Vocabulary"@en ; rdfs:comment "This vocabulary defines terms used in SHACL, the W3C Shapes Constraint Language."@en ; sh:declare [ sh:prefix "sh" ; # This is a fix for https://github.com/w3c/data-shapes/issues/125 sh:namespace "http://www.w3.org/ns/shacl#"^^xsd:anyURI ; ] ; sh:suggestedShapesGraph . # Shapes vocabulary ----------------------------------------------------------- sh:Shape a rdfs:Class ; rdfs:label "Shape"@en ; rdfs:comment "A shape is a collection of constraints that may be targeted for certain nodes."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:NodeShape a rdfs:Class ; rdfs:label "Node shape"@en ; rdfs:comment "A node shape is a shape that specifies constraint that need to be met with respect to focus nodes."@en ; rdfs:subClassOf sh:Shape ; rdfs:isDefinedBy sh: . sh:PropertyShape a rdfs:Class ; rdfs:label "Property shape"@en ; rdfs:comment "A property shape is a shape that specifies constraints on the values of a focus node for a given property or path."@en ; rdfs:subClassOf sh:Shape ; rdfs:isDefinedBy sh: . sh:deactivated a rdf:Property ; rdfs:label "deactivated"@en ; rdfs:comment "If set to true then all nodes conform to this."@en ; # rdfs:domain sh:Shape or sh:SPARQLConstraint rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . sh:targetClass a rdf:Property ; rdfs:label "target class"@en ; rdfs:comment "Links a shape to a class, indicating that all instances of the class must conform to the shape."@en ; rdfs:domain sh:Shape ; rdfs:range rdfs:Class ; rdfs:isDefinedBy sh: . sh:targetNode a rdf:Property ; rdfs:label "target node"@en ; rdfs:comment "Links a shape to individual nodes, indicating that these nodes must conform to the shape."@en ; rdfs:domain sh:Shape ; rdfs:isDefinedBy sh: . sh:targetObjectsOf a rdf:Property ; rdfs:label "target objects of"@en ; rdfs:comment "Links a shape to a property, indicating that all all objects of triples that have the given property as their predicate must conform to the shape."@en ; rdfs:domain sh:Shape ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:targetSubjectsOf a rdf:Property ; rdfs:label "target subjects of"@en ; rdfs:comment "Links a shape to a property, indicating that all subjects of triples that have the given property as their predicate must conform to the shape."@en ; rdfs:domain sh:Shape ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:message a rdf:Property ; # domain: sh:Shape or sh:SPARQLConstraint or sh:SPARQLSelectValidator or sh:SPARQLAskValidator # range: xsd:string or rdf:langString rdfs:label "message"@en ; rdfs:comment "A human-readable message (possibly with placeholders for variables) explaining the cause of the result."@en ; rdfs:isDefinedBy sh: . sh:severity a rdf:Property ; rdfs:label "severity"@en ; rdfs:comment "Defines the severity that validation results produced by a shape must have. Defaults to sh:Violation."@en ; rdfs:domain sh:Shape ; rdfs:range sh:Severity ; rdfs:isDefinedBy sh: . # Node kind vocabulary -------------------------------------------------------- sh:NodeKind a rdfs:Class ; rdfs:label "Node kind"@en ; rdfs:comment "The class of all node kinds, including sh:BlankNode, sh:IRI, sh:Literal or the combinations of these: sh:BlankNodeOrIRI, sh:BlankNodeOrLiteral, sh:IRIOrLiteral."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:BlankNode a sh:NodeKind ; rdfs:label "Blank node"@en ; rdfs:comment "The node kind of all blank nodes."@en ; rdfs:isDefinedBy sh: . sh:BlankNodeOrIRI a sh:NodeKind ; rdfs:label "Blank node or IRI"@en ; rdfs:comment "The node kind of all blank nodes or IRIs."@en ; rdfs:isDefinedBy sh: . sh:BlankNodeOrLiteral a sh:NodeKind ; rdfs:label "Blank node or literal"@en ; rdfs:comment "The node kind of all blank nodes or literals."@en ; rdfs:isDefinedBy sh: . sh:IRI a sh:NodeKind ; rdfs:label "IRI"@en ; rdfs:comment "The node kind of all IRIs."@en ; rdfs:isDefinedBy sh: . sh:IRIOrLiteral a sh:NodeKind ; rdfs:label "IRI or literal"@en ; rdfs:comment "The node kind of all IRIs or literals."@en ; rdfs:isDefinedBy sh: . sh:Literal a sh:NodeKind ; rdfs:label "Literal"@en ; rdfs:comment "The node kind of all literals."@en ; rdfs:isDefinedBy sh: . # Results vocabulary ---------------------------------------------------------- sh:ValidationReport a rdfs:Class ; rdfs:label "Validation report"@en ; rdfs:comment "The class of SHACL validation reports."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:conforms a rdf:Property ; rdfs:label "conforms"@en ; rdfs:comment "True if the validation did not produce any validation results, and false otherwise."@en ; rdfs:domain sh:ValidationReport ; rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . sh:result a rdf:Property ; rdfs:label "result"@en ; rdfs:comment "The validation results contained in a validation report."@en ; rdfs:domain sh:ValidationReport ; rdfs:range sh:ValidationResult ; rdfs:isDefinedBy sh: . sh:shapesGraphWellFormed a rdf:Property ; rdfs:label "shapes graph well-formed"@en ; rdfs:comment "If true then the validation engine was certain that the shapes graph has passed all SHACL syntax requirements during the validation process."@en ; rdfs:domain sh:ValidationReport ; rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . sh:AbstractResult a rdfs:Class ; rdfs:label "Abstract result"@en ; rdfs:comment "The base class of validation results, typically not instantiated directly."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:ValidationResult a rdfs:Class ; rdfs:label "Validation result"@en ; rdfs:comment "The class of validation results."@en ; rdfs:subClassOf sh:AbstractResult ; rdfs:isDefinedBy sh: . sh:Severity a rdfs:Class ; rdfs:label "Severity"@en ; rdfs:comment "The class of validation result severity levels, including violation and warning levels."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:Info a sh:Severity ; rdfs:label "Info"@en ; rdfs:comment "The severity for an informational validation result."@en ; rdfs:isDefinedBy sh: . sh:Violation a sh:Severity ; rdfs:label "Violation"@en ; rdfs:comment "The severity for a violation validation result."@en ; rdfs:isDefinedBy sh: . sh:Warning a sh:Severity ; rdfs:label "Warning"@en ; rdfs:comment "The severity for a warning validation result."@en ; rdfs:isDefinedBy sh: . sh:detail a rdf:Property ; rdfs:label "detail"@en ; rdfs:comment "Links a result with other results that provide more details, for example to describe violations against nested shapes."@en ; rdfs:domain sh:AbstractResult ; rdfs:range sh:AbstractResult ; rdfs:isDefinedBy sh: . sh:focusNode a rdf:Property ; rdfs:label "focus node"@en ; rdfs:comment "The focus node that was validated when the result was produced."@en ; rdfs:domain sh:AbstractResult ; rdfs:isDefinedBy sh: . sh:resultMessage a rdf:Property ; rdfs:label "result message"@en ; rdfs:comment "Human-readable messages explaining the cause of the result."@en ; rdfs:domain sh:AbstractResult ; # range: xsd:string or rdf:langString rdfs:isDefinedBy sh: . sh:resultPath a rdf:Property ; rdfs:label "result path"@en ; rdfs:comment "The path of a validation result, based on the path of the validated property shape."@en ; rdfs:domain sh:AbstractResult ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . sh:resultSeverity a rdf:Property ; rdfs:label "result severity"@en ; rdfs:comment "The severity of the result, e.g. warning."@en ; rdfs:domain sh:AbstractResult ; rdfs:range sh:Severity ; rdfs:isDefinedBy sh: . sh:sourceConstraint a rdf:Property ; rdfs:label "source constraint"@en ; rdfs:comment "The constraint that was validated when the result was produced."@en ; rdfs:domain sh:AbstractResult ; rdfs:isDefinedBy sh: . sh:sourceShape a rdf:Property ; rdfs:label "source shape"@en ; rdfs:comment "The shape that is was validated when the result was produced."@en ; rdfs:domain sh:AbstractResult ; rdfs:range sh:Shape ; rdfs:isDefinedBy sh: . sh:sourceConstraintComponent a rdf:Property ; rdfs:label "source constraint component"@en ; rdfs:comment "The constraint component that is the source of the result."@en ; rdfs:domain sh:AbstractResult ; rdfs:range sh:ConstraintComponent ; rdfs:isDefinedBy sh: . sh:value a rdf:Property ; rdfs:label "value"@en ; rdfs:comment "An RDF node that has caused the result."@en ; rdfs:domain sh:AbstractResult ; rdfs:isDefinedBy sh: . # Graph properties ------------------------------------------------------------ sh:shapesGraph a rdf:Property ; rdfs:label "shapes graph"@en ; rdfs:comment "Shapes graphs that should be used when validating this data graph."@en ; rdfs:domain owl:Ontology ; rdfs:range owl:Ontology ; rdfs:isDefinedBy sh: . sh:suggestedShapesGraph a rdf:Property ; rdfs:label "suggested shapes graph"@en ; rdfs:comment "Suggested shapes graphs for this ontology. The values of this property may be used in the absence of specific sh:shapesGraph statements."@en ; rdfs:domain owl:Ontology ; rdfs:range owl:Ontology ; rdfs:isDefinedBy sh: . sh:entailment a rdf:Property ; rdfs:label "entailment"@en ; rdfs:comment "An entailment regime that indicates what kind of inferencing is required by a shapes graph."@en ; rdfs:domain owl:Ontology ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . # Path vocabulary ------------------------------------------------------------- sh:path a rdf:Property ; rdfs:label "path"@en ; rdfs:comment "Specifies the property path of a property shape."@en ; rdfs:domain sh:PropertyShape ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . sh:inversePath a rdf:Property ; rdfs:label "inverse path"@en ; rdfs:comment "The (single) value of this property represents an inverse path (object to subject)."@en ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . sh:alternativePath a rdf:Property ; rdfs:label "alternative path"@en ; rdfs:comment "The (single) value of this property must be a list of path elements, representing the elements of alternative paths."@en ; rdfs:range rdf:List ; rdfs:isDefinedBy sh: . sh:zeroOrMorePath a rdf:Property ; rdfs:label "zero or more path"@en ; rdfs:comment "The (single) value of this property represents a path that is matched zero or more times."@en ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . sh:oneOrMorePath a rdf:Property ; rdfs:label "one or more path"@en ; rdfs:comment "The (single) value of this property represents a path that is matched one or more times."@en ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . sh:zeroOrOnePath a rdf:Property ; rdfs:label "zero or one path"@en ; rdfs:comment "The (single) value of this property represents a path that is matched zero or one times."@en ; rdfs:range rdfs:Resource ; rdfs:isDefinedBy sh: . # Parameters metamodel -------------------------------------------------------- sh:Parameterizable a rdfs:Class ; rdfs:label "Parameterizable"@en ; rdfs:comment "Superclass of components that can take parameters, especially functions and constraint components."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:parameter a rdf:Property ; rdfs:label "parameter"@en ; rdfs:comment "The parameters of a function or constraint component."@en ; rdfs:domain sh:Parameterizable ; rdfs:range sh:Parameter ; rdfs:isDefinedBy sh: . sh:labelTemplate a rdf:Property ; rdfs:label "label template"@en ; rdfs:comment "Outlines how human-readable labels of instances of the associated Parameterizable shall be produced. The values can contain {?paramName} as placeholders for the actual values of the given parameter."@en ; rdfs:domain sh:Parameterizable ; # range: xsd:string or rdf:langString rdfs:isDefinedBy sh: . sh:Parameter a rdfs:Class ; rdfs:label "Parameter"@en ; rdfs:comment "The class of parameter declarations, consisting of a path predicate and (possibly) information about allowed value type, cardinality and other characteristics."@en ; rdfs:subClassOf sh:PropertyShape ; rdfs:isDefinedBy sh: . sh:optional a rdf:Property ; rdfs:label "optional"@en ; rdfs:comment "Indicates whether a parameter is optional."@en ; rdfs:domain sh:Parameter ; rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . # Constraint components metamodel --------------------------------------------- sh:ConstraintComponent a rdfs:Class ; rdfs:label "Constraint component"@en ; rdfs:comment "The class of constraint components."@en ; rdfs:subClassOf sh:Parameterizable ; rdfs:isDefinedBy sh: . sh:validator a rdf:Property ; rdfs:label "validator"@en ; rdfs:comment "The validator(s) used to evaluate constraints of either node or property shapes."@en ; rdfs:domain sh:ConstraintComponent ; rdfs:range sh:Validator ; rdfs:isDefinedBy sh: . sh:nodeValidator a rdf:Property ; rdfs:label "shape validator"@en ; rdfs:comment "The validator(s) used to evaluate a constraint in the context of a node shape."@en ; rdfs:domain sh:ConstraintComponent ; rdfs:range sh:Validator ; rdfs:isDefinedBy sh: . sh:propertyValidator a rdf:Property ; rdfs:label "property validator"@en ; rdfs:comment "The validator(s) used to evaluate a constraint in the context of a property shape."@en ; rdfs:domain sh:ConstraintComponent ; rdfs:range sh:Validator ; rdfs:isDefinedBy sh: . sh:Validator a rdfs:Class ; rdfs:label "Validator"@en ; rdfs:comment "The class of validators, which provide instructions on how to process a constraint definition. This class serves as base class for the SPARQL-based validators and other possible implementations."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:SPARQLAskValidator a rdfs:Class ; rdfs:label "SPARQL ASK validator"@en ; rdfs:comment "The class of validators based on SPARQL ASK queries. The queries are evaluated for each value node and are supposed to return true if the given node conforms."@en ; rdfs:subClassOf sh:Validator ; rdfs:subClassOf sh:SPARQLAskExecutable ; rdfs:isDefinedBy sh: . sh:SPARQLSelectValidator a rdfs:Class ; rdfs:label "SPARQL SELECT validator"@en ; rdfs:comment "The class of validators based on SPARQL SELECT queries. The queries are evaluated for each focus node and are supposed to produce bindings for all focus nodes that do not conform."@en ; rdfs:subClassOf sh:Validator ; rdfs:subClassOf sh:SPARQLSelectExecutable ; rdfs:isDefinedBy sh: . # Library of Core Constraint Components and their properties ------------------ sh:AndConstraintComponent a sh:ConstraintComponent ; rdfs:label "And constraint component"@en ; rdfs:comment "A constraint component that can be used to test whether a value node conforms to all members of a provided list of shapes."@en ; sh:parameter sh:AndConstraintComponent-and ; rdfs:isDefinedBy sh: . sh:AndConstraintComponent-and a sh:Parameter ; sh:path sh:and ; rdfs:isDefinedBy sh: . sh:and a rdf:Property ; rdfs:label "and"@en ; rdfs:comment "RDF list of shapes to validate the value nodes against."@en ; rdfs:range rdf:List ; rdfs:isDefinedBy sh: . sh:ClassConstraintComponent a sh:ConstraintComponent ; rdfs:label "Class constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that each value node is an instance of a given type."@en ; sh:parameter sh:ClassConstraintComponent-class ; rdfs:isDefinedBy sh: . sh:ClassConstraintComponent-class a sh:Parameter ; sh:path sh:class ; sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:class a rdf:Property ; rdfs:label "class"@en ; rdfs:comment "The type that all value nodes must have."@en ; rdfs:range rdfs:Class ; rdfs:isDefinedBy sh: . sh:ClosedConstraintComponent a sh:ConstraintComponent ; rdfs:label "Closed constraint component"@en ; rdfs:comment "A constraint component that can be used to indicate that focus nodes must only have values for those properties that have been explicitly enumerated via sh:property/sh:path."@en ; sh:parameter sh:ClosedConstraintComponent-closed ; sh:parameter sh:ClosedConstraintComponent-ignoredProperties ; rdfs:isDefinedBy sh: . sh:ClosedConstraintComponent-closed a sh:Parameter ; sh:path sh:closed ; sh:datatype xsd:boolean ; rdfs:isDefinedBy sh: . sh:ClosedConstraintComponent-ignoredProperties a sh:Parameter ; sh:path sh:ignoredProperties ; sh:optional true ; rdfs:isDefinedBy sh: . sh:closed a rdf:Property ; rdfs:label "closed"@en ; rdfs:comment "If set to true then the shape is closed."@en ; rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . sh:ignoredProperties a rdf:Property ; rdfs:label "ignored properties"@en ; rdfs:comment "An optional RDF list of properties that are also permitted in addition to those explicitly enumerated via sh:property/sh:path."@en ; rdfs:range rdf:List ; # members: rdf:Property rdfs:isDefinedBy sh: . sh:DatatypeConstraintComponent a sh:ConstraintComponent ; rdfs:label "Datatype constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the datatype of all value nodes."@en ; sh:parameter sh:DatatypeConstraintComponent-datatype ; rdfs:isDefinedBy sh: . sh:DatatypeConstraintComponent-datatype a sh:Parameter ; sh:path sh:datatype ; sh:nodeKind sh:IRI ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:datatype a rdf:Property ; rdfs:label "datatype"@en ; rdfs:comment "Specifies an RDF datatype that all value nodes must have."@en ; rdfs:range rdfs:Datatype ; rdfs:isDefinedBy sh: . sh:DisjointConstraintComponent a sh:ConstraintComponent ; rdfs:label "Disjoint constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that the set of value nodes is disjoint with the the set of nodes that have the focus node as subject and the value of a given property as predicate."@en ; sh:parameter sh:DisjointConstraintComponent-disjoint ; rdfs:isDefinedBy sh: . sh:DisjointConstraintComponent-disjoint a sh:Parameter ; sh:path sh:disjoint ; sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:disjoint a rdf:Property ; rdfs:label "disjoint"@en ; rdfs:comment "Specifies a property where the set of values must be disjoint with the value nodes."@en ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:EqualsConstraintComponent a sh:ConstraintComponent ; rdfs:label "Equals constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that the set of value nodes is equal to the set of nodes that have the focus node as subject and the value of a given property as predicate."@en ; sh:parameter sh:EqualsConstraintComponent-equals ; rdfs:isDefinedBy sh: . sh:EqualsConstraintComponent-equals a sh:Parameter ; sh:path sh:equals ; sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:equals a rdf:Property ; rdfs:label "equals"@en ; rdfs:comment "Specifies a property that must have the same values as the value nodes."@en ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:HasValueConstraintComponent a sh:ConstraintComponent ; rdfs:label "Has-value constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that one of the value nodes is a given RDF node."@en ; sh:parameter sh:HasValueConstraintComponent-hasValue ; rdfs:isDefinedBy sh: . sh:HasValueConstraintComponent-hasValue a sh:Parameter ; sh:path sh:hasValue ; rdfs:isDefinedBy sh: . sh:hasValue a rdf:Property ; rdfs:label "has value"@en ; rdfs:comment "Specifies a value that must be among the value nodes."@en ; rdfs:isDefinedBy sh: . sh:InConstraintComponent a sh:ConstraintComponent ; rdfs:label "In constraint component"@en ; rdfs:comment "A constraint component that can be used to exclusively enumerate the permitted value nodes."@en ; sh:parameter sh:InConstraintComponent-in ; rdfs:isDefinedBy sh: . sh:InConstraintComponent-in a sh:Parameter ; sh:path sh:in ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:in a rdf:Property ; rdfs:label "in"@en ; rdfs:comment "Specifies a list of allowed values so that each value node must be among the members of the given list."@en ; rdfs:range rdf:List ; rdfs:isDefinedBy sh: . sh:LanguageInConstraintComponent a sh:ConstraintComponent ; rdfs:label "Language-in constraint component"@en ; rdfs:comment "A constraint component that can be used to enumerate language tags that all value nodes must have."@en ; sh:parameter sh:LanguageInConstraintComponent-languageIn ; rdfs:isDefinedBy sh: . sh:LanguageInConstraintComponent-languageIn a sh:Parameter ; sh:path sh:languageIn ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:languageIn a rdf:Property ; rdfs:label "language in"@en ; rdfs:comment "Specifies a list of language tags that all value nodes must have."@en ; rdfs:range rdf:List ; # members: xsd:string rdfs:isDefinedBy sh: . sh:LessThanConstraintComponent a sh:ConstraintComponent ; rdfs:label "Less-than constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that each value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate."@en ; sh:parameter sh:LessThanConstraintComponent-lessThan ; rdfs:isDefinedBy sh: . sh:LessThanConstraintComponent-lessThan a sh:Parameter ; sh:path sh:lessThan ; sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:lessThan a rdf:Property ; rdfs:label "less than"@en ; rdfs:comment "Specifies a property that must have smaller values than the value nodes."@en ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:LessThanOrEqualsConstraintComponent a sh:ConstraintComponent ; rdfs:label "less-than-or-equals constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that every value node is smaller than all the nodes that have the focus node as subject and the value of a given property as predicate."@en ; sh:parameter sh:LessThanOrEqualsConstraintComponent-lessThanOrEquals ; rdfs:isDefinedBy sh: . sh:LessThanOrEqualsConstraintComponent-lessThanOrEquals a sh:Parameter ; sh:path sh:lessThanOrEquals ; sh:nodeKind sh:IRI ; rdfs:isDefinedBy sh: . sh:lessThanOrEquals a rdf:Property ; rdfs:label "less than or equals"@en ; rdfs:comment "Specifies a property that must have smaller or equal values than the value nodes."@en ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:MaxCountConstraintComponent a sh:ConstraintComponent ; rdfs:label "Max-count constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the maximum number of value nodes."@en ; sh:parameter sh:MaxCountConstraintComponent-maxCount ; rdfs:isDefinedBy sh: . sh:MaxCountConstraintComponent-maxCount a sh:Parameter ; sh:path sh:maxCount ; sh:datatype xsd:integer ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:maxCount a rdf:Property ; rdfs:label "max count"@en ; rdfs:comment "Specifies the maximum number of values in the set of value nodes."@en ; rdfs:range xsd:integer ; rdfs:isDefinedBy sh: . sh:MaxExclusiveConstraintComponent a sh:ConstraintComponent ; rdfs:label "Max-exclusive constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the range of value nodes with a maximum exclusive value."@en ; sh:parameter sh:MaxExclusiveConstraintComponent-maxExclusive ; rdfs:isDefinedBy sh: . sh:MaxExclusiveConstraintComponent-maxExclusive a sh:Parameter ; sh:path sh:maxExclusive ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; rdfs:isDefinedBy sh: . sh:maxExclusive a rdf:Property ; rdfs:label "max exclusive"@en ; rdfs:comment "Specifies the maximum exclusive value of each value node."@en ; rdfs:isDefinedBy sh: . sh:MaxInclusiveConstraintComponent a sh:ConstraintComponent ; rdfs:label "Max-inclusive constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the range of value nodes with a maximum inclusive value."@en ; sh:parameter sh:MaxInclusiveConstraintComponent-maxInclusive ; rdfs:isDefinedBy sh: . sh:MaxInclusiveConstraintComponent-maxInclusive a sh:Parameter ; sh:path sh:maxInclusive ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; rdfs:isDefinedBy sh: . sh:maxInclusive a rdf:Property ; rdfs:label "max inclusive"@en ; rdfs:comment "Specifies the maximum inclusive value of each value node."@en ; rdfs:isDefinedBy sh: . sh:MaxLengthConstraintComponent a sh:ConstraintComponent ; rdfs:label "Max-length constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the maximum string length of value nodes."@en ; sh:parameter sh:MaxLengthConstraintComponent-maxLength ; rdfs:isDefinedBy sh: . sh:MaxLengthConstraintComponent-maxLength a sh:Parameter ; sh:path sh:maxLength ; sh:datatype xsd:integer ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:maxLength a rdf:Property ; rdfs:label "max length"@en ; rdfs:comment "Specifies the maximum string length of each value node."@en ; rdfs:range xsd:integer ; rdfs:isDefinedBy sh: . sh:MinCountConstraintComponent a sh:ConstraintComponent ; rdfs:label "Min-count constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the minimum number of value nodes."@en ; sh:parameter sh:MinCountConstraintComponent-minCount ; rdfs:isDefinedBy sh: . sh:MinCountConstraintComponent-minCount a sh:Parameter ; sh:path sh:minCount ; sh:datatype xsd:integer ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:minCount a rdf:Property ; rdfs:label "min count"@en ; rdfs:comment "Specifies the minimum number of values in the set of value nodes."@en ; rdfs:range xsd:integer ; rdfs:isDefinedBy sh: . sh:MinExclusiveConstraintComponent a sh:ConstraintComponent ; rdfs:label "Min-exclusive constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the range of value nodes with a minimum exclusive value."@en ; sh:parameter sh:MinExclusiveConstraintComponent-minExclusive ; rdfs:isDefinedBy sh: . sh:MinExclusiveConstraintComponent-minExclusive a sh:Parameter ; sh:path sh:minExclusive ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; rdfs:isDefinedBy sh: . sh:minExclusive a rdf:Property ; rdfs:label "min exclusive"@en ; rdfs:comment "Specifies the minimum exclusive value of each value node."@en ; rdfs:isDefinedBy sh: . sh:MinInclusiveConstraintComponent a sh:ConstraintComponent ; rdfs:label "Min-inclusive constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the range of value nodes with a minimum inclusive value."@en ; sh:parameter sh:MinInclusiveConstraintComponent-minInclusive ; rdfs:isDefinedBy sh: . sh:MinInclusiveConstraintComponent-minInclusive a sh:Parameter ; sh:path sh:minInclusive ; sh:maxCount 1 ; sh:nodeKind sh:Literal ; rdfs:isDefinedBy sh: . sh:minInclusive a rdf:Property ; rdfs:label "min inclusive"@en ; rdfs:comment "Specifies the minimum inclusive value of each value node."@en ; rdfs:isDefinedBy sh: . sh:MinLengthConstraintComponent a sh:ConstraintComponent ; rdfs:label "Min-length constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the minimum string length of value nodes."@en ; sh:parameter sh:MinLengthConstraintComponent-minLength ; rdfs:isDefinedBy sh: . sh:MinLengthConstraintComponent-minLength a sh:Parameter ; sh:path sh:minLength ; sh:datatype xsd:integer ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:minLength a rdf:Property ; rdfs:label "min length"@en ; rdfs:comment "Specifies the minimum string length of each value node."@en ; rdfs:range xsd:integer ; rdfs:isDefinedBy sh: . sh:NodeConstraintComponent a sh:ConstraintComponent ; rdfs:label "Node constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that all value nodes conform to the given node shape."@en ; sh:parameter sh:NodeConstraintComponent-node ; rdfs:isDefinedBy sh: . sh:NodeConstraintComponent-node a sh:Parameter ; sh:path sh:node ; rdfs:isDefinedBy sh: . sh:node a rdf:Property ; rdfs:label "node"@en ; rdfs:comment "Specifies the node shape that all value nodes must conform to."@en ; rdfs:range sh:NodeShape ; rdfs:isDefinedBy sh: . sh:NodeKindConstraintComponent a sh:ConstraintComponent ; rdfs:label "Node-kind constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the RDF node kind of each value node."@en ; sh:parameter sh:NodeKindConstraintComponent-nodeKind ; rdfs:isDefinedBy sh: . sh:NodeKindConstraintComponent-nodeKind a sh:Parameter ; sh:path sh:nodeKind ; sh:in ( sh:BlankNode sh:IRI sh:Literal sh:BlankNodeOrIRI sh:BlankNodeOrLiteral sh:IRIOrLiteral ) ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:nodeKind a rdf:Property ; rdfs:label "node kind"@en ; rdfs:comment "Specifies the node kind (e.g. IRI or literal) each value node."@en ; rdfs:range sh:NodeKind ; rdfs:isDefinedBy sh: . sh:NotConstraintComponent a sh:ConstraintComponent ; rdfs:label "Not constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that value nodes do not conform to a given shape."@en ; sh:parameter sh:NotConstraintComponent-not ; rdfs:isDefinedBy sh: . sh:NotConstraintComponent-not a sh:Parameter ; sh:path sh:not ; rdfs:isDefinedBy sh: . sh:not a rdf:Property ; rdfs:label "not"@en ; rdfs:comment "Specifies a shape that the value nodes must not conform to."@en ; rdfs:range sh:Shape ; rdfs:isDefinedBy sh: . sh:OrConstraintComponent a sh:ConstraintComponent ; rdfs:label "Or constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the value nodes so that they conform to at least one out of several provided shapes."@en ; sh:parameter sh:OrConstraintComponent-or ; rdfs:isDefinedBy sh: . sh:OrConstraintComponent-or a sh:Parameter ; sh:path sh:or ; rdfs:isDefinedBy sh: . sh:or a rdf:Property ; rdfs:label "or"@en ; rdfs:comment "Specifies a list of shapes so that the value nodes must conform to at least one of the shapes."@en ; rdfs:range rdf:List ; # members: sh:Shape ; rdfs:isDefinedBy sh: . sh:PatternConstraintComponent a sh:ConstraintComponent ; rdfs:label "Pattern constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that every value node matches a given regular expression."@en ; sh:parameter sh:PatternConstraintComponent-pattern ; sh:parameter sh:PatternConstraintComponent-flags ; rdfs:isDefinedBy sh: . sh:PatternConstraintComponent-pattern a sh:Parameter ; sh:path sh:pattern ; sh:datatype xsd:string ; rdfs:isDefinedBy sh: . sh:PatternConstraintComponent-flags a sh:Parameter ; sh:path sh:flags ; sh:datatype xsd:string ; sh:optional true ; rdfs:isDefinedBy sh: . sh:flags a rdf:Property ; rdfs:label "flags"@en ; rdfs:comment "An optional flag to be used with regular expression pattern matching."@en ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:pattern a rdf:Property ; rdfs:label "pattern"@en ; rdfs:comment "Specifies a regular expression pattern that the string representations of the value nodes must match."@en ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:PropertyConstraintComponent a sh:ConstraintComponent ; rdfs:label "Property constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that all value nodes conform to the given property shape."@en ; sh:parameter sh:PropertyConstraintComponent-property ; rdfs:isDefinedBy sh: . sh:PropertyConstraintComponent-property a sh:Parameter ; sh:path sh:property ; rdfs:isDefinedBy sh: . sh:property a rdf:Property ; rdfs:label "property"@en ; rdfs:comment "Links a shape to its property shapes."@en ; rdfs:domain sh:Shape ; rdfs:range sh:PropertyShape ; rdfs:isDefinedBy sh: . sh:QualifiedMaxCountConstraintComponent a sh:ConstraintComponent ; rdfs:label "Qualified-max-count constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that a specified maximum number of value nodes conforms to a given shape."@en ; sh:parameter sh:QualifiedMaxCountConstraintComponent-qualifiedMaxCount ; sh:parameter sh:QualifiedMaxCountConstraintComponent-qualifiedValueShape ; sh:parameter sh:QualifiedMaxCountConstraintComponent-qualifiedValueShapesDisjoint ; rdfs:isDefinedBy sh: . sh:QualifiedMaxCountConstraintComponent-qualifiedMaxCount a sh:Parameter ; sh:path sh:qualifiedMaxCount ; sh:datatype xsd:integer ; rdfs:isDefinedBy sh: . sh:QualifiedMaxCountConstraintComponent-qualifiedValueShape a sh:Parameter ; sh:path sh:qualifiedValueShape ; rdfs:isDefinedBy sh: . sh:QualifiedMaxCountConstraintComponent-qualifiedValueShapesDisjoint a sh:Parameter ; sh:path sh:qualifiedValueShapesDisjoint ; sh:datatype xsd:boolean ; sh:optional true ; rdfs:isDefinedBy sh: . sh:QualifiedMinCountConstraintComponent a sh:ConstraintComponent ; rdfs:label "Qualified-min-count constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that a specified minimum number of value nodes conforms to a given shape."@en ; sh:parameter sh:QualifiedMinCountConstraintComponent-qualifiedMinCount ; sh:parameter sh:QualifiedMinCountConstraintComponent-qualifiedValueShape ; sh:parameter sh:QualifiedMinCountConstraintComponent-qualifiedValueShapesDisjoint ; rdfs:isDefinedBy sh: . sh:QualifiedMinCountConstraintComponent-qualifiedMinCount a sh:Parameter ; sh:path sh:qualifiedMinCount ; sh:datatype xsd:integer ; rdfs:isDefinedBy sh: . sh:QualifiedMinCountConstraintComponent-qualifiedValueShape a sh:Parameter ; sh:path sh:qualifiedValueShape ; rdfs:isDefinedBy sh: . sh:QualifiedMinCountConstraintComponent-qualifiedValueShapesDisjoint a sh:Parameter ; sh:path sh:qualifiedValueShapesDisjoint ; sh:datatype xsd:boolean ; sh:optional true ; rdfs:isDefinedBy sh: . sh:qualifiedMaxCount a rdf:Property ; rdfs:label "qualified max count"@en ; rdfs:comment "The maximum number of value nodes that can conform to the shape."@en ; rdfs:range xsd:integer ; rdfs:isDefinedBy sh: . sh:qualifiedMinCount a rdf:Property ; rdfs:label "qualified min count"@en ; rdfs:comment "The minimum number of value nodes that must conform to the shape."@en ; rdfs:range xsd:integer ; rdfs:isDefinedBy sh: . sh:qualifiedValueShape a rdf:Property ; rdfs:label "qualified value shape"@en ; rdfs:comment "The shape that a specified number of values must conform to."@en ; rdfs:range sh:Shape ; rdfs:isDefinedBy sh: . sh:qualifiedValueShapesDisjoint a rdf:Property ; rdfs:label "qualified value shapes disjoint"@en ; rdfs:comment "Can be used to mark the qualified value shape to be disjoint with its sibling shapes."@en ; rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . sh:UniqueLangConstraintComponent a sh:ConstraintComponent ; rdfs:label "Unique-languages constraint component"@en ; rdfs:comment "A constraint component that can be used to specify that no pair of value nodes may use the same language tag."@en ; sh:parameter sh:UniqueLangConstraintComponent-uniqueLang ; rdfs:isDefinedBy sh: . sh:UniqueLangConstraintComponent-uniqueLang a sh:Parameter ; sh:path sh:uniqueLang ; sh:datatype xsd:boolean ; sh:maxCount 1 ; rdfs:isDefinedBy sh: . sh:uniqueLang a rdf:Property ; rdfs:label "unique languages"@en ; rdfs:comment "Specifies whether all node values must have a unique (or no) language tag."@en ; rdfs:range xsd:boolean ; rdfs:isDefinedBy sh: . sh:XoneConstraintComponent a sh:ConstraintComponent ; rdfs:label "Exactly one constraint component"@en ; rdfs:comment "A constraint component that can be used to restrict the value nodes so that they conform to exactly one out of several provided shapes."@en ; sh:parameter sh:XoneConstraintComponent-xone ; rdfs:isDefinedBy sh: . sh:XoneConstraintComponent-xone a sh:Parameter ; sh:path sh:xone ; rdfs:isDefinedBy sh: . sh:xone a rdf:Property ; rdfs:label "exactly one"@en ; rdfs:comment "Specifies a list of shapes so that the value nodes must conform to exactly one of the shapes."@en ; rdfs:range rdf:List ; # members: sh:Shape ; rdfs:isDefinedBy sh: . # General SPARQL execution support -------------------------------------------- sh:SPARQLExecutable a rdfs:Class ; rdfs:label "SPARQL executable"@en ; rdfs:comment "The class of resources that encapsulate a SPARQL query."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:SPARQLAskExecutable a rdfs:Class ; rdfs:label "SPARQL ASK executable"@en ; rdfs:comment "The class of SPARQL executables that are based on an ASK query."@en ; rdfs:subClassOf sh:SPARQLExecutable ; rdfs:isDefinedBy sh: . sh:ask a rdf:Property ; rdfs:label "ask"@en ; rdfs:comment "The SPARQL ASK query to execute."@en ; rdfs:domain sh:SPARQLAskExecutable ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:SPARQLConstructExecutable a rdfs:Class ; rdfs:label "SPARQL CONSTRUCT executable"@en ; rdfs:comment "The class of SPARQL executables that are based on a CONSTRUCT query."@en ; rdfs:subClassOf sh:SPARQLExecutable ; rdfs:isDefinedBy sh: . sh:construct a rdf:Property ; rdfs:label "construct"@en ; rdfs:comment "The SPARQL CONSTRUCT query to execute."@en ; rdfs:domain sh:SPARQLConstructExecutable ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:SPARQLSelectExecutable a rdfs:Class ; rdfs:label "SPARQL SELECT executable"@en ; rdfs:comment "The class of SPARQL executables based on a SELECT query."@en ; rdfs:subClassOf sh:SPARQLExecutable ; rdfs:isDefinedBy sh: . sh:select a rdf:Property ; rdfs:label "select"@en ; rdfs:comment "The SPARQL SELECT query to execute."@en ; rdfs:range xsd:string ; rdfs:domain sh:SPARQLSelectExecutable ; rdfs:isDefinedBy sh: . sh:SPARQLUpdateExecutable a rdfs:Class ; rdfs:label "SPARQL UPDATE executable"@en ; rdfs:comment "The class of SPARQL executables based on a SPARQL UPDATE."@en ; rdfs:subClassOf sh:SPARQLExecutable ; rdfs:isDefinedBy sh: . sh:update a rdf:Property ; rdfs:label "update"@en ; rdfs:comment "The SPARQL UPDATE to execute."@en ; rdfs:domain sh:SPARQLUpdateExecutable ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:prefixes a rdf:Property ; rdfs:label "prefixes"@en ; rdfs:comment "The prefixes that shall be applied before parsing the associated SPARQL query."@en ; rdfs:domain sh:SPARQLExecutable ; rdfs:range owl:Ontology ; rdfs:isDefinedBy sh: . sh:PrefixDeclaration a rdfs:Class ; rdfs:label "Prefix declaration"@en ; rdfs:comment "The class of prefix declarations, consisting of pairs of a prefix with a namespace."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:declare a rdf:Property ; rdfs:label "declare"@en ; rdfs:comment "Links a resource with its namespace prefix declarations."@en ; rdfs:domain owl:Ontology ; rdfs:range sh:PrefixDeclaration ; rdfs:isDefinedBy sh: . sh:prefix a rdf:Property ; rdfs:label "prefix"@en ; rdfs:comment "The prefix of a prefix declaration."@en ; rdfs:domain sh:PrefixDeclaration ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:namespace a rdf:Property ; rdfs:label "namespace"@en ; rdfs:comment "The namespace associated with a prefix in a prefix declaration."@en ; rdfs:domain sh:PrefixDeclaration ; rdfs:range xsd:anyURI ; rdfs:isDefinedBy sh: . # SPARQL-based Constraints support -------------------------------------------- sh:SPARQLConstraintComponent a sh:ConstraintComponent ; rdfs:label "SPARQL constraint component"@en ; rdfs:comment "A constraint component that can be used to define constraints based on SPARQL queries."@en ; sh:parameter sh:SPARQLConstraintComponent-sparql ; rdfs:isDefinedBy sh: . sh:SPARQLConstraintComponent-sparql a sh:Parameter ; sh:path sh:sparql ; rdfs:isDefinedBy sh: . sh:sparql a rdf:Property ; rdfs:label "constraint (in SPARQL)"@en ; rdfs:comment "Links a shape with SPARQL constraints."@en ; rdfs:domain sh:Shape ; rdfs:range sh:SPARQLConstraint ; rdfs:isDefinedBy sh: . sh:SPARQLConstraint a rdfs:Class ; rdfs:label "SPARQL constraint"@en ; rdfs:comment "The class of constraints based on SPARQL SELECT queries."@en ; rdfs:subClassOf sh:SPARQLSelectExecutable ; rdfs:isDefinedBy sh: . # Non-validating constraint properties ---------------------------------------- sh:defaultValue a rdf:Property ; rdfs:label "default value"@en ; rdfs:comment "A default value for a property, for example for user interface tools to pre-populate input fields."@en ; rdfs:domain sh:PropertyShape ; rdfs:isDefinedBy sh: . sh:description a rdf:Property ; rdfs:label "description"@en ; rdfs:comment "Human-readable descriptions for the property in the context of the surrounding shape."@en ; rdfs:domain sh:PropertyShape ; # range: xsd:string or rdf:langString rdfs:isDefinedBy sh: . sh:group a rdf:Property ; rdfs:label "group"@en ; rdfs:comment "Can be used to link to a property group to indicate that a property shape belongs to a group of related property shapes."@en ; rdfs:domain sh:PropertyShape ; rdfs:range sh:PropertyGroup ; rdfs:isDefinedBy sh: . sh:name a rdf:Property ; rdfs:label "name"@en ; rdfs:comment "Human-readable labels for the property in the context of the surrounding shape."@en ; rdfs:domain sh:PropertyShape ; # range: xsd:string or rdf:langString rdfs:isDefinedBy sh: . sh:order a rdf:Property ; rdfs:label "order"@en ; rdfs:comment "Specifies the relative order of this compared to its siblings. For example use 0 for the first, 1 for the second."@en ; # range: xsd:decimal or xsd:integer ; rdfs:isDefinedBy sh: . sh:PropertyGroup a rdfs:Class ; rdfs:label "Property group"@en ; rdfs:comment "Instances of this class represent groups of property shapes that belong together."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . # ----------------------------------------------------------------------------- # SHACL ADVANCED FEATURES ----------------------------------------------------- # ----------------------------------------------------------------------------- # Advanced Target vocabulary -------------------------------------------------- sh:target a rdf:Property ; rdfs:label "target"@en ; rdfs:comment "Links a shape to a target specified by an extension language, for example instances of sh:SPARQLTarget."@en ; rdfs:domain sh:Shape ; rdfs:range sh:Target ; rdfs:isDefinedBy sh: . sh:Target a rdfs:Class ; rdfs:label "Target"@en ; rdfs:comment "The base class of targets such as those based on SPARQL queries."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:TargetType a rdfs:Class ; rdfs:label "Target type"@en ; rdfs:comment "The (meta) class for parameterizable targets. Instances of this are instantiated as values of the sh:target property."@en ; rdfs:subClassOf rdfs:Class ; rdfs:subClassOf sh:Parameterizable ; rdfs:isDefinedBy sh: . sh:SPARQLTarget a rdfs:Class ; rdfs:label "SPARQL target"@en ; rdfs:comment "The class of targets that are based on SPARQL queries."@en ; rdfs:subClassOf sh:Target ; rdfs:subClassOf sh:SPARQLAskExecutable ; rdfs:subClassOf sh:SPARQLSelectExecutable ; rdfs:isDefinedBy sh: . sh:SPARQLTargetType a rdfs:Class ; rdfs:label "SPARQL target type"@en ; rdfs:comment "The (meta) class for parameterizable targets that are based on SPARQL queries."@en ; rdfs:subClassOf sh:TargetType ; rdfs:subClassOf sh:SPARQLAskExecutable ; rdfs:subClassOf sh:SPARQLSelectExecutable ; rdfs:isDefinedBy sh: . # Functions Vocabulary -------------------------------------------------------- sh:Function a rdfs:Class ; rdfs:label "Function"@en ; rdfs:comment "The class of SHACL functions."@en ; rdfs:subClassOf sh:Parameterizable ; rdfs:isDefinedBy sh: . sh:returnType a rdf:Property ; rdfs:label "return type"@en ; rdfs:comment "The expected type of values returned by the associated function."@en ; rdfs:domain sh:Function ; rdfs:range rdfs:Class ; rdfs:isDefinedBy sh: . sh:SPARQLFunction a rdfs:Class ; rdfs:label "SPARQL function"@en ; rdfs:comment "A function backed by a SPARQL query - either ASK or SELECT."@en ; rdfs:subClassOf sh:Function ; rdfs:subClassOf sh:SPARQLAskExecutable ; rdfs:subClassOf sh:SPARQLSelectExecutable ; rdfs:isDefinedBy sh: . # Result Annotations ---------------------------------------------------------- sh:resultAnnotation a rdf:Property ; rdfs:label "result annotation"@en ; rdfs:comment "Links a SPARQL validator with zero or more sh:ResultAnnotation instances, defining how to derive additional result properties based on the variables of the SELECT query."@en ; rdfs:domain sh:SPARQLSelectValidator ; rdfs:range sh:ResultAnnotation ; rdfs:isDefinedBy sh: . sh:ResultAnnotation a rdfs:Class ; rdfs:label "Result annotation"@en ; rdfs:comment "A class of result annotations, which define the rules to derive the values of a given annotation property as extra values for a validation result."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:annotationProperty a rdf:Property ; rdfs:label "annotation property"@en ; rdfs:comment "The annotation property that shall be set."@en ; rdfs:domain sh:ResultAnnotation ; rdfs:range rdf:Property ; rdfs:isDefinedBy sh: . sh:annotationValue a rdf:Property ; rdfs:label "annotation value"@en ; rdfs:comment "The (default) values of the annotation property."@en ; rdfs:domain sh:ResultAnnotation ; rdfs:isDefinedBy sh: . sh:annotationVarName a rdf:Property ; rdfs:label "annotation variable name"@en ; rdfs:comment "The name of the SPARQL variable from the SELECT clause that shall be used for the values."@en ; rdfs:domain sh:ResultAnnotation ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . # Node Expressions ------------------------------------------------------------ sh:this a rdfs:Resource ; rdfs:label "this"@en ; rdfs:comment "A node expression that represents the current focus node."@en ; rdfs:isDefinedBy sh: . sh:filterShape a rdf:Property ; rdfs:label "filter shape"@en ; rdfs:comment "The shape that all input nodes of the expression need to conform to."@en ; rdfs:range sh:Shape ; rdfs:isDefinedBy sh: . sh:nodes a rdf:Property ; rdfs:label "nodes"@en ; rdfs:comment "The node expression producing the input nodes of a filter shape expression."@en ; rdfs:isDefinedBy sh: . sh:intersection a rdf:Property ; rdfs:label "intersection"@en ; rdfs:comment "A list of node expressions that shall be intersected."@en ; rdfs:isDefinedBy sh: . sh:union a rdf:Property ; rdfs:label "union"@en ; rdfs:comment "A list of node expressions that shall be used together."@en ; rdfs:isDefinedBy sh: . # Expression Constraints ------------------------------------------------------ sh:ExpressionConstraintComponent a sh:ConstraintComponent ; rdfs:label "Expression constraint component"@en ; rdfs:comment "A constraint component that can be used to verify that a given node expression produces true for all value nodes."@en ; sh:parameter sh:ExpressionConstraintComponent-expression ; rdfs:isDefinedBy sh: . sh:ExpressionConstraintComponent-expression a sh:Parameter ; sh:path sh:expression ; rdfs:isDefinedBy sh: . sh:expression a rdf:Property ; rdfs:label "expression"@en ; rdfs:comment "The node expression that must return true for the value nodes."@en ; rdfs:isDefinedBy sh: . # Rules ----------------------------------------------------------------------- sh:Rule a rdfs:Class ; rdfs:label "Rule"@en ; rdfs:comment "The class of SHACL rules. Never instantiated directly."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:rule a rdf:Property ; rdfs:label "rule"@en ; rdfs:comment "The rules linked to a shape."@en ; rdfs:domain sh:Shape ; rdfs:range sh:Rule ; rdfs:isDefinedBy sh: . sh:condition a rdf:Property ; rdfs:label "condition"@en ; rdfs:comment "The shapes that the focus nodes need to conform to before a rule is executed on them."@en ; rdfs:domain sh:Rule ; rdfs:range sh:Shape ; rdfs:isDefinedBy sh: . sh:TripleRule a rdfs:Class ; rdfs:label "A rule based on triple (subject, predicate, object) pattern."@en ; rdfs:subClassOf sh:Rule ; rdfs:isDefinedBy sh: . sh:subject a rdf:Property ; rdfs:label "subject"@en ; rdfs:comment "An expression producing the resources that shall be inferred as subjects."@en ; rdfs:domain sh:TripleRule ; rdfs:isDefinedBy sh: . sh:predicate a rdf:Property ; rdfs:label "predicate"@en ; rdfs:comment "An expression producing the properties that shall be inferred as predicates."@en ; rdfs:domain sh:TripleRule ; rdfs:isDefinedBy sh: . sh:object a rdf:Property ; rdfs:label "object"@en ; rdfs:comment "An expression producing the nodes that shall be inferred as objects."@en ; rdfs:domain sh:TripleRule ; rdfs:isDefinedBy sh: . sh:SPARQLRule a rdfs:Class ; rdfs:label "SPARQL CONSTRUCT rule"@en ; rdfs:comment "The class of SHACL rules based on SPARQL CONSTRUCT queries."@en ; rdfs:subClassOf sh:Rule ; rdfs:subClassOf sh:SPARQLConstructExecutable ; rdfs:isDefinedBy sh: . # SHACL-JS -------------------------------------------------------------------- sh:JSExecutable a rdfs:Class ; rdfs:label "JavaScript executable"@en ; rdfs:comment "Abstract base class of resources that declare an executable JavaScript."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:JSTarget a rdfs:Class ; rdfs:label "JavaScript target"@en ; rdfs:comment "The class of targets that are based on JavaScript functions."@en ; rdfs:subClassOf sh:Target ; rdfs:subClassOf sh:JSExecutable ; rdfs:isDefinedBy sh: . sh:JSTargetType a rdfs:Class ; rdfs:label "JavaScript target type"@en ; rdfs:comment "The (meta) class for parameterizable targets that are based on JavaScript functions."@en ; rdfs:subClassOf sh:TargetType ; rdfs:subClassOf sh:JSExecutable ; rdfs:isDefinedBy sh: . sh:JSConstraint a rdfs:Class ; rdfs:label "JavaScript-based constraint"@en ; rdfs:comment "The class of constraints backed by a JavaScript function."@en ; rdfs:subClassOf sh:JSExecutable ; rdfs:isDefinedBy sh: . sh:JSConstraintComponent a sh:ConstraintComponent ; rdfs:label "JavaScript constraint component"@en ; rdfs:comment "A constraint component with the parameter sh:js linking to a sh:JSConstraint containing a sh:script."@en ; sh:parameter sh:JSConstraint-js ; rdfs:isDefinedBy sh: . sh:JSConstraint-js a sh:Parameter ; sh:path sh:js ; rdfs:isDefinedBy sh: . sh:js a rdf:Property ; rdfs:label "JavaScript constraint"@en ; rdfs:comment "Constraints expressed in JavaScript." ; rdfs:range sh:JSConstraint ; rdfs:isDefinedBy sh: . sh:jsFunctionName a rdf:Property ; rdfs:label "JavaScript function name"@en ; rdfs:comment "The name of the JavaScript function to execute."@en ; rdfs:domain sh:JSExecutable ; rdfs:range xsd:string ; rdfs:isDefinedBy sh: . sh:jsLibrary a rdf:Property ; rdfs:label "JavaScript library"@en ; rdfs:comment "Declares which JavaScript libraries are needed to execute this."@en ; rdfs:range sh:JSLibrary ; rdfs:isDefinedBy sh: . sh:jsLibraryURL a rdf:Property ; rdfs:label "JavaScript library URL"@en ; rdfs:comment "Declares the URLs of a JavaScript library. This should be the absolute URL of a JavaScript file. Implementations may redirect those to local files."@en ; rdfs:domain sh:JSLibrary ; rdfs:range xsd:anyURI ; rdfs:isDefinedBy sh: . sh:JSFunction a rdfs:Class ; rdfs:label "JavaScript function"@en ; rdfs:comment "The class of SHACL functions that execute a JavaScript function when called."@en ; rdfs:subClassOf sh:Function ; rdfs:subClassOf sh:JSExecutable ; rdfs:isDefinedBy sh: . sh:JSLibrary a rdfs:Class ; rdfs:label "JavaScript library"@en ; rdfs:comment "Represents a JavaScript library, typically identified by one or more URLs of files to include."@en ; rdfs:subClassOf rdfs:Resource ; rdfs:isDefinedBy sh: . sh:JSRule a rdfs:Class ; rdfs:label "JavaScript rule"@en ; rdfs:comment "The class of SHACL rules expressed using JavaScript."@en ; rdfs:subClassOf sh:JSExecutable ; rdfs:subClassOf sh:Rule ; rdfs:isDefinedBy sh: . sh:JSValidator a rdfs:Class ; rdfs:label "JavaScript validator"@en ; rdfs:comment "A SHACL validator based on JavaScript. This can be used to declare SHACL constraint components that perform JavaScript-based validation when used."@en ; rdfs:subClassOf sh:JSExecutable ; rdfs:subClassOf sh:Validator ; rdfs:isDefinedBy sh: . pyshacl-0.30.1/pyshacl/cli.py0000644000000000000000000003404100000000000012713 0ustar00#!/usr/bin/env python3 # -*- coding: utf-8 -*- import argparse import os import sys from io import BufferedReader from typing import Union, cast from prettytable import PrettyTable from pyshacl import __version__, validate from pyshacl.errors import ( ConstraintLoadError, ReportableRuntimeError, RuleLoadError, ShapeLoadError, ValidationFailure, ) class ShowVersion(argparse.Action): def __init__(self, option_strings, dest=argparse.SUPPRESS, default=argparse.SUPPRESS, help=None): super(ShowVersion, self).__init__( option_strings=option_strings, dest=dest, default=default, nargs=0, help=help ) def __call__(self, parser, namespace, values, option_string=None): # parser.exit() writes message to stderr before calling sys.exit() parser.exit(status=0, message="PySHACL Version: " + str(__version__) + "\n") def str_is_true(s_var: str): if len(s_var) > 0: if s_var.lower() not in ("0", "f", "n", "false", "no"): return True return False parser = argparse.ArgumentParser(description='PySHACL {} Validator command line tool.'.format(str(__version__))) parser.add_argument( 'data', metavar='DataGraph', help='The file or endpoint containing the Target Data Graph.', default=None, nargs='?', ) parser.add_argument( '-s', '--shapes', '--shacl', dest='shacl', action='store', nargs='?', help='A file containing the SHACL Shapes Graph.', ) parser.add_argument( '-e', '--ont-graph', dest='ont', action='store', nargs='?', help='A file path or URL to a document containing extra ontological information. ' 'RDFS and OWL definitions from this are used to inoculate the DataGraph.', ) parser.add_argument( '-i', '--inference', dest='inference', action='store', default='none', choices=('none', 'rdfs', 'owlrl', 'both'), help='Choose a type of inferencing to run against the Data Graph before validating.', ) parser.add_argument( '-m', '--metashacl', dest='metashacl', action='store_true', default=False, help='Validate the SHACL Shapes graph against the shacl-shacl Shapes Graph before validating the Data Graph.', ) parser.add_argument( '-q', '--sparql-mode', dest='sparql_mode', action='store_true', default=False, help='Treat the DataGraph as a SPARQL endpoint, validate the graph at the SPARQL endpoint.', ) parser.add_argument( '-im', '--imports', dest='imports', action='store_true', default=False, help='Allow import of sub-graphs defined in statements with owl:imports.', ) parser.add_argument( '-a', '--advanced', dest='advanced', action='store_true', default=False, help='Enable features from the SHACL Advanced Features specification.', ) parser.add_argument( '-j', '--js', dest='js', action='store_true', default=False, help='Enable features from the SHACL-JS Specification.', ) parser.add_argument( '-it', '--iterate-rules', dest='iterate_rules', action='store_true', default=False, help="Run Shape's SHACL Rules iteratively until the data_graph reaches a steady state.", ) parser.add_argument('--abort', dest='abort', action='store_true', default=False, help='Abort on first invalid data.') parser.add_argument( '--allow-info', '--allow-infos', dest='allow_infos', action='store_true', default=False, help='Shapes marked with severity of Info will not cause result to be invalid.', ) parser.add_argument( '-w', '--allow-warning', '--allow-warnings', dest='allow_warnings', action='store_true', default=False, help='Shapes marked with severity of Warning or Info will not cause result to be invalid.', ) parser.add_argument( '--max-depth', dest='max_depth', action='store', nargs='?', type=int, help="The maximum number of SHACL shapes \"deep\" that the validator can go before reaching an \"endpoint\" constraint.", ) parser.add_argument( '-d', '--debug', dest='debug', action='store_true', default=False, help='Output additional verbose runtime messages.', ) parser.add_argument( '--focus', dest='focus', action='store', help='Optional IRIs of focus nodes from the DataGraph, the shapes will validate only these node. Comma-separated list.', nargs="?", default=None, ) parser.add_argument( '--shape', dest='shape', action='store', help='Optional IRIs of a NodeShape or PropertyShape from the SHACL ShapesGraph, only these shapes will be used to validate the DataGraph. Comma-separated list.', nargs="?", default=None, ) parser.add_argument( '-f', '--format', dest='format', action='store', help='Choose an output format. Default is "human".', default='human', choices=('human', 'table', 'turtle', 'xml', 'json-ld', 'nt', 'n3'), ) parser.add_argument( '-df', '--data-file-format', dest='data_file_format', action='store', help='Explicitly state the RDF File format of the input DataGraph file. Default="auto".', default='auto', choices=('auto', 'turtle', 'xml', 'json-ld', 'nt', 'n3'), ) parser.add_argument( '-sf', '--shacl-file-format', dest='shacl_file_format', action='store', help='Explicitly state the RDF File format of the input SHACL file. Default="auto".', default='auto', choices=('auto', 'turtle', 'xml', 'json-ld', 'nt', 'n3'), ) parser.add_argument( '-ef', '--ont-file-format', dest='ont_file_format', action='store', help='Explicitly state the RDF File format of the extra ontology file. Default="auto".', default='auto', choices=('auto', 'turtle', 'xml', 'json-ld', 'nt', 'n3'), ) parser.add_argument('-V', '--version', action=ShowVersion, help='Show PySHACL version and exit.') parser.add_argument( '-o', '--output', dest='output', nargs='?', type=argparse.FileType('w'), help='Send output to a file (defaults to stdout).', default=sys.stdout, ) parser.add_argument( '--rules', help='Ignore validation options, run PySHACL in Rules Expansion mode. Same as `pyshacl_rules`.', action='store_true', dest='do_rules', default=False, ) parser.add_argument( '--server', help='Ignore all the rest of the options, start the HTTP Server. Same as `pyshacl_server`.', action='store_true', dest='server', default=False, ) # parser.add_argument('-h', '--help', action="help", help='Show this help text.') def main(prog: Union[str, None] = None) -> None: if prog is not None and len(prog) > 0: parser.prog = prog do_server = os.getenv("PYSHACL_HTTP", "") do_server = os.getenv("PYSHACL_SERVER", do_server) if do_server: args = argparse.Namespace() else: args = parser.parse_args() if str_is_true(do_server) or args.server: from pyshacl.sh_http import main as http_main # http_main calls sys.exit(0) and never returns http_main() if args.do_rules: from pyshacl.cli_rules import main as rules_main # rules_main calls sys.exit(0) and never returns rules_main() if not args.data: # No datafile give, and not starting in server mode. sys.stderr.write('Input Error. No DataGraph file or endpoint supplied.\n') parser.print_usage(sys.stderr) sys.exit(1) validator_kwargs = {'debug': args.debug} data_file = None data_graph: Union[BufferedReader, str] if args.sparql_mode is not None and args.sparql_mode is True: endpoint = str(args.data).strip() if not endpoint.lower().startswith("http:") and not endpoint.lower().startswith("https:"): sys.stderr.write("Input Error. SPARQL Endpoint must start with http:// or https://.\n") sys.exit(1) data_graph = endpoint validator_kwargs['sparql_mode'] = True else: try: data_file = open(args.data, 'rb') except FileNotFoundError: sys.stderr.write('Input Error. DataGraph file not found.\n') sys.exit(1) except PermissionError: sys.stderr.write('Input Error. DataGraph file not readable.\n') sys.exit(1) else: # NOTE: This cast is not necessary in Python >= 3.10. data_graph = cast(BufferedReader, data_file) if args.shacl is not None: validator_kwargs['shacl_graph'] = args.shacl if args.ont is not None: validator_kwargs['ont_graph'] = args.ont if args.format not in ['human', 'table']: validator_kwargs['serialize_report_graph'] = args.format if args.inference != 'none': validator_kwargs['inference'] = args.inference if args.imports: validator_kwargs['do_owl_imports'] = True if args.metashacl: validator_kwargs['meta_shacl'] = True if args.advanced: validator_kwargs['advanced'] = True if args.js: validator_kwargs['js'] = True if args.focus: validator_kwargs['focus_nodes'] = [_f.strip() for _f in args.focus.split(',')] if args.shape: validator_kwargs['use_shapes'] = [_s.strip() for _s in args.shape.split(',')] if args.iterate_rules: if not args.advanced: sys.stderr.write("Iterate-Rules option only works when you enable Advanced Mode.\n") else: validator_kwargs['iterate_rules'] = True if args.abort: validator_kwargs['abort_on_first'] = True if args.allow_infos: validator_kwargs['allow_infos'] = True if args.allow_warnings: validator_kwargs['allow_warnings'] = True if args.shacl_file_format: _f: str = args.shacl_file_format if _f != "auto": validator_kwargs['shacl_graph_format'] = _f if args.ont_file_format: _f = args.ont_file_format if _f != "auto": validator_kwargs['ont_graph_format'] = _f if args.data_file_format: _f = args.data_file_format if _f != "auto": validator_kwargs['data_graph_format'] = _f exit_code: Union[int, None] = None try: is_conform, v_graph, v_text = validate(data_graph, **validator_kwargs) if isinstance(v_graph, BaseException): raise v_graph except ValidationFailure as vf: args.output.write("Validator generated a Validation Failure result:\n") args.output.write(str(vf.message)) args.output.write("\n") exit_code = 1 except ShapeLoadError as sle: sys.stderr.write("Validator encountered a Shape Load Error:\n") sys.stderr.write(str(sle)) exit_code = 2 except ConstraintLoadError as cle: sys.stderr.write("Validator encountered a Constraint Load Error:\n") sys.stderr.write(str(cle)) exit_code = 2 except RuleLoadError as rle: sys.stderr.write("Validator encountered a Rule Load Error:\n") sys.stderr.write(str(rle)) exit_code = 2 except ReportableRuntimeError as rre: sys.stderr.write("Validator encountered a Runtime Error:\n") sys.stderr.write(str(rre.message)) sys.stderr.write("\nIf you believe this is a bug in pyshacl, open an Issue on the pyshacl github page.\n") exit_code = 2 except NotImplementedError as nie: sys.stderr.write("Validator feature is not implemented:\n") if len(nie.args) > 0: sys.stderr.write(str(nie.args[0])) else: sys.stderr.write("No message provided.") sys.stderr.write("\nIf your use-case requires this feature, open an Issue on the pyshacl github page.\n") exit_code = 3 except RuntimeError as re: import traceback traceback.print_tb(re.__traceback__) sys.stderr.write( "\n\nValidator encountered a Runtime Error. Please report this to the PySHACL issue tracker.\n" ) exit_code = 2 finally: if data_file is not None: try: data_file.close() except Exception as e: sys.stderr.write("Error closing data file:\n") sys.stderr.write(str(e)) if exit_code is not None: sys.exit(exit_code) if args.format == 'human': args.output.write(v_text) elif args.format == 'table': t1 = PrettyTable() t1.field_names = ["Conforms"] t1.align = "c" t1.add_row([is_conform]) args.output.write(str(t1)) args.output.write('\n\n') def col_widther(s, w): """Split strings to a given width for table""" s2 = [] i = 0 while i < len(s): s2.append(s[i : i + w]) i += w return '\n'.join(s2) if not is_conform: from rdflib import Graph from rdflib.namespace import SH t2 = PrettyTable() t2.field_names = ['No.', 'Severity', 'Focus Node', 'Result Path', 'Message', 'Component', 'Shape', 'Value'] t2.align = "l" assert isinstance(v_graph, Graph) for i, o in enumerate(v_graph.objects(None, SH.result)): r = {} for o2 in v_graph.predicate_objects(o): r[o2[0]] = str(col_widther(str(o2[1]).replace(f'{SH}', ''), 25)) # max col width 30 chars t2.add_row( [ i + 1, r[SH.resultSeverity], r[SH.focusNode], r[SH.resultPath] if r.get(SH.resultPath) is not None else '-', r[SH.resultMessage] if r.get(SH.resultMessage) is not None else '-', r[SH.sourceConstraintComponent], r[SH.sourceShape], r[SH.value] if r.get(SH.value) is not None else '-', ] ) t2.add_row(['', '', '', '', '', '', '', '']) args.output.write(str(t2)) else: if isinstance(v_graph, bytes): v_graph = v_graph.decode('utf-8') args.output.write(v_graph) args.output.close() sys.exit(0 if is_conform else 1) if __name__ == "__main__": main() pyshacl-0.30.1/pyshacl/cli_rules.py0000644000000000000000000002103400000000000014123 0ustar00#!/usr/bin/env python3 # -*- coding: utf-8 -*- import argparse import sys from io import BufferedReader from typing import Union, cast from pyshacl import __version__, shacl_rules from pyshacl.cli import ShowVersion from pyshacl.errors import ( ConstraintLoadError, ReportableRuntimeError, RuleLoadError, ShapeLoadError, ValidationFailure, ) parser = argparse.ArgumentParser( description='PySHACL {} SHACL Rules Expander command line tool.'.format(str(__version__)) ) parser.add_argument( 'data', metavar='DataGraph', help='The file or endpoint containing the Target Data Graph.', default=None, nargs='?', ) parser.add_argument( '-s', '--shapes', '--shacl', dest='shacl', action='store', nargs='?', help='A file containing the SHACL Shapes Graph.', ) parser.add_argument( '-e', '--ont-graph', dest='ont', action='store', nargs='?', help='A file path or URL to a document containing extra ontological information. ' 'RDFS and OWL definitions from this are used to inoculate the DataGraph.', ) parser.add_argument( '-i', '--inference', dest='inference', action='store', default='none', choices=('none', 'rdfs', 'owlrl', 'both'), help='Choose a type of inferencing to run against the Data Graph before validating.', ) parser.add_argument( '-im', '--imports', dest='imports', action='store_true', default=False, help='Allow import of sub-graphs defined in statements with owl:imports.', ) parser.add_argument( '-j', '--js', dest='js', action='store_true', default=False, help='Enable features from the SHACL-JS Specification.', ) parser.add_argument( '-it', '--iterate-rules', dest='iterate_rules', action='store_true', default=False, help="Run Shape's SHACL Rules iteratively until the data_graph reaches a steady state.", ) parser.add_argument( '-d', '--debug', dest='debug', action='store_true', default=False, help='Output additional verbose runtime messages.', ) parser.add_argument( '--focus', dest='focus', action='store', help='Optional IRIs of focus nodes from the DataGraph, the shapes will validate only these node. Comma-separated list.', nargs="?", default=None, ) parser.add_argument( '--shape', dest='shape', action='store', help='Optional IRIs of a NodeShape or PropertyShape from the SHACL ShapesGraph, only these shapes will be used to validate the DataGraph. Comma-separated list.', nargs="?", default=None, ) parser.add_argument( '-f', '--format', dest='format', action='store', help='Choose an output format. Default is "trig" for Datasets and "turtle" for Graphs.', default='auto', choices=('auto', 'turtle', 'xml', 'trig', 'json-ld', 'nt', 'n3', 'nquads'), ) parser.add_argument( '-df', '--data-file-format', dest='data_file_format', action='store', help='Explicitly state the RDF File format of the input DataGraph file. Default="auto".', default='auto', choices=('auto', 'turtle', 'xml', 'trig', 'json-ld', 'nt', 'n3', 'nquads'), ) parser.add_argument( '-sf', '--shacl-file-format', dest='shacl_file_format', action='store', help='Explicitly state the RDF File format of the input SHACL file. Default="auto".', default='auto', choices=('auto', 'turtle', 'xml', 'trig', 'json-ld', 'nt', 'n3', 'nquads'), ) parser.add_argument( '-ef', '--ont-file-format', dest='ont_file_format', action='store', help='Explicitly state the RDF File format of the extra ontology file. Default="auto".', default='auto', choices=('auto', 'turtle', 'xml', 'trig', 'json-ld', 'nt', 'n3', 'nquads'), ) parser.add_argument('-V', '--version', action=ShowVersion, help='Show PySHACL version and exit.') parser.add_argument( '-o', '--output', dest='output', nargs='?', type=argparse.FileType('w'), help='Send output to a file (defaults to stdout).', default=sys.stdout, ) # parser.add_argument('-h', '--help', action="help", help='Show this help text.') def main(prog: Union[str, None] = None) -> None: if prog is not None and len(prog) > 0: parser.prog = prog args = parser.parse_args() if not args.data: # No datafile give, and not starting in server mode. sys.stderr.write('Input Error. No DataGraph file or endpoint supplied.\n') parser.print_usage(sys.stderr) sys.exit(1) runner_kwargs = { 'debug': args.debug, 'serialize_expanded_graph': True, } data_file = None data_graph: Union[BufferedReader, str] try: data_file = open(args.data, 'rb') except FileNotFoundError: sys.stderr.write('Input Error. DataGraph file not found.\n') sys.exit(1) except PermissionError: sys.stderr.write('Input Error. DataGraph file not readable.\n') sys.exit(1) else: # NOTE: This cast is not necessary in Python >= 3.10. data_graph = cast(BufferedReader, data_file) if args.shacl is not None: runner_kwargs['shacl_graph'] = args.shacl if args.ont is not None: runner_kwargs['ont_graph'] = args.ont if args.inference != 'none': runner_kwargs['inference'] = args.inference if args.imports: runner_kwargs['do_owl_imports'] = True if args.js: runner_kwargs['js'] = True if args.focus: runner_kwargs['focus_nodes'] = [_f.strip() for _f in args.focus.split(',')] if args.shape: runner_kwargs['use_shapes'] = [_s.strip() for _s in args.shape.split(',')] if args.iterate_rules: runner_kwargs['iterate_rules'] = True if args.shacl_file_format: _f: str = args.shacl_file_format if _f != "auto": runner_kwargs['shacl_graph_format'] = _f if args.ont_file_format: _f = args.ont_file_format if _f != "auto": runner_kwargs['ont_graph_format'] = _f if args.data_file_format: _f = args.data_file_format if _f != "auto": runner_kwargs['data_graph_format'] = _f if args.format != "auto": runner_kwargs['serialize_expanded_graph_format'] = args.format exit_code: Union[int, None] = None try: output_txt = shacl_rules(data_graph, **runner_kwargs) if isinstance(output_txt, BaseException): raise output_txt except ValidationFailure as vf: args.output.write("Rules Runner generated a Validation Failure result:\n") args.output.write(str(vf.message)) args.output.write("\n") exit_code = 1 except ShapeLoadError as sle: sys.stderr.write("Rules Runner encountered a Shape Load Error:\n") sys.stderr.write(str(sle)) exit_code = 2 except ConstraintLoadError as cle: sys.stderr.write("Rules Runner encountered a Constraint Load Error:\n") sys.stderr.write(str(cle)) exit_code = 2 except RuleLoadError as rle: sys.stderr.write("Rules Runner encountered a Rule Load Error:\n") sys.stderr.write(str(rle)) exit_code = 2 except ReportableRuntimeError as rre: sys.stderr.write("Rules Runner encountered a Runtime Error:\n") sys.stderr.write(str(rre.message)) sys.stderr.write("\nIf you believe this is a bug in pyshacl, open an Issue on the pyshacl github page.\n") exit_code = 2 except NotImplementedError as nie: sys.stderr.write("Rules Runner feature is not implemented:\n") if len(nie.args) > 0: sys.stderr.write(str(nie.args[0])) else: sys.stderr.write("No message provided.") sys.stderr.write("\nIf your use-case requires this feature, open an Issue on the pyshacl github page.\n") exit_code = 3 except RuntimeError as re: import traceback traceback.print_tb(re.__traceback__) sys.stderr.write( "\n\nRules Runner encountered a Runtime Error. Please report this to the PySHACL issue tracker.\n" ) exit_code = 2 finally: if data_file is not None: try: data_file.close() except Exception as e: sys.stderr.write("Error closing data file:\n") sys.stderr.write(str(e)) if exit_code is not None: sys.exit(exit_code) if isinstance(output_txt, bytes): output_unicode = output_txt.decode('utf-8') else: output_unicode = output_txt args.output.write(output_unicode) args.output.close() sys.exit(0) if __name__ == "__main__": main() pyshacl-0.30.1/pyshacl/constraints/__init__.py0000644000000000000000000000612500000000000016254 0ustar00# -*- coding: utf-8 -*- from typing import Any, Dict, List, Type from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.constraints.core.cardinality_constraints import MaxCountConstraintComponent, MinCountConstraintComponent from pyshacl.constraints.core.logical_constraints import ( AndConstraintComponent, NotConstraintComponent, OrConstraintComponent, XoneConstraintComponent, ) from pyshacl.constraints.core.other_constraints import ( ClosedConstraintComponent, HasValueConstraintComponent, InConstraintComponent, ) from pyshacl.constraints.core.property_pair_constraints import ( DisjointConstraintComponent, EqualsConstraintComponent, LessThanConstraintComponent, LessThanOrEqualsConstraintComponent, ) from pyshacl.constraints.core.shape_based_constraints import ( NodeConstraintComponent, PropertyConstraintComponent, QualifiedValueShapeConstraintComponent, ) from pyshacl.constraints.core.string_based_constraints import ( LanguageInConstraintComponent, MaxLengthConstraintComponent, MinLengthConstraintComponent, PatternConstraintComponent, UniqueLangConstraintComponent, ) from pyshacl.constraints.core.value_constraints import ( ClassConstraintComponent, DatatypeConstraintComponent, NodeKindConstraintComponent, ) from pyshacl.constraints.core.value_range_constraints import ( MaxExclusiveConstraintComponent, MaxInclusiveConstraintComponent, MinExclusiveConstraintComponent, MinInclusiveConstraintComponent, ) from pyshacl.constraints.sparql.sparql_based_constraint_components import SPARQLConstraintComponent # noqa: F401 from pyshacl.constraints.sparql.sparql_based_constraints import SPARQLBasedConstraint ALL_CONSTRAINT_COMPONENTS: List[Type[ConstraintComponent]] = [ ClassConstraintComponent, DatatypeConstraintComponent, NodeKindConstraintComponent, MinCountConstraintComponent, MaxCountConstraintComponent, MinExclusiveConstraintComponent, MinInclusiveConstraintComponent, MaxExclusiveConstraintComponent, MaxInclusiveConstraintComponent, NotConstraintComponent, AndConstraintComponent, OrConstraintComponent, XoneConstraintComponent, MinLengthConstraintComponent, MaxLengthConstraintComponent, PatternConstraintComponent, LanguageInConstraintComponent, UniqueLangConstraintComponent, EqualsConstraintComponent, DisjointConstraintComponent, LessThanConstraintComponent, LessThanOrEqualsConstraintComponent, NodeConstraintComponent, PropertyConstraintComponent, QualifiedValueShapeConstraintComponent, ClosedConstraintComponent, HasValueConstraintComponent, InConstraintComponent, SPARQLBasedConstraint, # SPARQLConstraintComponent # ^ ^ This one is deliberately not included in this # list because it gets matched to shapes manually later ] CONSTRAINT_PARAMETERS_MAP: Dict[Any, Type[ConstraintComponent]] = { p: c for c in ALL_CONSTRAINT_COMPONENTS for p in c.constraint_parameters() } ALL_CONSTRAINT_PARAMETERS: List[Any] = list(CONSTRAINT_PARAMETERS_MAP.keys()) pyshacl-0.30.1/pyshacl/constraints/advanced/__init__.py0000644000000000000000000000654300000000000020025 0ustar00# -*- coding: utf-8 -*- # """ SHACL-AF Advanced Constraints https://www.w3.org/TR/shacl-af/#ExpressionConstraintComponent """ import typing from typing import Dict, List from rdflib import Literal, URIRef from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import SH, SH_message from pyshacl.errors import ConstraintLoadError from pyshacl.helper.expression_helper import nodes_from_node_expression from pyshacl.pytypes import GraphLike, SHACLExecutor SH_expression = SH.expression SH_ExpressionConstraintComponent = SH.ExpressionConstraintComponent if typing.TYPE_CHECKING: from pyshacl.shape import Shape class ExpressionConstraint(ConstraintComponent): shacl_constraint_component = SH_ExpressionConstraintComponent def __init__(self, shape: 'Shape') -> None: super(ExpressionConstraint, self).__init__(shape) self.expr_nodes = list(self.shape.objects(SH_expression)) if len(self.expr_nodes) < 1: raise ConstraintLoadError( "ExpressionConstraintComponent must have at least one sh:expression predicate.", "https://www.w3.org/TR/shacl-af/#ExpressionConstraintComponent", ) @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_expression] @classmethod def constraint_name(cls) -> str: return "ExpressionConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: return [Literal("Expression evaluation generated constraint did not return true.")] def evaluate( self, executor: SHACLExecutor, data_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type data_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for n in self.expr_nodes: _n, _r = self._evaluate_expression(data_graph, focus_value_nodes, n) non_conformant = non_conformant or _n reports.extend(_r) return (not non_conformant), reports def _evaluate_expression(self, data_graph, f_v_dict, expr): reports = [] non_conformant = False messages = list(self.shape.sg.objects(expr, SH_message)) if len(messages): messages = [next(iter(messages))] else: messages = None for f, value_nodes in f_v_dict.items(): for v in value_nodes: try: n_set = nodes_from_node_expression(expr, v, data_graph, self.shape.sg) if ( isinstance(n_set, (list, set)) and len(n_set) == 1 and next(iter(n_set)) in (Literal(True), True) ): ... else: non_conformant = non_conformant or True reports.append( self.make_v_result( data_graph, f, value_node=v, source_constraint=expr, extra_messages=messages ) ) except Exception as e: print(e) raise return non_conformant, reports pyshacl-0.30.1/pyshacl/constraints/constraint_component.py0000644000000000000000000004366400000000000020774 0ustar00# -*- coding: utf-8 -*- # """ https://www.w3.org/TR/shacl/#core-components-value-type """ import abc import re import typing from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Optional, Set, Tuple from rdflib import BNode, Literal, URIRef from pyshacl.consts import ( SH, RDF_type, SH_ask, SH_focusNode, SH_jsFunctionName, SH_NodeConstraintComponent, SH_parameter, SH_path, SH_PropertyConstraintComponent, SH_resultMessage, SH_resultPath, SH_resultSeverity, SH_select, SH_sourceConstraint, SH_sourceConstraintComponent, SH_sourceShape, SH_ValidationResult, SH_value, SH_Violation, ) from pyshacl.errors import ConstraintLoadError from pyshacl.parameter import SHACLParameter from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.rdfutil import stringify_node if TYPE_CHECKING: from pyshacl.pytypes import RDFNode from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph class ConstraintComponent(object, metaclass=abc.ABCMeta): __slots__ = ('shape',) """ Abstract Constraint Component Class All Constraint Components must inherit from this class. """ # True if constraint component is defined as "shape-expecting" shape_expecting: bool = False # True if constraint component is defined as "list-taking" list_taking: bool = False shacl_constraint_component: URIRef = URIRef("urn:notimplemented") def __init__(self, shape: 'Shape') -> None: """ :param shape: :type shape: Shape """ self.shape = shape # type: Shape @classmethod @abc.abstractmethod def constraint_parameters(cls) -> List[URIRef]: raise NotImplementedError() # pragma: no cover @classmethod @abc.abstractmethod def constraint_name(cls) -> str: raise NotImplementedError() # pragma: no cover @abc.abstractmethod def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): raise NotImplementedError() # pragma: no cover def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: return [] def __str__(self) -> str: c_name = str(self.__class__.__name__) shape_id = str(self.shape) return "<{} on {}>".format(c_name, shape_id) def recursion_triggers(self, _evaluation_path, trigger_depth=3) -> Optional[List['RDFNode']]: shape = self.shape eval_length = len(_evaluation_path) if eval_length < 4: return None maybe_recursive = [] _shape, _self = _evaluation_path[eval_length - 2 :] if _shape is not shape or _self is not self: raise RuntimeError("Bad evaluation path construction") prev_shape, prev_constraint = _evaluation_path[eval_length - 4 : eval_length - 2] lookback_len = trigger_depth * 2 if isinstance(prev_constraint, ConstraintComponent): if ( self.shacl_constraint_component is SH_PropertyConstraintComponent and prev_constraint.shacl_constraint_component is SH_NodeConstraintComponent ) or ( self.shacl_constraint_component is SH_NodeConstraintComponent and prev_constraint.shacl_constraint_component is SH_PropertyConstraintComponent ): lookback_len = trigger_depth * 4 if eval_length < lookback_len: return None seen_before = [i for i, x in enumerate(_evaluation_path[: eval_length - 2]) if x is shape] for s in seen_before: for i, p in enumerate(_evaluation_path[s + 1 : -2]): if isinstance(p, ConstraintComponent): if p.shape is shape and p.__class__ == self.__class__: try: next_shape = _evaluation_path[s + 1 + i + 1] maybe_recursive.append(next_shape) except IndexError: pass break return maybe_recursive def make_v_result_description( self, datagraph: GraphLike, focus_node: 'RDFNode', severity: URIRef, value_node: Optional['RDFNode'], messages: List[str], result_path=None, constraint_component=None, source_constraint=None, extra_messages: Optional[Iterable] = None, bound_vars=None, ): """ :param datagraph: :type datagraph: rdflib.Graph | rdflib.ConjunctiveGraph | rdflib.Dataset :param focus_node: :type focus_node: RDFNode :param severity: :type value_node: rdflib.URIRef :param value_node: :type value_node: rdflib.term.Identifier | None :param messages: :type messages: List[str] :param result_path: :param bound_vars: :param constraint_component: :param source_constraint: :param extra_messages: :type extra_messages: collections.abc.Iterable | None :return: """ sg = self.shape.sg.graph constraint_component = constraint_component or self.shacl_constraint_component constraint_name = self.constraint_name() if severity == SH_Violation: severity_desc = "Constraint Violation" else: severity_desc = "Validation Result" source_shape_text = stringify_node(sg, self.shape.node) severity_node_text = stringify_node(sg, severity) try: focus_node_text = stringify_node(datagraph or sg, focus_node) except (LookupError, ValueError): # focus node doesn't exist in the datagraph. We can deal. focus_node_text = str(focus_node) desc = "{} in {} ({}):\n\tSeverity: {}\n\tSource Shape: {}\n\tFocus Node: {}\n".format( severity_desc, constraint_name, str(constraint_component), severity_node_text, source_shape_text, focus_node_text, ) if value_node is not None: try: val_node_string = stringify_node(datagraph or sg, value_node) except (LookupError, ValueError): # value node doesn't exist in the datagraph. val_node_string = str(value_node) desc += "\tValue Node: {}\n".format(val_node_string) if result_path is None and self.shape.is_property_shape: result_path = self.shape.path() if result_path: result_path_text = stringify_node(sg, result_path) desc += "\tResult Path: {}\n".format(result_path_text) if source_constraint: sc_text = stringify_node(sg, source_constraint) desc += "\tSource Constraint: {}\n".format(sc_text) if extra_messages: for m in iter(extra_messages): if m in messages: continue if isinstance(m, Literal): msg = str(m.value) if bound_vars is not None: msg = self._format_sparql_based_result_message(msg, bound_vars) desc += "\tMessage: {}\n".format(msg) else: # pragma: no cover desc += "\tMessage: {}\n".format(str(m)) for m in messages: if isinstance(m, Literal): msg = str(m.value) if bound_vars is not None: msg = self._format_sparql_based_result_message(msg, bound_vars) desc += "\tMessage: {}\n".format(msg) else: # pragma: no cover desc += "\tMessage: {}\n".format(str(m)) return desc def make_v_result( self, datagraph: GraphLike, focus_node: 'RDFNode', value_node: Optional['RDFNode'] = None, result_path: Optional['RDFNode'] = None, constraint_component: Optional['RDFNode'] = None, source_constraint: Optional['RDFNode'] = None, extra_messages: Optional[Iterable] = None, bound_vars=None, ): """ :param datagraph: :type datagraph: rdflib.Graph | rdflib.ConjunctiveGraph | rdflib.Dataset :param focus_node: :type focus_node: RDFNode :param value_node: :type value_node: RDFNode | None :param result_path: :type result_path: RDFNode | None :param constraint_component: :param source_constraint: :param extra_messages: :type extra_messages: collections.abc.Iterable | None :param bound_vars: :return: """ constraint_component = constraint_component or self.shacl_constraint_component severity = self.shape.severity sg = self.shape.sg.graph r_triples: List[Tuple[RDFNode, RDFNode, Any]] = list() r_node = BNode() r_triples.append((r_node, RDF_type, SH_ValidationResult)) r_triples.append((r_node, SH_sourceConstraintComponent, (sg, constraint_component))) r_triples.append((r_node, SH_sourceShape, (sg, self.shape.node))) r_triples.append((r_node, SH_resultSeverity, severity)) r_triples.append((r_node, SH_focusNode, (datagraph or sg, focus_node))) if value_node is not None: r_triples.append((r_node, SH_value, (datagraph, value_node))) if result_path is None and self.shape.is_property_shape: result_path = self.shape.path() if result_path is not None: r_triples.append((r_node, SH_resultPath, (sg, result_path))) if source_constraint is not None: r_triples.append((r_node, SH_sourceConstraint, (sg, source_constraint))) messages = list(self.shape.message) if extra_messages: for m in iter(extra_messages): if m in messages: continue if isinstance(m, Literal): msg = str(m.value) if bound_vars is not None: msg = self._format_sparql_based_result_message(msg, bound_vars) m = Literal(msg) r_triples.append((r_node, SH_resultMessage, m)) elif not messages: messages = self.make_generic_messages(datagraph, focus_node, value_node) or messages for m in messages: if isinstance(m, Literal): msg = str(m.value) if bound_vars is not None: msg = self._format_sparql_based_result_message(msg, bound_vars) m = Literal(msg) r_triples.append((r_node, SH_resultMessage, m)) desc = self.make_v_result_description( datagraph, focus_node, severity, value_node, messages, result_path=result_path, constraint_component=constraint_component, source_constraint=source_constraint, extra_messages=extra_messages, bound_vars=bound_vars, ) return desc, r_node, r_triples def _format_sparql_based_result_message(self, msg, bound_vars): if bound_vars is None: return msg fdict = {} if isinstance(bound_vars, (tuple, list)): if len(bound_vars) == 4: fdict.update(bound_vars[3]) bound_vars = bound_vars[:3] if len(bound_vars) == 3: if bound_vars[0] is not None: fdict['this'] = bound_vars[0] if bound_vars[1] is not None: fdict['path'] = bound_vars[1] if bound_vars[2] is not None: fdict['value'] = bound_vars[2] elif isinstance(bound_vars, dict): fdict.update(bound_vars) else: return msg for var, val in fdict.items(): substring = "{{[?$]{}}}".format(var) msg = re.sub(substring, str(val), msg) return msg SH_nodeValidator = SH.nodeValidator SH_propertyValidator = SH.propertyValidator SH_validator = SH.validator SH_optional = SH.optional SH_SPARQLSelectValidator = SH.SPARQLSelectValidator SH_SPARQLAskValidator = SH.SPARQLAskValidator SH_JSValidator = SH.JSValidator class CustomConstraintComponentFactory(object): __slots__: Tuple = tuple() def __new__(cls, shacl_graph: 'ShapesGraph', node): self: List[Any] = list() self.append(shacl_graph) self.append(node) optional_params = [] mandatory_params = [] param_nodes = set(shacl_graph.objects(node, SH_parameter)) if len(param_nodes) < 1: # TODO:coverage: we don't have any tests for invalid constraints raise ConstraintLoadError( "A sh:ConstraintComponent must have at least one value for sh:parameter", "https://www.w3.org/TR/shacl/#constraint-components-parameters", ) for param_node in iter(param_nodes): path_nodes = set(shacl_graph.objects(param_node, SH_path)) if len(path_nodes) < 1: # TODO:coverage: we don't have any tests for invalid constraints raise ConstraintLoadError( "A sh:ConstraintComponent parameter value must have at least one value for sh:path", "https://www.w3.org/TR/shacl/#constraint-components-parameters", ) elif len(path_nodes) > 1: # TODO:coverage: we don't have any tests for invalid constraints raise ConstraintLoadError( "A sh:ConstraintComponent parameter value must have at most one value for sh:path", "https://www.w3.org/TR/shacl/#constraint-components-parameters", ) path = next(iter(path_nodes)) parameter = SHACLParameter(shacl_graph, param_node, path=path, logger=None) # pass in logger? if parameter.optional: optional_params.append(parameter) else: mandatory_params.append(parameter) if len(mandatory_params) < 1: # TODO:coverage: we don't have any tests for invalid constraint components raise ConstraintLoadError( "A sh:ConstraintComponent must have at least one non-optional parameter.", "https://www.w3.org/TR/shacl/#constraint-components-parameters", ) self.append(mandatory_params + optional_params) validator_node_set = set(shacl_graph.graph.objects(node, SH_validator)) node_val_node_set = set(shacl_graph.graph.objects(node, SH_nodeValidator)) prop_val_node_set = set(shacl_graph.graph.objects(node, SH_propertyValidator)) validator_node_set = validator_node_set.difference(node_val_node_set) validator_node_set = validator_node_set.difference(prop_val_node_set) self.append(validator_node_set) self.append(node_val_node_set) self.append(prop_val_node_set) is_sparql_constraint_component = False is_js_constraint_component = False for s in (validator_node_set, node_val_node_set, prop_val_node_set): for v in s: v_types = set(shacl_graph.graph.objects(v, RDF_type)) if SH_SPARQLAskValidator in v_types or SH_SPARQLSelectValidator in v_types: is_sparql_constraint_component = True break elif SH_JSValidator in v_types: is_js_constraint_component = True break v_props = set(p[0] for p in shacl_graph.graph.predicate_objects(v)) if SH_ask in v_props or SH_select in v_props: is_sparql_constraint_component = True break elif SH_jsFunctionName in v_props: is_js_constraint_component = True break if is_sparql_constraint_component: raise ConstraintLoadError( "Found a mix of SPARQL-based validators and non-SPARQL validators on a SPARQLConstraintComponent.", # noqa 'https://www.w3.org/TR/shacl/#constraint-components-validators', ) elif is_js_constraint_component: raise ConstraintLoadError( "Found a mix of JS-based validators and non-JS validators on a JSConstraintComponent.", 'https://www.w3.org/TR/shacl/#constraint-components-validators', ) if is_sparql_constraint_component: from pyshacl.constraints.sparql.sparql_based_constraint_components import SPARQLConstraintComponent return SPARQLConstraintComponent(*self) elif is_js_constraint_component and shacl_graph.js_enabled: from pyshacl.extras.js.constraint_component import JSConstraintComponent return JSConstraintComponent(*self) else: return CustomConstraintComponent(*self) class CustomConstraintComponent(object): __slots__: Tuple = ('sg', 'node', 'parameters', 'validators', 'node_validators', 'property_validators') if typing.TYPE_CHECKING: sg: ShapesGraph node: Any parameters: List[SHACLParameter] validators: Set node_validators: Set property_validators: Set def __new__(cls, shacl_graph: 'ShapesGraph', node, parameters, validators, node_validators, property_validators): self = super(CustomConstraintComponent, cls).__new__(cls) self.sg = shacl_graph self.node = node self.parameters = parameters self.validators = validators self.node_validators = node_validators self.property_validators = property_validators return self def make_validator_for_shape(self, shape: 'Shape'): raise ConstraintLoadError( "A Custom Constraint must include one of a SPARQLConstraintComponent validator or a JSConstraint validator.", "https://www.w3.org/TR/shacl/#constraint-components-validators", ) pyshacl-0.30.1/pyshacl/constraints/core/__init__.py0000644000000000000000000000003000000000000017171 0ustar00# -*- coding: utf-8 -*- pyshacl-0.30.1/pyshacl/constraints/core/cardinality_constraints.py0000644000000000000000000001776200000000000022410 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-count """ from typing import Dict, List, Optional from rdflib.namespace import XSD from rdflib.term import Literal, URIRef from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import SH from pyshacl.errors import ConstraintLoadError from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape XSD_integer = XSD.integer SH_minCount = SH.minCount SH_maxCount = SH.maxCount SH_MinCountConstraintComponent = SH.MinCountConstraintComponent SH_MaxCountConstraintComponent = SH.MaxCountConstraintComponent class MinCountConstraintComponent(ConstraintComponent): """ sh:minCount specifies the minimum number of value nodes that satisfy the condition. If the minimum cardinality value is 0 then this constraint is always satisfied and so may be omitted. Link: https://www.w3.org/TR/shacl/#MinCountConstraintComponent Textual Definition: If the number of value nodes is less than $minCount, there is a validation result. """ shacl_constraint_component = SH_MinCountConstraintComponent def __init__(self, shape: Shape, min_count_objects: Optional[List[RDFNode]] = None) -> None: super(MinCountConstraintComponent, self).__init__(shape) if min_count_objects is None: min_count = list(self.shape.objects(SH_minCount)) else: min_count = min_count_objects if len(min_count) < 1: raise ConstraintLoadError( "MinCountConstraintComponent must have at least one sh:minCount predicate.", "https://www.w3.org/TR/shacl/#MinCountConstraintComponent", ) if len(min_count) > 1: raise ConstraintLoadError( "MinCountConstraintComponent must have at most one sh:minCount predicate.", "https://www.w3.org/TR/shacl/#MinCountConstraintComponent", ) if not shape.is_property_shape: raise ConstraintLoadError( "MinCountConstraintComponent can only be present on a PropertyShape, not a NodeShape.", "https://www.w3.org/TR/shacl/#MinCountConstraintComponent", ) self.min_count = min_count[0] if not (isinstance(self.min_count, Literal) and self.min_count.datatype == XSD_integer): raise ConstraintLoadError( "MinCountConstraintComponent sh:minCount must be a literal with datatype xsd:integer.", "https://www.w3.org/TR/shacl/#MinCountConstraintComponent", ) if int(self.min_count.value) < 0: raise ConstraintLoadError( "MinCountConstraintComponent sh:minCount must be an integer >= 0.", "https://www.w3.org/TR/shacl/#MinCountConstraintComponent", ) @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_minCount] @classmethod def constraint_name(cls) -> str: return "MinCountConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: p = self.shape.path() if p: p = stringify_node(self.shape.sg.graph, p) try: focus_string = stringify_node(datagraph, focus_node) except (LookupError, ValueError): # focus node doesn't exist in the datagraph. We can deal. focus_string = str(focus_node) m = "Less than {} values on {}->{}".format(str(self.min_count.value), focus_string, p) else: m = "Less than {} values on {}".format(str(self.min_count.value), stringify_node(datagraph, focus_node)) return [Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ min_count = int(self.min_count.value) if min_count == 0: # MinCount of zero always passes return True, [] reports = [] non_conformant = False for f, value_nodes in focus_value_nodes.items(): if not len(value_nodes) >= min_count: non_conformant = True rept = self.make_v_result(target_graph, f) reports.append(rept) return (not non_conformant), reports class MaxCountConstraintComponent(ConstraintComponent): """ sh:maxCount specifies the maximum number of value nodes that satisfy the condition. Link: https://www.w3.org/TR/shacl/#MaxCountConstraintComponent Textual Definition: If the number of value nodes is greater than $maxCount, there is a validation result. """ shacl_constraint_component = SH_MaxCountConstraintComponent def __init__(self, shape: Shape, max_count_objects: Optional[List[RDFNode]] = None) -> None: super(MaxCountConstraintComponent, self).__init__(shape) if max_count_objects is None: max_count = list(self.shape.objects(SH_maxCount)) else: max_count = max_count_objects if len(max_count) < 1: raise ConstraintLoadError( "MaxCountConstraintComponent must have at least one sh:maxCount predicate.", "https://www.w3.org/TR/shacl/#MaxCountConstraintComponent", ) if len(max_count) > 1: raise ConstraintLoadError( "MaxCountConstraintComponent must have at most one sh:maxCount predicate.", "https://www.w3.org/TR/shacl/#MaxCountConstraintComponent", ) if not shape.is_property_shape: raise ConstraintLoadError( "MaxCountConstraintComponent can only be present on a PropertyShape, not a NodeShape.", "https://www.w3.org/TR/shacl/#MaxCountConstraintComponent", ) self.max_count = max_count[0] if not (isinstance(self.max_count, Literal) and self.max_count.datatype == XSD_integer): raise ConstraintLoadError( "MaxCountConstraintComponent sh:maxCount must be a literal with datatype xsd:integer.", "https://www.w3.org/TR/shacl/#MaxCountConstraintComponent", ) if int(self.max_count.value) < 0: raise ConstraintLoadError( "MaxCountConstraintComponent sh:maxCount must be an integer >= 0.", "https://www.w3.org/TR/shacl/#MaxCountConstraintComponent", ) @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_maxCount] @classmethod def constraint_name(cls) -> str: return "MaxCountConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: p = self.shape.path() if p: p = stringify_node(self.shape.sg.graph, p) m = "More than {} values on {}->{}".format( str(self.max_count.value), stringify_node(datagraph, focus_node), p ) else: m = "More than {} values on {}".format(str(self.max_count.value), stringify_node(datagraph, focus_node)) return [Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ max_count = int(self.max_count.value) reports = [] non_conformant = False for f, value_nodes in focus_value_nodes.items(): if not len(value_nodes) <= max_count: non_conformant = True rept = self.make_v_result(target_graph, f) reports.append(rept) return (not non_conformant), reports pyshacl-0.30.1/pyshacl/constraints/core/logical_constraints.py0000644000000000000000000004727300000000000021517 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-logical """ from typing import Dict, List from warnings import warn import rdflib from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import SH from pyshacl.errors import ConstraintLoadError, ReportableRuntimeError, ShapeRecursionWarning, ValidationFailure from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape SH_not = SH["not"] SH_and = SH["and"] SH_or = SH["or"] SH_xone = SH.xone SH_NotConstraintComponent = SH.NotConstraintComponent SH_AndConstraintComponent = SH.AndConstraintComponent SH_OrConstraintComponent = SH.OrConstraintComponent SH_XoneConstraintComponent = SH.XoneConstraintComponent class NotConstraintComponent(ConstraintComponent): """ sh:not specifies the condition that each value node cannot conform to a given shape. This is comparable to negation and the logical "not" operator. Link: https://www.w3.org/TR/shacl/#NotConstraintComponent Textual Definition: For each value node v: A failure MUST be reported if the conformance checking of v against the shape $not produces a failure. Otherwise, if v conforms to the shape $not, there is validation result with v as sh:value. """ shacl_constraint_component = SH_NotConstraintComponent shape_expecting = True list_taking = False def __init__(self, shape: Shape) -> None: super(NotConstraintComponent, self).__init__(shape) not_list = list(self.shape.objects(SH_not)) if len(not_list) < 1: raise ConstraintLoadError( "NotConstraintComponent must have at least one sh:not predicate.", "https://www.w3.org/TR/shacl/#NotConstraintComponent", ) self.not_list = not_list @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_not] @classmethod def constraint_name(cls) -> str: return "NotConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: try: value_node_str = stringify_node(datagraph, value_node) except (LookupError, ValueError): # value node doesn't exist in the datagraph. value_node_str = str(value_node) if len(self.not_list) == 1: m = f"Node {value_node_str} must not conform to shape {stringify_node(self.shape.sg.graph, self.not_list[0])}" else: nots_list = " , ".join(stringify_node(self.shape.sg.graph, n) for n in self.not_list) m = f"Node {value_node_str} must not conform to any shapes in {nots_list}" return [rdflib.Literal(m)] def evaluate(self, executor: SHACLExecutor, datagraph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List): """ :type executor: SHACLExecutor :type datagraph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False potentially_recursive = self.recursion_triggers(_evaluation_path) for not_c in self.not_list: _nc, _r = self._evaluate_not_constraint( executor, not_c, datagraph, focus_value_nodes, potentially_recursive, _evaluation_path ) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_not_constraint( self, executor, not_c, datagraph, focus_value_nodes, potentially_recursive, _evaluation_path ): """ :type not_c: List[Node] :type datagraph: rdflib.Graph :type focus_value_nodes: dict :type potentially_recursive: Optional[List] :type _evaluation_path: List """ _reports = [] _non_conformant = False not_shape = self.shape.get_other_shape(not_c) if not not_shape: raise ReportableRuntimeError( "Shape pointed to by sh:not does not exist or is not a well-formed SHACL Shape." ) if potentially_recursive and not_shape in potentially_recursive: warn(ShapeRecursionWarning(_evaluation_path)) return _non_conformant, _reports upstream_reports = [] for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: try: _is_conform, _r = not_shape.validate( executor, datagraph, focus=v, _evaluation_path=_evaluation_path[:] ) except ValidationFailure as e: raise e if len(_r): upstream_reports.extend(_r) if _is_conform: # in this case, we _dont_ want to conform! _non_conformant = True rept = self.make_v_result(datagraph, f, value_node=v) _reports.append(rept) if len(upstream_reports) and self.shape.sg.debug: self.shape.logger.debug( "sh:not constraint reports ignored, conformance inverted and passed to the parent Node:" ) for v_str, v_node, v_parts in upstream_reports: self.shape.logger.debug(v_str) return _non_conformant, _reports class AndConstraintComponent(ConstraintComponent): """ sh:and specifies the condition that each value node conforms to all provided shapes. This is comparable to conjunction and the logical "and" operator. Link: https://www.w3.org/TR/shacl/#AndConstraintComponent Textual Definition: For each value node v: A failure MUST be produced if the conformance checking of v against any of the members of $and produces a failure. Otherwise, if v does not conform to each member of $and, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_AndConstraintComponent shape_expecting = True list_taking = True def __init__(self, shape: Shape) -> None: super(AndConstraintComponent, self).__init__(shape) and_list = list(self.shape.objects(SH_and)) if len(and_list) < 1: raise ConstraintLoadError( "AndConstraintComponent must have at least one sh:and predicate.", "https://www.w3.org/TR/shacl/#AndConstraintComponent", ) self.and_list = and_list @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_and] @classmethod def constraint_name(cls) -> str: return "AndConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.and_list) < 2: and_node_string = " , ".join( stringify_node(self.shape.sg.graph, a_c) for a_c in self.shape.sg.graph.items(self.and_list[0]) ) else: and_node_strings = [] for a in self.and_list: and_node_string1 = " , ".join( stringify_node(self.shape.sg.graph, a_c) for a_c in self.shape.sg.graph.items(a) ) and_node_strings.append(f"({and_node_string1})") and_node_string = " and ".join(and_node_strings) try: value_node_str = stringify_node(datagraph, value_node) except (LookupError, ValueError): # value node doesn't exist in the datagraph. value_node_str = str(value_node) m = f"Node {value_node_str} must conform to all shapes in {and_node_string}" return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for and_c in self.and_list: _nc, _r = self._evaluate_and_constraint(executor, and_c, target_graph, focus_value_nodes, _evaluation_path) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_and_constraint(self, executor, and_c, target_graph, focus_value_nodes, _evaluation_path): _reports = [] _non_conformant = False sg = self.shape.sg.graph and_list = set(sg.items(and_c)) if len(and_list) < 1: raise ReportableRuntimeError("The list associated with sh:and is not a valid RDF list.") and_shapes = set() for a in and_list: and_shape = self.shape.get_other_shape(a) if not and_shape: raise ReportableRuntimeError( "Shape pointed to by sh:and does not exist or is not a well-formed SHACL Shape." ) and_shapes.add(and_shape) upstream_reports = [] for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: passed_all = True for and_shape in and_shapes: try: _is_conform, _r = and_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) except ValidationFailure as e: raise e if len(_r): upstream_reports.extend(_r) passed_all = passed_all and _is_conform if not passed_all: _non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) _reports.append(rept) if len(upstream_reports) and self.shape.sg.debug: self.shape.logger.debug("sh:and constraint reports will be inspected and not passed to the parent Node:") for v_str, v_node, v_parts in upstream_reports: self.shape.logger.debug(v_str) return _non_conformant, _reports class OrConstraintComponent(ConstraintComponent): """ sh:or specifies the condition that each value node conforms to at least one of the provided shapes. This is comparable to disjunction and the logical "or" operator. Link: https://www.w3.org/TR/shacl/#OrConstraintComponent Textual Definition: For each value node v: A failure MUST be produced if the conformance checking of v against any of the members produces a failure. Otherwise, if v conforms to none of the members of $or there is a validation result with v as sh:value. """ shacl_constraint_component = SH_OrConstraintComponent shape_expecting = True list_taking = True def __init__(self, shape: Shape) -> None: super(OrConstraintComponent, self).__init__(shape) or_list = list(self.shape.objects(SH_or)) if len(or_list) < 1: raise ConstraintLoadError( "OrConstraintComponent must have at least one sh:or predicate.", "https://www.w3.org/TR/shacl/#OrConstraintComponent", ) self.or_list = or_list @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_or] @classmethod def constraint_name(cls) -> str: return "OrConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.or_list) < 2: or_node_string = " , ".join( stringify_node(self.shape.sg.graph, o_c) for o_c in self.shape.sg.graph.items(self.or_list[0]) ) else: or_node_strings = [] for a in self.or_list: or_node_string1 = " , ".join( stringify_node(self.shape.sg.graph, a_c) for a_c in self.shape.sg.graph.items(a) ) or_node_strings.append(f"({or_node_string1})") or_node_string = " and ".join(or_node_strings) try: value_node_str = stringify_node(datagraph, value_node) except (LookupError, ValueError): # value node doesn't exist in the datagraph. value_node_str = str(value_node) m = f"Node {value_node_str} must conform to one or more shapes in {or_node_string}" return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for or_c in self.or_list: _nc, _r = self._evaluate_or_constraint(executor, or_c, target_graph, focus_value_nodes, _evaluation_path) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_or_constraint(self, executor, or_c, target_graph, focus_value_nodes, _evaluation_path): _reports = [] _non_conformant = False shape_graph = self.shape.sg.graph or_list = set(shape_graph.items(or_c)) if len(or_list) < 1: raise ReportableRuntimeError("The list associated with sh:or is not a valid RDF list.") or_shapes = set() for o in or_list: or_shape = self.shape.get_other_shape(o) if not or_shape: raise ReportableRuntimeError( "Shape pointed to by sh:or does not exist or is not a well-formed SHACL Shape." ) or_shapes.add(or_shape) upstream_reports = [] for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: passed_any = False for or_shape in or_shapes: try: _is_conform, _r = or_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) except ValidationFailure as e: raise e if len(_r): upstream_reports.extend(_r) passed_any = passed_any or _is_conform if not passed_any: _non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) _reports.append(rept) if len(upstream_reports) and self.shape.sg.debug: self.shape.logger.debug("sh:or constraint reports will be inspected and not passed to the parent Node:") for v_str, v_node, v_parts in upstream_reports: self.shape.logger.debug(v_str) return _non_conformant, _reports class XoneConstraintComponent(ConstraintComponent): """ sh:or specifies the condition that each value node conforms to at least one of the provided shapes. This is comparable to disjunction and the logical "or" operator. Link: https://www.w3.org/TR/shacl/#XoneConstraintComponent Textual Definition: For each value node v: A failure MUST be produced if the conformance checking of v against any of the members produces a failure. Otherwise, if v conforms to none of the members of $or there is a validation result with v as sh:value. """ shacl_constraint_component = SH_XoneConstraintComponent shape_expecting = True list_taking = True def __init__(self, shape: Shape) -> None: super(XoneConstraintComponent, self).__init__(shape) xone_nodes = list(self.shape.objects(SH_xone)) if len(xone_nodes) < 1: raise ConstraintLoadError( "XoneConstraintComponent must have at least one sh:xone predicate.", "https://www.w3.org/TR/shacl/#XoneConstraintComponent", ) self.xone_nodes = xone_nodes @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_xone] @classmethod def constraint_name(cls) -> str: return "XoneConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.xone_nodes) < 2: xone_node_string = " , ".join( stringify_node(self.shape.sg.graph, a_c) for a_c in self.shape.sg.graph.items(self.xone_nodes[0]) ) else: xone_node_strings = [] for a in self.xone_nodes: xone_node_string1 = " , ".join( stringify_node(self.shape.sg.graph, a_c) for a_c in self.shape.sg.graph.items(a) ) xone_node_strings.append(f"({xone_node_string1})") xone_node_string = " and ".join(xone_node_strings) try: value_node_str = stringify_node(datagraph, value_node) except (LookupError, ValueError): # value node doesn't exist in the datagraph. value_node_str = str(value_node) m = f"Node {value_node_str} must conform to exactly one shape in {xone_node_string}" return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for xone_c in self.xone_nodes: _nc, _r = self._evaluate_xone_constraint( executor, xone_c, target_graph, focus_value_nodes, _evaluation_path ) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_xone_constraint(self, executor, xone_c, target_graph, focus_value_nodes, _evaluation_path): _reports = [] _non_conformant = False shapes_graph = self.shape.sg.graph xone_list = list(shapes_graph.items(xone_c)) if len(xone_list) < 1: raise ReportableRuntimeError("The list associated with sh:xone is not a valid RDF list.") xone_shapes = list() for x in xone_list: xone_shape = self.shape.get_other_shape(x) if not xone_shape: raise ReportableRuntimeError( "Shape pointed to by sh:xone does not exist or is not a well-formed SHACL Shape." ) xone_shapes.append(xone_shape) upstream_reports = [] for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: passed_count = 0 for xone_shape in xone_shapes: try: _is_conform, _r = xone_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) except ValidationFailure as e: raise e if len(_r): upstream_reports.extend(_r) if _is_conform: passed_count += 1 if not (passed_count == 1): _non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) _reports.append(rept) if len(upstream_reports) and self.shape.sg.debug: self.shape.logger.debug( "sh:xone constraint reports ignored, conformance noted and passed to the parent Node:" ) for v_str, v_node, v_parts in upstream_reports: self.shape.logger.debug(v_str) return _non_conformant, _reports pyshacl-0.30.1/pyshacl/constraints/core/other_constraints.py0000644000000000000000000003733400000000000021223 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-others """ import logging from typing import Dict, List, Set, Union, cast import rdflib from rdflib.term import IdentifiedNode from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import RDFS, SH, RDF_type, SH_property from pyshacl.errors import ConstraintLoadError, ReportableRuntimeError from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape SH_InConstraintComponent = SH.InConstraintComponent SH_ClosedConstraintComponent = SH.ClosedConstraintComponent SH_HasValueConstraintComponent = SH.HasValueConstraintComponent SH_in = SH["in"] SH_closed = SH.closed SH_ignoredProperties = SH.ignoredProperties SH_hasValue = SH.hasValue class InConstraintComponent(ConstraintComponent): """ sh:in specifies the condition that each value node is a member of a provided SHACL list. Link: https://www.w3.org/TR/shacl/#InConstraintComponent Textual Definition: For each value node that is not a member of $in, there is a validation result with the value node as sh:value. """ shacl_constraint_component = SH_InConstraintComponent shape_expecting = False list_taking = True def __init__(self, shape: Shape) -> None: super(InConstraintComponent, self).__init__(shape) in_val_lists: List[IdentifiedNode] = list(self.shape.objects(SH_in)) if len(in_val_lists) < 1: raise ConstraintLoadError( "InConstraintComponent must have at least one sh:in predicate.", "https://www.w3.org/TR/shacl/#InConstraintComponent", ) elif len(in_val_lists) > 1: raise ConstraintLoadError( "InConstraintComponent must have at most one sh:in predicate.", "https://www.w3.org/TR/shacl/#InConstraintComponent", ) self.in_list: IdentifiedNode = in_val_lists[0] sg = self.shape.sg.graph self.in_vals: Set[RDFNode] = set() for item in sg.items(self.in_list): if not isinstance(item, (rdflib.BNode, rdflib.Literal, rdflib.URIRef)): logging.debug("item = %r.", item) logging.debug("type(item) = %r.", type(item)) raise TypeError("item in sh:in predicate is neither URIRef, BNode, or Literal.") self.in_vals.add(item) @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_in] @classmethod def constraint_name(cls) -> str: return "InConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: list1 = [stringify_node(self.shape.sg.graph, val) for val in self.in_vals] m = "Value {} not in list {}".format(stringify_node(datagraph, value_node), list1) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False in_vals = self.in_vals for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: if v not in in_vals: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return (not non_conformant), reports class ClosedConstraintComponent(ConstraintComponent): """ The RDF data model offers a huge amount of flexibility. Any node can in principle have values for any property. However, in some cases it makes sense to specify conditions on which properties can be applied to nodes. The SHACL Core language includes a property called sh:closed that can be used to specify the condition that each value node has values only for those properties that have been explicitly enumerated via the property shapes specified for the shape via sh:property. Link: https://www.w3.org/TR/shacl/#ClosedConstraintComponent Textual Definition: If $closed is true then there is a validation result for each triple that has a value node as its subject and a predicate that is not explicitly enumerated as a value of sh:path in any of the property shapes declared via sh:property at the current shape. If $ignoredProperties has a value then the properties enumerated as members of this SHACL list are also permitted for the value node. The validation result MUST have the predicate of the triple as its sh:resultPath, and the object of the triple as its sh:value. """ shacl_constraint_component = SH_ClosedConstraintComponent ALWAYS_IGNORE = {(RDF_type, RDFS.Resource)} def __init__(self, shape: Shape) -> None: super(ClosedConstraintComponent, self).__init__(shape) sg = self.shape.sg.graph closed_vals = list(self.shape.objects(SH_closed)) ignored_vals = list(self.shape.objects(SH_ignoredProperties)) if len(ignored_vals) > 0 and len(closed_vals) < 1: raise ConstraintLoadError( "ClosedConstraintComponent: You can only use sh:ignoredProperties on a Closed Shape (sh:closed).", "https://www.w3.org/TR/shacl/#ClosedConstraintComponent", ) if len(closed_vals) < 1: raise ConstraintLoadError( "ClosedConstraintComponent must have at least one sh:closed predicate.", "https://www.w3.org/TR/shacl/#ClosedConstraintComponent", ) elif len(closed_vals) > 1: raise ConstraintLoadError( "ClosedConstraintComponent must have at most one sh:closed predicate.", "https://www.w3.org/TR/shacl/#ClosedConstraintComponent", ) assert isinstance(closed_vals[0], rdflib.Literal), "sh:closed must take a xsd:boolean literal." self.is_closed = bool(closed_vals[0].value) self.ignored_props: Set[Union[rdflib.BNode, rdflib.Literal, rdflib.URIRef]] = set() for i in ignored_vals: try: items = set(sg.items(i)) for list_item in items: if not isinstance(list_item, (rdflib.BNode, rdflib.Literal, rdflib.URIRef)): logging.debug("list_item = %r.", list_item) logging.debug("type(list_item) = %r.", type(list_item)) raise TypeError( "sh:ignoredProperties linked something that is neither URIRef, BNode, or Literal." ) self.ignored_props.add(list_item) except ValueError: continue self.property_shapes = list(self.shape.objects(SH_property)) @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_closed, SH_ignoredProperties] @classmethod def constraint_name(cls) -> str: return "ClosedConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: m = "Node {} is closed. It cannot have value: {}".format( stringify_node(datagraph, focus_node), stringify_node(datagraph, value_node) ) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False if not self.is_closed: return True, [] working_shapes = set() for p_shape in self.property_shapes: property_shape = self.shape.get_other_shape(p_shape) if not property_shape or not property_shape.is_property_shape: raise ReportableRuntimeError( "The shape pointed to by sh:property does not exist, or is not a well defined SHACL PropertyShape." ) working_shapes.add(property_shape) working_paths = set() for w in working_shapes: p = w.path() if p: working_paths.add(p) if executor.sparql_mode: select_vars_string = "" filter_props_list = [] bgp_list = [] init_bindings = {} if len(self.ignored_props) > 0: filter_template = "(" if len(self.ignored_props) == 1: filter_template += f"{{P}} != {next(iter(self.ignored_props)).n3()}" else: this_filter_parts = [] for ig in self.ignored_props: this_filter_parts.append(f"({{P}} != {ig.n3()})") filter_template += " && ".join(this_filter_parts) filter_template += ")" else: filter_template = "" for i, f in enumerate(focus_value_nodes.keys()): for j, v in enumerate(focus_value_nodes[f]): select_vars_string += f"?p{i}_{j} ?o{i}_{j} " bgp_line = f"OPTIONAL {{ $v{i}_{j} ?p{i}_{j} ?o{i}_{j} . }}" bgp_list.append(bgp_line) if filter_template: filter_props_line = filter_template.replace("{P}", f"?p{i}_{j}") filter_props_list.append(filter_props_line) init_bindings[f"v{i}_{j}"] = v bgp_string = "\n".join(bgp_list) if len(filter_props_list) > 1: filter_props_string = "FILTER (" + " && ".join(filter_props_list) + ")" elif len(filter_props_list) == 1: filter_props_string = "FILTER " + filter_props_list[0] else: filter_props_string = "" closed_query = f"SELECT DISTINCT {select_vars_string} {{\n\t{bgp_string}\n\t{filter_props_string}\n}}" try: results = target_graph.query(closed_query, initBindings=init_bindings) except Exception as e: print(e) raise found_fvpo = [] if len(results) > 0: for r in results: assert isinstance(r, rdflib.query.ResultRow) for i, f in enumerate(focus_value_nodes.keys()): for j, v in enumerate(focus_value_nodes[f]): p = r[f"p{i}_{j}"] o = r[f"o{i}_{j}"] if p is None or o is None or p == "UNDEF" or o == "UNDEF": continue fvpo = (f, v, p, o) if fvpo in found_fvpo: continue found_fvpo.append(fvpo) # TODO: remove code duplication if (p, o) in self.ALWAYS_IGNORE: continue elif p in self.ignored_props: continue elif p in working_paths: continue non_conformant = True o_node = cast(RDFNode, o) p_node = cast(RDFNode, p) rept = self.make_v_result(target_graph, f, value_node=o_node, result_path=p_node) reports.append(rept) else: for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: pred_obs = target_graph.predicate_objects(v) for _p, _o in pred_obs: if (_p, _o) in self.ALWAYS_IGNORE: continue elif _p in self.ignored_props: continue elif _p in working_paths: continue non_conformant = True o_node = cast(RDFNode, _o) p_node = cast(RDFNode, _p) rept = self.make_v_result(target_graph, f, value_node=o_node, result_path=p_node) reports.append(rept) return (not non_conformant), reports class HasValueConstraintComponent(ConstraintComponent): """ sh:hasValue specifies the condition that at least one value node is equal to the given RDF term. Link: https://www.w3.org/TR/shacl/#HasValueConstraintComponent Textual Definition: If the RDF term $hasValue is not among the value nodes, there is a validation result. """ shacl_constraint_component = SH_HasValueConstraintComponent def __init__(self, shape: Shape) -> None: super(HasValueConstraintComponent, self).__init__(shape) has_value_set = set(self.shape.objects(SH_hasValue)) if len(has_value_set) < 1: raise ConstraintLoadError( "HasValueConstraintComponent must have at least one sh:hasValue predicate.", "https://www.w3.org/TR/shacl/#HasValueConstraintComponent", ) self.has_value_set = has_value_set @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_hasValue] @classmethod def constraint_name(cls) -> str: return "HasValueConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: the_set = [stringify_node(self.shape.sg.graph, s) for s in self.has_value_set] p = self.shape.path() if p: p = stringify_node(self.shape.sg.graph, p) m = "Node {}->{} does not contain a value in the set: {}".format( stringify_node(datagraph, focus_node), p, the_set ) else: m = "Node {} value is not a in the set of values: {}".format( stringify_node(datagraph, focus_node), the_set ) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for hv in iter(self.has_value_set): _nc, _r = self._evaluate_has_value(target_graph, hv, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_has_value(self, target_graph, hv, f_v_dict): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): conformant = False for v_node in value_nodes: if v_node == hv: conformant = True break if not conformant: non_conformant = True # Note, including the value in the report generation here causes this constraint to not pass # SHT validation, though IMHO the value _should_ be included # if len(value_nodes) == 1: # a_value_node = next(iter(value_nodes)) # rept = self.make_v_result(f, value_node=a_value_node) # else: rept = self.make_v_result(target_graph, f, value_node=None) reports.append(rept) return non_conformant, reports pyshacl-0.30.1/pyshacl/constraints/core/property_pair_constraints.py0000644000000000000000000006343100000000000022776 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-property-pairs """ from typing import Dict, List import rdflib from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import SH from pyshacl.errors import ConstraintLoadError, ReportableRuntimeError from pyshacl.helper.path_helper import shacl_path_to_sparql_path from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape SH_equals = SH.equals SH_disjoint = SH.disjoint SH_lessThan = SH.lessThan SH_lessThanOrEquals = SH.lessThanOrEquals SH_EqualsConstraintComponent = SH.EqualsConstraintComponent SH_DisjointConstraintComponent = SH.DisjointConstraintComponent SH_LessThanConstraintComponent = SH.LessThanConstraintComponent SH_LessThanOrEqualsConstraintComponent = SH.LessThanOrEqualsConstraintComponent class EqualsConstraintComponent(ConstraintComponent): """ sh:equals specifies the condition that the set of all value nodes is equal to the set of objects of the triples that have the focus node as subject and the value of sh:equals as predicate. Link: https://www.w3.org/TR/shacl/#EqualsConstraintComponent Textual Definition: For each value node that does not exist as a value of the property $equals at the focus node, there is a validation result with the value node as sh:value. For each value of the property $equals at the focus node that is not one of the value nodes, there is a validation result with the value as sh:value. """ shacl_constraint_component = SH_EqualsConstraintComponent def __init__(self, shape: Shape) -> None: super(EqualsConstraintComponent, self).__init__(shape) property_compare_set = set(self.shape.objects(SH_equals)) if len(property_compare_set) < 1: raise ConstraintLoadError( "EqualsConstraintComponent must have at least one sh:equals predicate.", "https://www.w3.org/TR/shacl/#EqualsConstraintComponent", ) self.property_compare_set = property_compare_set @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_equals] @classmethod def constraint_name(cls) -> str: return "EqualsConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.property_compare_set) < 2: m = "Value of {}->{} != {}".format( stringify_node(datagraph, focus_node), stringify_node(self.shape.sg.graph, next(iter(self.property_compare_set))), stringify_node(datagraph, value_node), ) else: rules = ", ".join(stringify_node(self.shape.sg.graph, p) for p in self.property_compare_set) m = "Value of {}->{} != {}".format( stringify_node(datagraph, focus_node), rules, stringify_node(datagraph, value_node) ) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for eq in iter(self.property_compare_set): if executor.sparql_mode: _nc, _r = self._evaluate_property_equals_sparql(eq, target_graph, focus_value_nodes) else: _nc, _r = self._evaluate_property_equals_rdflib(eq, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_property_equals_sparql(self, eq, target_graph, f_v_dict): reports = [] non_conformant = False prefixes = dict(target_graph.namespaces()) eq_path = shacl_path_to_sparql_path(self.shape.sg, eq, prefixes=prefixes) eq_lookup_query = f"SELECT DISTINCT {' '.join(f'?v{i}' for i, _ in enumerate(f_v_dict))} WHERE {{\n" init_bindings = {} f_eq_results = {} for i, f in enumerate(f_v_dict.keys()): eq_lookup_query += f"OPTIONAL {{ $f{i} {eq_path} ?v{i} . }}\n" init_bindings[f"f{i}"] = f f_eq_results[f] = set() eq_lookup_query += "}" try: results = target_graph.query(eq_lookup_query, initBindings=init_bindings) except Exception as e: print(e) raise if len(results) > 0: for r in results: for i, f in enumerate(f_v_dict.keys()): val_i = r[i] if val_i is None or val_i == "UNDEF": continue f_eq_results[f].add(val_i) for i, f in enumerate(f_v_dict.keys()): value_node_set = set(f_v_dict[f]) compare_values = f_eq_results[f] value_nodes_missing = value_node_set.difference(compare_values) compare_values_missing = compare_values.difference(value_node_set) if len(value_nodes_missing) > 0 or len(compare_values_missing) > 0: non_conformant = True else: continue for value_node in value_nodes_missing: rept = self.make_v_result(target_graph, f, value_node=value_node) reports.append(rept) for compare_value in compare_values_missing: rept = self.make_v_result(target_graph, f, value_node=compare_value) reports.append(rept) return non_conformant, reports def _evaluate_property_equals_rdflib(self, eq, target_graph, f_v_dict): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): value_node_set = set(value_nodes) compare_values = set(target_graph.objects(f, eq)) value_nodes_missing = value_node_set.difference(compare_values) compare_values_missing = compare_values.difference(value_node_set) if len(value_nodes_missing) > 0 or len(compare_values_missing) > 0: non_conformant = True else: continue for value_node in value_nodes_missing: rept = self.make_v_result(target_graph, f, value_node=value_node) reports.append(rept) for compare_value in compare_values_missing: rept = self.make_v_result(target_graph, f, value_node=compare_value) reports.append(rept) return non_conformant, reports class DisjointConstraintComponent(ConstraintComponent): """ sh:disjoint specifies the condition that the set of value nodes is disjoint with the set of objects of the triples that have the focus node as subject and the value of sh:disjoint as predicate. Link: https://www.w3.org/TR/shacl/#DisjointConstraintComponent Textual Definition: For each value node that also exists as a value of the property $disjoint at the focus node, there is a validation result with the value node as sh:value. """ shacl_constraint_component = SH_DisjointConstraintComponent def __init__(self, shape: Shape) -> None: super(DisjointConstraintComponent, self).__init__(shape) property_compare_set = set(self.shape.objects(SH_disjoint)) if len(property_compare_set) < 1: raise ConstraintLoadError( "DisjointConstraintComponent must have at least one sh:disjoint predicate.", "https://www.w3.org/TR/shacl/#DisjointConstraintComponent", ) self.property_compare_set = property_compare_set @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_disjoint] @classmethod def constraint_name(cls) -> str: return "DisjointConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.property_compare_set) < 2: m = "Value of {}->{} == {}".format( stringify_node(datagraph, focus_node), stringify_node(self.shape.sg.graph, next(iter(self.property_compare_set))), stringify_node(datagraph, value_node), ) else: rules = ", ".join(stringify_node(self.shape.sg.graph, p) for p in self.property_compare_set) m = "Value of {}->{} == {}".format( stringify_node(datagraph, focus_node), rules, stringify_node(datagraph, value_node) ) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for dj in iter(self.property_compare_set): if executor.sparql_mode: _nc, _r = self._evaluate_property_disjoint_sparql(dj, target_graph, focus_value_nodes) else: _nc, _r = self._evaluate_property_disjoint_rdflib(dj, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_property_disjoint_sparql(self, dj, target_graph, f_v_dict): reports = [] non_conformant = False prefixes = dict(target_graph.namespaces()) dj_path = shacl_path_to_sparql_path(self.shape.sg, dj, prefixes=prefixes) dj_lookup_query = f"SELECT DISTINCT {' '.join(f'?v{i}' for i, _ in enumerate(f_v_dict))} WHERE {{\n" init_bindings = {} f_dj_results = {} for i, f in enumerate(f_v_dict.keys()): dj_lookup_query += f"OPTIONAL {{ $f{i} {dj_path} ?v{i} . }}\n" init_bindings[f"f{i}"] = f f_dj_results[f] = set() dj_lookup_query += "}" try: results = target_graph.query(dj_lookup_query, initBindings=init_bindings) except Exception as e: print(e) raise if len(results) > 0: for r in results: for i, f in enumerate(f_v_dict.keys()): val_i = r[i] if val_i is None or val_i == "UNDEF": continue f_dj_results[f].add(val_i) for i, f in enumerate(f_v_dict.keys()): value_node_set = set(f_v_dict[f]) compare_values = f_dj_results[f] common_nodes = value_node_set.intersection(compare_values) if len(common_nodes) > 0: non_conformant = True else: continue for common_node in common_nodes: rept = self.make_v_result(target_graph, f, value_node=common_node) reports.append(rept) return non_conformant, reports def _evaluate_property_disjoint_rdflib(self, dj, target_graph, f_v_dict): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): value_node_set = set(value_nodes) compare_values = set(target_graph.objects(f, dj)) common_nodes = value_node_set.intersection(compare_values) if len(common_nodes) > 0: non_conformant = True else: continue for common_node in common_nodes: rept = self.make_v_result(target_graph, f, value_node=common_node) reports.append(rept) return non_conformant, reports class LessThanConstraintComponent(ConstraintComponent): """ sh:lessThan specifies the condition that each value node is smaller than all the objects of the triples that have the focus node as subject and the value of sh:lessThan as predicate. Link: https://www.w3.org/TR/shacl/#LessThanConstraintComponent Textual Definition: For each pair of value nodes and the values of the property $lessThan at the given focus node where the first value is not less than the second value (based on SPARQL's < operator) or where the two values cannot be compared, there is a validation result with the value node as sh:value. """ shacl_constraint_component = SH_LessThanConstraintComponent def __init__(self, shape: Shape) -> None: super(LessThanConstraintComponent, self).__init__(shape) property_compare_set = set(self.shape.objects(SH_lessThan)) if len(property_compare_set) < 1: raise ConstraintLoadError( "LessThanConstraintComponent must have at least one sh:lessThan predicate.", "https://www.w3.org/TR/shacl/#LessThanConstraintComponent", ) if not shape.is_property_shape: raise ConstraintLoadError( "LessThanConstraintComponent can only be present on a PropertyShape, not a NodeShape.", "https://www.w3.org/TR/shacl/#LessThanConstraintComponent", ) self.property_compare_set = property_compare_set @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_lessThan] @classmethod def constraint_name(cls) -> str: return "LessThanConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.property_compare_set) < 2: m = "Value of {}->{} <= {}".format( stringify_node(datagraph, focus_node), stringify_node(self.shape.sg.graph, next(iter(self.property_compare_set))), stringify_node(datagraph, value_node), ) else: rules = ", ".join(stringify_node(self.shape.sg.graph, p) for p in self.property_compare_set) m = "Value of {}->{} <= {}".format( stringify_node(datagraph, focus_node), rules, stringify_node(datagraph, value_node) ) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for lt in iter(self.property_compare_set): if isinstance(lt, rdflib.Literal) or isinstance(lt, rdflib.BNode): raise ReportableRuntimeError("Value of sh:lessThan MUST be a URI Identifier.") if executor.sparql_mode: _nc, _r = self._evaluate_less_than_sparql(lt, target_graph, focus_value_nodes) else: _nc, _r = self._evaluate_less_than_rdflib(lt, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _compare_lt(self, value_node_set, compare_values, datagraph, f): non_conformant = False reports = [] for value_node in iter(value_node_set): if isinstance(value_node, rdflib.BNode): raise ReportableRuntimeError("Cannot use sh:lessThan to compare a BlankNode.") value_is_string = False orig_value_node = value_node if isinstance(value_node, rdflib.URIRef): value_node = str(value_node) value_is_string = True elif isinstance(value_node, rdflib.Literal) and isinstance(value_node.value, str): value_node = value_node.value value_is_string = True for compare_value in compare_values: if isinstance(compare_value, rdflib.BNode): raise ReportableRuntimeError("Cannot use sh:lessThan to compare a BlankNode.") compare_is_string = False if isinstance(compare_value, rdflib.URIRef): compare_value = str(compare_value) compare_is_string = True elif isinstance(compare_value, rdflib.Literal) and isinstance(compare_value.value, str): compare_value = compare_value.value compare_is_string = True if (value_is_string and not compare_is_string) or (compare_is_string and not value_is_string): non_conformant = True elif not value_node < compare_value: non_conformant = True else: continue rept = self.make_v_result(datagraph, f, value_node=orig_value_node) reports.append(rept) return non_conformant, reports def _evaluate_less_than_sparql(self, lt, target_graph, f_v_dict): reports = [] non_conformant = False prefixes = dict(target_graph.namespaces()) lt_path = shacl_path_to_sparql_path(self.shape.sg, lt, prefixes=prefixes) lt_lookup_query = f"SELECT DISTINCT {' '.join(f'?v{i}' for i, _ in enumerate(f_v_dict))} WHERE {{\n" init_bindings = {} f_lt_results = {} for i, f in enumerate(f_v_dict.keys()): lt_lookup_query += f"OPTIONAL {{ $f{i} {lt_path} ?v{i} . }}\n" init_bindings[f"f{i}"] = f f_lt_results[f] = set() lt_lookup_query += "}" try: results = target_graph.query(lt_lookup_query, initBindings=init_bindings) except Exception as e: print(e) raise if len(results) > 0: for r in results: for i, f in enumerate(f_v_dict.keys()): val_i = r[i] if val_i is None or val_i == "UNDEF": continue f_lt_results[f].add(val_i) for i, f in enumerate(f_v_dict.keys()): value_node_set = set(f_v_dict[f]) compare_values = f_lt_results[f] _nc, _r = self._compare_lt(value_node_set, compare_values, target_graph, f) non_conformant = non_conformant or _nc reports.extend(_r) return non_conformant, reports def _evaluate_less_than_rdflib(self, lt, target_graph, f_v_dict): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): value_node_set = set(value_nodes) compare_values = set(target_graph.objects(f, lt)) _nc, _r = self._compare_lt(value_node_set, compare_values, target_graph, f) non_conformant = non_conformant or _nc reports.extend(_r) return non_conformant, reports class LessThanOrEqualsConstraintComponent(ConstraintComponent): """ sh:lessThanOrEquals specifies the condition that each value node is smaller than or equal to all the objects of the triples that have the focus node as subject and the value of sh:lessThanOrEquals as predicate. Link: https://www.w3.org/TR/shacl/#LessThanOrEqualsConstraintComponent Textual Definition: For each pair of value nodes and the values of the property $lessThanOrEquals at the given focus node where the first value is not less than or equal to the second value (based on SPARQL's <= operator) or where the two values cannot be compared, there is a validation result with the value node as sh:value. """ shacl_constraint_component = SH_LessThanOrEqualsConstraintComponent def __init__(self, shape: Shape) -> None: super(LessThanOrEqualsConstraintComponent, self).__init__(shape) property_compare_set = set(self.shape.objects(SH_lessThanOrEquals)) if len(property_compare_set) < 1: raise ConstraintLoadError( "LessThanOrEqualsConstraintComponent must have at least one sh:lessThanOrEquals predicate.", "https://www.w3.org/TR/shacl/#LessThanOrEqualsConstraintComponent", ) if not shape.is_property_shape: raise ConstraintLoadError( "LessThanOrEqualsConstraintComponent can only be present on a PropertyShape, not a NodeShape.", "https://www.w3.org/TR/shacl/#LessThanOrEqualsConstraintComponent", ) self.property_compare_set = property_compare_set @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_lessThanOrEquals] @classmethod def constraint_name(cls) -> str: return "LessThanOrEqualsConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.property_compare_set) < 2: m = "Value of {}->{} < {}".format( stringify_node(datagraph, focus_node), stringify_node(self.shape.sg.graph, next(iter(self.property_compare_set))), stringify_node(datagraph, value_node), ) else: rules = ", ".join(stringify_node(self.shape.sg.graph, p) for p in self.property_compare_set) m = "Value of {}->{} < {}".format( stringify_node(datagraph, focus_node), rules, stringify_node(datagraph, value_node) ) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for lt in iter(self.property_compare_set): if isinstance(lt, rdflib.Literal) or isinstance(lt, rdflib.BNode): raise ReportableRuntimeError("Value of sh:lessThanOrEquals MUST be a URI Identifier.") if executor.sparql_mode: _nc, _r = self._evaluate_ltoe_sparql(lt, target_graph, focus_value_nodes) else: _nc, _r = self._evaluate_ltoe_rdflib(lt, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _compare_ltoe(self, value_node_set, compare_values, datagraph, f): non_conformant = False reports = [] for value_node in iter(value_node_set): if isinstance(value_node, rdflib.BNode): raise ReportableRuntimeError("Cannot use sh:lessThanOrEquals to compare a BlankNode.") value_is_string = False orig_value_node = value_node if isinstance(value_node, rdflib.URIRef): value_node = str(value_node) value_is_string = True elif isinstance(value_node, rdflib.Literal) and isinstance(value_node.value, str): value_node = value_node.value value_is_string = True for compare_value in compare_values: if isinstance(compare_value, rdflib.BNode): raise ReportableRuntimeError("Cannot use sh:lessThanOrEquals to compare a BlankNode.") compare_is_string = False if isinstance(compare_value, rdflib.URIRef): compare_value = str(compare_value) compare_is_string = True elif isinstance(compare_value, rdflib.Literal) and isinstance(compare_value.value, str): compare_value = compare_value.value compare_is_string = True if (value_is_string and not compare_is_string) or (compare_is_string and not value_is_string): non_conformant = True elif not value_node <= compare_value: non_conformant = True else: continue rept = self.make_v_result(datagraph, f, value_node=orig_value_node) reports.append(rept) return non_conformant, reports def _evaluate_ltoe_sparql(self, ltoe, target_graph, f_v_dict): reports = [] non_conformant = False prefixes = dict(target_graph.namespaces()) ltoe_path = shacl_path_to_sparql_path(self.shape.sg, ltoe, prefixes=prefixes) ltoe_lookup_query = f"SELECT DISTINCT {' '.join(f'?v{i}' for i, _ in enumerate(f_v_dict))} WHERE {{\n" init_bindings = {} f_ltoe_results = {} for i, f in enumerate(f_v_dict.keys()): ltoe_lookup_query += f"OPTIONAL {{ $f{i} {ltoe_path} ?v{i} . }}\n" init_bindings[f"f{i}"] = f f_ltoe_results[f] = set() ltoe_lookup_query += "}" try: results = target_graph.query(ltoe_lookup_query, initBindings=init_bindings) except Exception as e: print(e) raise if len(results) > 0: for r in results: for i, f in enumerate(f_v_dict.keys()): val_i = r[i] if val_i is None or val_i == "UNDEF": continue f_ltoe_results[f].add(val_i) for i, f in enumerate(f_v_dict.keys()): value_node_set = set(f_v_dict[f]) compare_values = f_ltoe_results[f] _nc, _r = self._compare_ltoe(value_node_set, compare_values, target_graph, f) non_conformant = non_conformant or _nc reports.extend(_r) return non_conformant, reports def _evaluate_ltoe_rdflib(self, ltoe, target_graph, f_v_dict): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): value_node_set = set(value_nodes) compare_values = set(target_graph.objects(f, ltoe)) _nc, _r = self._compare_ltoe(value_node_set, compare_values, target_graph, f) non_conformant = non_conformant or _nc reports.extend(_r) return non_conformant, reports pyshacl-0.30.1/pyshacl/constraints/core/shape_based_constraints.py0000644000000000000000000005207500000000000022337 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-shape """ from textwrap import indent from typing import Dict, List, Optional from warnings import warn import rdflib from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import ( SH, SH_detail, SH_node, SH_NodeConstraintComponent, SH_property, SH_PropertyConstraintComponent, ) from pyshacl.errors import ( ConstraintLoadError, ConstraintLoadWarning, ReportableRuntimeError, ShapeRecursionWarning, ValidationFailure, ) from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape SH_QualifiedValueCountConstraintComponent = SH.QualifiedValueConstraintComponent SH_QualifiedMaxCountConstraintComponent = SH.QualifiedMaxCountConstraintComponent SH_QualifiedMinCountConstraintComponent = SH.QualifiedMinCountConstraintComponent SH_qualifiedValueShape = SH.qualifiedValueShape SH_qualifiedValueShapesDisjoint = SH.qualifiedValueShapesDisjoint SH_qualifiedMinCount = SH.qualifiedMinCount SH_qualifiedMaxCount = SH.qualifiedMaxCount class PropertyConstraintComponent(ConstraintComponent): """ sh:property can be used to specify that each value node has a given property shape. Link: https://www.w3.org/TR/shacl/#PropertyConstraintComponent Textual Definition: For each value node v: A failure MUST be produced if the validation of v as focus node against the property shape $property produces a failure. Otherwise, the validation results are the results of validating v as focus node against the property shape $property. """ shacl_constraint_component = SH_PropertyConstraintComponent shape_expecting = True list_taking = False def __init__(self, shape: Shape) -> None: super(PropertyConstraintComponent, self).__init__(shape) property_shapes = list(self.shape.objects(SH_property)) if len(property_shapes) < 1: raise ConstraintLoadError( "PropertyConstraintComponent must have at least one sh:property predicate.", "https://www.w3.org/TR/shacl/#PropertyConstraintComponent", ) self.property_shapes = property_shapes @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_property] @classmethod def constraint_name(cls) -> str: return "PropertyConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: raise NotImplementedError("A Property Constraint Component should not be able to generate its own message.") def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ Entrypoint for constraint evaluation. :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports: List[Dict] = [] non_conformant = False # Shortcut, when there are no value nodes, don't check for recursion, don't validate and exit early value_node_count = 0 for f, value_nodes in focus_value_nodes.items(): value_node_count = value_node_count + len(value_nodes) if value_node_count < 1: return (not non_conformant), reports potentially_recursive = self.recursion_triggers(_evaluation_path) for p_shape in self.property_shapes: _nc, _r = self._evaluate_property_shape( executor, p_shape, target_graph, focus_value_nodes, potentially_recursive, _evaluation_path ) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_property_shape( self, executor, prop_shape, target_graph, focus_value_nodes, potentially_recursive, _evaluation_path ): _reports = [] _non_conformant = False prop_shape = self.shape.get_other_shape(prop_shape) if potentially_recursive and prop_shape in potentially_recursive: warn(ShapeRecursionWarning(_evaluation_path)) return _non_conformant, _reports if not prop_shape: raise ReportableRuntimeError( f"SHACL PropertyShape not found: The shape referenced by sh:property does not exist. " f"Please check if the shape '{prop_shape}' is defined." ) elif not prop_shape.is_property_shape: raise ReportableRuntimeError( f"'{prop_shape}' exists but is not a well-formed SHACL PropertyShape. " f"Ensure it has the correct type (sh:PropertyShape) and all required properties." ) for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: _is_conform, _r = prop_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) _non_conformant = _non_conformant or (not _is_conform) _reports.extend(_r) return _non_conformant, _reports class NodeConstraintComponent(ConstraintComponent): """ sh:node specifies the condition that each value node conforms to the given node shape. Link: https://www.w3.org/TR/shacl/#NodeShapeComponent Textual Definition: For each value node v: A failure MUST be produced if the conformance checking of v against $node produces a failure. Otherwise, if v does not conform to $node, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_NodeConstraintComponent shape_expecting = True list_taking = False def __init__(self, shape: Shape) -> None: super(NodeConstraintComponent, self).__init__(shape) node_shapes = list(self.shape.objects(SH_node)) if len(node_shapes) < 1: raise ConstraintLoadError( "NodeConstraintComponent must have at least one sh:node predicate.", "https://www.w3.org/TR/shacl/#NodeConstraintComponent", ) self.node_shapes = node_shapes @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_node] @classmethod def constraint_name(cls) -> str: return "NodeConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.node_shapes) < 2: m = "Value does not conform to Shape {}.".format(stringify_node(self.shape.sg.graph, self.node_shapes[0])) else: rules = "', '".join(stringify_node(self.shape.sg.graph, c) for c in self.node_shapes) m = "Value must conform to every Shape in ('{}').".format(rules) m += " See details for more information." return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports: List[Dict] = [] non_conformant = False # Shortcut, when there are no value nodes, don't check for recursion, don't validate and exit early value_node_count = 0 for f, value_nodes in focus_value_nodes.items(): value_node_count = value_node_count + len(value_nodes) if value_node_count < 1: return (not non_conformant), reports potentially_recursive = self.recursion_triggers(_evaluation_path) for n_shape in self.node_shapes: _nc, _r = self._evaluate_node_shape( executor, n_shape, target_graph, focus_value_nodes, potentially_recursive, _evaluation_path ) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_node_shape( self, executor, node_shape, target_graph, focus_value_nodes, potentially_recursive, _evaluation_path ): _reports = [] _non_conformant = False node_shape = self.shape.get_other_shape(node_shape) if potentially_recursive and node_shape in potentially_recursive: warn(ShapeRecursionWarning(_evaluation_path)) return _non_conformant, _reports if not node_shape or node_shape.is_property_shape: raise ReportableRuntimeError( "Shape pointed to by sh:node does not exist or is not a well-formed SHACL NodeShape." ) for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: _is_conform, _r = node_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) # Create a failure for this constraint component if any failures exist if (not _is_conform) or len(_r) > 0: _non_conformant = True rept_text, rept_node, rept_triples = self.make_v_result(target_graph, f, value_node=v) # Nest the others underneath via sh:detail rept_text = f"{rept_text}\tDetails:\n" for text_sub, node_sub, triples_sub in _r: # Add text of validation result in nested details section rept_text += indent(text_sub, "\t\t") # Add a triple connecting the new validation result to the # validation result for the nested node rept_triples.append((rept_node, SH_detail, node_sub)) # Extend the triples in the report with the ones from the nested result rept_triples.extend(triples_sub) _reports.append((rept_text, rept_node, rept_triples)) return _non_conformant, _reports class QualifiedValueShapeConstraintComponent(ConstraintComponent): """ sh:qualifiedValueShape specifies the condition that a specified number of value nodes conforms to the given shape. Each sh:qualifiedValueShape can have: one value for sh:qualifiedMinCount, one value for sh:qualifiedMaxCount or, one value for each, at the same subject. Link: https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent Textual Definition for qualifiedMinCount: Let C be the number of value nodes v where v conforms to $qualifiedValueShape and where v does not conform to any of the sibling shapes for the current shape, i.e. the shape that v is validated against and which has $qualifiedValueShape as its value for sh:qualifiedValueShape. A failure MUST be produced if any of the said conformance checks produces a failure. Otherwise, there is a validation result if C is less than $qualifiedMinCount. The constraint component for sh:qualifiedMinCount is sh:QualifiedMinCountConstraintComponent. Textual Definition for qualifiedMaxCount: Let C be as defined for sh:qualifiedMinCount above. A failure MUST be produced if any of the said conformance checks produces a failure. Otherwise, there is a validation result if C is greater than $qualifiedMaxCount. The constraint component for sh:qualifiedMaxCount is sh:QualifiedMaxCountConstraintComponent. """ shacl_constraint_component = NotImplemented shape_expecting = True list_taking = False def __init__(self, shape: Shape) -> None: super(QualifiedValueShapeConstraintComponent, self).__init__(shape) if not shape.is_property_shape: # Note, this no longer throws an error, this constraint is simply ignored on NodeShapes. raise ConstraintLoadWarning( "QualifiedValueShapeConstraintComponent can only be present on a PropertyShape, not a NodeShape.", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) value_shapes = set(self.shape.objects(SH_qualifiedValueShape)) if len(value_shapes) < 1: raise ConstraintLoadError( "QualifiedValueShapeConstraintComponent must have at least one sh:qualifiedValueShape predicate.", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) self.value_shapes = value_shapes min_count: Optional[int] min_counts = set(self.shape.objects(SH_qualifiedMinCount)) if len(min_counts) < 1: min_count = None elif len(min_counts) > 1: raise ConstraintLoadError( "QualifiedMinCountConstraintComponent must have at most one sh:qualifiedMinCount predicate.", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) else: min_count_literal = next(iter(min_counts)) if not isinstance(min_count_literal, rdflib.Literal) or not isinstance(min_count_literal.value, int): raise ConstraintLoadError( "QualifiedMinCountConstraintComponent sh:qualifiedMinCount must be a Literal with Int.", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) min_count = min_count_literal.value max_count: Optional[int] max_counts = set(self.shape.objects(SH_qualifiedMaxCount)) if len(max_counts) < 1: max_count = None elif len(max_counts) > 1: raise ConstraintLoadError( "QualifiedMaxCountConstraintComponent must have at most one sh:qualifiedMaxCount predicate.", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) else: max_count_literal = next(iter(max_counts)) if not isinstance(max_count_literal, rdflib.Literal) or not isinstance(max_count_literal.value, int): raise ConstraintLoadError( "QualifiedMaxCountConstraintComponent sh:qualifiedMaxCount must be a Literal with Int.", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) max_count = max_count_literal.value if min_count is None and max_count is None: raise ConstraintLoadError( "QualifiedValueShapeConstraintComponent must have at lease one sh:qualifiedMinCount or " "sh:qualifiedMaxCount", "https://www.w3.org/TR/shacl/#QualifiedValueShapeConstraintComponent", ) is_disjoint = False disjoint_nodes = set(self.shape.objects(SH_qualifiedValueShapesDisjoint)) for d in disjoint_nodes: if isinstance(d, rdflib.Literal): if isinstance(d.value, bool): is_disjoint = is_disjoint or d.value self.min_count = min_count self.max_count = max_count self.is_disjoint = is_disjoint @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_qualifiedValueShape, SH_qualifiedMinCount, SH_qualifiedValueShapesDisjoint, SH_qualifiedMaxCount] @classmethod def constraint_name(cls) -> str: return "QualifiedValueShapeConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: # TODO: # Implement default message for QualifiedValueConstraint (seems messy) shapes_string = ",".join(stringify_node(self.shape.sg.graph, s) for s in self.value_shapes) count_message = "" if self.min_count is not None: count_message += f" MinCount {self.min_count}" if self.max_count is not None: count_message += f" MaxCount {self.max_count}" if len(self.value_shapes) > 1: return [rdflib.Literal(f"Focus node does not conform to shapes{count_message}: ({shapes_string})")] return [rdflib.Literal(f"Focus node does not conform to shape{count_message}: {shapes_string}")] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports: List[Dict] = [] non_conformant = False # Shortcut, when there are no value nodes, don't check for recursion, don't validate and exit early value_node_count = 0 for f, value_nodes in focus_value_nodes.items(): value_node_count = value_node_count + len(value_nodes) if not self.is_disjoint and value_node_count < 1 and (self.min_count is None or self.min_count < 1): return (not non_conformant), reports potentially_recursive = self.recursion_triggers(_evaluation_path) for v_shape in self.value_shapes: _nc, _r = self._evaluate_value_shape( executor, v_shape, target_graph, focus_value_nodes, potentially_recursive, _evaluation_path ) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_value_shape( self, executor, _v_shape, target_graph, focus_value_nodes, potentially_recursive, _evaluation_path ): _reports = [] _non_conformant = False other_shape = self.shape.get_other_shape(_v_shape) if potentially_recursive and other_shape in potentially_recursive: warn(ShapeRecursionWarning(_evaluation_path)) return _non_conformant, _reports if not other_shape: raise ReportableRuntimeError( "Shape pointed to by sh:qualifiedValueShape does not exist or is not a well-formed SHACL Shape." ) if self.is_disjoint: # Textual Definition of Sibling Shapes: # Let Q be a shape in shapes graph G that declares a qualified cardinality constraint (by having values for sh:qualifiedValueShape and at least one of sh:qualifiedMinCount or sh:qualifiedMaxCount). Let ps be the set of shapes in G that have Q as a value of sh:property. If Q has true as a value for sh:qualifiedValueShapesDisjoint then the set of sibling shapes for Q is defined as the set of all values of the SPARQL property path sh:property/sh:qualifiedValueShape for any shape in ps minus the value of sh:qualifiedValueShape of Q itself. The set of sibling shapes is empty otherwise. sibling_shapes = set() parent_shapes = set(self.shape.sg.subjects(SH_property, self.shape.node)) for p in iter(parent_shapes): parent_property_shapes = set(self.shape.sg.objects(p, SH_property)) for s in iter(parent_property_shapes): parent_property_qualifiedvalueshapes = set(self.shape.sg.objects(s, SH_qualifiedValueShape)) for sibling in parent_property_qualifiedvalueshapes: if sibling == _v_shape: continue sibling_shapes.add(sibling) sibling_shapes = set(self.shape.get_other_shape(s) for s in sibling_shapes) else: sibling_shapes = set() upstream_reports = [] for f, value_nodes in focus_value_nodes.items(): number_conforms = 0 for v in value_nodes: try: _is_conform, _r = other_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) if len(_r): upstream_reports.extend(_r) if _is_conform: _conforms_to_sibling = False for sibling_shape in sibling_shapes: _c2, _r = sibling_shape.validate( executor, target_graph, focus=v, _evaluation_path=_evaluation_path[:] ) _conforms_to_sibling = _conforms_to_sibling or _c2 if not _conforms_to_sibling: number_conforms += 1 except ValidationFailure as v: raise v if self.max_count is not None and number_conforms > self.max_count: _non_conformant = True _r = self.make_v_result(target_graph, f, constraint_component=SH_QualifiedMaxCountConstraintComponent) _reports.append(_r) if self.min_count is not None and number_conforms < self.min_count: _non_conformant = True _r = self.make_v_result(target_graph, f, constraint_component=SH_QualifiedMinCountConstraintComponent) _reports.append(_r) if len(upstream_reports) and self.shape.sg.debug: self.shape.logger.debug( "sh:qualifiedValueShape constraint reports will be ignored and not passed to the parent Node:" ) for v_str, v_node, v_parts in upstream_reports: self.shape.logger.debug(v_str) return _non_conformant, _reports pyshacl-0.30.1/pyshacl/constraints/core/string_based_constraints.py0000644000000000000000000005416400000000000022546 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-string """ import logging import re from typing import Dict, List, cast import rdflib from rdflib.namespace import XSD from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import RDF, SH, XSD_WHOLE_INTEGERS from pyshacl.errors import ConstraintLoadError, ReportableRuntimeError from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape RDF_langString = RDF.langString XSD_string = XSD.string SH_PatternConstraintComponent = SH.PatternConstraintComponent SH_MinLengthConstraintComponent = SH.MinLengthConstraintComponent SH_MaxLengthConstraintComponent = SH.MaxLengthConstraintComponent SH_LanguageInConstraintComponent = SH.LanguageInConstraintComponent SH_UniqueLangConstraintComponent = SH.UniqueLangConstraintComponent SH_pattern = SH.pattern SH_flags = SH.flags SH_minLength = SH.minLength SH_maxLength = SH.maxLength SH_languageIn = SH.languageIn SH_uniqueLang = SH.uniqueLang class StringBasedConstraintBase(ConstraintComponent): """ https://www.w3.org/TR/shacl/#core-components-string """ shacl_constraint_component = rdflib.URIRef("urn:notimplemented") def __init__(self, shape: Shape) -> None: super(StringBasedConstraintBase, self).__init__(shape) self.string_rules: List[RDFNode] = [] self.allow_multi_rules = True @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: raise NotImplementedError() @classmethod def constraint_name(cls) -> str: raise NotImplementedError() @classmethod def value_node_to_string(cls, v): if isinstance(v, rdflib.Literal): if v.value is not None and (v.datatype in (None, RDF_langString, XSD_string)): v_string = str(v.value) else: v_string = str(v) elif isinstance(v, rdflib.URIRef): v_string = str(v) else: v_string = str(v) return v_string def _evaluate_string_rule(self, r, target_graph, f_v_dict): raise NotImplementedError() def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for r in self.string_rules: _nc, _r = self._evaluate_string_rule(r, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) if not self.allow_multi_rules: break return (not non_conformant), reports class MinLengthConstraintComponent(StringBasedConstraintBase): """ sh:minLength specifies the minimum string length of each value node that satisfies the condition. This can be applied to any literals and IRIs, but not to blank nodes. Link: https://www.w3.org/TR/shacl/#MinLengthConstraintComponent Textual Definition: For each value node v where the length (as defined by the SPARQL STRLEN function) of the string representation of v (as defined by the SPARQL str function) is less than $minLength, or where v is a blank node, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_MinLengthConstraintComponent def __init__(self, shape: Shape) -> None: super(MinLengthConstraintComponent, self).__init__(shape) self.allow_multi_rules = False patterns_found = list(self.shape.objects(SH_minLength)) if len(patterns_found) < 1: raise ConstraintLoadError( "MinLengthConstraintComponent must have at least one sh:minLength predicate.", "https://www.w3.org/TR/shacl/#MinLengthConstraintComponent", ) elif len(patterns_found) > 1: raise ConstraintLoadError( "MinLengthConstraintComponent must have at most one sh:minLength predicate.", "https://www.w3.org/TR/shacl/#MinLengthConstraintComponent", ) for s_r in patterns_found: if ( (not isinstance(s_r, rdflib.Literal)) or getattr(s_r, "ill_typed", False) or s_r.datatype is None or s_r.datatype not in XSD_WHOLE_INTEGERS ): raise ConstraintLoadError( "sh:minLength value must be a literal value with an integer.", "https://www.w3.org/TR/shacl/#MinLengthConstraintComponent", ) elif s_r.datatype in (XSD.negativeInteger, XSD.nonPositiveInteger) or s_r.value < 0: raise ConstraintLoadError( "sh:minLength value must be a positive integer.", "https://www.w3.org/TR/shacl/#MinLengthConstraintComponent", ) self.string_rules = patterns_found @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_minLength] @classmethod def constraint_name(cls) -> str: return "MinLengthConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: m = "String length not >= {}".format(stringify_node(datagraph, self.string_rules[0])) return [rdflib.Literal(m)] def _evaluate_string_rule(self, r, target_graph, f_v_dict): reports = [] non_conformant = False assert isinstance(r, rdflib.Literal) min_len = r.value if min_len < 0: raise ReportableRuntimeError("Minimum length cannot be less than zero!") for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if min_len == 0: flag = True # min len zero always passes elif isinstance(v, rdflib.BNode): # blank nodes cannot pass minLen validation pass else: v_string = self.value_node_to_string(v) flag = len(v_string) >= min_len if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class MaxLengthConstraintComponent(StringBasedConstraintBase): """ sh:maxLength specifies the maximum string length of each value node that satisfies the condition. This can be applied to any literals and IRIs, but not to blank nodes. Link: https://www.w3.org/TR/shacl/#MaxLengthConstraintComponent Textual Definition: For each value node v where the length (as defined by the SPARQL STRLEN function) of the string representation of v (as defined by the SPARQL str function) is greater than $maxLength, or where v is a blank node, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_MaxLengthConstraintComponent def __init__(self, shape: Shape) -> None: super(MaxLengthConstraintComponent, self).__init__(shape) self.allow_multi_rules = False patterns_found = list(self.shape.objects(SH_maxLength)) if len(patterns_found) < 1: raise ConstraintLoadError( "MaxLengthConstraintComponent must have at least one sh:maxLength predicate.", "https://www.w3.org/TR/shacl/#MaxLengthConstraintComponent", ) elif len(patterns_found) > 1: raise ConstraintLoadError( "MaxLengthConstraintComponent must have at most one sh:maxLength predicate.", "https://www.w3.org/TR/shacl/#MaxLengthConstraintComponent", ) for s_r in patterns_found: if ( (not isinstance(s_r, rdflib.Literal)) or getattr(s_r, "ill_typed", False) or s_r.datatype is None or s_r.datatype not in XSD_WHOLE_INTEGERS ): raise ConstraintLoadError( "sh:maxLength value must be a literal value with an integer.", "https://www.w3.org/TR/shacl/#MaxLengthConstraintComponent", ) elif s_r.datatype in (XSD.negativeInteger, XSD.nonPositiveInteger) or s_r.value < 0: raise ConstraintLoadError( "sh:maxLength value must be a positive integer.", "https://www.w3.org/TR/shacl/#MaxLengthConstraintComponent", ) self.string_rules = patterns_found @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_maxLength] @classmethod def constraint_name(cls) -> str: return "MaxLengthConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: m = "String length not <= {}".format(stringify_node(datagraph, self.string_rules[0])) return [rdflib.Literal(m)] def _evaluate_string_rule(self, r, target_graph, f_v_dict): reports = [] non_conformant = False assert isinstance(r, rdflib.Literal) max_len = r.value if max_len < 0: raise ReportableRuntimeError("Maximum length cannot be less than zero!") for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if isinstance(v, rdflib.BNode): # blank nodes cannot pass minLen validation pass else: v_string = self.value_node_to_string(v) flag = len(v_string) <= max_len if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class PatternConstraintComponent(StringBasedConstraintBase): """ sh:property can be used to specify that each value node has a given property shape. Link: https://www.w3.org/TR/shacl/#PropertyShapeComponent Textual Definition: For each value node v: A failure MUST be produced if the validation of v as focus node against the property shape $property produces a failure. Otherwise, the validation results are the results of validating v as focus node against the property shape $property. """ shacl_constraint_component = SH_PatternConstraintComponent def __init__(self, shape: Shape) -> None: super(PatternConstraintComponent, self).__init__(shape) patterns_found: List[rdflib.Literal] = [] for pattern_found in self.shape.objects(SH_pattern): if not isinstance(pattern_found, rdflib.Literal): raise ConstraintLoadError( "PatternConstraintComponent sh:pattern must be a RDF Literal node.", "https://www.w3.org/TR/shacl/#PatternConstraintComponent", ) patterns_found.append(pattern_found) if len(patterns_found) < 1: raise ConstraintLoadError( "PatternConstraintComponent must have at least one sh:pattern predicate.", "https://www.w3.org/TR/shacl/#PatternConstraintComponent", ) self.string_rules = cast(List[RDFNode], patterns_found) flags_found = set(self.shape.objects(SH_flags)) if len(flags_found) > 0: # Just get the first found flags self.flags = next(iter(flags_found)) else: self.flags = None re_flags = 0 if self.flags: flags = str(self.flags.value).lower() case_insensitive = 'i' in flags if case_insensitive: re_flags |= re.I m = 'm' in flags if m: re_flags |= re.M self.compiled_cache = {} for p in patterns_found: if p.value is not None and len(p.value) > 1: re_pattern = str(p.value) else: re_pattern = str(p) re_matcher = re.compile(re_pattern, re_flags) self.compiled_cache[p] = re_matcher @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_pattern] @classmethod def constraint_name(cls) -> str: return "PatternConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.string_rules) < 2: string_rule = self.string_rules[0] assert isinstance(string_rule, rdflib.Literal) m = "Value does not match pattern '{}'".format(str(string_rule.value)) else: # Inform type system that all the string rules are Literals. _string_rules: List[rdflib.Literal] = [] for string_rule in self.string_rules: if not isinstance(string_rule, rdflib.Literal): logging.debug("string_rule = %r.", string_rule) logging.debug("type(string_rule) = %r.", type(string_rule)) raise TypeError("Non-Literal entered string_rules list.") _string_rules.append(string_rule) rules = "', '".join(str(c.value) for c in _string_rules) m = "Value does not match every pattern in ('{}')".format(rules) return [rdflib.Literal(m)] def _evaluate_string_rule(self, r, target_graph, f_v_dict): reports = [] non_conformant = False re_matcher = self.compiled_cache.get(r, None) if re_matcher is None: raise RuntimeError(f"No compiled regex for {r}") for f, value_nodes in f_v_dict.items(): for v in value_nodes: match = False if isinstance(v, rdflib.BNode): # blank nodes cannot pass pattern validation pass else: v_string = self.value_node_to_string(v) match = re_matcher.match(v_string) if not match: match = re_matcher.search(v_string) if not match: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class LanguageInConstraintComponent(StringBasedConstraintBase): """ The condition specified by sh:languageIn is that the allowed language tags for each value node are limited by a given list of language tags. Link: https://www.w3.org/TR/shacl/#LanguageInConstraintComponent Textual Definition: For each value node that is either not a literal or that does not have a language tag matching any of the basic language ranges that are the members of $languageIn following the filtering schema defined by the SPARQL langMatches function, there is a validation result with the value node as sh:value. """ shacl_constraint_component = SH_LanguageInConstraintComponent shape_expecting = False list_taking = True def __init__(self, shape: Shape) -> None: super(LanguageInConstraintComponent, self).__init__(shape) self.allow_multi_rules = False language_ins_found = list(self.shape.objects(SH_languageIn)) if len(language_ins_found) < 1: raise ConstraintLoadError( "LanguageInConstraintComponent must have at least one sh:languageIn predicate.", "https://www.w3.org/TR/shacl/#LanguageInConstraintComponent", ) elif len(language_ins_found) > 1: raise ConstraintLoadError( "LanguageInConstraintComponent must have at most one sh:languageIn predicate.", "https://www.w3.org/TR/shacl/#LanguageInConstraintComponent", ) self.string_rules = language_ins_found @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_languageIn] @classmethod def constraint_name(cls) -> str: return "LanguageInConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: m = "String language is not in {}".format(stringify_node(self.shape.sg.graph, self.string_rules[0])) return [rdflib.Literal(m)] def _evaluate_string_rule(self, r, target_graph, f_v_dict): reports = [] non_conformant = False languages_need = set() sg = self.shape.sg.graph try: for lang_in in iter(sg.items(r)): try: if not isinstance(lang_in, rdflib.Literal) or not isinstance(lang_in.value, str): raise ReportableRuntimeError( "All languages in sh:lanugageIn must be a Literal with type xsd:string" ) except (AssertionError, AttributeError): raise ReportableRuntimeError( "All languages in sh:lanugageIn must be a Literal with type xsd:string" ) languages_need.add(str(lang_in.value).lower()) except (KeyError, AttributeError, ValueError): raise ReportableRuntimeError("Value of sh:languageIn must be a RDF List") wildcard = False if '*' in languages_need: wildcard = True for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if isinstance(v, rdflib.Literal): lang = v.language if lang: if wildcard: flag = True elif str(lang).lower() in languages_need: flag = True else: lang_parts = str(lang).split('-') first_part = lang_parts[0] if str(first_part).lower() in languages_need: flag = True if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class UniqueLangConstraintComponent(StringBasedConstraintBase): """ The property sh:uniqueLang can be set to true to specify that no pair of value nodes may use the same language tag. Link: https://www.w3.org/TR/shacl/#UniqueLangConstraintComponent Textual Definition: If $uniqueLang is true then for each non-empty language tag that is used by at least two value nodes, there is a validation result. """ shacl_constraint_component = SH_UniqueLangConstraintComponent def __init__(self, shape: Shape) -> None: super(UniqueLangConstraintComponent, self).__init__(shape) self.allow_multi_rules = False is_unique_lang = set(self.shape.objects(SH_uniqueLang)) if len(is_unique_lang) < 1: raise ConstraintLoadError( "UniqueLangConstraintComponent must have at least one sh:uniqueLang predicate.", "https://www.w3.org/TR/shacl/#UniqueLangConstraintComponent", ) elif len(is_unique_lang) > 1: raise ConstraintLoadError( "UniqueLangConstraintComponent must have at most one sh:uniqueLang predicate.", "https://www.w3.org/TR/shacl/#UniqueLangConstraintComponent", ) if not shape.is_property_shape: raise ConstraintLoadError( "UniqueLangConstraintComponent can only be present on a PropertyShape, not a NodeShape.", "https://www.w3.org/TR/shacl/#UniqueLangConstraintComponent", ) is_unique_lang = next(iter(is_unique_lang)) if not isinstance(is_unique_lang, rdflib.Literal) or not isinstance(is_unique_lang.value, bool): raise ConstraintLoadError( "UniqueLangConstraintComponent must have an RDF Literal of type boolean as its sh:uniqueLang.", "https://www.w3.org/TR/shacl/#UniqueLangConstraintComponent", ) self.string_rules = {is_unique_lang.value} @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_uniqueLang] @classmethod def constraint_name(cls) -> str: return "UniqueLangConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: return [rdflib.Literal("More than one String shares the same Language")] def _evaluate_string_rule(self, is_unique_lang, target_graph, f_v_dict): if not is_unique_lang: # why even have the constraint if it is set to false? return False, [] reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): found_langs = dict() found_duplicates = set() for v in value_nodes: if isinstance(v, rdflib.Literal): lang = v.language if lang: low_lang = str(lang).lower() if low_lang in found_langs: found_duplicates.add(low_lang) else: found_langs[low_lang] = lang # TODO: determine if there is duplicate matching on parts of multi-part langs. # lang_parts = str(lang).split('-') # first_part = lang_parts[0] # if str(first_part).lower() in languages_need: # flag = True for d in iter(found_duplicates): non_conformant = True # Adding value_node here causes SHT validation to fail. # IMHO it should be present # rept = self.make_v_result(target_graph, f, value_node=found_langs[d]) rept = self.make_v_result(target_graph, f, value_node=None) reports.append(rept) return non_conformant, reports pyshacl-0.30.1/pyshacl/constraints/core/value_constraints.py0000644000000000000000000003406200000000000021211 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-value-type """ from datetime import date, datetime, time from decimal import Decimal from typing import Dict, List import rdflib from rdflib.namespace import XSD from rdflib.term import Literal, URIRef from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import ( RDF, RDFS, SH, SH_IRI, RDF_type, RDFS_subClassOf, SH_BlankNode, SH_BlankNodeOrIRI, SH_BlankNodeORLiteral, SH_datatype, SH_IRIOrLiteral, SH_Literal, SH_nodeKind, ) from pyshacl.errors import ConstraintLoadError from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.shape import Shape RDF_langString = RDF.langString RDFS_Datatype = RDFS.Datatype RDFS_Literal = RDFS.Literal XSD_string = XSD.string XSD_integer = XSD.integer XSD_float = XSD.float XSD_boolean = XSD.boolean XSD_date = XSD.date XSD_time = XSD.time XSD_dateTime = XSD.dateTime XSD_decimal = XSD.decimal SH_class = SH["class"] SH_ClassConstraintComponent = SH.ClassConstraintComponent SH_DatatypeConstraintComponent = SH.DatatypeConstraintComponent SH_NodeKindConstraintComponent = SH.NodeKindConstraintComponent class ClassConstraintComponent(ConstraintComponent): """ The condition specified by sh:class is that each value node is a SHACL instance of a given type. Link: https://www.w3.org/TR/shacl/#ClassConstraintComponent Textual Definition: For each value node that is either a literal, or a non-literal that is not a SHACL instance of $class in the data graph, there is a validation result with the value node as sh:value. """ shacl_constraint_component = SH_ClassConstraintComponent def __init__(self, shape: Shape) -> None: super(ClassConstraintComponent, self).__init__(shape) class_rules = list(self.shape.objects(SH_class)) if len(class_rules) < 1: raise ConstraintLoadError( "ClassConstraintComponent must have at least one sh:class predicate.", "https://www.w3.org/TR/shacl/#ClassConstraintComponent", ) self.class_rules = class_rules @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_class] @classmethod def constraint_name(cls) -> str: return "ClassConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: if len(self.class_rules) < 2: m = "Value does not have class {}".format(stringify_node(self.shape.sg.graph, self.class_rules[0])) else: rules = ", ".join(stringify_node(self.shape.sg.graph, c) for c in self.class_rules) m = "Value class is not in classes ({})".format(rules) return [Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False if executor.sparql_mode: for c in self.class_rules: _n, _r = self._evaluate_class_rules_sparql(target_graph, focus_value_nodes, c) non_conformant = non_conformant or _n reports.extend(_r) else: for c in self.class_rules: _n, _r = self._evaluate_class_rules_rdflib(target_graph, focus_value_nodes, c) non_conformant = non_conformant or _n reports.extend(_r) return (not non_conformant), reports def _evaluate_class_rules_sparql(self, target_graph, f_v_dict, class_rule): reports = [] non_conformant = False sparql_ask = """ASK {$value rdf:type/rdfs:subClassOf* $class .}""" for f, value_nodes in f_v_dict.items(): for v in value_nodes: found = False if isinstance(v, Literal): self.shape.logger.debug( "Class Constraint won't work with Literals. " "Attempting to match Literal node {} to class of {} will fail.".format(v, class_rule) ) else: resp = target_graph.query(sparql_ask, initBindings={"value": v, "class": class_rule}) found = resp.askAnswer if not found: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports def _evaluate_class_rules_rdflib(self, target_graph, f_v_dict, class_rule): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): for v in value_nodes: found = False if isinstance(v, Literal): self.shape.logger.debug( "Class Constraint won't work with Literals. " "Attempting to match Literal node {} to class of {} will fail.".format(v, class_rule) ) else: objs = target_graph.objects(v, RDF_type) for ctype in iter(objs): if ctype == class_rule: found = True break subclasses = target_graph.transitive_objects(ctype, RDFS_subClassOf) if class_rule in iter(subclasses): found = True break if not found: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class DatatypeConstraintComponent(ConstraintComponent): """ sh:datatype specifies a condition to be satisfied with regards to the datatype of each value node. Link: https://www.w3.org/TR/shacl/#DatatypeConstraintComponent Textual Definition: For each value node that is not a literal, or is a literal with a datatype that does not match $datatype, there is a validation result with the value node as sh:value. The datatype of a literal is determined following the datatype function of SPARQL 1.1. A literal matches a datatype if the literal's datatype has the same IRI and, for the datatypes supported by SPARQL 1.1, is not an ill-typed literal. """ shacl_constraint_component = SH_DatatypeConstraintComponent def __init__(self, shape: Shape) -> None: super(DatatypeConstraintComponent, self).__init__(shape) datatype_rules = list(self.shape.objects(SH_datatype)) if len(datatype_rules) < 1: raise ConstraintLoadError( "DatatypeConstraintComponent must have at least one sh:datatype predicate.", "https://www.w3.org/TR/shacl/#DatatypeConstraintComponent", ) elif len(datatype_rules) > 1: raise ConstraintLoadError( "DatatypeConstraintComponent must have at most one sh:datatype predicate.", "https://www.w3.org/TR/shacl/#DatatypeConstraintComponent", ) self.datatype_rule = datatype_rules[0] @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_datatype] @classmethod def constraint_name(cls) -> str: return "DatatypeConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: m = "Value is not Literal with datatype {}".format(stringify_node(self.shape.sg.graph, self.datatype_rule)) return [Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False dtype_rule = self.datatype_rule for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: matches = False if isinstance(v, Literal): datatype = v.datatype lang = v.language if datatype == dtype_rule: ill_formed = getattr(v, "ill_typed", None) if ill_formed is True: matches = False else: matches = self._assert_actual_datatype(v, dtype_rule) elif dtype_rule == RDFS_Literal: # Special case. All literals are instance of RDFS.Literal # and all literals have datatype of RDFS.Literal matches = True elif dtype_rule == RDFS_Datatype and datatype: # Special case. All literals with a datatype are instances of RDFS.Datatype # and all literals with datatype have datatype of RDFS.Datatype matches = True elif datatype is None and lang is None and dtype_rule == XSD_string: matches = self._assert_actual_datatype(v, dtype_rule) elif dtype_rule == RDF_langString and lang: matches = self._assert_actual_datatype(v, dtype_rule) else: self.shape.logger.debug( "Datatype Constraint only works on Literal datatypes. " "Attempting to match non-Literal node {} to datatype of {} will fail.".format(v, dtype_rule) ) if not matches: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return (not non_conformant), reports def _assert_actual_datatype(self, value_node, datatype_rule): value = value_node.value if datatype_rule == XSD_string or datatype_rule == RDF_langString: return isinstance(value, (str, bytes)) elif datatype_rule == XSD_integer: return isinstance(value, int) elif datatype_rule == XSD_float: return isinstance(value, float) elif datatype_rule == XSD_decimal: return isinstance(value, Decimal) elif datatype_rule == XSD_boolean: return isinstance(value, bool) elif datatype_rule == XSD_date: return isinstance(value, date) elif datatype_rule == XSD_time: return isinstance(value, time) elif datatype_rule == XSD_dateTime: return isinstance(value, datetime) else: # We don't know how to check other datatypes. Assume pass. return True class NodeKindConstraintComponent(ConstraintComponent): """ sh:nodeKind specifies a condition to be satisfied by the RDF node kind of each value node. Link: https://www.w3.org/TR/shacl/#NodeKindConstraintComponent Textual Definition: For each value node that does not match $nodeKind, there is a validation result with the value node as sh:value. Any IRI matches only sh:IRI, sh:BlankNodeOrIRI and sh:IRIOrLiteral. Any blank node matches only sh:BlankNode, sh:BlankNodeOrIRI and sh:BlankNodeOrLiteral. Any literal matches only sh:Literal, sh:BlankNodeOrLiteral and sh:IRIOrLiteral. """ shacl_constraint_component = SH_NodeKindConstraintComponent def __init__(self, shape: Shape) -> None: super(NodeKindConstraintComponent, self).__init__(shape) nodekind_rules = list(self.shape.objects(SH_nodeKind)) if len(nodekind_rules) < 1: raise ConstraintLoadError( "NodeKindConstraintComponent must have at least one sh:nodeKind predicate.", "https://www.w3.org/TR/shacl/#NodeKindConstraintComponent", ) elif len(nodekind_rules) > 1: raise ConstraintLoadError( "NodeKindConstraintComponent must have at most one sh:nodeKind predicate.", "https://www.w3.org/TR/shacl/#NodeKindConstraintComponent", ) self.nodekind_rule = nodekind_rules[0] @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_nodeKind] @classmethod def constraint_name(cls) -> str: return "NodeKindConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: m = "Value is not of Node Kind {}".format(stringify_node(self.shape.sg.graph, self.nodekind_rule)) return [Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ n_rule = self.nodekind_rule reports = [] non_conformant = False for f, value_nodes in focus_value_nodes.items(): for v in value_nodes: match = False if isinstance(v, rdflib.BNode): if n_rule in (SH_BlankNode, SH_BlankNodeORLiteral, SH_BlankNodeOrIRI): match = True elif isinstance(v, rdflib.Literal): if n_rule in (SH_Literal, SH_BlankNodeORLiteral, SH_IRIOrLiteral): match = True elif isinstance(v, rdflib.term.Identifier): if n_rule in (SH_IRI, SH_IRIOrLiteral, SH_BlankNodeOrIRI): match = True if not match: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return (not non_conformant), reports pyshacl-0.30.1/pyshacl/constraints/core/value_range_constraints.py0000644000000000000000000003645300000000000022373 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#core-components-range """ from typing import Dict, List import rdflib from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import SH from pyshacl.errors import ConstraintLoadError, ReportableRuntimeError from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.rdfutil import stringify_node from pyshacl.rdfutil.compare import compare_literal from pyshacl.shape import Shape SH_MinExclusiveConstraintComponent = SH.MinExclusiveConstraintComponent SH_MinInclusiveConstraintComponent = SH.MinInclusiveConstraintComponent SH_minExclusive = SH.minExclusive SH_minInclusive = SH.minInclusive SH_MaxExclusiveConstraintComponent = SH.MaxExclusiveConstraintComponent SH_MaxInclusiveConstraintComponent = SH.MaxInclusiveConstraintComponent SH_maxExclusive = SH.maxExclusive SH_maxInclusive = SH.maxInclusive class MinExclusiveConstraintComponent(ConstraintComponent): """ Link: https://www.w3.org/TR/shacl/#MinExclusiveConstraintComponent Textual Definition: For each value node v where the SPARQL expression $minExclusive < v does not return true, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_MinExclusiveConstraintComponent def __init__(self, shape: Shape) -> None: super(MinExclusiveConstraintComponent, self).__init__(shape) min_vals = list(self.shape.objects(SH_minExclusive)) if len(min_vals) < 1: raise ConstraintLoadError( "MinExclusiveConstraintComponent must have at least one sh:minExclusive predicate.", "https://www.w3.org/TR/shacl/#MinExclusiveConstraintComponent", ) self.min_vals = min_vals @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_minExclusive] @classmethod def constraint_name(cls) -> str: return "MinExclusiveConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.min_vals) < 2: m = "Value is not > {}".format(stringify_node(self.shape.sg.graph, self.min_vals[0])) else: rules = ", ".join(stringify_node(self.shape.sg.graph, c) for c in self.min_vals) m = "Value is not > in ({})".format(rules) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for m_val in self.min_vals: _nc, _r = self._evaluate_min_rule(m_val, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_min_rule(self, m_val, target_graph, f_v_dict): reports = [] non_conformant = False assert isinstance(m_val, rdflib.Literal) min_is_string = isinstance(m_val.value, str) for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if isinstance(v, rdflib.BNode): # blank nodes cannot pass val comparison pass elif isinstance(v, rdflib.URIRef): # TODO: Don't know if URIRefs can be compared here pass elif isinstance(v, rdflib.Literal): v_is_string = isinstance(v.value, str) if min_is_string and not v_is_string: pass elif v_is_string and not min_is_string: pass else: try: # pass if v > m_val cmp = compare_literal(v, m_val) flag = cmp > 0 except (TypeError, NotImplementedError): flag = False else: raise ReportableRuntimeError("Not sure how to compare anything else.") if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class MinInclusiveConstraintComponent(ConstraintComponent): """ Link: https://www.w3.org/TR/shacl/#MinInclusiveConstraintComponent Textual Definition: For each value node v where the SPARQL expression $minInclusive <= v does not return true, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_MinInclusiveConstraintComponent def __init__(self, shape: Shape) -> None: super(MinInclusiveConstraintComponent, self).__init__(shape) min_vals = list(self.shape.objects(SH_minInclusive)) if len(min_vals) < 1: raise ConstraintLoadError( "MinInclusiveConstraintComponent must have at least one sh:minInclusive predicate.", "https://www.w3.org/TR/shacl/#MinInclusiveConstraintComponent", ) self.min_vals = min_vals @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_minInclusive] @classmethod def constraint_name(cls) -> str: return "MinInclusiveConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.min_vals) < 2: m = "Value is not >= {}".format(stringify_node(self.shape.sg.graph, self.min_vals[0])) else: rules = ", ".join(stringify_node(self.shape.sg.graph, c) for c in self.min_vals) m = "Value is not >= in ({})".format(rules) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for m_val in self.min_vals: _nc, _r = self._evaluate_min_rule(m_val, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_min_rule(self, m_val, target_graph, f_v_dict): reports = [] non_conformant = False assert isinstance(m_val, rdflib.Literal) min_is_string = isinstance(m_val.value, str) for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if isinstance(v, rdflib.BNode): # blank nodes cannot pass val comparison pass elif isinstance(v, rdflib.URIRef): # TODO: Don't know if URIRefs can be compared here pass elif isinstance(v, rdflib.Literal): v_is_string = isinstance(v.value, str) if min_is_string and not v_is_string: pass elif v_is_string and not min_is_string: pass else: try: # pass if v >= m_val cmp = compare_literal(v, m_val) flag = cmp >= 0 except (TypeError, NotImplementedError): flag = False else: raise ReportableRuntimeError("Not sure how to compare anything else.") if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class MaxExclusiveConstraintComponent(ConstraintComponent): """ Link: https://www.w3.org/TR/shacl/#MaxExclusiveConstraintComponent Textual Definition: For each value node v where the SPARQL expression $maxExclusive > v does not return true, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_MaxExclusiveConstraintComponent def __init__(self, shape: Shape) -> None: super(MaxExclusiveConstraintComponent, self).__init__(shape) max_vals = list(self.shape.objects(SH_maxExclusive)) if len(max_vals) < 1: raise ConstraintLoadError( "MaxExclusiveConstraintComponent must have at least one sh:minExclusive predicate.", "https://www.w3.org/TR/shacl/#MaxExclusiveConstraintComponent", ) self.max_vals = max_vals @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_maxExclusive] @classmethod def constraint_name(cls) -> str: return "MaxExclusiveConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.max_vals) < 2: m = "Value is not < {}".format(stringify_node(self.shape.sg.graph, self.max_vals[0])) else: rules = ", ".join(stringify_node(self.shape.sg.graph, c) for c in self.max_vals) m = "Value is not < in ({})".format(rules) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for m_val in self.max_vals: _nc, _r = self._evaluate_max_rule(m_val, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_max_rule(self, m_val, target_graph, f_v_dict): reports = [] non_conformant = False assert isinstance(m_val, rdflib.Literal) max_is_string = isinstance(m_val.value, str) for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if isinstance(v, rdflib.BNode): # blank nodes cannot pass val comparison pass elif isinstance(v, rdflib.URIRef): # TODO: Don't know if URIRefs can be compared here pass elif isinstance(v, rdflib.Literal): v_is_string = isinstance(v.value, str) if max_is_string and not v_is_string: pass elif v_is_string and not max_is_string: pass else: try: # pass if v < m_val cmp = compare_literal(v, m_val) flag = cmp < 0 except (TypeError, NotImplementedError): flag = False else: raise ReportableRuntimeError("Not sure how to compare anything else.") if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports class MaxInclusiveConstraintComponent(ConstraintComponent): """ Link: https://www.w3.org/TR/shacl/#MaxInclusiveConstraintComponent Textual Definition: For each value node v where the SPARQL expression $maxInclusive >= v does not return true, there is a validation result with v as sh:value. """ shacl_constraint_component = SH_MaxInclusiveConstraintComponent def __init__(self, shape: Shape) -> None: super(MaxInclusiveConstraintComponent, self).__init__(shape) max_vals = list(self.shape.objects(SH_maxInclusive)) if len(max_vals) < 1: raise ConstraintLoadError( "MaxInclusiveConstraintComponent must have at least one sh:minInclusive predicate.", "https://www.w3.org/TR/shacl/#MaxInclusiveConstraintComponent", ) self.max_vals = max_vals @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: return [SH_maxInclusive] @classmethod def constraint_name(cls) -> str: return "MaxInclusiveConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: if len(self.max_vals) < 2: m = "Value is not <= {}".format(stringify_node(self.shape.sg.graph, self.max_vals[0])) else: rules = ", ".join(stringify_node(self.shape.sg.graph, c) for c in self.max_vals) m = "Value is not <= in ({})".format(rules) return [rdflib.Literal(m)] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for m_val in self.max_vals: _nc, _r = self._evaluate_max_rule(m_val, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_max_rule(self, m_val, target_graph, f_v_dict): reports = [] non_conformant = False assert isinstance(m_val, rdflib.Literal) max_is_string = isinstance(m_val.value, str) for f, value_nodes in f_v_dict.items(): for v in value_nodes: flag = False if isinstance(v, rdflib.BNode): # blank nodes cannot pass val comparison pass elif isinstance(v, rdflib.URIRef): # TODO: Don't know if URIRefs can be compared here pass elif isinstance(v, rdflib.Literal): v_is_string = isinstance(v.value, str) if max_is_string and not v_is_string: pass elif v_is_string and not max_is_string: pass else: try: # pass if v <= m_val cmp = compare_literal(v, m_val) flag = cmp <= 0 except (TypeError, NotImplementedError): flag = False else: raise ReportableRuntimeError("Not sure how to compare anything else.") if not flag: non_conformant = True rept = self.make_v_result(target_graph, f, value_node=v) reports.append(rept) return non_conformant, reports pyshacl-0.30.1/pyshacl/constraints/sparql/__init__.py0000644000000000000000000000003000000000000017543 0ustar00# -*- coding: utf-8 -*- pyshacl-0.30.1/pyshacl/constraints/sparql/sparql_based_constraint_components.py0000644000000000000000000004470700000000000025200 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#sparql-constraint-components """ import typing from typing import Dict, List, Tuple, Type, Union import rdflib from pyshacl.constraints.constraint_component import ConstraintComponent, CustomConstraintComponent from pyshacl.consts import SH, RDF_type, SH_ask, SH_ConstraintComponent, SH_message, SH_select from pyshacl.errors import ConstraintLoadError, ValidationFailure from pyshacl.helper import get_query_helper_cls from pyshacl.pytypes import GraphLike, SHACLExecutor if typing.TYPE_CHECKING: from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph SH_SPARQLSelectValidator = SH.SPARQLSelectValidator SH_SPARQLAskValidator = SH.SPARQLAskValidator class BoundShapeValidatorComponent(ConstraintComponent): shacl_constraint_component = SH_ConstraintComponent def __init__(self, constraint, shape: 'Shape', validator): """ Create a new custom constraint, by applying a ConstraintComponent and a Validator to a Shape :param constraint: The source ConstraintComponent, this is needed to bind the parameters in the query_helper :type constraint: SPARQLConstraintComponent :param shape: :type shape: Shape :param validator: :type validator: AskConstraintValidator | SelectConstraintValidator """ super(BoundShapeValidatorComponent, self).__init__(shape) self.constraint = constraint self.validator = validator params = constraint.parameters SPARQLQueryHelper = get_query_helper_cls() self.query_helper = SPARQLQueryHelper( self.shape, validator.node, validator.query_text, params, messages=validator.messages ) # Setting self.shape into QueryHelper automatically applies query_helper.bind_params and bind_messages self.query_helper.collect_prefixes() @classmethod def constraint_parameters(cls) -> List[rdflib.URIRef]: # TODO:coverage: this is never used for this constraint? return [] @classmethod def constraint_name(cls) -> str: return "ConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[rdflib.Literal]: return [rdflib.Literal("Parameterised SHACL Query generated constraint validation reports.")] def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False extra_messages = self.constraint.messages or [] rept_kwargs = { # TODO, determine if we need sourceConstraint here # 'source_constraint': self.validator.node, 'constraint_component': self.constraint.node, 'extra_messages': extra_messages, } for f, value_nodes in focus_value_nodes.items(): # we don't use value_nodes in the sparql constraint # All queries are done on the corresponding focus node. try: violations = self.validator.validate(executor, f, value_nodes, target_graph, self.query_helper) except ValidationFailure as e: raise e for val, vio in violations: non_conformant = True msg_args_map = self.query_helper.param_bind_map.copy() msg_args_map.update({"this": f, "value": val}) if self.shape.is_property_shape: msg_args_map['path'] = self.shape.path() self.query_helper.bind_messages(msg_args_map) bound_messages = self.query_helper.bound_messages # The DASH test suite likes _no_ value entry in the report if we're on a Property Shape. report_val = val if not self.shape.is_property_shape else None if isinstance(vio, bool): if vio is False: # ASKValidator Result new_kwargs = rept_kwargs.copy() new_kwargs['extra_messages'].extend(bound_messages) rept = self.make_v_result(target_graph, f, value_node=report_val, **new_kwargs) else: # SELECTValidator Failure raise ValidationFailure("Validation Failure generated by SPARQLConstraint.") elif isinstance(vio, tuple): t, p, v = vio new_msg_args_map = msg_args_map.copy() if v is None: v = report_val else: new_msg_args_map['value'] = v if p is not None: new_msg_args_map['path'] = p if t is not None: new_msg_args_map['this'] = t self.query_helper.bind_messages(new_msg_args_map) new_bound_msgs = self.query_helper.bound_messages new_kwargs = rept_kwargs.copy() new_kwargs['extra_messages'].extend(new_bound_msgs) rept = self.make_v_result(target_graph, t or f, value_node=v, result_path=p, **new_kwargs) else: new_kwargs = rept_kwargs.copy() new_kwargs['extra_messages'].extend(bound_messages) rept = self.make_v_result(target_graph, f, value_node=report_val, **new_kwargs) reports.append(rept) return (not non_conformant), reports class SPARQLConstraintComponentValidator(object): validator_cache: Dict[Tuple[int, str], Union['SelectConstraintValidator', 'AskConstraintValidator']] = {} def __new__(cls, shacl_graph: 'ShapesGraph', node, *args, **kwargs): cache_key = (id(shacl_graph.graph), str(node)) found_in_cache = cls.validator_cache.get(cache_key, False) if found_in_cache: return found_in_cache sg = shacl_graph.graph type_vals = set(sg.objects(node, RDF_type)) validator_type: Union[Type[SelectConstraintValidator], Type[AskConstraintValidator], None] = None if len(type_vals) > 0: if SH_SPARQLSelectValidator in type_vals: validator_type = SelectConstraintValidator elif SH_SPARQLAskValidator in type_vals: validator_type = AskConstraintValidator if not validator_type: sel_nodes = set(sg.objects(node, SH_select)) if len(sel_nodes) > 0: # TODO:coverage: No test for this case validator_type = SelectConstraintValidator if not validator_type: ask_nodes = set(sg.objects(node, SH_ask)) if len(ask_nodes) > 0: validator_type = AskConstraintValidator if not validator_type: # TODO:coverage: No test for this case raise ConstraintLoadError( "Validator must be of type sh:SPARQLSelectValidator or sh:SPARQLAskValidator and must have either a sh:select or a sh:ask predicate.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) validator = validator_type(shacl_graph, node, *args, **kwargs) cls.validator_cache[cache_key] = validator return validator def apply_to_shape_via_constraint(self, constraint, shape, **kwargs) -> BoundShapeValidatorComponent: """ Create a new Custom Constraint (BoundShapeValidatorComponent) :param constraint: :type constraint: SPARQLConstraintComponent :param shape: :type shape: pyshacl.shape.Shape :param kwargs: :return: """ must_be_ask_val = kwargs.pop('must_be_ask_val', False) if must_be_ask_val and not (isinstance(self, AskConstraintValidator)): # TODO:coverage: No test for this case, do we need to test this? raise ConstraintLoadError( "Validator not for NodeShape or a PropertyShape must be of type SPARQLAskValidator.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) must_be_select_val = kwargs.pop('must_be_select_val', False) if must_be_select_val and not (isinstance(self, SelectConstraintValidator)): # TODO:coverage: No test for this case, do we need to test this? raise ConstraintLoadError( "Validator for a NodeShape or a PropertyShape must be of type SPARQLSelectValidator.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) return BoundShapeValidatorComponent(constraint, shape, self) def __init__(self, shacl_graph: 'ShapesGraph', node, **kwargs): initialised = getattr(self, 'initialised', False) if initialised: return self.shacl_graph = shacl_graph self.node = node sg = shacl_graph.graph message_nodes = set(sg.objects(node, SH_message)) for m in message_nodes: if not (isinstance(m, rdflib.Literal) and isinstance(m.value, str)): # TODO:coverage: No test for when SPARQL-based constraint is RDF Literal is is not of type string raise ConstraintLoadError( "Validator sh:message must be an RDF Literal of type xsd:string.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) self.messages = message_nodes self.initialised = True def make_messages(self, params_map=None): if params_map is None: return self.messages ret_msgs = [] for m in self.messages: this_m = m.value[:] for a, v in params_map.items(): replace_me = "{$" + str(a) + "}" if isinstance(v, rdflib.Literal): v = v.value this_m = this_m.replace(replace_me, str(v)) ret_msgs.append(rdflib.Literal(this_m)) return ret_msgs class AskConstraintValidator(SPARQLConstraintComponentValidator): def __new__(cls, shacl_graph: 'ShapesGraph', node, *args, **kwargs): return object.__new__(cls) def __init__(self, shacl_graph: 'ShapesGraph', node, *args, **kwargs): super(AskConstraintValidator, self).__init__(shacl_graph, node, **kwargs) g = shacl_graph.graph ask_vals = set(g.objects(node, SH_ask)) if len(ask_vals) < 1 or len(ask_vals) > 1: # TODO:coverage: No test for this case raise ConstraintLoadError( "AskValidator must have exactly one value for sh:ask.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) ask_val = next(iter(ask_vals)) if not (isinstance(ask_val, rdflib.Literal) and isinstance(ask_val.value, str)): # TODO:coverage: No test for this case raise ConstraintLoadError( "AskValidator sh:ask must be an RDF Literal of type xsd:string.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) self.query_text = ask_val.value def validate( self, executor: SHACLExecutor, focus, value_nodes, target_graph, query_helper=None, new_bind_vals=None ): """ :param executor: :type executor: SHACLExecutor :param focus: :param value_nodes: :param query_helper: :param target_graph: :type target_graph: rdflib.Graph :param new_bind_vals: :return: """ param_bind_vals = query_helper.param_bind_map if query_helper else {} new_bind_vals = new_bind_vals or {} bind_vals = param_bind_vals.copy() bind_vals.update(new_bind_vals) violations = set() for v in value_nodes: if query_helper is None: # TODO:coverage: No test for this case when query_helper is None init_binds = {} sparql_text = self.query_text else: init_binds, sparql_text = query_helper.pre_bind_variables( focus, valuenode=v, extravars=bind_vals.keys() ) sparql_text = query_helper.apply_prefixes(sparql_text) init_binds.update(bind_vals) try: result = target_graph.query(sparql_text, initBindings=init_binds) answer = result.askAnswer except (KeyError, AttributeError): # TODO:coverage: Can this ever actually happen? raise ValidationFailure("ASK Query did not return an askAnswer.") if answer is False: violations.add((v, False)) return violations class SelectConstraintValidator(SPARQLConstraintComponentValidator): def __new__(cls, shacl_graph: 'ShapesGraph', node, *args, **kwargs): return object.__new__(cls) def __init__(self, shacl_graph: 'ShapesGraph', node, *args, **kwargs): super(SelectConstraintValidator, self).__init__(shacl_graph, node, **kwargs) g = shacl_graph.graph select_vals = set(g.objects(node, SH_select)) if len(select_vals) < 1 or len(select_vals) > 1: # TODO:coverage: No test for this case, do we need to test this? raise ConstraintLoadError( "SelectValidator must have exactly one value for sh:select.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) select_val = next(iter(select_vals)) if not (isinstance(select_val, rdflib.Literal) and isinstance(select_val.value, str)): # TODO:coverage: No test for the case when sh:select is not a literal of type string raise ConstraintLoadError( "SelectValidator sh:select must be an RDF Literal of type xsd:string.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) self.query_text = select_val.value def validate(self, executor, focus, value_nodes, target_graph, query_helper=None, new_bind_vals=None): """ :param executor: :type executor: SHACLExecutor :param focus: :param value_nodes: :param query_helper: :param target_graph: :type target_graph: rdflib.Graph :param new_bind_vals: :return: """ param_bind_vals = query_helper.param_bind_map if query_helper else {} new_bind_vals = new_bind_vals or {} bind_vals = param_bind_vals.copy() bind_vals.update(new_bind_vals) violations = set() for v in value_nodes: if query_helper is None: # TODO:coverage: No test for this case when query_helper is None init_binds = {} sparql_text = self.query_text else: init_binds, sparql_text = query_helper.pre_bind_variables( focus, valuenode=v, extravars=bind_vals.keys() ) sparql_text = query_helper.apply_prefixes(sparql_text) init_binds.update(bind_vals) results = target_graph.query(sparql_text, initBindings=init_binds) if not results or len(results.bindings) < 1: continue for r in results: try: p = r['path'] except KeyError: p = None try: v2 = r['value'] except KeyError: v2 = None try: t = r['this'] except KeyError: # TODO:coverage: No test for when result has no 'this' key t = None if p or v2 or t: violations.add((v, (t, p, v2))) else: # TODO:coverage: No test for generic failure, when # 'path' and 'value' and 'this' are not returned. # here 'failure' must exist try: f = r['failure'] if f is True or (isinstance(f, rdflib.Literal) and f.value): violations.add((v, True)) except KeyError: pass return violations class SPARQLConstraintComponent(CustomConstraintComponent): """ SPARQL-based constraints provide a lot of flexibility but may be hard to understand for some people or lead to repetition. This section introduces SPARQL-based constraint components as a way to abstract the complexity of SPARQL and to declare high-level reusable components similar to the Core constraint components. Such constraint components can be declared using the SHACL RDF vocabulary and thus shared and reused. Link: https://www.w3.org/TR/shacl/#sparql-constraint-components """ __slots__: Tuple = tuple() def __new__(cls, shacl_graph, node, parameters, validators, node_validators, property_validators): return super(SPARQLConstraintComponent, cls).__new__( cls, shacl_graph, node, parameters, validators, node_validators, property_validators ) @property def messages(self): # TODO: allow messages at this SPARQLConstraintComponent level return [] def make_validator_for_shape(self, shape: 'Shape'): """ :param shape: :type shape: Shape :return: """ val_count = len(self.validators) node_val_count = len(self.node_validators) prop_val_count = len(self.property_validators) must_be_select_val = False must_be_ask_val = False if shape.is_property_shape and prop_val_count > 0: validator_node = next(iter(self.property_validators)) must_be_select_val = True elif (not shape.is_property_shape) and node_val_count > 0: validator_node = next(iter(self.node_validators)) must_be_select_val = True elif val_count > 0: validator_node = next(iter(self.validators)) must_be_ask_val = True else: raise ConstraintLoadError( "Cannot select a validator to use, according to the rules.", "https://www.w3.org/TR/shacl/#constraint-components-validators", ) validator = SPARQLConstraintComponentValidator(self.sg, validator_node) applied_validator = validator.apply_to_shape_via_constraint( self, shape, must_be_ask_val=must_be_ask_val, must_be_select_val=must_be_select_val ) return applied_validator pyshacl-0.30.1/pyshacl/constraints/sparql/sparql_based_constraints.py0000644000000000000000000002050300000000000023102 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#sparql-constraints """ from typing import Dict, List import rdflib from rdflib import URIRef from pyshacl.constraints.constraint_component import ConstraintComponent from pyshacl.consts import SH, SH_deactivated, SH_message, SH_select from pyshacl.errors import ConstraintLoadError, ValidationFailure from pyshacl.helper import get_query_helper_cls from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.shape import Shape SH_sparql = SH.sparql SH_SPARQLConstraintComponent = SH.SPARQLConstraintComponent class SPARQLBasedConstraint(ConstraintComponent): """ SHACL-SPARQL supports a constraint component that can be used to express restrictions based on a SPARQL SELECT query. Link: https://www.w3.org/TR/shacl/#sparql-constraints """ shacl_constraint_component = SH_SPARQLConstraintComponent def __init__(self, shape: Shape) -> None: super(SPARQLBasedConstraint, self).__init__(shape) sg = self.shape.sg.graph sparql_node_list = set(self.shape.objects(SH_sparql)) if len(sparql_node_list) < 1: raise ConstraintLoadError( "SPARQLConstraintComponent must have at least one sh:sparql predicate.", "https://www.w3.org/TR/shacl/#SPARQLConstraintComponent", ) sparql_constraints = set() for s in iter(sparql_node_list): select_node_list = set(sg.objects(s, SH_select)) if len(select_node_list) < 1: raise ConstraintLoadError( "SPARQLConstraintComponent value for sh:select must have at least one sh:select predicate.", "https://www.w3.org/TR/shacl/#SPARQLConstraintComponent", ) elif len(select_node_list) > 1: raise ConstraintLoadError( "SPARQLConstraintComponent value for sh:select must have at most one sh:select predicate.", "https://www.w3.org/TR/shacl/#SPARQLConstraintComponent", ) select_node = next(iter(select_node_list)) if not (isinstance(select_node, rdflib.Literal) and isinstance(select_node.value, str)): raise ConstraintLoadError( "SPARQLConstraintComponent value for sh:select must be a Literal with type xsd:string.", "https://www.w3.org/TR/shacl/#SPARQLConstraintComponent", ) message_node_list = set(sg.objects(s, SH_message)) msgs = None if len(message_node_list) > 0: message = next(iter(message_node_list)) if not (isinstance(message, rdflib.Literal) and isinstance(message.value, str)): raise ConstraintLoadError( "SPARQLConstraintComponent value for sh:message must be a Literal with type xsd:string.", "https://www.w3.org/TR/shacl/#SPARQLConstraintComponent", ) msgs = message_node_list deactivated_node_list = set(sg.objects(s, SH_deactivated)) deact = False if len(deactivated_node_list) > 0: deactivated = next(iter(deactivated_node_list)) if not (isinstance(deactivated, rdflib.Literal) and isinstance(deactivated.value, bool)): raise ConstraintLoadError( "SPARQLConstraintComponent value for sh:deactivated must be a Literal with type xsd:boolean.", "https://www.w3.org/TR/shacl/#SPARQLConstraintComponent", ) deact = bool(deactivated.value) SPARQLQueryHelper = get_query_helper_cls() query_helper = SPARQLQueryHelper(self.shape, s, select_node.value, messages=msgs, deactivated=deact) query_helper.collect_prefixes() sparql_constraints.add(query_helper) self.sparql_constraints = sparql_constraints @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_sparql] @classmethod def constraint_name(cls) -> str: return "SPARQLConstraintComponent" def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for query_helper in self.sparql_constraints: if query_helper.deactivated: continue _nc, _r = self._evaluate_sparql_constraint(query_helper, target_graph, focus_value_nodes) non_conformant = non_conformant or _nc reports.extend(_r) return (not non_conformant), reports def _evaluate_sparql_constraint(self, sparql_constraint, target_graph, f_v_dict): reports = [] non_conformant = False extra_messages = sparql_constraint.messages or None rept_kwargs = {'source_constraint': sparql_constraint.node, 'extra_messages': extra_messages} for f, value_nodes in f_v_dict.items(): # we don't use value_nodes in the sparql constraint # All queries are done on the corresponding focus node. init_binds, sparql_text = sparql_constraint.pre_bind_variables(f) sparql_text = sparql_constraint.apply_prefixes(sparql_text) try: violating_vals = self._validate_sparql_query(sparql_text, init_binds, target_graph) except ValidationFailure as e: raise e if not self.shape.is_property_shape: result_val = f else: result_val = None for v in violating_vals: non_conformant = True if isinstance(v, bool) and v is True: rept = self.make_v_result(target_graph, f, value_node=result_val, **rept_kwargs) elif isinstance(v, tuple): if len(v) == 2: (_, vars_dict) = v rept = self.make_v_result( target_graph, f, value_node=result_val, bound_vars=vars_dict, **rept_kwargs ) elif len(v) == 4: (t, p, v, vars_dict) = v if v is None: v = result_val rept = self.make_v_result( target_graph, t or f, value_node=v, result_path=p, bound_vars=(t, p, v, vars_dict), **rept_kwargs, ) else: # len must equal 3 t, p, v = v if v is None: v = result_val rept = self.make_v_result( target_graph, t or f, value_node=v, result_path=p, bound_vars=(t, p, v), **rept_kwargs ) else: rept = self.make_v_result(target_graph, f, value_node=v, **rept_kwargs) reports.append(rept) return non_conformant, reports def _validate_sparql_query(self, query, init_binds, target_graph): results = target_graph.query(query, initBindings=init_binds) if not results or len(results.bindings) < 1: return [] violations = [] dedup_set = set() for r in results: var_dict: Dict = r.asdict() f = var_dict.pop('failure', None) if f is not None: if True in dedup_set: continue violations.append((True, var_dict)) dedup_set.add(True) else: p = var_dict.pop('path', None) v = var_dict.pop('value', None) t = var_dict.pop('this', None) if (p is not None) or (v is not None) or (t is not None): # Guard against duplicate results if (t, p, v, var_dict) in violations: continue violations.append((t, p, v, var_dict)) return violations pyshacl-0.30.1/pyshacl/consts.py0000644000000000000000000000675500000000000013470 0ustar00# -*- coding: utf-8 -*- from rdflib.namespace import XSD, Namespace RDF_PFX = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#' RDFS_PFX = 'http://www.w3.org/2000/01/rdf-schema#' OWL_PFX = 'http://www.w3.org/2002/07/owl#' SH_PFX = 'http://www.w3.org/ns/shacl#' RDF = Namespace(RDF_PFX) RDFS = Namespace(RDFS_PFX) OWL = Namespace(OWL_PFX) SH = Namespace(SH_PFX) XSD_WHOLE_INTEGERS = ( XSD.integer, XSD.int, XSD.long, XSD.negativeInteger, XSD.nonNegativeInteger, XSD.nonPositiveInteger, XSD.positiveInteger, XSD.short, XSD.unsignedByte, XSD.unsignedInt, XSD.unsignedLong, XSD.unsignedShort, ) # Classes RDF_Property = RDF.Property RDF_List = RDF.List RDFS_Resource = RDFS.Resource RDFS_Class = RDFS.Class OWL_Ontology = OWL.Ontology OWL_Class = OWL.Class OWL_DatatypeProperty = OWL.DatatypeProperty SH_NodeShape = SH.NodeShape SH_PropertyShape = SH.PropertyShape SH_ValidationResult = SH.ValidationResult SH_ValidationReport = SH.ValidationReport SH_Violation = SH.Violation SH_Info = SH.Info SH_Warning = SH.Warning SH_IRI = SH.IRI SH_BlankNode = SH.BlankNode SH_Literal = SH.Literal SH_BlankNodeOrIRI = SH.BlankNodeOrIRI SH_BlankNodeORLiteral = SH.BlankNodeOrLiteral SH_IRIOrLiteral = SH.IRIOrLiteral SH_ConstraintComponent = SH.ConstraintComponent SH_PropertyConstraintComponent = SH.PropertyConstraintComponent SH_NodeConstraintComponent = SH.NodeConstraintComponent SH_SHACLFunction = SH.SHACLFunction SH_SPARQLFunction = SH.SPARQLFunction SH_SPARQLRule = SH.SPARQLRule SH_TripleRule = SH.TripleRule SH_SPARQLTarget = SH.SPARQLTarget SH_SPARQLTargetType = SH.SPARQLTargetType SH_JSTarget = SH.JSTarget SH_JSTargetType = SH.JSTargetType SH_JSFunction = SH.JSFunction # predicates RDF_type = RDF.type RDF_first = RDF.first RDF_rest = RDF.rest RDF_object = RDF.object RDF_predicate = RDF.predicate RDF_subject = RDF.subject RDFS_subClassOf = RDFS.subClassOf RDFS_comment = RDFS.comment SH_path = SH.path SH_deactivated = SH.deactivated SH_message = SH.message SH_name = SH.name SH_description = SH.description SH_property = SH.property SH_node = SH.node SH_target = SH.target # from advanced spec SH_targetClass = SH.targetClass SH_targetNode = SH.targetNode SH_targetObjectsOf = SH.targetObjectsOf SH_targetSubjectsOf = SH.targetSubjectsOf SH_focusNode = SH.focusNode SH_resultSeverity = SH.resultSeverity SH_resultPath = SH.resultPath SH_resultMessage = SH.resultMessage SH_sourceConstraint = SH.sourceConstraint SH_sourceConstraintComponent = SH.sourceConstraintComponent SH_sourceShape = SH.sourceShape SH_severity = SH.severity SH_value = SH.value SH_conforms = SH.conforms SH_result = SH.result SH_inversePath = SH.inversePath SH_alternativePath = SH.alternativePath SH_zeroOrMorePath = SH.zeroOrMorePath SH_oneOrMorePath = SH.oneOrMorePath SH_zeroOrOnePath = SH.zeroOrOnePath SH_prefixes = SH.prefixes SH_prefix = SH.prefix SH_namespace = SH.namespace SH_rule = SH.rule SH_condition = SH.condition SH_order = SH.order SH_construct = SH.construct SH_subject = SH.subject SH_predicate = SH.predicate SH_object = SH.object SH_parameter = SH.parameter SH_ask = SH.ask SH_select = SH.select SH_this = SH.this SH_filterShape = SH.filterShape SH_nodes = SH.nodes SH_union = SH.union SH_intersection = SH.intersection SH_datatype = SH.datatype SH_nodeKind = SH.nodeKind SH_optional = SH.optional SH_js = SH.js SH_jsFunctionName = SH.jsFunctionName SH_jsLibrary = SH.jsLibrary SH_detail = SH.detail # For env var truth comparisons env_truths = ("t", "T", "y", "Y", "1", "True", "true", "TRUE", "yes", "YES", 1, True) pyshacl-0.30.1/pyshacl/entrypoints.py0000644000000000000000000003515400000000000014550 0ustar00import logging import os import sys from functools import wraps from io import BufferedIOBase, TextIOBase from sys import stderr from typing import List, Optional, Tuple, Union from rdflib import ConjunctiveGraph, Dataset, Graph, Literal, URIRef from pyshacl.errors import ReportableRuntimeError, ValidationFailure from pyshacl.pytypes import GraphLike from .consts import SH, RDF_type from .monkey import apply_patches, rdflib_bool_patch, rdflib_bool_unpatch from .rdfutil import load_from_source from .rule_expand_runner import RuleExpandRunner from .validator import Validator, assign_baked_in from .validator_conformance import check_dash_result def validate( data_graph: Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes], *args, shacl_graph: Optional[Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes]] = None, ont_graph: Optional[Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes]] = None, advanced: Optional[bool] = False, inference: Optional[str] = None, inplace: Optional[bool] = False, abort_on_first: Optional[bool] = False, allow_infos: Optional[bool] = False, allow_warnings: Optional[bool] = False, max_validation_depth: Optional[int] = None, sparql_mode: Optional[bool] = False, focus_nodes: Optional[List[Union[str, URIRef]]] = None, use_shapes: Optional[List[Union[str, URIRef]]] = None, **kwargs, ): """ :param data_graph: rdflib.Graph or file path or web url of the data to validate :type data_graph: rdflib.Graph | str | bytes :param args: :type args: list :param shacl_graph: rdflib.Graph or file path or web url of the SHACL Shapes graph to use to validate the data graph :type shacl_graph: rdflib.Graph | str | bytes :param ont_graph: rdflib.Graph or file path or web url of an extra ontology document to mix into the data graph :type ont_graph: rdflib.Graph | str | bytes :param advanced: Enable advanced SHACL features, default=False :type advanced: bool | None :param inference: One of "rdfs", "owlrl", "both", "none", or None :type inference: str | None :param inplace: If this is enabled, do not clone the datagraph, manipulate it in-place :type inplace: bool :param abort_on_first: Stop evaluating constraints after first violation is found :type abort_on_first: bool | None :param allow_infos: Shapes marked with severity of sh:Info will not cause result to be invalid. :type allow_infos: bool | None :param allow_warnings: Shapes marked with severity of sh:Warning or sh:Info will not cause result to be invalid. :type allow_warnings: bool | None :param max_validation_depth: The maximum number of SHACL shapes "deep" that the validator can go before reaching an "endpoint" constraint. :type max_validation_depth: int | None :param sparql_mode: Treat the DataGraph as a SPARQL endpoint, validate the graph at the SPARQL endpoint. :type sparql_mode: bool | None :param focus_nodes: A list of IRIs to validate only those nodes. :type focus_nodes: list | None :param use_shapes: A list of IRIs to use only those shapes from the SHACL ShapesGraph. :type use_shapes: list | None :param kwargs: :return: """ do_debug = kwargs.get('debug', False) log = make_default_logger(name="pyshacl-validate", debug=do_debug) apply_patches() assign_baked_in() do_check_dash_result = kwargs.pop('check_dash_result', False) # type: bool if kwargs.get('meta_shacl', False): to_meta_val = shacl_graph or data_graph conforms, v_r, v_t = meta_validate(to_meta_val, inference=inference, **kwargs) if not conforms: msg = f"SHACL File does not validate against the SHACL Shapes SHACL (MetaSHACL) file.\n{v_t}" log.error(msg) raise ReportableRuntimeError(msg) do_owl_imports = kwargs.pop('do_owl_imports', False) data_graph_format = kwargs.pop('data_graph_format', None) if isinstance(data_graph, (str, bytes, BufferedIOBase, TextIOBase)): # DataGraph is passed in as Text. It is not an rdflib.Graph # That means we load it into an ephemeral graph at runtime # that means we don't need to make a copy to prevent polluting it. ephemeral = True else: ephemeral = False use_js = kwargs.pop('js', None) if sparql_mode: if use_js: raise ReportableRuntimeError("Cannot use SHACL-JS in SPARQL Remote Graph Mode.") if inplace: raise ReportableRuntimeError("Cannot use inplace mode in SPARQL Remote Graph Mode.") if ont_graph is not None: raise ReportableRuntimeError("Cannot use SPARQL Remote Graph Mode with extra Ontology Graph inoculation.") if isinstance(data_graph, bytes): data_graph = data_graph.decode('utf-8') else: data_graph = data_graph ephemeral = False inplace = True if ( sparql_mode and isinstance(data_graph, str) and (data_graph.lower().startswith("http:") or data_graph.lower().startswith("https:")) ): from rdflib.plugins.stores.sparqlstore import SPARQLStore query_endpoint: str = data_graph username = os.getenv("PYSHACL_SPARQL_USERNAME", "") method = os.getenv("PYSHACL_SPARQL_METHOD", "GET") auth: Optional[Tuple[str, str]] if username: password: str = os.getenv("PYSHACL_SPARQL_PASSWORD", "") auth = (username, password) else: auth = None store = SPARQLStore(query_endpoint=query_endpoint, auth=auth, method=method) loaded_dg = Dataset(store=store, default_union=True) else: # force no owl imports on data_graph loaded_dg = load_from_source( data_graph, rdf_format=data_graph_format, multigraph=True, do_owl_imports=False, logger=log ) ont_graph_format = kwargs.pop('ont_graph_format', None) if ont_graph is not None: loaded_og = load_from_source( ont_graph, rdf_format=ont_graph_format, multigraph=True, do_owl_imports=do_owl_imports, logger=log ) else: loaded_og = None shacl_graph_format = kwargs.pop('shacl_graph_format', None) if shacl_graph is not None: rdflib_bool_patch() loaded_sg = load_from_source( shacl_graph, rdf_format=shacl_graph_format, multigraph=True, do_owl_imports=do_owl_imports, logger=log ) rdflib_bool_unpatch() else: loaded_sg = None iterate_rules = kwargs.pop('iterate_rules', False) if "abort_on_error" in kwargs: log.warning("Usage of abort_on_error is deprecated. Use abort_on_first instead.") ae = kwargs.pop("abort_on_error") abort_on_first = bool(abort_on_first) or bool(ae) validator_options_dict = { 'debug': do_debug or False, 'inference': inference, 'inplace': inplace or ephemeral, 'abort_on_first': abort_on_first, 'allow_infos': allow_infos, 'allow_warnings': allow_warnings, 'advanced': advanced, 'iterate_rules': iterate_rules, 'use_js': use_js, 'sparql_mode': sparql_mode, 'logger': log, 'focus_nodes': focus_nodes, 'use_shapes': use_shapes, } if max_validation_depth is not None: validator_options_dict['max_validation_depth'] = max_validation_depth validator = None try: validator = Validator( loaded_dg, shacl_graph=loaded_sg, ont_graph=loaded_og, options=validator_options_dict, ) conforms, report_graph, report_text = validator.run() except ValidationFailure as e: conforms = False report_graph = e report_text = "Validation Failure - {}".format(e.message) if do_check_dash_result and validator is not None: passes = check_dash_result(validator, report_graph, loaded_sg or loaded_dg) return passes, report_graph, report_text do_serialize_report_graph = kwargs.pop('serialize_report_graph', False) if do_serialize_report_graph and isinstance(report_graph, Graph): if not (isinstance(do_serialize_report_graph, str)): do_serialize_report_graph = 'turtle' report_graph = report_graph.serialize(None, encoding='utf-8', format=do_serialize_report_graph) return conforms, report_graph, report_text def with_metashacl_shacl_graph_cache(f): # noinspection PyPep8Naming EMPTY = object() @wraps(f) def wrapped(*args, **kwargs): graph_cache = getattr(wrapped, "graph_cache", None) assert graph_cache is not None if graph_cache is EMPTY: import pickle if getattr(sys, 'frozen', False): # runs in a pyinstaller bundle here_dir = sys._MEIPASS else: here_dir = os.path.dirname(__file__) pickle_file = os.path.join(here_dir, "assets", "shacl-shacl.pickle") with open(pickle_file, 'rb') as shacl_pickle: u = pickle.Unpickler(shacl_pickle, fix_imports=False) shacl_shacl_store, identifier = u.load() shacl_shacl_graph = Graph(store=shacl_shacl_store, identifier=identifier) setattr(wrapped, "graph_cache", shacl_shacl_graph) return f(*args, **kwargs) setattr(wrapped, "graph_cache", EMPTY) return wrapped @with_metashacl_shacl_graph_cache def meta_validate(shacl_graph: Union[GraphLike, str], inference: Optional[str] = 'rdfs', **kwargs): shacl_shacl_graph = meta_validate.graph_cache shacl_graph = load_from_source(shacl_graph, rdf_format=kwargs.pop('shacl_graph_format', None), multigraph=True) _ = kwargs.pop('meta_shacl', None) return validate(shacl_graph, shacl_graph=shacl_shacl_graph, inference=inference, **kwargs) def make_default_logger( name: Union[str, None] = None, debug: bool = False, clear_handlers: bool = True ) -> logging.Logger: log_handler = logging.StreamHandler(stderr) log = logging.getLogger(name) if clear_handlers: for h in log.handlers: log.removeHandler(h) # pragma:no cover log.addHandler(log_handler) log.setLevel(logging.INFO if not debug else logging.DEBUG) log_handler.setLevel(logging.INFO if not debug else logging.DEBUG) return log def shacl_rules( data_graph: Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes], *args, shacl_graph: Optional[Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes]] = None, ont_graph: Optional[Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes]] = None, inference: Optional[str] = None, inplace: Optional[bool] = False, focus_nodes: Optional[List[Union[str, URIRef]]] = None, use_shapes: Optional[List[Union[str, URIRef]]] = None, **kwargs, ) -> Union[str, GraphLike]: """ :param data_graph: rdflib.Graph or file path or web url of the data to validate :type data_graph: rdflib.Graph | str | bytes :param args: :type args: list :param shacl_graph: rdflib.Graph or file path or web url of the SHACL Shapes graph to use to validate the data graph :type shacl_graph: rdflib.Graph | str | bytes :param ont_graph: rdflib.Graph or file path or web url of an extra ontology document to mix into the data graph :type ont_graph: rdflib.Graph | str | bytes :param inference: One of "rdfs", "owlrl", "both", "none", or None :type inference: str | None :param inplace: If this is enabled, do not clone the datagraph, manipulate it in-place :type inplace: bool :param focus_nodes: A list of IRIs to validate only those nodes. :type focus_nodes: list | None :param use_shapes: A list of IRIs to use only those shapes from the SHACL ShapesGraph. :type use_shapes: list | None :param kwargs: :return: """ do_debug = kwargs.get('debug', False) log = make_default_logger(name="pyshacl-rules", debug=do_debug) apply_patches() assign_baked_in() do_owl_imports = kwargs.pop('do_owl_imports', False) data_graph_format = kwargs.pop('data_graph_format', None) if kwargs.get('sparql_mode', None): raise ReportableRuntimeError("The SHACL Rules expander cannot be used in SPARQL Remote Graph Mode.") if isinstance(data_graph, (str, bytes, BufferedIOBase, TextIOBase)): # DataGraph is passed in as Text. It is not a rdflib.Graph # That means we load it into an ephemeral graph at runtime # that means we don't need to make a copy to prevent polluting it. ephemeral = True else: ephemeral = False use_js = kwargs.pop('js', None) # force no owl imports on data_graph loaded_dg = load_from_source( data_graph, rdf_format=data_graph_format, multigraph=True, do_owl_imports=False, logger=log ) ont_graph_format = kwargs.pop('ont_graph_format', None) if ont_graph is not None: loaded_og = load_from_source( ont_graph, rdf_format=ont_graph_format, multigraph=True, do_owl_imports=do_owl_imports, logger=log ) else: loaded_og = None shacl_graph_format = kwargs.pop('shacl_graph_format', None) if shacl_graph is not None: rdflib_bool_patch() loaded_sg = load_from_source( shacl_graph, rdf_format=shacl_graph_format, multigraph=True, do_owl_imports=do_owl_imports, logger=log ) rdflib_bool_unpatch() else: loaded_sg = None iterate_rules = kwargs.pop('iterate_rules', False) runner_options_dict = { 'debug': do_debug or False, 'inference': inference, 'inplace': inplace or ephemeral, 'iterate_rules': iterate_rules, 'use_js': use_js, 'logger': log, 'focus_nodes': focus_nodes, 'use_shapes': use_shapes, } serialize_expanded_graph = kwargs.get('serialize_expanded_graph', None) try: runner = RuleExpandRunner( loaded_dg, shacl_graph=loaded_sg, ont_graph=loaded_og, options=runner_options_dict, ) expanded_graph = runner.run() except ValidationFailure as e: error = "SHACL Rules Expansion Failure - {}".format(e.message) if serialize_expanded_graph: return error else: g = Graph() g.add((URIRef(""), RDF_type, SH.ValidationFailure)) g.add((URIRef(""), SH.message, Literal(error))) return g if serialize_expanded_graph: guess_format = "trig" if isinstance(expanded_graph, (Dataset, ConjunctiveGraph)) else "turtle" serialize_format = kwargs.get('serialize_expanded_graph_format', guess_format) return expanded_graph.serialize(format=serialize_format) return expanded_graph pyshacl-0.30.1/pyshacl/errors.py0000644000000000000000000000726400000000000013467 0ustar00# -*- coding: utf-8 -*- class ReportableRuntimeError(RuntimeError): def __init__(self, message: str) -> None: self.message = message @property def args(self): return [self.message] def __str__(self): return str(self.message) def __repr__(self): return "ReportableRuntimeError: {}".format(self.__str__()) class ShapeLoadError(ReportableRuntimeError): def __init__(self, message, link): self.message = message self.link = link @property def args(self): return [self.message, self.link] def __str__(self): return "{}\nFor reference, see {}".format(str(self.message), str(self.link)) def __repr__(self): return "ShapeLoadError: {}".format(self.__str__()) class RuleLoadError(ReportableRuntimeError): def __init__(self, message, link): self.message = message self.link = link @property def args(self): return [self.message, self.link] def __str__(self): return "{}\nFor reference, see {}".format(str(self.message), str(self.link)) def __repr__(self): return "RuleLoadError: {}".format(self.__str__()) class ValidationFailure(ReportableRuntimeError): """ https://www.w3.org/TR/shacl/#failures Validation and conformance checking can result in a failure. For example, a particular SHACL processor might allow recursive shapes but report a failure if it detects a loop within the data. Failures can also be reported due to resource exhaustion. Failures are signalled through implementation-specific channels. """ def __init__(self, message): self.message = message @property def args(self): return [self.message] def __str__(self): return str(self.message) def __repr__(self): return "ValidationFailure: {}".format(self.__str__()) class ValidationWarning(RuntimeWarning): def __init__(self, message, link): super(ValidationWarning, self).__init__() self.message = message self.link = link @property def args(self): return [self.message, self.link] def __str__(self): return "{}\nFor reference, see {}".format(str(self.message), str(self.link)) def __repr__(self): return "{}: {}".format(str(self.__class__), self.__str__()) class ShapeRecursionWarning(ValidationWarning): def __init__(self, evaluation_path): length = len(evaluation_path) r_string = "->".join(str(e) for e in evaluation_path) message = ( "Warning, A Recursive Shape was detected executing a recursive validation sequence " "{} levels deep. Backing out.\n{}".format(length, r_string) ) link = "https://www.w3.org/TR/shacl/#shapes-recursion" super(ShapeRecursionWarning, self).__init__(message, link) class ConstraintLoadError(ReportableRuntimeError): def __init__(self, message, link): self.message = message self.link = link @property def args(self): return [self.message, self.link] def __str__(self): return "{}\nFor reference, see {}".format(str(self.message), str(self.link)) def __repr__(self): return "ConstraintLoadError: {}".format(self.__str__()) class ConstraintLoadWarning(RuntimeWarning): def __init__(self, message, link): super(ConstraintLoadWarning, self).__init__() self.message = message self.link = link @property def args(self): return [self.message, self.link] def __str__(self): return "{}\nFor reference, see {}".format(str(self.message), str(self.link)) def __repr__(self): return "ConstraintLoadWarning: {}".format(self.__str__()) pyshacl-0.30.1/pyshacl/extras/__init__.py0000644000000000000000000000322300000000000015207 0ustar00# -*- coding: utf-8 -*- # import sys from functools import lru_cache from warnings import warn if sys.version_info[:2] < (3, 12): from importlib_metadata import PackageNotFoundError, metadata else: from importlib.metadata import PackageNotFoundError, metadata # In dev mode, the extras-loader doesn't check if extension is installed before loading it. # This is useful when testing, when we're working on a codebase of a library that is not yet installed. dev_mode = False extras_requirements = {"js": ["pyduktape2"], "http": ["sanic", "sanic-ext", "sanic-cors"]} @lru_cache() def check_extra_installed(extra_name: str): if dev_mode: return True # first check if pyshacl is installed using the normal means try: this_mdata = metadata('pyshacl') except PackageNotFoundError: # Hmm, it thinks pyshacl isn't installed. Can't even check for extras return None try: has_extras = this_mdata.json['provides_extra'] except LookupError: # Can't check metadata for extras for some reason? return None if extra_name not in has_extras: warn(Warning(f"Extra \"{extra_name}\" doesn't exist in this version of pyshacl.")) return False if extra_name not in extras_requirements: warn(Warning(f"Extra \"{extra_name}\" cannot be checked in this version of pyshacl.")) all_reqs = extras_requirements[extra_name] for req in all_reqs: try: _ = metadata(req) except PackageNotFoundError: warn(Warning(f"Extra \"{extra_name}\" is not satisfied because requirement {req} is not installed.")) return False return True pyshacl-0.30.1/pyshacl/extras/js/__init__.py0000644000000000000000000000014200000000000015620 0ustar00# -*- coding: utf-8 -*- # from .loader import load_into_context __all__ = ['load_into_context'] pyshacl-0.30.1/pyshacl/extras/js/constraint.py0000644000000000000000000001404600000000000016255 0ustar00# # import typing from typing import Dict, List from rdflib import Literal, URIRef from pyshacl.constraints import ConstraintComponent from pyshacl.consts import SH, SH_js, SH_message from pyshacl.errors import ConstraintLoadError from pyshacl.pytypes import GraphLike, SHACLExecutor from .js_executable import JSExecutable if typing.TYPE_CHECKING: from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph SH_JSConstraint = SH.JSConstraint SH_JSConstraintComponent = SH.JSConstraintComponent class JSConstraintImpl(JSExecutable): __slots__ = ("messages",) def __init__(self, shapes_graph: 'ShapesGraph', node): super(JSConstraintImpl, self).__init__(shapes_graph, node) msgs_iter = shapes_graph.objects(node, SH_message) self.messages = [] for m in msgs_iter: if not isinstance(m, Literal): raise ConstraintLoadError( "JSConstraint sh:message must be a RDF Literal.", "https://www.w3.org/TR/shacl-js/#js-constraints", ) if not isinstance(m.value, str): raise ConstraintLoadError( "JSConstraint sh:message must be a RDF Literal with type string.", "https://www.w3.org/TR/shacl-js/#js-constraints", ) self.messages.append(m) def make_messages(self, args_map=None): if args_map is None: return self.messages ret_msgs = [] for m in self.messages: this_m = m.value[:] for a, v in args_map.items(): replace_me = "{$" + str(a) + "}" if isinstance(v, Literal): v = v.value this_m = this_m.replace(replace_me, str(v)) ret_msgs.append(Literal(this_m)) return ret_msgs class JSConstraint(ConstraintComponent): shacl_constraint_component = SH_JSConstraint def __init__(self, shape: 'Shape'): super(JSConstraint, self).__init__(shape) js_decls = list(self.shape.objects(SH_js)) if len(js_decls) < 1: raise ConstraintLoadError( "JSConstraint must have at least one sh:js predicate.", "https://www.w3.org/TR/shacl-js/#js-constraints", ) self.js_impls = [JSConstraintImpl(shape.sg, j) for j in js_decls] @classmethod def constraint_parameters(cls) -> List[URIRef]: return [SH_js] @classmethod def constraint_name(cls) -> str: return "JSConstraint" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: return [Literal("Javascript Function generated constraint validation reports.")] def evaluate( self, executor: SHACLExecutor, data_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type data_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False for c in self.js_impls: _n, _r = self._evaluate_js_exe(data_graph, focus_value_nodes, c) non_conformant = non_conformant or _n reports.extend(_r) return (not non_conformant), reports def _evaluate_js_exe(self, data_graph, f_v_dict, js_impl: JSConstraintImpl): reports = [] non_conformant = False for f, value_nodes in f_v_dict.items(): for v in value_nodes: failed = False try: args_map = {'this': f, 'value': v} if self.shape.is_property_shape: args_map['path'] = self.shape.path() res_dict = js_impl.execute(data_graph, args_map) result = res_dict['_result'] if result is True: continue msgs = js_impl.make_messages(args_map) if isinstance(result, list): pass else: result = [result] for res in result: if isinstance(res, Literal): res = res.value if isinstance(res, bool): if res: continue else: failed = True reports.append(self.make_v_result(data_graph, f, value_node=v, extra_messages=msgs)) elif isinstance(res, str): failed = True msgs.append(Literal(res)) reports.append(self.make_v_result(data_graph, f, value_node=v, extra_messages=msgs)) elif isinstance(res, dict): failed = True args_map2 = args_map.copy() val = res.get('value', None) if val is None: val = v args_map2['value'] = val path = res.get('path', None) if not self.shape.is_property_shape else None if path is not None: args_map2['value'] = path msgs = js_impl.make_messages(args_map2) message = res.get('message', None) if message is not None: msgs.append(Literal(message)) reports.append( self.make_v_result( data_graph, f, value_node=val, result_path=path, extra_messages=msgs ) ) except Exception as e: print(e) raise if failed: non_conformant = True return non_conformant, reports pyshacl-0.30.1/pyshacl/extras/js/constraint_component.py0000644000000000000000000003210700000000000020335 0ustar00# # import typing from typing import Any, Dict, List, Tuple, Union from rdflib import Literal, URIRef from pyshacl.constraints import ConstraintComponent from pyshacl.constraints.constraint_component import CustomConstraintComponent from pyshacl.consts import SH, SH_ConstraintComponent, SH_message from pyshacl.errors import ConstraintLoadError, ReportableRuntimeError, ValidationFailure from pyshacl.pytypes import GraphLike, SHACLExecutor from .js_executable import JSExecutable if typing.TYPE_CHECKING: from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph SH_JSConstraint = SH.JSConstraint SH_JSConstraintComponent = SH.JSConstraintComponent class BoundShapeJSValidatorComponent(ConstraintComponent): invalid_parameter_names = {'this', 'shapesGraph', 'currentShape', 'path', 'PATH', 'value'} shacl_constraint_component = SH_ConstraintComponent def __init__(self, constraint, shape: 'Shape', validator): """ Create a new custom constraint, by applying a ConstraintComponent and a Validator to a Shape :param constraint: The source ConstraintComponent, this is needed to bind the parameters in the query_helper :type constraint: SPARQLConstraintComponent :param shape: :type shape: Shape :param validator: :type validator: AskConstraintValidator | SelectConstraintValidator """ super(BoundShapeJSValidatorComponent, self).__init__(shape) self.constraint = constraint self.validator = validator self.param_bind_map: Dict[str, Any] = {} self.messages: List[Any] = [] self.bind_params() def bind_params(self): bind_map = {} shape = self.shape for p in self.constraint.parameters: name = p.localname if name in self.invalid_parameter_names: # TODO:coverage: No test for this case raise ReportableRuntimeError("Parameter name {} cannot be used.".format(name)) shape_params = set(shape.objects(p.path())) if len(shape_params) < 1: if not p.optional: # TODO:coverage: No test for this case raise ReportableRuntimeError("Shape does not have mandatory parameter {}.".format(str(p.path()))) continue # TODO: Can shapes have more than one value for the predicate? # Just use one for now. # TODO: Check for sh:class and sh:nodeKind on the found param value bind_map[name] = next(iter(shape_params)) self.param_bind_map = bind_map @classmethod def constraint_parameters(cls) -> List[URIRef]: # TODO:coverage: this is never used for this constraint? return [] @classmethod def constraint_name(cls) -> str: return "ConstraintComponent" def make_generic_messages(self, datagraph: GraphLike, focus_node, value_node) -> List[Literal]: return [Literal("Parameterised Javascript Function generated constraint validation reports.")] def evaluate( self, executor: SHACLExecutor, data_graph: GraphLike, focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type data_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ reports = [] non_conformant = False extra_messages = self.messages or [] rept_kwargs = { 'constraint_component': self.constraint.node, 'extra_messages': extra_messages, } for f, value_nodes in focus_value_nodes.items(): try: p = self.shape.path() results = self.validator.validate(f, value_nodes, p, data_graph, self.param_bind_map) except ValidationFailure as e: raise e for v, result in results: if result is True: continue args_map = self.param_bind_map.copy() args_map.update({"this": f, "value": v}) if self.shape.is_property_shape: args_map['path'] = self.shape.path() bound_messages = self.validator.make_messages(args_map) failed = False if isinstance(result, list): pass else: result = [result] for res in result: if isinstance(res, Literal): res = res.value if isinstance(res, bool): if res: continue else: failed = True new_kwargs = rept_kwargs.copy() new_kwargs['extra_messages'].extend(bound_messages) reports.append(self.make_v_result(data_graph, f, value_node=v, **new_kwargs)) elif isinstance(res, str): failed = True m = Literal(res) new_kwargs = rept_kwargs.copy() new_kwargs['extra_messages'].append(m) new_kwargs['extra_messages'].extend(bound_messages) reports.append(self.make_v_result(data_graph, f, value_node=v, **new_kwargs)) elif isinstance(res, dict): failed = True args_map2 = args_map.copy() val = res.get('value', None) if val is None: val = v args_map2['value'] = val path = res.get('path', None) if not self.shape.is_property_shape else None if path is not None: args_map2['value'] = path msgs = self.validator.make_messages(args_map2) message = res.get('message', None) if message is not None: msgs.append(Literal(message)) new_kwargs = rept_kwargs.copy() new_kwargs['extra_messages'].extend(msgs) reports.append( self.make_v_result(data_graph, f, value_node=val, result_path=path, **new_kwargs) ) if failed: non_conformant = True return (not non_conformant), reports class JSConstraintComponent(CustomConstraintComponent): """ SPARQL-based constraints provide a lot of flexibility but may be hard to understand for some people or lead to repetition. This section introduces SPARQL-based constraint components as a way to abstract the complexity of SPARQL and to declare high-level reusable components similar to the Core constraint components. Such constraint components can be declared using the SHACL RDF vocabulary and thus shared and reused. Link: https://www.w3.org/TR/shacl-js/#js-components """ __slots__: Tuple = tuple() def __new__(cls, shacl_graph, node, parameters, validators, node_validators, property_validators): return super(JSConstraintComponent, cls).__new__( cls, shacl_graph, node, parameters, validators, node_validators, property_validators ) def make_validator_for_shape(self, shape: 'Shape'): """ :param shape: :type shape: Shape :return: """ val_count = len(self.validators) node_val_count = len(self.node_validators) prop_val_count = len(self.property_validators) is_property_val = False if shape.is_property_shape and prop_val_count > 0: validator_node = next(iter(self.property_validators)) is_property_val = True elif (not shape.is_property_shape) and node_val_count > 0: validator_node = next(iter(self.node_validators)) elif val_count > 0: validator_node = next(iter(self.validators)) else: raise ConstraintLoadError( "Cannot select a validator to use, according to the rules.", "https://www.w3.org/TR/shacl/#constraint-components-validators", ) if is_property_val: validator: Union[JSConstraintComponentValidator, JSConstraintComponentPathValidator] = ( JSConstraintComponentPathValidator(self.sg, validator_node) ) else: validator = JSConstraintComponentValidator(self.sg, validator_node) applied_validator = validator.apply_to_shape_via_constraint(self, shape) return applied_validator class JSConstraintComponentValidator(JSExecutable): __slots__ = ("messages", "initialised") validator_cache: Dict[Tuple[int, str], 'JSConstraintComponentValidator'] = {} def __new__(cls, shacl_graph: 'ShapesGraph', node, *args, **kwargs): cache_key = (id(shacl_graph.graph), str(node)) found_in_cache = cls.validator_cache.get(cache_key, False) if found_in_cache: return found_in_cache self = super(JSConstraintComponentValidator, cls).__new__(cls, shacl_graph, node) cls.validator_cache[cache_key] = self return self def __init__(self, shacl_graph: 'ShapesGraph', node, *args, **kwargs): initialised = getattr(self, 'initialised', False) if initialised: return super(JSConstraintComponentValidator, self).__init__(shacl_graph, node) sg = shacl_graph.graph message_nodes = set(sg.objects(node, SH_message)) for m in message_nodes: if not (isinstance(m, Literal) and isinstance(m.value, str)): # TODO:coverage: No test for when SPARQL-based constraint is RDF Literal is is not of type string raise ConstraintLoadError( "Validator sh:message must be an RDF Literal of type xsd:string.", "https://www.w3.org/TR/shacl/#ConstraintComponent", ) self.messages = message_nodes self.initialised = True def make_messages(self, args_map=None): if args_map is None: return self.messages ret_msgs = [] for m in self.messages: this_m = m.value[:] for a, v in args_map.items(): replace_me = "{$" + str(a) + "}" if isinstance(v, Literal): v = v.value this_m = this_m.replace(replace_me, str(v)) ret_msgs.append(Literal(this_m)) return ret_msgs def validate(self, f, value_nodes, path, data_graph, param_bind_vals, new_bind_vals=None): """ :param f: :param value_nodes: :param path: :param data_graph: :type data_graph: rdflib.Graph :param new_bind_vals: :return: """ new_bind_vals = new_bind_vals or {} bind_vals = param_bind_vals.copy() bind_vals.update(new_bind_vals) results = [] for v in value_nodes: args_map = bind_vals.copy() args_map.update({'this': f, 'value': v}) try: result_dict = self.execute(data_graph, args_map) results.append((v, result_dict['_result'])) except Exception as e: print(e) raise return results def apply_to_shape_via_constraint(self, constraint, shape, **kwargs) -> BoundShapeJSValidatorComponent: """ Create a new Custom Constraint (BoundShapeValidatorComponent) :param constraint: :type constraint: JSConstraintComponent :param shape: :type shape: pyshacl.shape.Shape :param kwargs: :return: :rtype: BoundShapeJSValidatorComponent """ return BoundShapeJSValidatorComponent(constraint, shape, self) class JSConstraintComponentPathValidator(JSConstraintComponentValidator): path_validator_cache: Dict[Tuple[int, str], 'JSConstraintComponentPathValidator'] = {} def __new__(cls, shacl_graph: 'ShapesGraph', node, *args, **kwargs): cache_key = (id(shacl_graph.graph), str(node)) found_in_cache = cls.path_validator_cache.get(cache_key, False) if found_in_cache: return found_in_cache self = super(JSConstraintComponentPathValidator, cls).__new__(cls, shacl_graph, node) cls.path_validator_cache[cache_key] = self return self def validate(self, f, value_nodes, path, data_graph, param_bind_vals, new_bind_vals=None): """ :param f: :param value_nodes: :param path: :param data_graph: :type data_graph: rdflib.Graph :param new_bind_vals: :return: """ new_bind_vals = new_bind_vals or {} args_map = param_bind_vals.copy() args_map.update(new_bind_vals) args_map.update({'this': f, 'path': path}) results = [] try: result_dict = self.execute(data_graph, args_map) results.append((f, result_dict['_result'])) except Exception as e: print(e) raise return results pyshacl-0.30.1/pyshacl/extras/js/context.py0000644000000000000000000005446100000000000015562 0ustar00import pprint from decimal import Decimal from typing import Union import pyduktape2 from pyduktape2 import JSProxy from rdflib import BNode, Literal, URIRef from rdflib.namespace import XSD from pyshacl.errors import ReportableRuntimeError from . import load_into_context class URIRefNativeWrapper(object): inner_type = "URIRef" def __init__(self, uri): if isinstance(uri, URIRef): self.inner = uri else: self.inner = URIRef(uri) @property def uri(self): return str(self.inner) def __eq__(self, other): return self.inner.__eq__(other.inner) def __repr__(self): inner_repr = repr(self.inner) return "URIRefNativeWrapper({})".format(inner_repr) class BNodeNativeWrapper(object): inner_type = "BNode" def __init__(self, id_): if isinstance(id_, BNode): self.inner = id_ else: self.inner = BNode(id_ or None) @property def identifier(self): return str(self.inner) def __eq__(self, other): return self.inner.__eq__(other.inner) def __repr__(self): inner_repr = repr(self.inner) return "BNodeNativeWrapper({})".format(inner_repr) class LiteralNativeWrapper(object): inner_type = "Literal" def __init__(self, lexical, dtype=None, lang=None): if isinstance(lexical, Literal): self.inner = lexical else: if isinstance(dtype, URIRefNativeWrapper): dtype = dtype.inner self.inner = Literal(lexical, lang=lang, datatype=dtype) @property def lexical(self): return self.inner.value @property def language(self): return self.inner.language @property def datatype(self): return self.inner.datatype def __eq__(self, other): return self.inner.__eq__(other.inner) def __repr__(self): inner_repr = repr(self.inner) return "LiteralNativeWrapper({})".format(inner_repr) class GraphNativeWrapper(object): def __init__(self, g): self.inner = g class IteratorNativeWrapper(object): def __init__(self, it): self.it = it def it_next(self): return next(self.it) def _make_uriref(args): uri = getattr(args, '0') return URIRefNativeWrapper(uri) def _make_bnode(args): id_ = getattr(args, '0') return BNodeNativeWrapper(id_) def _make_literal(args): lexical, dtype, lang = getattr(args, '0'), getattr(args, '1'), getattr(args, '2') if isinstance(dtype, JSProxy): as_native = getattr(dtype, '_native', None) if as_native is not None: dtype = as_native return LiteralNativeWrapper(lexical, dtype, lang) def _native_node_equals(args): this, other = getattr(args, '0'), getattr(args, '1') if isinstance(this, (URIRefNativeWrapper, BNodeNativeWrapper, LiteralNativeWrapper)): this = this.inner if isinstance(other, (URIRefNativeWrapper, BNodeNativeWrapper, LiteralNativeWrapper)): other = other.inner return this == other def _native_graph_find(args): # args are: g, s, p, o triple = [getattr(args, '0'), getattr(args, '1'), getattr(args, '2'), getattr(args, '3')] wrapped_triples = [] for t in triple: if isinstance(t, (GraphNativeWrapper, URIRefNativeWrapper, BNodeNativeWrapper, LiteralNativeWrapper)): wrapped_triples.append(t.inner) else: wrapped_triples.append(t) g, s, p, o = wrapped_triples[:4] it = iter(g.triples((s, p, o))) return IteratorNativeWrapper(it) def _native_iterator_next(args): arg0 = getattr(args, "0") if isinstance(arg0, IteratorNativeWrapper): arg0 = arg0.it try: spo_list = next(arg0) except StopIteration: return None wrapped_list = [] for item in spo_list[:3]: if isinstance(item, URIRef): wrapped_list.append(URIRefNativeWrapper(item)) elif isinstance(item, BNode): wrapped_list.append(BNodeNativeWrapper(item)) elif isinstance(item, Literal): wrapped_list.append(LiteralNativeWrapper(item)) else: raise RuntimeError("Bad item returned from iterator!") return wrapped_list def _pprint(args): arg0 = getattr(args, '0') pprint.pprint(arg0) printJs = '''\ function pprint(o) { return _pprint({'0': o}); } ''' namedNodeJs = '''\ function NamedNode(uri, _native) { this.uri = uri; if (! _native) { _native = _make_uriref({'0': uri}); } this._native = _native; } NamedNode.from_native = function(native) { var uri = native.uri; return new NamedNode(uri, native); } NamedNode.prototype.toPython = function() { return this._native; } NamedNode.prototype.toString = function() { return "NamedNode("+this.uri+")"; } NamedNode.prototype.isURI = function() { return true; } NamedNode.prototype.isBlankNode = function() { return false; } NamedNode.prototype.isLiteral = function() { return false; } NamedNode.prototype.equals = function(other) { if (other.constructor && other.constructor === NamedNode) { return _native_node_equals({"0": this._native, "1": other._native}); } return false; } ''' blankNodeJs = '''\ function BlankNode(id, _native) { this.id = id || null; if (! _native) { _native = _make_bnode({'0': id}); } this._native = _native; } BlankNode.from_native = function(native) { var id = native.identifier; return new BlankNode(id, native); } BlankNode.prototype.toPython = function() { return this._native; } BlankNode.prototype.toString = function() { return "BlankNode("+this.id+")"; } BlankNode.prototype.isURI = function() { return false; } BlankNode.prototype.isBlankNode = function() { return true; } BlankNode.prototype.isLiteral = function() { return false; } BlankNode.prototype.equals = function(other) { if (other.constructor && other.constructor === BlankNode) { return _native_node_equals({"0": this._native, "1": other._native}); } return false; } ''' literalJs = '''\ function Literal(lex, languageOrDatatype, _native) { this.lex = lex; var ndict; if (languageOrDatatype.isURI && languageOrDatatype.isURI()) { this.language = ""; // Language cannot be null, be empty string this.datatype = languageOrDatatype; ndict = {'0': lex, '1': languageOrDatatype, '2': null}; } else { var _lang = ""+languageOrDatatype; this.language = _lang; this.datatype = new NamedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#langString"); ndict = {'0': lex, '1': null, '2': languageOrDatatype}; } if (! _native) { _native = _make_literal(ndict); } this._native = _native; } Literal.from_native = function(native) { var lex = native.lexical; var languageOrDatatype; var lang = native.language; var dt = native.datatype; if (lang) { languageOrDatatype = ""+lang; } else if (dt) { languageOrDatatype = new NamedNode(dt); } else { languageOrDatatype = new NamedNode("http://www.w3.org/2001/XMLSchema#string"); } return new Literal(lex, languageOrDatatype, native); } Literal.prototype.toPython = function() { return this._native; } Literal.prototype.toString = function() { return "Literal("+this.lex+", dt="+this.datatype+", lang='"+this.language+"')"; } Literal.prototype.isURI = function() { return false; } Literal.prototype.isBlankNode = function() { return false; } Literal.prototype.isLiteral = function() { return true; } Literal.prototype.equals = function(other) { if (other.constructor && other.constructor === Literal) { return _native_node_equals({'0': this._native, '1': other._native}); } return false; } ''' termFactoryJs = '''\ function TermFactoryFactory() { } TermFactoryFactory.prototype.namedNode = function(uri) { return new NamedNode(uri); } TermFactoryFactory.prototype.blankNode = function(id) { return new BlankNode(id); } TermFactoryFactory.prototype.literal = function(lex, languageOrDatatype) { return new Literal(lex, languageOrDatatype); } var TermFactory = new TermFactoryFactory(); ''' graphJs = '''\ function Triple(s, p, o) { this.subject = s; this.predicate = p; this.object = o; } function Iterator() { this._native = null; this.closed = false; } Iterator.from_native = function(native) { var i = new Iterator(); i._native = native; return i; } Iterator.prototype.next = function() { if (this.closed) { 1/0; //exception } if (this._native === null) { return null; } var bits = _native_iterator_next({"0": this._native}); if (bits === null) { //This is the end of the iteration return null; } var converted_bits = []; for (var i=0; i<3; i++) { var b = bits[i]; var inner_type = b.inner_type; if (inner_type === "URIRef") { converted_bits[i] = NamedNode.from_native(b); } else if (inner_type === "BNode") { converted_bits[i] = BlankNode.from_native(b); } else if (inner_type === "Literal") { converted_bits[i] = Literal.from_native(b); } else { 1/0; //exception } } return new Triple(converted_bits[0], converted_bits[1], converted_bits[2]); } Iterator.prototype.close = function() { if (this.closed) { return; } this.closed = true; this._native = null; } Iterator.prototype.toPython = function() { return this._native; } function Graph(_native) { this._native = _native; } Graph.prototype.toPython = function() { return this._native; } Graph.prototype.find = function(s, p, o) { if (this._native === null) { return null; } if (s && s.hasOwnProperty('_native')) { s = s._native; } if (p && p.hasOwnProperty('_native')) { p = p._native; } if (o && o.hasOwnProperty('_native')) { o = o._native; } var native_it = _native_graph_find({'0': this._native, '1': s, '2': p, '3': o}); var it = Iterator.from_native(native_it); return it; } ''' class SHACLJSContext(object): __slots__ = ("context", "fns") def __init__(self, data_graph, *args, shapes_graph=None, **kwargs): context = pyduktape2.DuktapeContext() context.set_globals( _pprint=_pprint, _make_uriref=_make_uriref, _make_bnode=_make_bnode, _make_literal=_make_literal, _native_node_equals=_native_node_equals, _native_iterator_next=_native_iterator_next, _native_graph_find=_native_graph_find, ) context.eval_js(printJs) context.eval_js(termFactoryJs) context.eval_js(namedNodeJs) context.eval_js(blankNodeJs) context.eval_js(literalJs) context.eval_js(graphJs) context.set_globals(_native_data_graph=GraphNativeWrapper(data_graph)) if shapes_graph is not None: context.set_globals(_native_shapes_graph=GraphNativeWrapper(shapes_graph)) else: context.set_globals(_native_shapes_graph=None) context.eval_js('''var $data = new Graph(_native_data_graph);\n''') if shapes_graph is not None: context.eval_js('''var $shapes = new Graph(_native_shapes_graph);\n''') else: context.eval_js('''var $shapes;\n''') # leave $shapes undefined context.set_globals(*args, **kwargs) self.context = context self.fns = {} def load_js_library(self, library: str): fns = load_into_context(self.context, library) self.fns.update(fns) @classmethod def build_results_as_constraint(cls, res): if isinstance(res, JSProxy): try: return res.toPython() except AttributeError: pass # this means its a JS Array or Object keys = list(iter(res)) if len(keys) < 1: res = [] else: first_key = keys[0] if isinstance(first_key, JSProxy): # res is an array of objects new_res = [] for k in keys: try: new_res.append(k.toPython()) continue except AttributeError: pass v = getattr(k, 'value', None) m = getattr(k, 'message', None) p = getattr(k, 'path', None) if v is not None: try: v = v.toPython() except AttributeError: pass if v is not None and hasattr(v, 'inner'): v = v.inner if p is not None: try: p = p.toPython() except AttributeError: pass if p is not None and hasattr(p, 'inner'): p = p.inner r = {'value': v, 'message': m, 'path': p} new_res.append(r) return new_res try: getattr(res, first_key) new_res = {} for k in keys: v = getattr(res, k, None) if v is not None: try: v = v.toPython() except AttributeError: pass if v is not None and hasattr(v, 'inner'): v = v.inner new_res[k] = v return new_res except AttributeError: # This must be an array of something else res = keys elif isinstance(res, (Literal, URIRef, BNode)): pass elif isinstance(res, Decimal): res = Literal(res, datatype=XSD['decimal']) elif isinstance(res, (int, float, str, bytes, bool)): res = Literal(res) return res @classmethod def build_results_as_construct(cls, res): if isinstance(res, JSProxy): try: return res.toPython() except AttributeError: pass # this means its a JS Array or Object keys = list(iter(res)) if len(keys) < 1: res = [] else: first_key = keys[0] if isinstance(first_key, JSProxy): # res is an array of objects or array of arrays new_res = [] for k in keys: try: new_res.append(k.toPython()) continue except AttributeError: pass subkeys = list(iter(k)) if len(subkeys) < 1: new_res.append([]) else: first_subkey = subkeys[0] if isinstance(first_subkey, JSProxy): if len(subkeys) >= 3: # res is an array of arrays this_s = subkeys[0] this_p = subkeys[1] this_o = subkeys[2] else: raise ReportableRuntimeError( "JS Function returned incorrect number of items in the array." ) else: this_s = getattr(k, 'subject', None) this_p = getattr(k, 'predicate', None) this_o = getattr(k, 'object', None) try: this_s = this_s.toPython() except AttributeError: pass if this_s is not None and hasattr(this_s, 'inner'): this_s = this_s.inner try: this_p = this_p.toPython() except AttributeError: pass if this_p is not None and hasattr(this_p, 'inner'): this_p = this_p.inner try: this_o = this_o.toPython() except AttributeError: pass if this_o is not None and hasattr(this_o, 'inner'): this_o = this_o.inner new_res.append((this_s, this_p, this_o)) return new_res else: # a JS Rules function must return an array of arrays, or array of objects # otherwise, it does nothing! return [] return res @classmethod def build_results_as_target(cls, res): if isinstance(res, JSProxy): try: return res.toPython() except AttributeError: pass # this means its a JS Array or Object keys = list(iter(res)) if len(keys) < 1: res = [] else: first_key = keys[0] if isinstance(first_key, JSProxy): # res is an array of objects or array of arrays new_res = [] for k in keys: try: k = k.toPython() except AttributeError: pass if k is not None and hasattr(k, 'inner'): k = k.inner new_res.append(k) return new_res else: # a JS Target function must return an array of Nodes # otherwise, it does nothing! return [] return res @classmethod def build_results_as_shacl_function(cls, res, return_type=None): if isinstance(res, JSProxy): try: return res.toPython() except AttributeError: return None elif isinstance(res, (Literal, URIRef, BNode)): pass elif return_type is not None and isinstance(res, (int, float)): lex = str(res) res = Literal(lex, datatype=return_type, normalize=False) elif isinstance(res, (float, Decimal)): res = Literal(str(res), datatype=XSD['decimal']) elif isinstance(res, bool): res = Literal(res, datatype=XSD['boolean']) elif isinstance(res, (int, float, str, bytes, bool)): res = Literal(res, datatype=return_type, normalize=False) return res def get_fn_args(self, fn_name, args_map): c = self.context try: fn = c.get_global(fn_name) except BaseException as e: print(e) raise if fn is None: raise ReportableRuntimeError("JS Function {} cannot be found in the loaded files.".format(fn_name)) if fn_name not in self.fns: raise ReportableRuntimeError("JS Function {} args cannot be determined. Bad JS structure?".format(fn_name)) known_fn_args: tuple = self.fns[fn_name] needed_args = [] for k, v in args_map.items(): look_for = "$" + str(k) positions = [] start = 0 while True: try: pos = known_fn_args.index(look_for, start) positions.append(pos) except ValueError: break start = pos + 1 if not positions: continue for p in positions: needed_args.append((p, k, v)) for i, a in enumerate(known_fn_args): if a.startswith("$"): a = a[1:] if a not in args_map: needed_args.append((i, a, None)) needed_args = [v for p, k, v in sorted(needed_args)] return needed_args def run_js_function(self, fn_name, args, returns: Union[list, None] = None): if returns is None: returns = [] c = self.context args_string = "" bind_dict = {} preamble = "" for i, a in enumerate(args): arg_name = "fn_arg_" + str(i + 1) if isinstance(a, URIRef): wrapped_a: Union[URIRefNativeWrapper, BNodeNativeWrapper, LiteralNativeWrapper] = URIRefNativeWrapper( a ) native_name = "_{}_native".format(arg_name) preamble += "var {} = NamedNode.from_native({});\n".format(arg_name, native_name) bind_dict[native_name] = wrapped_a elif isinstance(a, BNode): wrapped_a = BNodeNativeWrapper(a) native_name = "_{}_native".format(arg_name) preamble += "var {} = BlankNode.from_native({});\n".format(arg_name, native_name) bind_dict[native_name] = wrapped_a elif isinstance(a, Literal): wrapped_a = LiteralNativeWrapper(a) native_name = "_{}_native".format(arg_name) preamble += "var {} = Literal.from_native({});\n".format(arg_name, native_name) bind_dict[native_name] = wrapped_a elif a is None: # this is how we set an undefined variable preamble += "var {};\n".format(arg_name) else: bind_dict[arg_name] = a args_string = args_string + arg_name + "," c.set_globals(**bind_dict) args_string = args_string.rstrip(',') c.eval_js(preamble) res = c.eval_js("\n{}({});".format(fn_name, args_string)) returns_dict = {} for r in returns: try: returns_dict[r] = c.get_global(r) except BaseException as e: print(e) returns_dict[r] = None returns_dict['_result'] = res return returns_dict pyshacl-0.30.1/pyshacl/extras/js/function.py0000644000000000000000000000475700000000000015726 0ustar00# # import typing from rdflib.plugins.sparql.operators import register_custom_function, unregister_custom_function from rdflib.plugins.sparql.sparql import SPARQLError from pyshacl.errors import ReportableRuntimeError from pyshacl.functions.shacl_function import SHACLFunction from .js_executable import JSExecutable if typing.TYPE_CHECKING: from pyshacl.shapes_graph import ShapesGraph class JSFunction(SHACLFunction): __slots__ = ('js_exe',) def __init__(self, fn_node, shapes_graph: 'ShapesGraph'): super(JSFunction, self).__init__(fn_node, shapes_graph) self.js_exe = JSExecutable(shapes_graph, fn_node) def execute(self, g, *args): params = self.get_params_in_order() if len(args) != len(params): raise ReportableRuntimeError("Got incorrect number of arguments for JSFunction {}.".format(self.node)) args_map = {} for i, p in enumerate(params): arg = args[i] ln = p.localname if arg is None and p.optional is False: raise ReportableRuntimeError("Got NoneType for Non-optional argument {}.".format(ln)) args_map[ln] = arg results = self.js_exe.execute(g, args_map, mode="function", return_type=self.rtype) res = results['_result'] return res def execute_from_sparql(self, e, ctx): if not e.expr: raise SPARQLError("Nothing given to SPARQLFunction.") params = self.get_params_in_order() num_params = len(params) if len(e.expr) > num_params: raise SPARQLError("Too many parameters passed to SPARQLFunction.") elif len(e.expr) < num_params: raise SPARQLError("Too few parameters passed to SPARQLFunction.") args_map = {str(var): val for var, val in ctx.ctx.initBindings.items()} args_map.update({str(var): val for var, val in ctx.ctx.bindings.items()}) g = ctx.ctx.graph for i, var in enumerate(e.expr): var_val = ctx[var] param_name = params[i].localname args_map[param_name] = var_val results = self.js_exe.execute(g, args_map, mode="function", return_type=self.rtype) res = results['_result'] return res def apply(self, g): super(JSFunction, self).apply(g) register_custom_function(self.node, self.execute_from_sparql, True, True) def unapply(self, g): super(JSFunction, self).unapply(g) unregister_custom_function(self.node, self.execute_from_sparql) pyshacl-0.30.1/pyshacl/extras/js/js_executable.py0000644000000000000000000001200500000000000016677 0ustar00# # import typing from typing import Dict from rdflib import Literal from pyshacl.consts import SH, SH_jsFunctionName, SH_jsLibrary from pyshacl.errors import ConstraintLoadError from .context import SHACLJSContext if typing.TYPE_CHECKING: from pyshacl.shapes_graph import ShapesGraph SH_jsLibraryURL = SH.jsLibraryURL class JSExecutable(object): __slots__ = ("sg", "node", "fn_name", "libraries") def __new__(cls, shapes_graph: 'ShapesGraph', node): return super(JSExecutable, cls).__new__(cls) def __init__(self, shapes_graph: 'ShapesGraph', node): self.node = node self.sg = shapes_graph fn_names = set(shapes_graph.objects(node, SH_jsFunctionName)) if len(fn_names) < 1: raise ConstraintLoadError( "At least one sh:jsFunctionName must be present on a JS Executable.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) elif len(fn_names) > 1: raise ConstraintLoadError( "At most one sh:jsFunctionName can be present on a JS Executable.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) fn_name = next(iter(fn_names)) if not isinstance(fn_name, Literal): raise ConstraintLoadError( "sh:jsFunctionName must be an RDF Literal with type xsd:string.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) else: fn_name = str(fn_name) self.fn_name = fn_name library_defs = shapes_graph.objects(node, SH_jsLibrary) seen_library_defs = [] libraries: Dict = {} for libn in library_defs: # Library defs can only do two levels deep for now. # TODO: Make this recursive somehow to some further depth if libn in seen_library_defs: continue if isinstance(libn, Literal): raise ConstraintLoadError( "sh:jsLibrary must not have a value that is a Literal.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) seen_library_defs.append(libn) jsLibraryURLs = list(shapes_graph.objects(libn, SH_jsLibraryURL)) if len(jsLibraryURLs) > 0: libraries[libn] = libraries.get(libn, []) for u in jsLibraryURLs: if not isinstance(u, Literal): raise ConstraintLoadError( "sh:jsLibraryURL must have a value that is a Literal.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) libraries[libn].append(str(u)) library_defs2 = shapes_graph.objects(libn, SH_jsLibrary) for libn2 in library_defs2: if libn2 in seen_library_defs: continue if isinstance(libn2, Literal): raise ConstraintLoadError( "sh:jsLibrary must not have a value that is a Literal.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) seen_library_defs.append(libn2) jsLibraryURLs2 = list(shapes_graph.objects(libn2, SH_jsLibraryURL)) if len(jsLibraryURLs2) > 0: libraries[libn2] = libraries.get(libn2, []) for u2 in jsLibraryURLs2: if not isinstance(u2, Literal): raise ConstraintLoadError( "sh:jsLibraryURL must have a value that is a Literal.", "https://www.w3.org/TR/shacl-js/#dfn-javascript-executables", ) libraries[libn2].append(str(u2)) self.libraries = libraries def execute(self, data_graph, args_map, *args, mode=None, return_type=None, **kwargs): """ :param data_graph: :param args_map: :param args: :param mode: :param return_type: :param kwargs: :return: :rtype: dict """ if mode == "function": ctx = SHACLJSContext(data_graph, shapes_graph=None, **kwargs) else: ctx = SHACLJSContext(data_graph, shapes_graph=self.sg, **kwargs) for lib_node, lib_urls in self.libraries.items(): for lib_url in lib_urls: ctx.load_js_library(lib_url) fn_args = ctx.get_fn_args(self.fn_name, args_map) rvals = ctx.run_js_function(self.fn_name, fn_args) res = rvals['_result'] if mode == "function": rvals['_result'] = ctx.build_results_as_shacl_function(res, return_type) elif mode == "construct": rvals['_result'] = ctx.build_results_as_construct(res) elif mode == 'target': rvals['_result'] = ctx.build_results_as_target(res) else: rvals['_result'] = ctx.build_results_as_constraint(res) return rvals pyshacl-0.30.1/pyshacl/extras/js/loader.py0000644000000000000000000000406500000000000015337 0ustar00# # import typing from pathlib import Path from urllib import request from pyshacl.rdfutil.load import path_from_uri try: import regex except ImportError: import re regex = re if typing.TYPE_CHECKING: from pyduktape2 import DuktapeContext JS_FN_RE1 = regex.compile(rb'function\s+([^ \n]+)\s*\((.*)\)\s*\{', regex.MULTILINE | regex.IGNORECASE) JS_FN_RE2 = regex.compile( rb'(?:let|const|var)\s+([^ \n]+)\s*=\s*function\s*\((.*)\)\s*\{', regex.MULTILINE | regex.IGNORECASE ) def get_js_from_web(url: str): """ :param url: :type url: str :return: """ headers = {'Accept': 'application/javascript, text/javascript, application/ecmascript, text/ecmascript,text/plain'} r = request.Request(url, headers=headers) resp = request.urlopen(r) code = resp.getcode() if not (200 <= code <= 210): raise RuntimeError("Cannot pull JS Library URL from the web: {}, code: {}".format(url, str(code))) return resp def get_js_from_file(filepath: str): if filepath.startswith("file:"): _file_path = path_from_uri(filepath) else: _file_path = Path(filepath) f = open(_file_path, "rb") return f def extract_functions(content): fns = {} matches1 = regex.findall(JS_FN_RE1, content) for m in matches1: name = m[0].decode('utf-8') params = tuple(p.strip().decode('utf-8') for p in m[1].split(b',') if p) fns[name] = params matches2 = regex.findall(JS_FN_RE2, content) for m in matches2: name = m[0].decode('utf-8') params = tuple(p.strip().decode('utf-8') for p in m[1].split(b',') if p) fns[name] = params return fns def load_into_context(context: 'DuktapeContext', location: str): f = None try: if location.startswith("http:") or location.startswith("https:"): f = get_js_from_web(location) else: f = get_js_from_file(location) contents = f.read() finally: if f: f.close() fns = extract_functions(contents) context.eval_js(contents) return fns pyshacl-0.30.1/pyshacl/extras/js/rules.py0000644000000000000000000000706300000000000015224 0ustar00# # from typing import TYPE_CHECKING, List, Optional, Sequence, Union import rdflib from pyshacl.consts import SH from pyshacl.errors import ReportableRuntimeError from pyshacl.rules.shacl_rule import SHACLRule from .js_executable import JSExecutable if TYPE_CHECKING: from rdflib.term import URIRef from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph SH_JSRule = SH.JSRule JS_RULE_ITERATE_LIMIT = 100 class JSRule(SHACLRule): __slots__ = ('js_exe',) def __init__(self, executor: 'SHACLExecutor', shape: 'Shape', rule_node, **kwargs): super(JSRule, self).__init__(executor, shape, rule_node, **kwargs) shapes_graph: 'ShapesGraph' = shape.sg self.js_exe = JSExecutable(shapes_graph, rule_node) def apply( self, data_graph: 'GraphLike', focus_nodes: Union[Sequence['RDFNode'], None] = None, target_graph_identifier: Optional['URIRef'] = None, ) -> int: focus_list: Sequence['RDFNode'] if focus_nodes is not None: focus_list = list(focus_nodes) else: focus_list = list(self.shape.focus_nodes(data_graph)) if self.executor.focus_nodes is not None and len(self.executor.focus_nodes) > 0: filtered_focus_nodes: List[Union[rdflib.URIRef]] = [] for _fo in focus_list: # type: RDFNode if isinstance(_fo, rdflib.URIRef) and _fo in self.executor.focus_nodes: filtered_focus_nodes.append(_fo) len_filtered_focus = len(filtered_focus_nodes) if len_filtered_focus < 1: return 0 focus_list = filtered_focus_nodes all_added = 0 iterate_limit = int(JS_RULE_ITERATE_LIMIT) while True: if iterate_limit < 1: raise ReportableRuntimeError(f"JS rule iteration exceeded iteration limit of {JS_RULE_ITERATE_LIMIT}.") iterate_limit -= 1 added = 0 applicable_nodes = self.filter_conditions(focus_list, data_graph) sets_to_add = [] for a in applicable_nodes: args_map = {"this": a} results = self.js_exe.execute(data_graph, args_map, mode="construct") triples = results['_result'] this_added = False if triples is not None and isinstance(triples, (list, tuple)): set_to_add = set() for t in triples: s, p, o = tr = t[:3] if not this_added and tr not in data_graph: this_added = True set_to_add.add(tr) sets_to_add.append(set_to_add) if this_added: added += 1 if added > 0: if isinstance(data_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): if target_graph_identifier is not None: target_graph = data_graph.get_context(target_graph_identifier) else: target_graph = data_graph.default_context else: target_graph = data_graph for s in sets_to_add: for t in s: target_graph.add(t) all_added += added if self.iterate: continue # Jump up to iterate else: break # Don't iterate break return all_added pyshacl-0.30.1/pyshacl/extras/js/target.py0000644000000000000000000000600400000000000015352 0ustar00# # import typing from typing import Dict, List from warnings import warn from rdflib import URIRef from pyshacl.consts import SH_JSTargetType from pyshacl.errors import ShapeLoadError from pyshacl.target import BoundSHACLTargetType, SHACLTargetType from .js_executable import JSExecutable if typing.TYPE_CHECKING: from pyshacl.pytypes import GraphLike, SHACLExecutor from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph class JSTarget(JSExecutable): def __init__(self, shapes_graph: 'ShapesGraph', exe_node): super(JSTarget, self).__init__(shapes_graph, exe_node) def find_targets(self, data_graph): results = self.execute(data_graph, {}, mode='target') return [u for u in results['_result'] if isinstance(u, URIRef)] class BoundJSTargetType(BoundSHACLTargetType): __slots__ = ('params_kv',) def __init__(self, target_type: 'JSTargetType', target_declaration, shape: 'Shape', params_kv): super(BoundJSTargetType, self).__init__(target_type, target_declaration, shape) self.params_kv = params_kv # type: dict @classmethod def constraint_parameters(cls) -> List[URIRef]: return [] @classmethod def constraint_name(cls) -> str: return "JSTargetType" @classmethod def shacl_constraint_class(cls): return SH_JSTargetType def evaluate( self, executor: 'SHACLExecutor', target_graph: 'GraphLike', focus_value_nodes: Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ raise NotImplementedError() def find_targets(self, data_graph): results = self.target_type.js_exe.execute(data_graph, self.params_kv, mode='target') return [u for u in results['_result'] if isinstance(u, URIRef)] class JSTargetType(SHACLTargetType): __slots__ = ('js_exe',) def __init__(self, tt_node, sg: 'ShapesGraph'): super(JSTargetType, self).__init__(tt_node, sg) self.js_exe = JSExecutable(sg, tt_node) def check_params(self, target_declaration): param_kv = {} for p in self.parameters: path = p.path() name = p.localname vals = set(self.sg.objects(target_declaration, path)) if len(vals) < 1: if p.optional: continue raise ShapeLoadError( "sh:target does not have a value for {}".format(name), "https://www.w3.org/TR/shacl-js/#JSTargetType", ) if len(vals) > 1: warn(Warning("Found more than one value for {} on sh:target. Using just first one.".format(name))) param_kv[name] = next(iter(vals)) return param_kv def bind(self, shape, target_declaration): param_vals = self.check_params(target_declaration) return BoundJSTargetType(self, target_declaration, shape, param_vals) pyshacl-0.30.1/pyshacl/functions/__init__.py0000644000000000000000000000665300000000000015723 0ustar00# -*- coding: utf-8 -*- # import sys from typing import TYPE_CHECKING, Dict, Sequence, Union from pyshacl.consts import ( RDF_type, SH_ask, SH_JSFunction, SH_jsFunctionName, SH_jsLibrary, SH_select, SH_SHACLFunction, SH_SPARQLFunction, ) from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor if TYPE_CHECKING: from pyshacl.extras.js.function import JSFunction # noqa F401 from pyshacl.shapes_graph import ShapesGraph from .shacl_function import SHACLFunction, SPARQLFunction module = sys.modules[__name__] def gather_functions( executor: SHACLExecutor, shacl_graph: 'ShapesGraph' ) -> Sequence[Union['SHACLFunction', 'SPARQLFunction']]: """ :param executor: :type executor: SHACLExecutor :param shacl_graph: :type shacl_graph: ShapesGraph :return: :rtype: [SHACLRule] """ spq_nodes = set(shacl_graph.subjects(RDF_type, SH_SPARQLFunction)) if shacl_graph.js_enabled: js_nodes = set(shacl_graph.subjects(RDF_type, SH_JSFunction)) use_JSFunction = True else: use_JSFunction = False js_nodes = set() scl_nodes = set(shacl_graph.subjects(RDF_type, SH_SHACLFunction)).difference(spq_nodes).difference(js_nodes) to_swap_spq = set() to_swap_js = set() for n in scl_nodes: has_select = len(shacl_graph.objects(n, SH_select)) > 0 has_ask = len(shacl_graph.objects(n, SH_ask)) > 0 if has_ask or has_select: to_swap_spq.add(n) continue if use_JSFunction: has_jslibrary = len(shacl_graph.objects(n, SH_jsLibrary)) > 0 has_jsfuncitonnname = len(shacl_graph.objects(n, SH_jsFunctionName)) > 0 if has_jslibrary or has_jsfuncitonnname: to_swap_js.add(n) for n in to_swap_spq: scl_nodes.remove(n) spq_nodes.add(n) for n in to_swap_js: scl_nodes.remove(n) js_nodes.add(n) all_fns: Dict[RDFNode, Union['SHACLFunction', 'SPARQLFunction', 'JSFunction']] = {} if spq_nodes: SPQ = getattr(module, 'SPARQLFunction', None) if not SPQ: # Lazy-import SPARQLFunction to prevent rdflib import error from .shacl_function import SPARQLFunction setattr(module, 'SPARQLFunction', SPARQLFunction) SPQ = SPARQLFunction for n in spq_nodes: all_fns[n] = SPQ(n, shacl_graph) if scl_nodes: SCL = getattr(module, 'SHACLFunction', None) if not SCL: # Lazy-import SHACLFunction to prevent rdflib import error from .shacl_function import SHACLFunction setattr(module, 'SHACLFunction', SHACLFunction) SCL = SHACLFunction for n in scl_nodes: all_fns[n] = SCL(n, shacl_graph) if use_JSFunction and js_nodes: JSF = getattr(module, 'JSFunction', None) if not JSF: # Lazy-import JSFunction to prevent rdflib import error from pyshacl.extras.js.function import JSFunction # noqa F401 setattr(module, 'JSFunction', JSFunction) JSF = JSFunction for n in js_nodes: all_fns[n] = JSF(n, shacl_graph) return list(all_fns.values()) def apply_functions(executor: SHACLExecutor, fns: Sequence, data_graph: GraphLike): for f in fns: f.apply(data_graph) def unapply_functions(fns: Sequence, data_graph: GraphLike): for f in fns: f.unapply(data_graph) pyshacl-0.30.1/pyshacl/functions/shacl_function.py0000644000000000000000000001703500000000000017157 0ustar00# -*- coding: utf-8 -*- # import typing from typing import Dict, List from rdflib import XSD, Literal from rdflib.plugins.sparql.operators import register_custom_function, unregister_custom_function from rdflib.plugins.sparql.sparql import SPARQLError from ..consts import SH, RDFS_comment, SH_ask, SH_parameter, SH_select from ..errors import ConstraintLoadError, ReportableRuntimeError from ..helper import get_query_helper_cls from ..parameter import SHACLParameter if typing.TYPE_CHECKING: from ..pytypes import GraphLike from ..shapes_graph import ShapesGraph SH_returnType = SH.returnType SH_optional = SH.optional class SHACLFunction(object): __slots__ = ("sg", "node", "comments", "parameters", "rtype") def __init__(self, fn_node, sg: 'ShapesGraph'): """ :param fn_node: :type fn_node: rdflib.Identifier :param sg: :type sg: ShapesGraph """ super(SHACLFunction, self).__init__() self.node = fn_node self.sg = sg params = list(sg.objects(fn_node, SH_parameter)) self.parameters: List[SHACLParameter] = [SHACLParameter(sg, p) for p in params] self.comments = set(sg.objects(fn_node, RDFS_comment)) rtypes = list(sg.objects(fn_node, SH_returnType)) if len(rtypes) < 1: self.rtype = None elif len(rtypes) > 1: raise ConstraintLoadError( "SHACLFunction cannot have more than one value for sh:returnType.", "https://www.w3.org/TR/shacl-af/#functions-example", ) else: self.rtype = rtypes[0] # TODO: Maybe cache this? Its called a few times per loop def get_params_in_order(self): if len(self.parameters) < 1: return [] orders = (p.param_order for p in self.parameters) if None not in orders: # sort by _param_order_ field params = sorted(self.parameters, key=lambda x: x.param_order) else: # sort by _localname_ of path params = sorted(self.parameters, key=lambda x: x.localname) return params def get_optional_map(self): params = self.get_params_in_order() return [True if p.optional else False for p in params] def objects(self, predicate=None): return self.sg.graph.objects(self.node, predicate) def apply(self, g): self.sg.add_shacl_function(self.node, self.execute, self.get_optional_map()) def unapply(self, g): self.sg.remove_shacl_function(self.node, self.execute) def execute(self, g, *args): raise NotImplementedError( "SHACLFunction cannot be executed by itself. It needs to be a SPARQLFunction or something similar." ) class SPARQLFunction(SHACLFunction): __slots__ = ("select", "ask", "_qh") def __init__(self, fn_node, sg): super(SPARQLFunction, self).__init__(fn_node, sg) selects = list(self.sg.objects(self.node, SH_select)) asks = list(self.sg.objects(self.node, SH_ask)) num_selects = len(selects) num_asks = len(asks) if num_asks > 0 and num_selects > 0: raise ConstraintLoadError( "SPARQLFunction cannot have both sh:select and sh:ask.", "https://www.w3.org/TR/shacl-af/#SPARQLFunction", ) elif num_asks < 1 and num_selects < 1: raise ConstraintLoadError( "SPARQLFunction must have one of either sh:select or sh:ask.", "https://www.w3.org/TR/shacl-af/#SPARQLFunction", ) if num_selects > 1: raise ConstraintLoadError( "SPARQLFunction cannot have more than one value for sh:select.", "https://www.w3.org/TR/shacl-af/#SPARQLFunction", ) if num_asks > 1: raise ConstraintLoadError( "SPARQLFunction cannot have more than one value for sh:ask.", "https://www.w3.org/TR/shacl-af/#SPARQLFunction", ) if num_asks: self.ask = asks[0] if self.rtype and self.rtype != XSD.boolean: raise ConstraintLoadError( "SPARQLFunction with sh:ask must have sh:returnType of xsd:boolean.", "https://www.w3.org/TR/shacl-af/#SPARQLFunction", ) else: self.rtype = XSD.boolean else: self.ask = None self.select = selects[0] if num_selects else None # deliberately not passing in Parameters to queryHelper here, because we can't bind them to this function # (this function is not a Shape, and Function Params don't get bound to it) SPARQLQueryHelper = get_query_helper_cls() query_helper = SPARQLQueryHelper(self, self.node, None, None, deactivated=False) query_helper.collect_prefixes() self._qh = query_helper def execute(self, g, *args): params = self.get_params_in_order() if len(args) != len(params): raise ReportableRuntimeError("Got incorrect number of arguments for SHACLFunction {}.".format(self.node)) init_bindings = {} for i, p in enumerate(params): arg = args[i] ln = p.localname if arg is None and p.optional is False: raise ReportableRuntimeError("Got NoneType for Non-optional argument {}.".format(ln)) init_bindings[ln] = arg if self.ask: return self.execute_ask(g, init_bindings) else: return self.execute_select(g, init_bindings) def execute_select(self, g: 'GraphLike', init_bindings: Dict): s = self._qh.apply_prefixes(self.select) results = g.query(s, initBindings=init_bindings) if results.type != "SELECT" or results.vars is None: raise ReportableRuntimeError("Was expecting an SELECT response from the Select query.") rvars = len(results.vars) rbindings = len(results.bindings) if rvars < 1 or rbindings < 1: return [] rvar = results.vars[0] result = results.bindings[0] return result[rvar] def execute_ask(self, g: 'GraphLike', init_bindings: Dict): a = self._qh.apply_prefixes(self.ask) results = g.query(a, initBindings=init_bindings) if results.type != "ASK": raise ReportableRuntimeError("Was expecting an ASK response from the Ask query.") return Literal(results.askAnswer) def execute_from_sparql(self, e, ctx): if not e.expr: raise SPARQLError("Nothing given to SPARQLFunction.") params = self.get_params_in_order() num_params = len(params) if len(e.expr) > num_params: raise SPARQLError("Too many parameters passed to SPARQLFunction.") elif len(e.expr) < num_params: raise SPARQLError("Too few parameters passed to SPARQLFunction.") new_binds = ctx.ctx.initBindings.copy() new_binds.update(ctx.ctx.bindings) g = ctx.ctx.graph for i, var in enumerate(e.expr): var_val = ctx[var] bind_name = params[i].localname new_binds[bind_name] = var_val if self.ask: return self.execute_ask(g, new_binds) else: return self.execute_select(g, new_binds) def apply(self, g): super(SPARQLFunction, self).apply(g) register_custom_function(self.node, self.execute_from_sparql, True, True) def unapply(self, g): super(SPARQLFunction, self).unapply(g) unregister_custom_function(self.node, self.execute_from_sparql) pyshacl-0.30.1/pyshacl/helper/__init__.py0000644000000000000000000000115600000000000015163 0ustar00import sys mod = sys.modules[__name__] setattr(mod, 'SPARQLQueryHelperCls', None) def get_query_helper_cls(): # The SPARQLQueryHelper file is expensive to load due to regex compilation steps # so we do it this way so its only loaded when something actually needs to use # a SPARQLQueryHelper SPARQLQueryHelperCls = getattr(mod, 'SPARQLQueryHelperCls', None) if SPARQLQueryHelperCls is None: from .sparql_query_helper import SPARQLQueryHelper SPARQLQueryHelperCls = SPARQLQueryHelper setattr(mod, 'SPARQLQueryHelperCls', SPARQLQueryHelperCls) return SPARQLQueryHelperCls pyshacl-0.30.1/pyshacl/helper/expression_helper.py0000644000000000000000000003067100000000000017166 0ustar00import itertools import operator from typing import TYPE_CHECKING, List, Set, Union from warnings import warn import rdflib from rdflib import Literal, URIRef from pyshacl.consts import ( RDF, SH_alternativePath, SH_filterShape, SH_intersection, SH_inversePath, SH_message, SH_nodes, SH_oneOrMorePath, SH_path, SH_this, SH_union, SH_zeroOrMorePath, SH_zeroOrOnePath, ) from pyshacl.errors import ReportableRuntimeError, ShapeLoadError if TYPE_CHECKING: from pyshacl.pytypes import GraphLike, RDFNode from pyshacl.shapes_graph import ShapesGraph def value_nodes_from_path(sg, focus, path_val, target_graph, inverse: bool = False, recursion: int = 0) -> Set: # Link: https://www.w3.org/TR/shacl/#property-paths if isinstance(path_val, URIRef): if inverse: return set(target_graph.subjects(path_val, focus)) else: return set(target_graph.objects(focus, path_val)) elif isinstance(path_val, Literal): raise ShapeLoadError( "Values of a property path cannot be a Literal.", "https://www.w3.org/TR/shacl/#property-paths", ) # At this point, path_val _must_ be a BNode # TODO, the path_val BNode must be value of exactly one sh:path subject in the SG. if recursion >= 10: raise ReportableRuntimeError("Path traversal depth is too much!") find_list = set(sg.graph.objects(path_val, RDF.first)) if len(find_list) > 0: first_node = next(iter(find_list)) rest_nodes = set(sg.graph.objects(path_val, RDF.rest)) go_deeper = True if len(rest_nodes) < 1: if recursion == 0: raise ReportableRuntimeError("A list of SHACL Paths must contain at least two path items.") else: go_deeper = False rest_node = next(iter(rest_nodes)) if rest_node == RDF.nil: if recursion == 0: raise ReportableRuntimeError("A list of SHACL Paths must contain at least two path items.") else: go_deeper = False this_level_nodes = value_nodes_from_path( sg, focus, first_node, target_graph, inverse=inverse, recursion=recursion + 1 ) if not go_deeper: return this_level_nodes found_value_nodes = set() for tln in iter(this_level_nodes): value_nodes = value_nodes_from_path( sg, tln, rest_node, target_graph, inverse=inverse, recursion=recursion + 1 ) found_value_nodes.update(value_nodes) return found_value_nodes find_inverse = set(sg.graph.objects(path_val, SH_inversePath)) if len(find_inverse) > 0: inverse_path = next(iter(find_inverse)) return value_nodes_from_path( sg, focus, inverse_path, target_graph, inverse=not inverse, recursion=recursion + 1 ) find_alternatives = set(sg.graph.objects(path_val, SH_alternativePath)) if len(find_alternatives) > 0: alternatives_list = next(iter(find_alternatives)) all_collected = set() visited_alternatives = 0 for a in sg.graph.items(alternatives_list): found_nodes = value_nodes_from_path(sg, focus, a, target_graph, inverse=inverse, recursion=recursion + 1) visited_alternatives += 1 all_collected.update(found_nodes) if visited_alternatives < 2: raise ReportableRuntimeError("List of SHACL alternate paths must have at least two path items.") return all_collected find_zero_or_more = set(sg.graph.objects(path_val, SH_zeroOrMorePath)) if len(find_zero_or_more) > 0: zm_path = next(iter(find_zero_or_more)) collection_set = set() # Note, the zero-or-more path always includes the current subject too! collection_set.add(focus) found_nodes = value_nodes_from_path(sg, focus, zm_path, target_graph, inverse=inverse, recursion=recursion + 1) search_deeper_nodes = set(iter(found_nodes)) while len(search_deeper_nodes) > 0: current_node = search_deeper_nodes.pop() if current_node in collection_set: continue collection_set.add(current_node) found_more_nodes = value_nodes_from_path( sg, current_node, zm_path, target_graph, inverse=inverse, recursion=recursion + 1 ) search_deeper_nodes.update(found_more_nodes) return collection_set find_one_or_more = set(sg.graph.objects(path_val, SH_oneOrMorePath)) if len(find_one_or_more) > 0: one_or_more_path = next(iter(find_one_or_more)) collection_set = set() found_nodes = value_nodes_from_path( sg, focus, one_or_more_path, target_graph, inverse=inverse, recursion=recursion + 1 ) # Note, the one-or-more path should _not_ include the current focus search_deeper_nodes = set(iter(found_nodes)) while len(search_deeper_nodes) > 0: current_node = search_deeper_nodes.pop() if current_node in collection_set: continue collection_set.add(current_node) found_more_nodes = value_nodes_from_path( sg, current_node, one_or_more_path, target_graph, inverse=inverse, recursion=recursion + 1 ) search_deeper_nodes.update(found_more_nodes) return collection_set find_zero_or_one = set(sg.graph.objects(path_val, SH_zeroOrOnePath)) if len(find_zero_or_one) > 0: zero_or_one_path = next(iter(find_zero_or_one)) collection_set = set() # Note, the zero-or-one path always includes the current subject too! collection_set.add(focus) found_nodes = value_nodes_from_path( sg, focus, zero_or_one_path, target_graph, inverse=inverse, recursion=recursion + 1 ) collection_set.update(found_nodes) return collection_set remaining = set(sg.graph.predicate_objects(path_val)) if len(remaining) > 0: raise ShapeLoadError( "{} is not a known property for a sh:path. Malformed shape?".format(str(next(iter(remaining))[0])), "https://www.w3.org/TR/shacl/#property-paths", ) raise ShapeLoadError( "Cannot get any values from sh:path property. Malformed shape?", "https://www.w3.org/TR/shacl/#property-paths" ) def nodes_from_node_expression( expr, focus_node, data_graph: 'GraphLike', sg: 'ShapesGraph', recurse_depth=0 ) -> Union[Set[Union['RDFNode', None]], List[Union['RDFNode', None]]]: # https://www.w3.org/TR/shacl-af/#node-expressions if expr == SH_this: return [focus_node] if isinstance(expr, (rdflib.URIRef, rdflib.Literal)): return [expr] elif isinstance(expr, rdflib.BNode): unions = set(sg.objects(expr, SH_union)) intersections = set(sg.objects(expr, SH_intersection)) if len(unions) and len(intersections): raise ReportableRuntimeError("Cannot have sh:intersection and sh:union on the same bnode.") if recurse_depth > 8 and (len(unions) or len(intersections)): warn(Warning("sh:union, sh:intersection, or sh:function args depth too deep. Won't capture all of it!")) return [] if len(unions): union_list = next(iter(unions)) parts = list(sg.graph.items(union_list)) all_nodes: Set[Union['RDFNode', None]] = set() for p in parts: new_parts = nodes_from_node_expression(p, focus_node, data_graph, sg, recurse_depth=recurse_depth + 1) all_nodes = all_nodes.union(new_parts) return all_nodes if len(intersections): inter_list = next(iter(intersections)) parts = list(data_graph.items(inter_list)) inter_nodes: Set[Union['RDFNode', None]] = set() new = True for p in parts: new_parts = nodes_from_node_expression(p, focus_node, data_graph, sg, recurse_depth=recurse_depth + 1) if new is True: inter_nodes = set(iter(new_parts)) new = False else: inter_nodes = inter_nodes.intersection(new_parts) return inter_nodes path_nodes = set(sg.objects(expr, SH_path)) if len(path_nodes) > 0: path_results: Set[Union['RDFNode', None]] = set() for p in path_nodes: vals = value_nodes_from_path(sg, focus_node, p, data_graph) path_results.update(vals) return path_results filter_shapes = set(sg.objects(expr, SH_filterShape)) nodes_nodes = set(sg.objects(expr, SH_nodes)) if len(filter_shapes) > 0: # pragma: no cover # Note: There's no tests for this whole filterShapes feature! if len(nodes_nodes) > 1: warn(Warning("More than one sh:nodes found. Using the first one.")) elif len(nodes_nodes) < 1: raise ReportableRuntimeError("The Node FilterShape {} does not have sh:nodes.".format(expr)) filter_shape = next(iter(filter_shapes)) filter_shape = sg.lookup_shape_from_node(filter_shape) nodes_expr = next(iter(nodes_nodes)) to_filter = nodes_from_node_expression( nodes_expr, focus_node, data_graph, sg, recurse_depth=recurse_depth + 1 ) passes = set() for n in to_filter: conforms, reports = filter_shape.validate(data_graph, n) if conforms: passes.add(n) return passes # Got to here, the only other possibility is this is a FunctionExpression. remain_pairs = set(sg.predicate_objects(expr)) fn_pairs = set() for rk, rv in remain_pairs: if rk == SH_message: # expressions can have a message, it doesn't affect the function continue elif isinstance(rv, rdflib.Literal): # pair is not list-valued, it can't be a function continue else: has_first = list(sg.objects(rv, RDF.first)) if len(has_first) > 0: fn_pairs.add((rk, rv)) if len(fn_pairs) > 1: warn(Warning("More than one FunctionExpression found. Using the first one.")) fnexpr, fnargslist = next(iter(fn_pairs)) # find the function! try: function, optionals = sg.get_shacl_function(fnexpr) except KeyError: raise ReportableRuntimeError( "The SHACLFunction {} was not defined in this SHACL Shapes file.".format(fnexpr) ) argslist_parts = list(sg.graph.items(fnargslist)) args_sets: List[Union[List[Union['RDFNode', None]], Set[Union['RDFNode', None]]]] = [ nodes_from_node_expression(p, focus_node, data_graph, sg, recurse_depth=recurse_depth + 1) for p in argslist_parts ] num_args_sets = len(args_sets) num_expected_args = len(optionals) if num_args_sets > num_expected_args: raise ReportableRuntimeError("Too many arguments given for {}".format(fnexpr)) if num_args_sets < num_expected_args: # not enough, but some might be optional num_diff = num_expected_args - num_args_sets args_sets_slice = args_sets[0 - num_diff :] all_empty = itertools.accumulate( {True if len(a) < 1 else False for a in args_sets_slice}, func=operator.or_ ) if all_empty: args_sets = args_sets[:num_expected_args] else: raise ReportableRuntimeError( "Too few arguments given for {}, with non-optional arguments.".format(fnexpr) ) add_nones = set() for i, a in enumerate(args_sets): if len(a) < 1: if optionals[i] is False: warn(Warning("Got an empty set of nodes for a non-optional argument in {}.".format(fnexpr))) return [] else: add_nones.add(i) for i in add_nones: args_sets[i] = [None] args_permutations = list(itertools.product(*args_sets)) responses = set() for permus in args_permutations: result = function(data_graph, *permus) responses.add(result) return responses else: raise NotImplementedError("Unsupported expression {}".format(expr)) pyshacl-0.30.1/pyshacl/helper/path_helper.py0000644000000000000000000001044200000000000015715 0ustar00from typing import TYPE_CHECKING, Dict, Union import rdflib from pyshacl.consts import SH_alternativePath, SH_inversePath, SH_oneOrMorePath, SH_zeroOrMorePath, SH_zeroOrOnePath from pyshacl.errors import ReportableRuntimeError if TYPE_CHECKING: from pyshacl.shape import ShapesGraph def shacl_path_to_sparql_path( shapes_graph: 'ShapesGraph', path_node, prefixes: Union[None, Dict] = None, recursion: int = 0 ): """ :param shapes_graph: :type shapes_graph: ShapesGraph :param path_node: :type path_node: rdflib.term.Node :param prefixes: :type prefixes: Union[None, Dict] :param recursion: :type recursion: int :returns: string :rtype: str """ # Link: https://www.w3.org/TR/shacl/#property-paths if isinstance(path_node, rdflib.URIRef): string_uri = str(path_node) if prefixes is not None and len(prefixes) > 0: for p, ns in prefixes.items(): if string_uri.startswith(ns): string_uri = ':'.join([p, string_uri.replace(ns, '')]) return string_uri return f"<{string_uri}>" elif isinstance(path_node, rdflib.Literal): raise ReportableRuntimeError("Values of a property path cannot be a Literal.") # At this point, path_val _must_ be a BNode # TODO, the path_val BNode must be value of exactly one sh:path subject in the SG. if recursion >= 12: raise ReportableRuntimeError("Path traversal depth is too much!") top_level = recursion == 0 sequence_list = list(shapes_graph.graph.items(path_node)) if len(sequence_list) > 0: all_collected = [] for s in sequence_list: seq1_string = shacl_path_to_sparql_path(shapes_graph, s, prefixes=prefixes, recursion=recursion + 1) all_collected.append(seq1_string) if len(all_collected) < 2: raise ReportableRuntimeError("List of SHACL sequence paths must have alt least two path items.") sequence_joined = " / ".join(all_collected) if top_level: return sequence_joined else: return f"({sequence_joined})" find_inverse = set(shapes_graph.objects(path_node, SH_inversePath)) if len(find_inverse) > 0: inverse_path = find_inverse.pop() inverse_path_string = shacl_path_to_sparql_path( shapes_graph, inverse_path, prefixes=prefixes, recursion=recursion + 1 ) return f"^{inverse_path_string}" find_alternatives = set(shapes_graph.objects(path_node, SH_alternativePath)) if len(find_alternatives) > 0: alternatives_list = find_alternatives.pop() all_collected = [] for a in shapes_graph.graph.items(alternatives_list): alt1_string = shacl_path_to_sparql_path(shapes_graph, a, prefixes=prefixes, recursion=recursion + 1) all_collected.append(alt1_string) if len(all_collected) < 2: raise ReportableRuntimeError("List of SHACL alternate paths must have alt least two path items.") collected_joined = " | ".join(all_collected) if top_level: return collected_joined else: return f"({collected_joined})" find_zero_or_more = set(shapes_graph.objects(path_node, SH_zeroOrMorePath)) if len(find_zero_or_more) > 0: zero_or_more_path = find_zero_or_more.pop() zom_path_string = shacl_path_to_sparql_path( shapes_graph, zero_or_more_path, prefixes=prefixes, recursion=recursion + 1 ) return f"{zom_path_string}*" find_zero_or_one = set(shapes_graph.objects(path_node, SH_zeroOrOnePath)) if len(find_zero_or_one) > 0: zero_or_one_path = find_zero_or_one.pop() zoo_path_string = shacl_path_to_sparql_path( shapes_graph, zero_or_one_path, prefixes=prefixes, recursion=recursion + 1 ) return f"{zoo_path_string}?" find_one_or_more = set(shapes_graph.objects(path_node, SH_oneOrMorePath)) if len(find_one_or_more) > 0: one_or_more_path = find_one_or_more.pop() oom_path_string = shacl_path_to_sparql_path( shapes_graph, one_or_more_path, prefixes=prefixes, recursion=recursion + 1 ) return f"{oom_path_string}+" raise NotImplementedError("That path method to get value nodes of property shapes is not yet implemented.") pyshacl-0.30.1/pyshacl/helper/sparql_query_helper.py0000644000000000000000000003342400000000000017515 0ustar00# -*- coding: utf-8 -*- """ https://www.w3.org/TR/shacl/#sparql-constraints """ import re import rdflib from rdflib import XSD from ..consts import ( OWL_PFX, RDF_PFX, RDFS_PFX, SH, OWL_Ontology, RDF_type, SH_namespace, SH_prefix, SH_prefixes, ) from ..errors import ConstraintLoadError, ReportableRuntimeError, ValidationFailure from .path_helper import shacl_path_to_sparql_path SH_declare = SH.declare invalid_parameter_names = {'this', 'shapesGraph', 'currentShape', 'path', 'PATH', 'value'} class SPARQLQueryHelper(object): bind_this_regex = re.compile(r"([\s{}()])[\$\?]this", flags=re.M) bind_value_regex = re.compile(r"([\s{}()])[\$\?]value", flags=re.M) bind_path_regex = re.compile(r"([\s{}()])[\$\?]PATH", flags=re.M) bind_sg_regex = re.compile(r"([\s{}()])[\$\?]shapesGraph", flags=re.M) bind_cs_regex = re.compile(r"([\s{}()])[\$\?]currentShape", flags=re.M) has_minus_regex = re.compile(r"^(?:[^#]*|M)(?!#)#?[^\?\$\#]M?INUS[\s\{]", flags=re.M | re.I) has_values_regex = re.compile(r"^(?:[^#]*|V)(?!#)#?[^\?\$\#]V?ALUES[\s\{]", flags=re.M | re.I) has_service_regex = re.compile(r"^(?:[^#]*|S)(?!#)#?[^\?\$\#]S?ERVICE[\s\<]", flags=re.M | re.I) has_nested_select_regex = re.compile( r"SELECT[\s\(\)\$\?\a-z]*\{[^\}]*SELECT\s+((?:(?:[\?\$]\w+\s+)|(?:\*\s+))+)", flags=re.M | re.I ) has_as_var_regex = re.compile(r"[^\w]+AS[\s]+[\$\?](\w+)", flags=re.M | re.I) find_msg_subs = re.compile(r"({[\$\?]([^{}]+)})", flags=re.M) def __init__(self, shape, node, select_text, parameters=None, messages=None, deactivated=False): self._shape = None self.node = node self.select_text = select_text self.unbound_messages = messages or set() self.deactivated = deactivated self.parameters = [] if parameters is None else parameters self.param_bind_map = {} self.bound_messages = set() self.prefixes = { 'rdf': RDF_PFX, 'rdfs': RDFS_PFX, 'owl': OWL_PFX, } if shape: self.shape = shape @property def shape(self): return self._shape @shape.setter def shape(self, newshape): self._shape = newshape if len(self.parameters) > 0: self.bind_params() self.bind_messages() @property def messages(self): if len(self.bound_messages) < 1: return self.unbound_messages return self.bound_messages def bind_params(self): bind_map = {} shape = self.shape for p in self.parameters: name = p.localname if name in invalid_parameter_names: # TODO:coverage: No test for this case raise ReportableRuntimeError("Parameter name {} cannot be used.".format(name)) shape_params = set(shape.objects(p.path())) if len(shape_params) < 1: if not p.optional: # TODO:coverage: No test for this case raise ReportableRuntimeError("Shape does not have mandatory parameter {}.".format(str(p.path()))) continue # TODO: Can shapes have more than one value for the predicate? # Just use one for now. # TODO: Check for sh:class and sh:nodeKind on the found param value bind_map[name] = next(iter(shape_params)) self.param_bind_map = bind_map def bind_messages(self, param_map=None): # must call bind_params _before_ bind_messages if param_map is None: param_map = self.param_bind_map var_replacers = {} bound_messages = set() for m in self.unbound_messages: m_val = str(m.value) finds = self.find_msg_subs.findall(m_val) if len(finds) < 1: bound_messages.add(m) continue for f in finds: variable = f[1] if variable not in param_map.keys(): continue try: replacer = var_replacers[variable] except KeyError: replacer = re.compile(r"{[\$\?]" + variable + r"}", flags=re.M) var_replacers[variable] = replacer m_val = replacer.sub(str(param_map[variable]), m_val, 1) bound_messages.add(rdflib.Literal(m_val, lang=m.language, datatype=m.datatype)) self.bound_messages = bound_messages def collect_prefixes(self): sg = self.shape.sg.graph prefixes_vals = set(sg.objects(self.node, SH_prefixes)) if len(prefixes_vals) < 1: return named_graph = sg.identifier if named_graph: ng_declares = set(sg.objects(named_graph, SH_declare)) else: ng_declares = set() onts = set(sg.subjects(RDF_type, OWL_Ontology)) ont_declares = set() for o in onts: ont_declares.update(set(sg.objects(o, SH_declare))) global_declares = ng_declares.union(ont_declares) for prefixes_val in iter(prefixes_vals): pfx_declares = set(sg.objects(prefixes_val, SH_declare)) if pfx_declares and prefixes_val in onts: all_declares = pfx_declares.union(ng_declares) else: all_declares = global_declares.union(pfx_declares) for dec in iter(all_declares): if isinstance(dec, rdflib.Literal): raise ConstraintLoadError( "sh:declare value must be either a URIRef or a BNode.", "https://www.w3.org/TR/shacl/#sparql-prefixes", ) prefix_vals = set(sg.objects(dec, SH_prefix)) if len(prefix_vals) < 1 or len(prefix_vals) > 1: raise ConstraintLoadError( "sh:declare must have exactly one sh:prefix predicate.", "https://www.w3.org/TR/shacl/#sparql-prefixes", ) prefix = next(iter(prefix_vals)) if not (isinstance(prefix, rdflib.Literal) and isinstance(prefix.value, str)): raise ConstraintLoadError( "sh:prefix value must be an RDF Literal with type xsd:string.", "https://www.w3.org/TR/shacl/#sparql-prefixes", ) prefix = str(prefix.value) namespace_vals = set(sg.objects(dec, SH_namespace)) if len(namespace_vals) < 1 or len(namespace_vals) > 1: raise ConstraintLoadError( "sh:declare must have exactly one sh:namespace predicate.", "https://www.w3.org/TR/shacl/#sparql-prefixes", ) namespace = next(iter(namespace_vals)) # type: rdflib.Literal if not (isinstance(namespace, rdflib.Literal) and namespace.datatype == XSD.anyURI): if prefix == "sh" and isinstance(namespace.value, str): # Known bug in shacl.ttl https://github.com/w3c/data-shapes/issues/125 pass elif ( namespace.datatype == XSD.string or namespace.language is not None or isinstance(namespace.value, str) ): # Its now possible for namespace to be xsd:string or string literal pass else: raise ConstraintLoadError( "sh:namespace value must be an RDF Literal with type xsd:anyURI.\nLiteral: {} type={}".format( namespace.value, namespace.datatype or namespace.language ), "https://www.w3.org/TR/shacl/#sparql-prefixes", ) namespace = rdflib.URIRef(str(namespace.value)) self.prefixes[prefix] = namespace def apply_prefixes(self, sparql): prefix_string = "" for p, ns in self.prefixes.items(): prefix_string += "PREFIX {}: <{}>\n".format(str(p), str(ns)) return "{}\n{}".format(prefix_string, sparql) @classmethod def _node_to_sparql_text(cls, node): if isinstance(node, rdflib.Literal): if isinstance(node.value, str): node_text = "\"{}\"".format(node.value) else: node_text = str(node.value) if node.language: node_text = "{}@{}".format(node_text, str(node.language)) elif node.datatype: node_text = "{}^^{}".format(node_text, cls._node_to_sparql_text(node.datatype)) return node_text elif isinstance(node, rdflib.URIRef): return "<{}>".format(str(node)) elif isinstance(node, rdflib.BNode): # I think this works to convert a BNode to its internal id. return str(node) elif isinstance(node, str): return node raise NotImplementedError("Cannot turn that kind of node into text.") def check_invalid_sparql(self, sparql_text, valuenode=None, extravars=None): has_minus = self.has_minus_regex.search(sparql_text) if has_minus: raise ValidationFailure("A SPARQL Constraint must not contain a MINUS clause.") has_values = self.has_values_regex.search(sparql_text) if has_values: raise ValidationFailure("A SPARQL Constraint must not contain a VALUES clause.") has_service = self.has_service_regex.search(sparql_text) if has_service: raise ValidationFailure("A SPARQL Constraint must not contain a federated query (SERVICE).") potentially_prebound_variables = {'this', 'shapesGraph', 'currentShape'} if valuenode is not None: potentially_prebound_variables.add('value') if extravars is not None and len(extravars) > 0: potentially_prebound_variables.update(extravars) has_nested_select = self.has_nested_select_regex.search(sparql_text) if has_nested_select: var_string = has_nested_select.group(1) vars = var_string.split() if len(vars) == 0: raise ValidationFailure("Ill-formed nested SELECT statement found.") stripped_vars = [v.lstrip('$?').rstrip() for v in vars] if len(stripped_vars) == 1 and stripped_vars[0] == "*": raise ValidationFailure( "Using 'SELECT *' in a nested SELECT query does not select potentially pre-bound variables.\n" "See https://github.com/w3c/data-shapes/issues/84." ) for p in potentially_prebound_variables: if p not in stripped_vars: # these are optional: if p == "shapesGraph" or p == "currentShape": continue elif p == "this": raise ValidationFailure( "All potentially pre-bound variables must be selected from a nested SELECT query.\n" "Don't forget to include variable `$this` in your SELECT arguments." ) else: raise ValidationFailure( "All potentially pre-bound variables must be selected from a nested SELECT query.\n" "Potentially pre-bound variables for this query are: {}.".format( ", ".join(potentially_prebound_variables) ) ) has_as_var = self.has_as_var_regex.search(sparql_text) if has_as_var: var_name = has_as_var.group(1) if var_name in potentially_prebound_variables: raise ValidationFailure( "Cannot use AS to re-bind potentially pre-bound variables such as {}".format(var_name) ) return True def pre_bind_variables(self, thisnode, valuenode=None, extravars=None): new_query_text = "" + self.select_text _ = self.check_invalid_sparql(new_query_text, valuenode=valuenode, extravars=extravars) init_bindings = {} found_this = self.bind_this_regex.search(new_query_text) if found_this: init_bindings['this'] = thisnode if valuenode: found_value = self.bind_value_regex.search(new_query_text) if found_value: init_bindings['value'] = valuenode found_cs = self.bind_cs_regex.search(new_query_text) if found_cs: init_bindings['currentShape'] = self.shape.node path = self.shape.path() if path: path_string = shacl_path_to_sparql_path(self.shape.sg, path, prefixes=self.prefixes) new_query_text = self.bind_path_regex.sub(r"\g<1>{}".format(path_string), new_query_text) else: found_path = self.bind_path_regex.search(new_query_text) if found_path: raise ReportableRuntimeError( "SPARQL Constraint text has $PATH in it, but no path is known on this Shape." ) # TODO: work out how to get shapesGraph binding from shape.sg # shapes_graph = self.shape.sg shapes_graph = False if shapes_graph: found_sg = self.bind_sg_regex.search(new_query_text) if found_sg: init_bindings['shapesGraph'] = shapes_graph else: found_sg = self.bind_sg_regex.search(new_query_text) if found_sg: raise NotImplementedError( "SPARQL Constraint text has $shapesGraph in it, but Shapes Graph is not currently supported." ) return init_bindings, new_query_text pyshacl-0.30.1/pyshacl/inference/__init__.py0000644000000000000000000000024600000000000015641 0ustar00# -*- coding: utf-8 -*- from .custom_rdfs_closure import CustomRDFSOWLRLSemantics, CustomRDFSSemantics __all__ = ['CustomRDFSSemantics', 'CustomRDFSOWLRLSemantics'] pyshacl-0.30.1/pyshacl/inference/custom_rdfs_closure.py0000644000000000000000000001151700000000000020171 0ustar00# -*- coding: utf-8 -*- from typing import TYPE_CHECKING, Optional try: from owlrl import OWL if isinstance(OWL, str): raise ImportError(OWL) except ImportError: try: from rdflib.namespace import OWL except ImportError: from pyshacl.consts import OWL try: from owlrl import RDFS if isinstance(RDFS, str): raise ImportError(RDFS) except ImportError: try: from rdflib.namespace import RDFS except ImportError: from pyshacl.consts import RDFS from owlrl.OWLRL import OWLRL_Semantics from owlrl.RDFSClosure import RDFS_Semantics as OrigRDFSSemantics if TYPE_CHECKING: from rdflib.graph import Graph class CustomRDFSSemantics(OrigRDFSSemantics): def one_time_rules(self): """ Override the RDFSClosure one-time-rules so that it does nothing These rules usually add 'hidden' literals to the graph in such a way that breaks some SHACL validation tests. """ pass class CustomRDFSOWLRLSemantics(CustomRDFSSemantics, OWLRL_Semantics): """ Custom hybrid RDFS+OWL-RL using our CustomRDFSSemantics above. Copied directly from RDFSClosure.CombinedClosure with a few tiny modifications """ full_binding_triples = [ (OWL.Thing, OWL.equivalentClass, RDFS.Resource), (RDFS.Class, OWL.equivalentClass, OWL.Class), (OWL.DataRange, OWL.equivalentClass, RDFS.Datatype), ] def __init__(self, graph, axioms, daxioms, rdfs: bool = True, destination: Optional['Graph'] = None): # MyPy thinks this is object.__init__ and says the kwargs are incorrect for __init__ OWLRL_Semantics.__init__(self, graph, axioms, daxioms, rdfs=rdfs, destination=destination) # type: ignore[arg-type, call-arg] CustomRDFSSemantics.__init__(self, graph, axioms, daxioms, rdfs=rdfs, destination=destination) # type: ignore[arg-type, call-arg] self.rdfs = True # noinspection PyMethodMayBeStatic @staticmethod def add_new_datatype( uri, conversion_function, datatype_list, subsumption_dict=None, subsumption_key=None, subsumption_list=None ): """If an extension wants to add new datatypes, this method should be invoked at initialization time. @param uri: URI for the new datatypes, like owl_ns["Rational"] @param conversion_function: a function converting the lexical representation of the datatype to a Python value, possibly raising an exception in case of unsuitable lexical form @param datatype_list: list of datatypes already in use that has to be checked @param subsumption_dict: dictionary of subsumption hierarchies (indexed by the datatype URI-s) @param subsumption_key: key in the dictionary, if None, the uri parameter is used @param subsumption_list: list of subsumptions associated to a subsumption key (ie, all datatypes that are superclasses of the new datatype) """ from owlrl.DatatypeHandling import AltXSDToPYTHON, use_Alt_lexical_conversions if datatype_list: datatype_list.append(uri) if subsumption_dict and subsumption_list: if subsumption_key: subsumption_dict[subsumption_key] = subsumption_list else: subsumption_dict[uri] = subsumption_list AltXSDToPYTHON[uri] = conversion_function use_Alt_lexical_conversions() def post_process(self): """Do some post-processing step. This method when all processing is done, but before handling possible errors (ie, the method can add its own error messages). By default, this method is empty, subclasses can add content to it by overriding it. """ OWLRL_Semantics.post_process(self) def rules(self, t, cycle_num): """ @param t: a triple (in the form of a tuple) @param cycle_num: which cycle are we in, starting with 1. This value is forwarded to all local rules; it is also used locally to collect the bnodes in the graph. """ OWLRL_Semantics.rules(self, t, cycle_num) if self.rdfs: CustomRDFSSemantics.rules(self, t, cycle_num) def add_axioms(self): if self.rdfs: CustomRDFSSemantics.add_axioms(self) OWLRL_Semantics.add_axioms(self) def add_d_axioms(self): if self.rdfs: CustomRDFSSemantics.add_d_axioms(self) OWLRL_Semantics.add_d_axioms(self) def one_time_rules(self): """Adds some extra axioms and calls for the d_axiom part of the OWL Semantics.""" for t in self.full_binding_triples: self.store_triple(t) # Note that the RL one time rules include the management of datatype which is a true superset # of the rules in RDFS. It is therefore unnecessary to add those even self.rdfs is True. OWLRL_Semantics.one_time_rules(self) pyshacl-0.30.1/pyshacl/monkey/__init__.py0000644000000000000000000000364300000000000015211 0ustar00# -*- coding: utf-8 -*- import rdflib from packaging.version import Version from rdflib import store RDFLIB_VERSION = Version(rdflib.__version__) RDFLIB_421 = Version("4.2.1") RDFLIB_500 = Version("5.0.0") RDFLIB_600 = Version("6.0.0") RDFLIB_602 = Version("6.0.2") RDFLIB_611 = Version("6.1.1") RDFLIB_620 = Version("6.2.0") def rdflib_bool_patch(): from rdflib.term import _XSD_PFX, URIRef, _toPythonMapping rdflib.NORMALIZE_LITERALS = False # we want to consider only 'true' to be a valid XSD:boolean truth (ie, ignore '1') _toPythonMapping[URIRef(_XSD_PFX + 'boolean')] = lambda i: i.lower() == 'true' def rdflib_bool_unpatch(): from rdflib.term import _XSD_PFX, URIRef, _toPythonMapping rdflib.NORMALIZE_LITERALS = True if RDFLIB_500 > RDFLIB_VERSION: # versions before rdflib 5.0.0 _toPythonMapping[URIRef(_XSD_PFX + 'boolean')] = lambda i: i.lower() in ['true', '1'] else: # rdflib 5.0.0 and above from rdflib.term import _parseBoolean _toPythonMapping[URIRef(_XSD_PFX + 'boolean')] = _parseBoolean def rdflib_term_ge_le_patch(): def __le__(term, other): r = term.__lt__(other) if r: return r try: return term.eq(other) except TypeError: return NotImplemented def __ge__(term, other): try: return term.__gt__(other) or term.eq(other) except TypeError: return NotImplemented setattr(rdflib.term.Literal, "__ge__", __ge__) setattr(rdflib.term.Literal, "__le__", __le__) def empty_iterator(): # noinspection PyUnreachableCode if False: # noinspection PyUnreachableCode yield None # type: ignore[unreachable] def apply_patches(): if RDFLIB_602 <= RDFLIB_VERSION < RDFLIB_611: # Fixes https://github.com/RDFLib/rdflib/pull/1432 setattr(store.Store, "namespaces", empty_iterator) return True pyshacl-0.30.1/pyshacl/parameter.py0000644000000000000000000001107400000000000014125 0ustar00from decimal import Decimal from logging import Logger from typing import Union from rdflib import Literal, URIRef from .consts import SH_datatype, SH_nodeKind, SH_optional, SH_order, SH_path from .errors import ConstraintLoadError, ReportableRuntimeError from .shape import Shape class SHACLParameter(Shape): __slots__ = ("nodekind", "datatype", "param_order", "optional") def __init__(self, sg, param_node, path=None, logger: Union[Logger, None] = None): """ :type sg: ShapesGraph :type param_node: URIRef """ if path is None: paths = list(sg.objects(param_node, SH_path)) if len(paths) < 1: path = URIRef("http://") # todo: is this a blank path? elif len(paths) > 1: raise ConstraintLoadError( "sh:parameter cannot have more than one value for sh:path.", "https://www.w3.org/TR/shacl-af/#functions-example", ) else: path = paths[0] super(SHACLParameter, self).__init__(sg, param_node, p=True, path=path, logger=logger) nodekinds = list(sg.objects(self.node, SH_nodeKind)) if len(nodekinds) < 1: self.nodekind = None elif len(nodekinds) > 1: raise ConstraintLoadError( "sh:parameter cannot have more than one value for sh:nodeKind.", "https://www.w3.org/TR/shacl-af/#functions-example", ) else: self.nodekind = nodekinds[0] datatypes = list(sg.objects(self.node, SH_datatype)) if len(datatypes) < 1: self.datatype = None elif len(datatypes) > 1: raise ConstraintLoadError( "sh:parameter cannot have more than one value for sh:datatype.", "https://www.w3.org/TR/shacl-af/#functions-example", ) else: self.datatype = datatypes[0] orders = list(sg.objects(self.node, SH_order)) if len(orders) < 1: self.param_order = None elif len(orders) > 1: raise ConstraintLoadError( "sh:parameter cannot have more than one value for sh:order.", "https://www.w3.org/TR/shacl-af/#functions-example", ) else: order = orders[0] if not isinstance(order, Literal): raise ConstraintLoadError( "sh:order value must be a literal of type Decimal or Integer", "https://www.w3.org/TR/shacl-af/#functions-example", ) if isinstance(order.value, Decimal): order = order.value elif isinstance(order.value, int): order = Decimal(order.value) elif isinstance(order.value, float): order = Decimal(str(order.value)) else: raise ConstraintLoadError( "sh:order value must be a literal of type Decimal or Integer", "https://www.w3.org/TR/shacl-af/#functions-example", ) self.param_order = order optionals = list(sg.objects(self.node, SH_optional)) if len(optionals) < 1: self.optional = False elif len(optionals) > 1: raise ConstraintLoadError( "sh:parameter cannot have more than one value for sh:optional.", "https://www.w3.org/TR/shacl-af/#functions-example", ) else: o = optionals[0] if not (isinstance(o, Literal) and isinstance(o.value, bool)): # TODO:coverage: we don't have any tests for invalid constraints raise ConstraintLoadError( "A sh:parameter value for sh:optional must be a valid RDF Literal of type xsd:boolean.", "https://www.w3.org/TR/shacl/#constraint-components-parameters", ) self.optional = bool(optionals[0]) def __str__(self): name = str(self.node) return "".format(name) @property def localname(self): path = self.path() hash_index = path.find('#') if hash_index > 0: ending = path[hash_index + 1 :] return ending right_slash_index = path.rfind('/') if right_slash_index > 0: # TODO:coverage: No test for this case where path has a forwardslash separator ending = path[right_slash_index + 1 :] return ending raise ReportableRuntimeError("Cannot get a local name for {}".format(path)) pyshacl-0.30.1/pyshacl/py.typed0000644000000000000000000000001000000000000013256 0ustar00partial pyshacl-0.30.1/pyshacl/pyshacl-cli.spec0000644000000000000000000000257000000000000014660 0ustar00# -*- mode: python ; coding: utf-8 -*- ## run `pyinstaller pyshacl-cli.spec` to create `dist/pyshacl.exe` dist ## note it requires pywin32 block_cipher = None a = Analysis( ['cli.py'], pathex=['.'], binaries=[ ('assets/shacl.pickle','assets'), ('assets/shacl-shacl.pickle','assets') ], datas=[ ('assets/shacl.ttl','assets'), ('assets/shacl-shacl.ttl','assets') ], hiddenimports=[ 'rdflib.plugins', 'rdflib', 'urllib3', 'win32com.gen_py', 'pkg_resources.py2_warn' ], hookspath=[], runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False ) pyz = PYZ( a.pure, a.zipped_data, cipher=block_cipher ) exe = EXE( pyz, a.scripts, a.binaries, a.zipfiles, a.datas, [], name='pyshacl', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, upx_exclude=[], runtime_tmpdir=None, console=True ) pyshacl-0.30.1/pyshacl/pytypes.py0000644000000000000000000000131300000000000013655 0ustar00# -*- coding: utf-8 -*- # from dataclasses import dataclass from typing import List, Optional, Union from rdflib import ConjunctiveGraph, Dataset, Graph, Literal from rdflib.term import IdentifiedNode, URIRef ConjunctiveLike = Union[ConjunctiveGraph, Dataset] GraphLike = Union[ConjunctiveLike, Graph] RDFNode = Union[IdentifiedNode, Literal] @dataclass class SHACLExecutor: validator: Optional[object] = None advanced_mode: bool = False abort_on_first: bool = False allow_infos: bool = False allow_warnings: bool = False iterate_rules: bool = False debug: bool = False sparql_mode: bool = False max_validation_depth: int = 15 focus_nodes: Optional[List[URIRef]] = None pyshacl-0.30.1/pyshacl/rdfutil/__init__.py0000644000000000000000000000115000000000000015347 0ustar00# -*- coding: utf-8 -*- # """A collection of handy utility RDF functions, will one day be split out into its own installable module.""" from .clone import clone_blank_node, clone_graph, clone_literal, clone_node, mix_datasets, mix_graphs # noqa: F401 from .compare import compare_blank_node, compare_literal, compare_node, order_graph_literal # noqa: F401 from .inoculate import inoculate, inoculate_dataset # noqa: F401 from .load import add_baked_in, get_rdf_from_web, load_from_source # noqa: F401 from .stringify import stringify_blank_node, stringify_graph, stringify_literal, stringify_node # noqa: F401 pyshacl-0.30.1/pyshacl/rdfutil/clone.py0000644000000000000000000003666300000000000014731 0ustar00# -*- coding: utf-8 -*- # from typing import Optional, Union, overload import rdflib from rdflib.collection import Collection from rdflib.graph import DATASET_DEFAULT_GRAPH_ID from rdflib.namespace import NamespaceManager from .consts import OWL, RDF_first, RDFNode from .pytypes import ConjunctiveLike, GraphLike OWLsameAs = OWL.sameAs def clone_dataset(source_ds: ConjunctiveLike, target_ds=None): if target_ds and not isinstance(target_ds, (rdflib.Dataset, rdflib.ConjunctiveGraph)): raise RuntimeError("when cloning a dataset, the target_ds must be a conjunctiveGraph or rdflib Dataset.") default_union = source_ds.default_union if target_ds is None: target_ds = rdflib.Dataset(default_union=default_union) target_ds.namespace_manager = NamespaceManager(target_ds, 'core') target_ds.default_context.namespace_manager = target_ds.namespace_manager named_graphs = [ ( rdflib.Graph(source_ds.store, i, namespace_manager=source_ds.namespace_manager) # type: ignore[arg-type] if not isinstance(i, rdflib.Graph) else i ) for i in source_ds.store.contexts(None) ] if isinstance(source_ds, rdflib.Dataset) and len(named_graphs) < 1: named_graphs = [ rdflib.Graph(source_ds.store, DATASET_DEFAULT_GRAPH_ID, namespace_manager=source_ds.namespace_manager) ] cloned_graphs = [ clone_graph(ng, rdflib.Graph(target_ds.store, ng.identifier, namespace_manager=target_ds.namespace_manager)) for ng in named_graphs ] source_graph_identifiers = [ng.identifier for ng in named_graphs] source_default_context_id = source_ds.default_context.identifier target_default_context_id = target_ds.default_context.identifier if source_default_context_id != target_default_context_id: old_target_default_context = target_ds.default_context old_target_default_context_id = old_target_default_context.identifier if isinstance(target_ds, rdflib.Dataset): new_target_default_context = target_ds.graph(source_default_context_id) else: new_target_default_context = target_ds.get_context(source_default_context_id) target_ds.store.add_graph(new_target_default_context) target_ds.default_context = new_target_default_context if old_target_default_context_id not in source_graph_identifiers: if isinstance(target_ds, rdflib.Dataset): target_ds.remove_graph(old_target_default_context) else: target_ds.store.remove_graph(old_target_default_context) target_default_context_id = new_target_default_context.identifier else: if isinstance(target_ds, rdflib.Dataset): _ = target_ds.graph(target_default_context_id) else: t_default = target_ds.get_context(target_default_context_id) target_ds.store.add_graph(t_default) for g in cloned_graphs: if g == target_ds.default_context or g.identifier == target_default_context_id: continue if isinstance(target_ds, rdflib.Dataset): _ = target_ds.graph(g) # alias to Dataset.add_graph() else: target_ds.store.add_graph(g) return target_ds def clone_graph( source_graph: rdflib.Graph, target_graph: Optional[rdflib.Graph] = None, identifier: Optional[str] = None ) -> rdflib.Graph: """ Make a clone of the source_graph by directly copying triples from source_graph to target_graph :param source_graph: :type source_graph: rdflib.Graph :param target_graph: :type target_graph: rdflib.Graph|None :param identifier: :type identifier: str | None :return: The cloned graph :rtype: rdflib.Graph """ if isinstance(source_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): return clone_dataset(source_graph, target_ds=target_graph) if target_graph is None: g = rdflib.Graph(identifier=identifier, bind_namespaces='core') for p, n in source_graph.namespace_manager.namespaces(): g.namespace_manager.bind(p, n, override=True, replace=True) else: g = target_graph for p, n in source_graph.namespace_manager.namespaces(): g.namespace_manager.bind(p, n, override=False, replace=False) for t in iter(source_graph): g.add(t) return g def mix_datasets( base_ds: ConjunctiveLike, extra_ds: GraphLike, target_ds: Optional[Union[ConjunctiveLike, str]] = None ): """ Make a clone of base_ds (dataset) and add in the triples from extra_ds (dataset) :param base_ds: :type base_ds: rdflib.Dataset :param extra_ds: :type extra_ds: rdflib.Dataset :param target_ds: :type target_ds: rdflib.Dataset|str|NoneType :return: The cloned Dataset with mixed in triples from extra_ds :rtype: rdflib.Dataset """ default_union = base_ds.default_union base_named_graphs = [ ( rdflib.Graph(base_ds.store, i, namespace_manager=base_ds.namespace_manager) # type: ignore[arg-type] if not isinstance(i, rdflib.Graph) else i ) for i in base_ds.store.contexts(None) ] if isinstance(base_ds, rdflib.Dataset) and len(base_named_graphs) < 1: # rdflib.Dataset always includes the DEFAULT_GRAPH_ID named graph # but a conjunctive graph does not. It _could_ return no graphs. base_named_graphs = [ rdflib.Graph(base_ds.store, DATASET_DEFAULT_GRAPH_ID, namespace_manager=base_ds.namespace_manager) ] if target_ds is None: target_ds = rdflib.Dataset(default_union=default_union) target_ds.namespace_manager = NamespaceManager(target_ds, 'core') target_ds.default_context.namespace_manager = target_ds.namespace_manager elif target_ds == "inplace" or target_ds == "base": target_ds = base_ds elif isinstance(target_ds, str): raise RuntimeError("target_ds cannot be a string (unless it is 'inplace' or 'base')") if isinstance(target_ds, (rdflib.ConjunctiveGraph, rdflib.Dataset)): if not isinstance(target_ds, rdflib.Dataset): raise RuntimeError("Cannot mix new graphs into a ConjunctiveGraph, use Dataset instead.") else: raise RuntimeError("Cannot mix datasets if target_ds passed in is not a Dataset itself.") if isinstance(extra_ds, (rdflib.Dataset, rdflib.ConjunctiveGraph)): mixin_graphs = [ ( rdflib.Graph(extra_ds.store, i, namespace_manager=extra_ds.namespace_manager) # type: ignore[arg-type] if not isinstance(i, rdflib.Graph) else i ) for i in extra_ds.store.contexts(None) ] else: mixin_graphs = [extra_ds] if target_ds is base_ds or target_ds == "inplace" or target_ds == "base": target_ds = base_ds for mg in mixin_graphs: mod_named_graphs = {g.identifier: mix_graphs(g, mg, target_graph=g) for g in base_named_graphs} else: mixed_graphs = {} for mg in mixin_graphs: mod_named_graphs = { g.identifier: mix_graphs( g, mg, target_graph=rdflib.Graph( store=target_ds.store, namespace_manager=target_ds.namespace_manager, identifier=g.identifier ), ) for g in base_named_graphs } mixed_graphs.update(mod_named_graphs) base_graph_identifiers = [bg.identifier for bg in base_named_graphs] base_default_context_id = base_ds.default_context.identifier target_default_context_id = target_ds.default_context.identifier if base_default_context_id != target_default_context_id: old_target_default_context = target_ds.default_context old_target_default_context_id = old_target_default_context.identifier if isinstance(target_ds, rdflib.Dataset): new_target_default_context = target_ds.graph(base_default_context_id) else: new_target_default_context = target_ds.get_context(base_default_context_id) target_ds.store.add_graph(new_target_default_context) target_ds.default_context = new_target_default_context if old_target_default_context_id not in base_graph_identifiers: if isinstance(target_ds, rdflib.Dataset): target_ds.remove_graph(old_target_default_context) else: target_ds.store.remove_graph(old_target_default_context) target_default_context_id = new_target_default_context.identifier else: if isinstance(target_ds, rdflib.Dataset): _ = target_ds.graph(target_default_context_id) else: t_default = target_ds.get_context(target_default_context_id) target_ds.store.add_graph(t_default) for i, m in mixed_graphs.items(): if m == target_ds.default_context or i == target_default_context_id: continue if isinstance(target_ds, rdflib.Dataset): _ = target_ds.graph(m) # alias to Dataset.add_graph() else: target_ds.store.add_graph(m) return target_ds def mix_graphs(base_graph: GraphLike, extra_graph: GraphLike, target_graph: Optional[Union[GraphLike, str]] = None): """ Make a clone of base_graph and add in the triples from extra_graph :param base_graph: :type base_graph: rdflib.Graph :param extra_graph: :type extra_graph: rdflib.Graph :param target_graph: :type target_graph: rdflib.Graph|str|NoneType :return: The cloned graph with mixed in triples from extra_graph :rtype: rdflib.Graph """ if isinstance(base_graph, (rdflib.ConjunctiveGraph, rdflib.Dataset)) and isinstance( target_graph, (rdflib.ConjunctiveGraph, rdflib.Dataset) ): return mix_datasets(base_graph, extra_graph, target_ds=target_graph) if target_graph is None: g = clone_graph(base_graph, target_graph=None, identifier=base_graph.identifier) elif target_graph == "inplace" or target_graph == "base": # Special case, don't clone the basegraph, just put extra straight in g = base_graph elif isinstance(target_graph, str): raise RuntimeError("target_graph cannot be a string (unless it is 'inplace' or 'base')") elif target_graph is base_graph: g = base_graph else: # Clone base_graph into existing target, before mixing in extra g = clone_graph(base_graph, target_graph=target_graph) g = clone_graph(extra_graph, target_graph=g) return g @overload def clone_list( graph: rdflib.Graph, lnode: rdflib.BNode, target_graph: rdflib.Graph, keepid: bool = ..., recursion: int = ..., deep_clone: bool = ..., ) -> rdflib.BNode: ... @overload def clone_list( graph: rdflib.Graph, lnode: rdflib.URIRef, target_graph: rdflib.Graph, keepid: bool = ..., recursion: int = ..., deep_clone: bool = ..., ) -> rdflib.URIRef: ... def clone_list(graph, lnode, target_graph, keepid=False, recursion=0, deep_clone=False): # If deep_clone, copy all the contents (subjects, predicates) of a named member item if isinstance(lnode, rdflib.BNode): if keepid: cloned_node = rdflib.BNode(str(lnode)) else: cloned_node = rdflib.BNode() else: # A list can be a NamedIndividual too cloned_node = rdflib.URIRef(str(lnode)) new_list = Collection(target_graph, cloned_node) for item in iter(graph.items(lnode)): cloned_item = clone_node(graph, item, target_graph, recursion=recursion + 1, deep_clone=deep_clone) new_list.append(cloned_item) return cloned_node def clone_blank_node( graph: rdflib.Graph, bnode: rdflib.BNode, target_graph: rdflib.Graph, keepid: bool = False, recursion: int = 0 ) -> rdflib.BNode: if not isinstance(graph, rdflib.Graph): raise RuntimeError("clone_blank_node must take an rdflib.Graph as first parameter") if not isinstance(bnode, rdflib.BNode): raise RuntimeError("clone_blank_node must take an rdflib.BNode as second parameter") if keepid: cloned_bnode = rdflib.BNode(str(bnode)) else: cloned_bnode = rdflib.BNode() if recursion >= 10: return cloned_bnode # Cannot clone this deep predicates = set(graph.predicates(bnode)) if len(predicates) < 1: return cloned_bnode if RDF_first in predicates: # don't increase recursion here, we're not actually going any deeper in the graph, just sideways return clone_list(graph, bnode, target_graph, keepid=keepid, recursion=recursion) for p in predicates: cloned_p = clone_node(graph, p, target_graph, recursion=recursion + 1) objs = list(graph.objects(bnode, p)) if len(objs) < 1: continue for o in objs: if p is OWLsameAs and o is bnode: # Avoid a crazy owl:sameAs recursion with self. cloned_o = clone_node(graph, o, target_graph, recursion=recursion + 1, deep_clone=False) else: cloned_o = clone_node(graph, o, target_graph, recursion=recursion + 1) target_graph.add((cloned_bnode, cloned_p, cloned_o)) return cloned_bnode def clone_literal(graph: rdflib.Graph, node: rdflib.Literal, target_graph: rdflib.Graph) -> rdflib.Literal: lex_val_string = str(node) lang = node.language datatype = node.datatype new_literal = rdflib.Literal(lex_val_string, lang, datatype) return new_literal def clone_node( graph: rdflib.Graph, node: RDFNode, target_graph: rdflib.Graph, recursion: int = 0, deep_clone: bool = False ) -> RDFNode: # If deepclone, when the type is URIRef, it clones _all_ node content (properties, objects) new_node: RDFNode if isinstance(node, rdflib.Literal): new_node = clone_literal(graph, node, target_graph) elif isinstance(node, rdflib.BNode): new_node = clone_blank_node(graph, node, target_graph, recursion=recursion + 1) elif isinstance(node, rdflib.URIRef): new_node = rdflib.URIRef(str(node)) if deep_clone: # Treat it like a blankNode, and copy all the contents if recursion >= 10: return new_node # Cannot clone this deep predicates = set(graph.predicates(node)) if len(predicates) < 1: return new_node if RDF_first in predicates: # don't increase recursion here, we're not actually going any deeper in the graph, just sideways return clone_list(graph, node, target_graph, recursion=recursion) for p in predicates: cloned_p = clone_node(graph, p, target_graph, recursion=recursion + 1, deep_clone=False) objs = list(graph.objects(node, p)) if len(objs) < 1: continue for o in objs: if p is OWLsameAs and o is node: # Avoid a crazy owl:sameAs recursion with self. cloned_o = clone_node(graph, o, target_graph, recursion=recursion + 1, deep_clone=False) else: cloned_o = clone_node(graph, o, target_graph, recursion=recursion + 1, deep_clone=deep_clone) target_graph.add((new_node, cloned_p, cloned_o)) else: raise ValueError(f"Cannot clone node of type {type(node)}") return new_node pyshacl-0.30.1/pyshacl/rdfutil/compare.py0000644000000000000000000002304100000000000015241 0ustar00# -*- coding: utf-8 -*- # import datetime from typing import List import rdflib from .consts import RDF_first, RDFS_Resource from .stringify import stringify_node # RDFLib 5.0+ has TOTAL_ORDER_CASTERS to force order on normally unorderable types, # like datetimes and times. We specifically _dont_ want that here when comparing literals. _FORCE_COMPARE_LITERAL_VALUE = [ datetime.datetime, datetime.time, ] def compare_blank_node(graph1: rdflib.Graph, bnode1, graph2: rdflib.Graph, bnode2, recursion=0): if not isinstance(graph1, rdflib.Graph) or not isinstance(graph2, rdflib.Graph): raise RuntimeError("Comparing blank nodes, graph1 and graph2 must must be RDFLib Graphs") if not isinstance(bnode1, rdflib.BNode) or not isinstance(bnode2, rdflib.BNode): raise RuntimeError("Comparing blank nodes, bnode1 and bnode2 must must be RDFLib BNodes") if recursion >= 10: return 1 # Cannot compare this deep def compare_list(l_node1, l_node2): # TODO, determine if lists must be ordered list_1_items = list(graph1.items(l_node1)) list_2_items = list(graph2.items(l_node2)) if len(list_1_items) > len(list_2_items): return 1 elif len(list_2_items) > len(list_1_items): return -1 eq = 0 for i1 in list_1_items: found = None for i2 in list_2_items: eq = compare_node(graph1, i1, graph2, i2, recursion=recursion + 1) if eq == 0: found = i2 break if found is not None: list_2_items.remove(found) else: eq = 1 break return eq predicates1 = set(graph1.predicates(bnode1)) predicates2 = set(graph2.predicates(bnode2)) in_ps1_but_not_in_ps2: List = list() in_ps2_but_not_in_ps1: List = list() pred_objs_in_bnode1_but_not_bnode2: List = list() pred_objs_in_bnode2_but_not_bnode1: List = list() def return_eq(direction): nonlocal graph1, graph2, recursion, in_ps2_but_not_in_ps1, in_ps1_but_not_in_ps2 nonlocal pred_objs_in_bnode1_but_not_bnode2, pred_objs_in_bnode2_but_not_bnode1 if direction == 0: return direction if recursion <= 1: # TODO: Add a way to turn off this wall of text if direction < 0: print("BNode1 is smaller.") else: print("BNode1 is larger.") print("BNode1:") print(stringify_node(graph1, bnode1)) print("BNode2:") print(stringify_node(graph2, bnode2)) if len(in_ps1_but_not_in_ps2) > 0: print("In predicates of BNode1, but not in predicates of BNode2:") for p in in_ps1_but_not_in_ps2: print("predicate: {}".format(stringify_node(graph1, p))) if len(in_ps2_but_not_in_ps1) > 0: print("In predicates of BNode2, but not in predicates of BNode1:") for p in in_ps2_but_not_in_ps1: print("predicate: {}".format(stringify_node(graph2, p))) if len(pred_objs_in_bnode1_but_not_bnode2) > 0: print("In predicate/objects of BNode1, but not in predicate/objects of BNode2:") for p, o in pred_objs_in_bnode1_but_not_bnode2: print("predicate: {} object: {}".format(stringify_node(graph1, p), stringify_node(graph1, o))) if len(pred_objs_in_bnode2_but_not_bnode1) > 0: print("In predicate/objects of BNode2, but not in predicate/objects of BNode1:") for p, o in pred_objs_in_bnode2_but_not_bnode1: print("predicate: {} object: {}".format(stringify_node(graph2, p), stringify_node(graph2, o))) return direction if len(predicates1) < 1 and len(predicates2) < 1: return return_eq(0) elif len(predicates1) < 1: return return_eq(-1) elif len(predicates2) < 1: return return_eq(1) if RDF_first in predicates1 and RDF_first in predicates2: return compare_list(bnode1, bnode2) elif RDF_first in predicates1: return return_eq(1) elif RDF_first in predicates2: return return_eq(-1) bnode1_eq = 0 for p1 in predicates1: if isinstance(p1, rdflib.URIRef): if p1 in predicates2: o1_list = list(graph1.objects(bnode1, p1)) o2_list = list(graph2.objects(bnode2, p1)) for o1 in o1_list: if o1 == RDFS_Resource: continue found = None for o2 in o2_list: eq = compare_node(graph1, o1, graph2, o2, recursion=recursion + 1) if eq == 0: found = o2 break if found is not None: o2_list.remove(found) else: pred_objs_in_bnode1_but_not_bnode2.append((p1, o1)) if len(pred_objs_in_bnode1_but_not_bnode2) > 0: bnode1_eq = 1 else: in_ps1_but_not_in_ps2.append(p1) bnode1_eq = 1 else: raise NotImplementedError("Don't know to compare non-uri predicates on a blank node.") bnode2_eq = 0 for p2 in predicates2: if isinstance(p2, rdflib.URIRef): if p2 in predicates1: o1_list = list(graph1.objects(bnode1, p2)) o2_list = list(graph2.objects(bnode2, p2)) for o2 in o2_list: if o2 == RDFS_Resource: continue found = None for o1 in o1_list: eq = compare_node(graph2, o2, graph1, o1, recursion=recursion + 1) if eq == 0: found = o1 break if found is not None: o1_list.remove(found) else: pred_objs_in_bnode2_but_not_bnode1.append((p2, o2)) if len(pred_objs_in_bnode2_but_not_bnode1) > 0: bnode2_eq = 1 else: in_ps2_but_not_in_ps1.append(p2) bnode2_eq = 1 else: raise NotImplementedError("Don't know to compare non-uri predicates on a blank node.") if bnode1_eq == 0 and bnode2_eq == 0: return return_eq(0) if bnode1_eq == 1 and bnode2_eq == 1: return return_eq(2) if bnode1_eq == -1 and bnode2_eq == -1: return return_eq(-2) if bnode1_eq == 1 and bnode2_eq == 0: return return_eq(1) if bnode1_eq == 0 and bnode2_eq == 1: return return_eq(-1) if bnode1_eq == 0 and bnode2_eq == -1: return return_eq(1) if bnode1_eq == -1 and bnode2_eq == 0: return return_eq(-1) return return_eq(bnode1_eq) def compare_literal(l1, l2): if l1.eq(l2): return 0 # If we are not equal, but didn't get TypeError not NotImplementedError # then we know these are compatible/comparable datatypes already if l1.value.__class__ in _FORCE_COMPARE_LITERAL_VALUE: if l1.value == l2.value: return 0 elif l1.value > l2.value: return 1 elif l1 > l2: return 1 return -1 def order_graph_literal(graph1: rdflib.Graph, lit1: rdflib.Literal, graph2: rdflib.Graph, lit2: rdflib.Literal): if not isinstance(graph1, rdflib.Graph) or not isinstance(graph2, rdflib.Graph): raise RuntimeError("Comparing ordered literals, graph1 and graph2 must must be RDFLib Graphs") if not isinstance(lit1, rdflib.Literal) or not isinstance(lit2, rdflib.Literal): raise RuntimeError("Comparing ordered literals, lit1 and lit2 must must be RDFLib Literals") try: order = compare_literal(lit1, lit2) except (TypeError, NotImplementedError): order = 1 # 1 = not-equal return order def compare_node(graph1: rdflib.Graph, node1, graph2: rdflib.Graph, node2, recursion=0): if not isinstance(graph1, rdflib.Graph) or not isinstance(graph2, rdflib.Graph): raise RuntimeError("Comparing nodes, graph1 and graph2 must must be RDFLib Graphs") if not isinstance(node1, rdflib.term.Identifier) or not isinstance(node2, rdflib.term.Identifier): raise RuntimeError("Comparing nodes, node1 and node2 must must be RDFLib Identifiers") if isinstance(node1, rdflib.Literal) and isinstance(node2, rdflib.Literal): order = order_graph_literal(graph1, node1, graph2, node2) elif isinstance(node1, rdflib.Literal): order = 1 # node1 being a literal is greater elif isinstance(node2, rdflib.Literal): order = -1 # node2 being a literal is greater elif isinstance(node1, rdflib.BNode) and isinstance(node2, rdflib.BNode): order = compare_blank_node(graph1, node1, graph2, node2, recursion=recursion + 1) elif isinstance(node1, rdflib.BNode): order = 1 # node1 being a BNode is greater elif isinstance(node2, rdflib.BNode): order = -1 # node2 being a BNode is greater elif isinstance(node1, rdflib.URIRef) and isinstance(node2, rdflib.URIRef): s1 = str(node1) s2 = str(node2) if s1 > s2: order = 1 elif s2 > s1: order = -1 else: order = 0 else: s1 = str(node1) s2 = str(node2) if s1 > s2: order = 1 elif s2 > s1: order = -1 else: order = 0 return order pyshacl-0.30.1/pyshacl/rdfutil/consts.py0000644000000000000000000000503000000000000015122 0ustar00# -*- coding: utf-8 -*- # from typing import Union from rdflib import RDF, RDFS, ConjunctiveGraph, Dataset, Graph, Namespace from rdflib.namespace import OWL from rdflib.term import Node RDFS_Resource = RDFS.Resource RDF_first = RDF.first SH = Namespace('http://www.w3.org/ns/shacl#') ConjunctiveLike = Union[ConjunctiveGraph, Dataset] GraphLike = Union[ConjunctiveLike, Graph] RDFNode = Node OWL_properties = [ OWL.allValuesFrom, OWL.annotatedProperty, OWL.annotatedSource, OWL.annotatedTarget, OWL.assertionProperty, OWL.cardinality, OWL.complementOf, OWL.datatypeComplementOf, OWL.differentFrom, OWL.disjointUnionOf, OWL.disjointWith, OWL.distinctMembers, OWL.equivalentClass, OWL.equivalentProperty, OWL.hasKey, OWL.hasSelf, OWL.hasValue, OWL.intersectionOf, OWL.inverseOf, OWL.maxCardinality, OWL.maxQualifiedCardinality, OWL.members, OWL.minCardinality, OWL.minQualifiedCardinality, OWL.onClass, OWL.onDataRange, OWL.onDatatype, OWL.onProperties, OWL.onProperty, OWL.oneOf, OWL.propertyChainAxiom, OWL.propertyDisjointWith, OWL.qualifiedCardinality, OWL.sameAs, OWL.someValuesFrom, OWL.sourceIndividual, OWL.targetIndividual, OWL.targetValue, OWL.unionOf, OWL.withRestrictions, OWL.backwardCompatibleWith, OWL.deprecated, OWL.incompatibleWith, OWL.priorVersion, OWL.versionInfo, OWL.bottomDataProperty, OWL.topDataProperty, OWL.bottomObjectProperty, OWL.topObjectProperty, OWL.imports, OWL.versionIRI, ] OWL_classes = [ OWL.AllDifferent, OWL.AllDisjointClasses, OWL.AllDisjointProperties, OWL.Annotation, OWL.AnnotationProperty, OWL.AsymmetricProperty, OWL.Axiom, OWL.Class, OWL.DataRange, OWL.DatatypeProperty, OWL.DeprecatedClass, OWL.DeprecatedProperty, OWL.FunctionalProperty, OWL.InverseFunctionalProperty, OWL.IrreflexiveProperty, OWL.NamedIndividual, OWL.NegativePropertyAssertion, OWL.ObjectProperty, OWL.Ontology, OWL.OntologyProperty, OWL.ReflexiveProperty, OWL.Restriction, OWL.SymmetricProperty, OWL.TransitiveProperty, ] RDFS_properties = [ RDFS.comment, RDFS.domain, RDFS.isDefinedBy, RDFS.label, RDFS.member, RDFS.range, RDFS.seeAlso, RDFS.subClassOf, RDFS.subPropertyOf, ] RDFS_classes = [ RDFS.Class, RDFS.Container, RDFS.ContainerMembershipProperty, RDFS.Datatype, RDFS.Literal, RDFS.Resource, ] pyshacl-0.30.1/pyshacl/rdfutil/inoculate.py0000644000000000000000000001374200000000000015605 0ustar00from itertools import chain from typing import TYPE_CHECKING, Dict, Optional, Union import rdflib from .clone import clone_blank_node, clone_dataset, clone_node from .consts import OWL, RDF, ConjunctiveLike, GraphLike, OWL_classes, OWL_properties, RDFS_classes, RDFS_properties if TYPE_CHECKING: from rdflib import BNode from rdflib.term import URIRef from .consts import RDFNode OWLNamedIndividual = OWL.NamedIndividual def inoculate(data_graph: rdflib.Graph, ontology: GraphLike) -> rdflib.Graph: """ Copies all RDFS and OWL axioms (classes, relationship definitions, and properties) from the ontology graph into the data_graph. :param data_graph: :type data_graph: :param ontology: :type ontology: :return: :rtype: """ copied_bnode_map: Dict[RDFNode, BNode] = {} copied_named_map: Dict[RDFNode, Union[BNode, RDFNode]] = {} ontology_ns = ontology.namespace_manager data_graph_ns = data_graph.namespace_manager if isinstance(ontology, (rdflib.ConjunctiveGraph, rdflib.Dataset)): # always set default_union true on the ontology DS ontology.default_union = True # Bind any missing ontology namespaces in the DataGraph NS manager. if ontology_ns is not data_graph_ns: data_graph_prefixes = {p: n for (p, n) in data_graph_ns.namespaces()} for p, n in ontology_ns.namespaces(): if p not in data_graph_prefixes: data_graph_ns.bind(p, n) for ont_class in chain(RDFS_classes, OWL_classes): found_s = list(ontology.subjects(RDF.type, ont_class)) for s in found_s: if isinstance(s, rdflib.BNode): if s in copied_bnode_map: new_bnode = copied_bnode_map[s] else: new_bnode = clone_blank_node(ontology, s, data_graph) copied_bnode_map[s] = new_bnode data_graph.add((new_bnode, RDF.type, ont_class)) else: if ont_class is OWLNamedIndividual: if s in copied_named_map: new_s = copied_named_map[s] else: # Whole node of NamedIndividual needs to be cloned new_s = clone_node(ontology, s, data_graph, deep_clone=True) copied_named_map[s] = new_s else: # Shallow-copy this node from the ontology graph to the data graph new_s = clone_node(ontology, s, data_graph, deep_clone=False) data_graph.add((new_s, RDF.type, ont_class)) for ont_property in chain(RDFS_properties, OWL_properties): found_s_o = list(ontology.subject_objects(ont_property)) for s2, o2 in found_s_o: if isinstance(s2, rdflib.BNode): if s2 in copied_bnode_map: new_bnode = copied_bnode_map[s2] else: new_bnode = clone_blank_node(ontology, s2, data_graph) copied_bnode_map[s2] = new_bnode new_s = new_bnode else: new_s = s2 if isinstance(o2, rdflib.BNode): if o2 in copied_bnode_map: new_bnode = copied_bnode_map[o2] else: new_bnode = clone_blank_node(ontology, o2, data_graph) copied_bnode_map[o2] = new_bnode data_graph.add((new_s, ont_property, new_bnode)) else: data_graph.add((new_s, ont_property, o2)) # Finally add in any triples where a known NamedIndividual is the Object. for ni in copied_named_map.keys(): found_s_p = list(ontology.subject_predicates(object=ni)) for s3, p3 in found_s_p: if isinstance(p3, (rdflib.Literal, rdflib.BNode)): # predicates pointing to NamedIndividual should not be BNode or Literal continue if isinstance(s3, rdflib.BNode): if s3 in copied_bnode_map: new_bnode = copied_bnode_map[s3] else: new_bnode = clone_blank_node(ontology, s3, data_graph) copied_bnode_map[s3] = new_bnode new_s = new_bnode else: new_s = s3 data_graph.add((new_s, p3, ni)) return data_graph def inoculate_dataset( base_ds: ConjunctiveLike, ontology_ds: GraphLike, target_ds: Optional[Union[ConjunctiveLike, str]] = None, target_graph_identifier: Optional['URIRef'] = None, ): """ Make a clone of base_ds (dataset) and add RDFS and OWL triples from ontology_ds :param base_ds: :type base_ds: rdflib.Dataset :param ontology_ds: :type ontology_ds: rdflib.Dataset|rdflib.ConjunctiveGraph|rdflib.Graph :param target_ds: :type target_ds: rdflib.Dataset|str|NoneType :param target_graph_identifier: :type target_graph_identifier: rdflib.URIRef | None :return: The cloned Dataset with ontology triples from ontology_ds :rtype: rdflib.Dataset """ if target_ds is None: target_ds = clone_dataset(base_ds) elif target_ds is base_ds: pass elif target_ds == "inplace" or target_ds == "base": target_ds = base_ds elif isinstance(target_ds, str): raise RuntimeError("target_ds cannot be a string (unless it is 'inplace' or 'base')") if isinstance(target_ds, (rdflib.ConjunctiveGraph, rdflib.Dataset)): if not isinstance(target_ds, rdflib.Dataset): raise RuntimeError("Cannot inoculate ConjunctiveGraph, use Dataset instead.") else: raise RuntimeError("Cannot inoculate datasets if target_ds passed in is not a Dataset itself.") if target_graph_identifier: dest_graph = target_ds.get_context(target_graph_identifier) else: dest_graph = target_ds.default_context # inoculate() routine will set default_union on the ontology_ds if it is a Dataset inoculate(dest_graph, ontology_ds) return target_ds pyshacl-0.30.1/pyshacl/rdfutil/load.py0000644000000000000000000007234200000000000014542 0ustar00# -*- coding: utf-8 -*- # import http.client import os import pickle import platform import sys from io import BufferedIOBase, BytesIO, TextIOBase, UnsupportedOperation from logging import WARNING, Logger, getLogger from pathlib import Path, PurePath from typing import IO, List, Optional, Union, cast from urllib import request from urllib.error import HTTPError from urllib.parse import unquote_to_bytes import rdflib from rdflib.namespace import SDO, NamespaceManager from rdflib.term import URIRef from .clone import clone_dataset, clone_graph SCHEMA = SDO ConjunctiveLike = Union[rdflib.ConjunctiveGraph, rdflib.Dataset] GraphLike = Union[ConjunctiveLike, rdflib.Graph] is_windows = platform.system() == "Windows" MAX_OWL_IMPORT_DEPTH = 3 baked_in = {} def path_from_uri(uri: Union[str, URIRef], relative_to: Union[PurePath, None] = None) -> Path: """Return a new path from the given 'file' URI.""" if not uri.startswith('file:'): raise ValueError(f"File URI does not start with 'file:': {uri!r}") path: str = str(uri)[5:] if path[:3] == '///': # Remove empty authority path = path[2:] elif path[:12] == '//localhost/': # Remove 'localhost' authority path = path[11:] if path[:3] == '///' or (path[:1] == '/' and path[2:3] in ':|'): # Remove slash before DOS device/UNC path path = path[1:] if path[1:2] == '|': # Replace bar with colon in DOS drive path = path[:1] + ':' + path[2:] path_ret = Path(os.fsdecode(unquote_to_bytes(path))) if relative_to is None: return path_ret else: return Path(relative_to).joinpath(path_ret) def add_baked_in(url, graph_path): baked_in[url] = graph_path def get_rdf_from_web(url: Union[URIRef, str]): """ :param url: :type url: rdflib.URIRef | str :return: """ no_hash_url: str = str(url).rstrip("#") kind: Optional[str] if no_hash_url in baked_in: g = baked_in[no_hash_url] if isinstance(g, str): if g[-7:] == ".pickle": with open(g, 'rb') as g_pickle: u = pickle.Unpickler(g_pickle, fix_imports=False) g_store, identifier = u.load() graph = rdflib.Graph(store=g_store, identifier=identifier) kind = "graph" else: graph = rdflib.Graph() graph.parse(g) kind = None else: graph = g kind = None return graph, None, kind, False # Ask for everything we know about headers = { 'Accept': 'text/turtle, application/rdf+xml, application/ld+json, application/n-triples, text/plain', 'Accept-Encoding': 'identity', } known_format = None r: request.Request = request.Request(url, headers=headers) resp: http.client.HTTPResponse = request.urlopen(r) code: int = resp.getcode() if not (200 <= code <= 210): raise RuntimeError("Cannot pull RDF URL from the web: {}, code: {}".format(url, str(code))) filename = None content_dispositions: List[str] = resp.headers.get_all("Content-Disposition", []) for c_d in content_dispositions: cd_parts = [s.strip() for s in str(c_d).split(',')] for cd_part in cd_parts: if "filename=" in cd_part: filename = [f.strip() for f in str(cd_part).rsplit('filename=')][-1] if filename is None: try: filename = resp.geturl() except Exception: pass content_types: List[str] = resp.headers.get_all('Content-Type', []) for content_type in content_types: ct_parts = [s.strip() for s in str(content_type).split(',')] for ct_part in ct_parts: if ct_part.startswith("application/octet-stream"): known_format = 'auto' elif ct_part.startswith("text/turtle"): known_format = "turtle" elif ct_part.startswith("application/rdf+xml"): known_format = "xml" elif ct_part.startswith("application/xml"): known_format = "xml" elif ct_part.startswith("application/ld+json"): known_format = "json-ld" elif ct_part.startswith("application/n-triples"): known_format = "nt" else: continue break transfer_encodings: List[str] = resp.headers.get_all('Transfer-Encoding', []) for t_e in transfer_encodings: te_parts = [s.strip() for s in str(t_e).split(',')] for check in ('chunked', 'compress', 'deflate', 'gzip', 'x-gzip'): if check in te_parts: return resp, filename, known_format, False return resp, filename, known_format, True # What's the difference between PublicID and BaseURI? # The BaseURI is a part of Turtle and SPARQL spec, it is used to resolve relative URIs. # The BaseURI usually ends with a filename (eg, https://example.com/validators/shapes) # BaseURI can sometimes end with a / if URIs are relative to a directory. # You will rarely see a BaseURI with a # on the end. # The PublicID is a concept inherited from the XML specificaion # RDFLib uses PublicID for the Identifier of a Graph. It is the canonical name of the graph, # regardless of its hosted location. It is also used to refer to a Named Graph in a Dataset # and this is the name referenced in the owl:imports [ schema:name ] statement. # PublicID is not found in the Turtle file, it is known outside the file only. # PublicID can end with a / or a # if you want consistency with the graph's base prefix. # Alternatively, PublicID may not have a symbol at the end. # Note, PublicID is now called "Identifier" in the load_from_source function. def load_from_source( source: Union[GraphLike, BufferedIOBase, TextIOBase, str, bytes], g: Optional[GraphLike] = None, rdf_format: Optional[str] = None, identifier: Optional[Union[URIRef, str]] = None, multigraph: bool = False, do_owl_imports: Union[bool, int] = False, import_chain: Optional[List[Union[URIRef, str]]] = None, logger: Optional[Logger] = None, ): """ :param source: :param g: The Graph to load into, optional. If not given, a new Dataset or Graph will be created. :type g: rdflib.Graph | None :param rdf_format: :type rdf_format: str | None :param multigraph: :type multigraph: bool :param identifier: Identifier for the Named Graph being loaded. formerly "public_id" :type identifier: str | URIRef | None :param do_owl_imports: :type do_owl_imports: bool|int :param import_chain: :type import_chain: list | None :param logger: :type logger: Logger | None :return: """ source_is_graph = False open_source: Optional[BufferedIOBase] = None source_was_open: bool = False source_as_file: Optional[BufferedIOBase] = None source_as_filename: Optional[str] = None source_as_bytes: Optional[bytes] = None filename = None # (Note, identifier is always first converted to a str, even if it is passes in as a URIRef) identifier = None if identifier is None else str(identifier) # This is our passed-in id (formerly public_id) _maybe_id: Optional[str] = None # For default-graph identifier base_uri: Optional[str] = None # Base URI for relative URIs uri_prefix = None # URI Prefix to bind to public ID if logger is None: logger = getLogger("rdfutil.load") logger.setLevel(WARNING) is_imported_graph = do_owl_imports and isinstance(do_owl_imports, int) and do_owl_imports > 1 if isinstance(source, (rdflib.Graph, rdflib.ConjunctiveGraph, rdflib.Dataset)): source_is_graph = True if g is None: g = source else: raise RuntimeError( "Cannot pass in both source=rdflib.Graph/Dataset and g=graph. " "Source and dest cannot be the same graph." ) elif isinstance(source, (BufferedIOBase, TextIOBase)): if hasattr(source, 'name'): filename = source.name # type: ignore # Note, we _could_ preserve the relative file URI for the BaseURI # but the Turtle parser converts a relative BaseURI to absolute anyway # So just make it absolute here so we have a consistent reference to it. file_uri = Path(filename).absolute().as_uri() _maybe_id = file_uri base_uri = file_uri if isinstance(source, TextIOBase): buf = getattr(source, "buffer") # type: BufferedIOBase source_as_file = source = buf else: source_as_file = source if hasattr(source, 'closed'): if not bool(source.closed): open_source = source source_was_open = True else: # Assume it is open now and it was open when we started. open_source = source source_was_open = True elif isinstance(source, str): if source == "stdin" or source == "-" or source == "/dev/stdin": _maybe_id = "/dev/stdin" # Don't set base_uri, it is not used for /dev/stdin filename = "/dev/stdin" source_as_filename = filename if source.startswith('file:'): # Make this abosolute, because the Turtle parser converts a relative BaseURI to absolute anyway # So just make it absolute here so we have a consistent reference to it. _path = path_from_uri(source, relative_to=None).absolute() filename = str(_path) _maybe_id = base_uri = _path.as_uri() source_as_filename = filename elif source.startswith('http:') or source.startswith('https:'): # It can be tricky to guess public_id from a web URL. # In this case we will always simply use the URL as the public_id as given. _maybe_id = source base_uri = source try: resp, resp_filename, web_format, raw_fp = get_rdf_from_web(source) except HTTPError: if is_imported_graph: return g else: raise if web_format == 'graph': source = resp source_is_graph = True elif web_format in ('auto', None): if resp_filename: filename = resp_filename source_was_open = False source = open_source = resp else: rdf_format = web_format filename = resp_filename fp = resp.fp if raw_fp else resp source_was_open = False source = open_source = fp else: first_char = source[0] if is_windows and (first_char == '\\' or (len(source) > 3 and source[1:3] == ":\\")): filename = source source_as_filename = filename elif first_char == '/' or (len(source) > 2 and source[0:2] == "./"): filename = source source_as_filename = filename elif ( first_char == '#' or first_char == '@' or first_char == '<' or first_char == '\n' or first_char == '{' or first_char == '[' ): # Contains some JSON or XML or Turtle chars, it's not a path source_as_file = None source_as_filename = None elif len(source) >= 32 and '\n' in source[:32]: # Contains a new line near the start of the file, can't be a path source_as_file = None source_as_filename = None elif len(source) < 140: filename = source source_as_filename = filename if source_as_filename and filename: pid = os.getpid() fd0 = "/proc/{}/fd/0".format(str(pid)) if filename == "/dev/stdin" or filename == fd0: source = source_as_file = open_source = cast(BufferedIOBase, sys.stdin.buffer) source_was_open = True else: try: filename = os.readlink(filename) if filename == fd0 or filename == "/dev/stdin": source = source_as_file = open_source = cast(BufferedIOBase, sys.stdin.buffer) source_was_open = True except OSError: pass if not source_as_file and not source_as_filename and not open_source and isinstance(source, str): # source is raw RDF data. source_as_bytes = source = source.encode('utf-8') elif isinstance(source, bytes): if source.startswith(b'file:') or source.startswith(b'http:') or source.startswith(b'https:'): raise ValueError("file: and http: strings should be given as str, not bytes.") first_char_b: bytes = source[0:1] if ( first_char_b == b'#' or first_char_b == b'@' or first_char_b == b'<' or first_char_b == b'\n' or first_char_b == b'{' or first_char_b == b'[' ): # Contains some JSON or XML or Turtle stuff source_as_file = None source_as_filename = None elif len(source) < 140: filename = source.decode('utf-8') source_as_filename = filename if not source_as_file and not source_as_filename and not open_source: source_as_bytes = source else: raise ValueError("Cannot determine the format of the input graph") if g is None: if source_is_graph: target_g: Union[rdflib.Graph, rdflib.ConjunctiveGraph, rdflib.Dataset] = source # type: ignore else: default_graph_base: Union[str, None] = base_uri if base_uri else (identifier if identifier else None) if multigraph: target_ds = rdflib.Dataset(default_graph_base=default_graph_base, default_union=True) target_ds.namespace_manager = NamespaceManager(target_ds, 'core') if identifier: # if identifier is explicitly given, use that as a new named graph id old_default_context = target_ds.default_context if str(old_default_context.identifier) != identifier: named_g = target_ds.graph(URIRef(identifier)) named_g.base = default_graph_base target_ds.default_context = named_g target_ds.remove_graph(old_default_context) else: target_ds.default_context.namespace_manager = target_ds.namespace_manager default_g = target_ds.default_context target_ds.graph(default_g) target_g = target_ds else: target_g = rdflib.Graph( bind_namespaces='core', base=default_graph_base, identifier=None if not identifier else URIRef(identifier), ) else: if not isinstance(g, (rdflib.Graph, rdflib.Dataset, rdflib.ConjunctiveGraph)): raise RuntimeError("Passing in 'g' must be a rdflib Graph or Dataset.") target_g = g if filename and not rdf_format: if filename.endswith('.ttl'): rdf_format = rdf_format or 'turtle' elif filename.endswith('.nt'): rdf_format = rdf_format or 'nt' elif filename.endswith('.n3'): rdf_format = rdf_format or 'n3' elif filename.endswith('.json'): rdf_format = rdf_format or 'json-ld' elif filename.endswith('.nq') or filename.endswith('.nquads'): rdf_format = rdf_format or 'nquads' elif filename.endswith('.trig'): rdf_format = rdf_format or 'trig' elif filename.endswith('.xml') or filename.endswith('.rdf'): rdf_format = rdf_format or 'xml' elif filename.endswith('.hext'): rdf_format = rdf_format or 'hext' if source_as_filename and filename is not None and not open_source: filename = str(Path(filename).resolve()) if not _maybe_id: _maybe_id = Path(filename).as_uri() source = open_source = cast(BufferedIOBase, open(filename, mode='rb')) if not open_source and source_as_bytes: source = open_source = BytesIO(source_as_bytes) # type: ignore if open_source: _source = open_source # Check if we can seek try: _source.seek(0) # type: ignore except (AttributeError, ValueError, UnsupportedOperation): # Read it all into memory new_bytes = BytesIO(_source.read()) if not source_was_open: _source.close() source = _source = new_bytes source_was_open = False if rdf_format is None: line: Union[bytes, None] = _source.readline() line = None if line is None else line.lstrip() line_len: int = len(line) if line is not None else 0 while line is not None and line_len == 0: line = _source.readline() line = None if line is None else line.lstrip() line_len = len(line) if line is not None else 0 if line is not None: if line_len > 15: line = line[:15] line = line.lower() if line.startswith(b" 0 except AssertionError: break # Strip line from start while len(line) > 0 and line[0:1] in b' \t\n\r\x0b\x0c\x85\xa0': line = line[1:] # We reached the end of the line, check the next line if len(line) < 1: continue # If this is not a comment, then this is the first non-comment line, we're done. if not line[0:1] == b'#': break # Strip from start again, but now removing hashes too. while len(line) > 0 and line[0:1] in b'# \t\xa0': line = line[1:] # Strip line from end while len(line) > 0 and line[-1:] in b' \t\n\r\x0b\x0c\x85\xa0': line = line[:-1] spl = line.split(b':', 1) if len(spl) < 2: continue keyword = spl[0].lower() # Strip keyword end while len(keyword) > 0 and keyword[-1:] in b' \t\n\r\x0b\x0c\x85\xa0': keyword = keyword[:-1] if len(keyword) < 1: continue wordval = spl[1] # Strip wordval start while len(wordval) > 0 and wordval[0:1] in b' \t\n\r\x0b\x0c\x85\xa0': wordval = wordval[1:] if len(wordval) < 1: continue wordval_str = wordval.decode('utf-8') if keyword == b"baseuri" or keyword == b"base": # BASE is the SPARQL version of BaseURI base_uri = wordval_str elif keyword == b"prefix": uri_prefix = wordval_str try: _source.seek(0) except (AttributeError, UnsupportedOperation): raise RuntimeError("Seek failed while pre-parsing Turtle File.") except ValueError: raise RuntimeError("File closed while pre-parsing Turtle File.") # use base_uri if it is set, otherwise use identifier or _maybe_id parser_base_uri: Union[str, None] = base_uri if base_uri else (identifier if identifier else _maybe_id) if isinstance(target_g, (rdflib.Dataset, rdflib.ConjunctiveGraph)): if identifier: dest_g = target_g.get_context(URIRef(identifier)) dest_g.base = parser_base_uri else: dest_g = target_g.default_context dest_g.base = parser_base_uri # parsing uses base_uri as the public_id, because it is used for relative URIs dest_g.parse(source=cast(IO[bytes], _source), format=rdf_format, publicID=parser_base_uri) else: target_g.parse(source=cast(IO[bytes], _source), format=rdf_format, publicID=parser_base_uri) # If the target was open to begin with, leave it open. if not source_was_open: _source.close() elif hasattr(_source, 'seek'): try: _source.seek(0) except (AttributeError, UnsupportedOperation): pass except ValueError: # The parser closed our file! pass source_is_graph = True elif source_is_graph and (target_g != source): # clone source into g if isinstance(target_g, (rdflib.Dataset, rdflib.ConjunctiveGraph)) and isinstance( source, (rdflib.Dataset, rdflib.ConjunctiveGraph) ): clone_dataset(source, target_g) elif isinstance(target_g, rdflib.Graph) and isinstance(source, (rdflib.Dataset, rdflib.ConjunctiveGraph)): raise RuntimeError("Cannot load a Dataset source into a Graph target.") elif isinstance(target_g, (rdflib.Dataset, rdflib.ConjunctiveGraph)) and isinstance(source, rdflib.Graph): _temp_target = rdflib.Graph( store=target_g.store, identifier=source.identifier if not identifier else URIRef(identifier), base=source.base if not base_uri else base_uri, namespace_manager=target_g.namespace_manager, ) clone_graph(source, _temp_target) elif isinstance(target_g, rdflib.Graph) and isinstance(source, rdflib.Graph): clone_graph(source, target_g) else: raise RuntimeError("Cannot merge source graph into target graph.") if not source_is_graph: raise RuntimeError("Error opening graph from source.") if identifier: identifier_namespace = ( identifier if (identifier.endswith('#') or identifier.endswith('/')) else identifier + "#" ) if uri_prefix: if is_imported_graph and uri_prefix == '': # Don't reassign blank prefix, when importing subgraph pass else: has_named_prefix = target_g.store.namespace(uri_prefix) if not has_named_prefix: target_g.namespace_manager.bind(uri_prefix, identifier_namespace) elif not is_imported_graph: existing_blank_prefix = target_g.store.namespace('') if not existing_blank_prefix: target_g.namespace_manager.bind('', identifier_namespace) if do_owl_imports: if isinstance(do_owl_imports, bool): do_owl_imports = 1 if do_owl_imports else 0 elif isinstance(do_owl_imports, int): if do_owl_imports > MAX_OWL_IMPORT_DEPTH: return target_g else: do_owl_imports = 1 if import_chain is None: import_chain = [] if isinstance(target_g, (rdflib.Dataset, rdflib.ConjunctiveGraph)): if identifier: dest_g = target_g.get_context(URIRef(identifier)) else: dest_g = target_g.default_context else: dest_g = target_g return chain_load_owl_imports( cast(Union[URIRef, rdflib.BNode], dest_g.identifier), dest_g.base, target_g, import_chain, do_owl_imports, multigraph, ) return target_g def chain_load_owl_imports( graph_id: Union[URIRef, rdflib.BNode, None], graph_base: Union[str, None], target_g: GraphLike, import_chain: List[Union[URIRef, str]], load_iter: int, multigraph: bool, ) -> GraphLike: if graph_base and (graph_base.endswith('#') or graph_base.endswith('/')): root_id: Union[URIRef, None] = URIRef(graph_base[:-1]) else: root_id = URIRef(graph_base) if graph_base else None done_imports = 0 def _load_from_imports_nodes(imports_nodes: List[Union[URIRef, rdflib.BNode]]) -> int: nonlocal target_g, multigraph, import_chain, load_iter _done_imports = 0 for _i in imports_nodes: import_with_identifier: Union[str, None] = None if isinstance(_i, rdflib.BNode): urls = list(target_g.objects(_i, SCHEMA.url)) prioritized_urls = [] # Tuples of (priority, url_str) # Value of type variable "SupportsRichComparisonT" of "sorted" cannot be "Node" # Maybe we need to add "SupportsRichComparisonT" to Node in RDFLib? for url_i in sorted(urls): # type: ignore[type-var] url_str = str(url_i) if url_str.startswith("file:"): prioritized_urls.append((1, url_str)) else: prioritized_urls.append((9, url_str)) _prio, imp_str = sorted(prioritized_urls)[0] # this causes the first (alphabetically) URL to be used use_identifiers = list(target_g.objects(_i, SCHEMA.identifier)) if len(use_identifiers) > 0: import_with_identifier = str(next(iter(use_identifiers))) else: imp_str = str(_i) if imp_str in import_chain: continue if imp_str.startswith('file:'): imp_str = str(path_from_uri(imp_str, relative_to=None)) load_from_source( imp_str, g=target_g, identifier=import_with_identifier, multigraph=multigraph, do_owl_imports=load_iter + 1, import_chain=import_chain, ) _done_imports += 1 return _done_imports if isinstance(target_g, (rdflib.ConjunctiveGraph, rdflib.Dataset)): # Don't care about named graphs, search across the whole # thing at once. target_g.default_union = True if root_id is not None: owl_imports = list(target_g.objects(root_id, rdflib.OWL.imports)) if len(owl_imports) > 0: import_chain.append(str(root_id)) _done_imports = _load_from_imports_nodes(owl_imports) # type: ignore[arg-type] if _done_imports < 1: import_chain.pop() else: done_imports += _done_imports if done_imports < 1 and graph_base is not None and str(root_id) != graph_base: owl_imports = list(target_g.objects(URIRef(graph_base), rdflib.OWL.imports)) if len(owl_imports) > 0: import_chain.append(graph_base) _done_imports = _load_from_imports_nodes(owl_imports) # type: ignore[arg-type] if _done_imports < 1: import_chain.pop() else: done_imports += _done_imports if done_imports < 1 and graph_id is not None and root_id != graph_id: owl_imports = list(target_g.objects(graph_id, rdflib.OWL.imports)) if len(owl_imports) > 0: import_chain.append(str(graph_id)) _done_imports = _load_from_imports_nodes(owl_imports) # type: ignore[arg-type] if _done_imports < 1: import_chain.pop() else: done_imports += _done_imports if done_imports < 1: ontologies = target_g.subjects(rdflib.RDF.type, rdflib.OWL.Ontology) for ont in ontologies: if ont == root_id or ont == graph_id: continue ont_str = str(ont) if ont_str == graph_base or ont_str in import_chain: continue owl_imports = list(target_g.objects(ont, rdflib.OWL.imports)) if len(owl_imports) > 0: import_chain.append(ont_str) _done_imports = _load_from_imports_nodes(owl_imports) # type: ignore[arg-type] if _done_imports < 1: import_chain.pop() else: done_imports += _done_imports return target_g pyshacl-0.30.1/pyshacl/rdfutil/pytypes.py0000644000000000000000000000030600000000000015327 0ustar00# -*- coding: utf-8 -*- # from typing import Union from rdflib import ConjunctiveGraph, Dataset, Graph ConjunctiveLike = Union[ConjunctiveGraph, Dataset] GraphLike = Union[ConjunctiveLike, Graph] pyshacl-0.30.1/pyshacl/rdfutil/stringify.py0000644000000000000000000001712000000000000015632 0ustar00# -*- coding: utf-8 -*- # from functools import wraps from typing import Iterator, List, Optional, Tuple, Union, cast import rdflib from rdflib.namespace import NamespaceManager from .consts import OWL, SH, RDF_first, RDFNode OWLsameAs = OWL.sameAs def with_dict_cache(f): @wraps(f) def wrapped(*args, **kwargs): dict_cache = getattr(wrapped, "dict_cache", None) assert dict_cache is not None return f(*args, **kwargs) dict_cache = getattr(wrapped, "dict_cache", None) if dict_cache is None: dict_cache = {} setattr(wrapped, "dict_cache", dict_cache) return wrapped @with_dict_cache def stringify_blank_node( graph: rdflib.Graph, bnode: rdflib.BNode, ns_manager: Optional[NamespaceManager] = None, recursion: int = 0 ): if isinstance(graph, (rdflib.ConjunctiveGraph, rdflib.Dataset)): raise RuntimeError("Can only stringify a blank node when graph is a rdflib.Graph") assert isinstance(graph, rdflib.Graph) assert isinstance(bnode, rdflib.BNode) if recursion >= 12: return "" stringed_cache_key = id(graph), str(bnode) try: cached = stringify_blank_node.dict_cache[stringed_cache_key] return cached except LookupError: pass if ns_manager is None: # pragma: no cover ns_manager = graph.namespace_manager ns_manager.bind("sh", SH) def stringify_list(node: rdflib.BNode) -> str: nonlocal graph, ns_manager, recursion item_texts: List[str] = [] for item in iter(graph.items(node)): item_text = stringify_node(graph, item, ns_manager=ns_manager, recursion=recursion + 1) item_texts.append(item_text) # item_texts.sort() ## Don't sort, to preserve list order return "( {} )".format(" ".join(item_texts)) predicates: List[RDFNode] = list(cast(Iterator[RDFNode], graph.predicates(bnode))) if len(predicates) < 1: return "[ ]" if RDF_first in predicates: return stringify_list(bnode) p_string_map = {} for p in predicates: if isinstance(p, (rdflib.Literal, rdflib.BNode, rdflib.URIRef)): p_string = p.n3(namespace_manager=ns_manager) else: p_string = str(p) objs: List[RDFNode] = list(cast(Iterator[RDFNode], graph.objects(bnode, p))) if len(objs) < 1: continue o_texts = [] for o in objs: if p is OWLsameAs and o is bnode: # Avoid a crazy owl:sameAs recursion with self. o_texts.append("") else: o_text = stringify_node(graph, o, ns_manager=ns_manager, recursion=recursion + 1) o_texts.append(o_text) if len(o_texts) > 1: o_texts.sort() o_text = ", ".join(o_texts) else: o_text = o_texts[0] p_string_map[p_string] = o_text if len(p_string_map) > 1: g = ["{} {}".format(p, o) for p, o in sorted(p_string_map.items())] blank_string = " ; ".join(g) else: _p, _o = next(iter(p_string_map.items())) blank_string = "{} {}".format(_p, _o) blank_string = "[ {} ]".format(blank_string) stringify_blank_node.dict_cache[stringed_cache_key] = blank_string return blank_string def stringify_literal(graph: rdflib.Graph, node: rdflib.Literal, ns_manager: Optional[NamespaceManager] = None): lit_val_string: Union[str, None] = None if node.value is None else str(node.value) lex_string = str(node) if ns_manager is None: # pragma: no cover ns_manager = graph.namespace_manager ns_manager.bind("sh", SH) if lit_val_string is not None: i_at = lit_val_string.find(" object at 0x") if i_at > 0: lit_val_string = lit_val_string[:i_at] if lit_val_string is not None and lit_val_string != lex_string: val_string = "\"{}\" = {}".format(lex_string, lit_val_string) else: val_string = "\"{}\"".format(lex_string) if node.language: lang_string = ", lang={}".format(str(node.language)) else: lang_string = "" if node.datatype: if isinstance(node.datatype, (rdflib.URIRef, rdflib.Literal)): datatype_uri = stringify_node(graph, node.datatype, ns_manager=ns_manager) else: datatype_uri = str(node.datatype) datatype_string = ", datatype={}".format(datatype_uri) else: datatype_string = "" node_string = "Literal({}{}{})".format(val_string, lang_string, datatype_string) return node_string def find_node_named_graph(dataset: Union[rdflib.Dataset, rdflib.ConjunctiveGraph], node) -> rdflib.Graph: """ Search through each graph in a dataset for one node, when it finds it, returns the graph it is in :param dataset: :param node: :return: """ if isinstance(node, rdflib.Literal): raise RuntimeError("Cannot search for a Literal node in a dataset.") # Check if node is a subject in any graph for q in iter(dataset.quads((node, None, None, None))): s, p, o, g = q if g is None: continue elif isinstance(g, rdflib.Graph): return g else: return dataset.get_context(g) # Now check if node is a object in any graph for q in iter(dataset.quads((None, None, node, None))): s, p, o, g = q if g is None: continue elif isinstance(g, rdflib.Graph): return g else: return dataset.get_context(g) raise LookupError(f"Cannot find node {node} in any named graph.") def stringify_node( graph: rdflib.Graph, node: RDFNode, ns_manager: Optional[Union[NamespaceManager, rdflib.Graph]] = None, recursion: int = 0, ) -> str: if ns_manager is None: ns_manager = graph.namespace_manager if isinstance(ns_manager, rdflib.Graph): # json-ld loader can set namespace_manager to the conjunctive graph itself. ns_manager = ns_manager.namespace_manager if ns_manager is None or isinstance(ns_manager, rdflib.Graph): raise RuntimeError("Cannot stringify node, no namespaces known.") ns_manager.bind("sh", SH, override=False, replace=False) if isinstance(node, rdflib.Literal): return stringify_literal(graph, node, ns_manager=ns_manager) if isinstance(node, rdflib.BNode): if isinstance(graph, (rdflib.ConjunctiveGraph, rdflib.Dataset)): graph = find_node_named_graph(graph, node) return stringify_blank_node(graph, node, ns_manager=ns_manager, recursion=recursion + 1) if isinstance(node, rdflib.URIRef): try: node_string = node.n3(namespace_manager=ns_manager) except Exception: node_string = str(node) else: node_string = str(node) return node_string def stringify_graph(graph: rdflib.Graph): string_builder = "" t: Tuple[rdflib.term.Node, rdflib.term.Node, rdflib.term.Node] for t in iter(graph): n1, n2, n3 = t node_string = stringify_node(graph, n1, ns_manager=graph.namespace_manager) string_builder += node_string + ", " node_string = stringify_node(graph, n2, ns_manager=graph.namespace_manager) string_builder += node_string + ", " node_string = stringify_node(graph, n3, ns_manager=graph.namespace_manager) string_builder += node_string + "\n" return string_builder def match_blank_nodes(graph1: rdflib.Graph, bnode1: rdflib.BNode, graph2: rdflib.Graph, bnode2: rdflib.BNode): string_1 = stringify_blank_node(graph1, bnode1) string_2 = stringify_blank_node(graph2, bnode2) return string_1 == string_2 pyshacl-0.30.1/pyshacl/rule_expand_runner.py0000644000000000000000000002460600000000000016051 0ustar00# -*- coding: utf-8 -*- # import logging from os import getenv from typing import Any, Dict, List, Optional, Sequence, Union import rdflib from rdflib import URIRef from .consts import ( env_truths, ) from .extras import check_extra_installed from .functions import apply_functions, gather_functions, unapply_functions from .pytypes import GraphLike, SHACLExecutor from .rdfutil import ( clone_graph, inoculate, inoculate_dataset, mix_datasets, mix_graphs, ) from .rules import apply_rules, gather_rules from .run_type import PySHACLRunType from .shapes_graph import ShapesGraph from .target import apply_target_types, gather_target_types USE_FULL_MIXIN = getenv("PYSHACL_USE_FULL_MIXIN") in env_truths class RuleExpandRunner(PySHACLRunType): def __init__( self, data_graph: GraphLike, *args, shacl_graph: Optional[GraphLike] = None, ont_graph: Optional[GraphLike] = None, options: Optional[Dict[str, Any]] = None, **kwargs, ): options = options or {} self._load_default_options(options) self.options = options # type: dict self.logger = options['logger'] # type: logging.Logger self.debug = options['debug'] self.pre_inferenced = kwargs.pop('pre_inferenced', False) self.inplace = options['inplace'] if not isinstance(data_graph, rdflib.Graph): raise RuntimeError("data_graph must be a rdflib Graph-like object") self.data_graph = data_graph # type: GraphLike self._target_graph: Union[GraphLike, None] = None self.ont_graph = ont_graph # type: Optional[GraphLike] self.data_graph_is_multigraph = isinstance(self.data_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)) if self.ont_graph is not None and isinstance(self.ont_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): self.ont_graph.default_union = True if shacl_graph is None: shacl_graph = clone_graph(data_graph, identifier='shacl') assert isinstance(shacl_graph, rdflib.Graph), "shacl_graph must be a rdflib Graph object" self.shacl_graph = ShapesGraph(shacl_graph, self.debug, self.logger) # type: ShapesGraph if options['use_js']: is_js_installed = check_extra_installed('js') if is_js_installed: self.shacl_graph.enable_js() @classmethod def _load_default_options(cls, options_dict: dict): options_dict.setdefault('debug', False) options_dict.setdefault('inference', 'none') options_dict.setdefault('inplace', False) options_dict.setdefault('use_js', False) options_dict.setdefault('iterate_rules', False) options_dict.setdefault('focus_nodes', None) options_dict.setdefault('use_shapes', None) if 'logger' not in options_dict: options_dict['logger'] = logging.getLogger(__name__) if options_dict['debug']: options_dict['logger'].setLevel(logging.DEBUG) @property def target_graph(self) -> Union[GraphLike, None]: return self._target_graph def mix_in_ontology(self): if USE_FULL_MIXIN: if not self.data_graph_is_multigraph: return mix_graphs(self.data_graph, self.ont_graph, "inplace" if self.inplace else None) return mix_datasets(self.data_graph, self.ont_graph, "inplace" if self.inplace else None) if not self.data_graph_is_multigraph: if self.inplace: to_graph = self.data_graph else: to_graph = clone_graph(self.data_graph, identifier=self.data_graph.identifier) return inoculate(to_graph, self.ont_graph) return inoculate_dataset( self.data_graph, self.ont_graph, self.data_graph if self.inplace else None, URIRef("urn:pyshacl:inoculation"), ) def make_executor(self) -> SHACLExecutor: return SHACLExecutor( validator=self, advanced_mode=True, abort_on_first=False, allow_infos=False, allow_warnings=False, iterate_rules=bool(self.options.get("iterate_rules", False)), sparql_mode=False, max_validation_depth=999, focus_nodes=self.options.get("focus_nodes", None), debug=self.debug, ) def run(self) -> GraphLike: datagraph: Union[GraphLike, None] = self.target_graph if datagraph is not None: # Target graph is already set up with pre-inferenced and pre-cloned data_graph self._target_graph = datagraph else: has_cloned = False if self.ont_graph is not None: if self.inplace: self.logger.debug("Adding ontology definitions to DataGraph") else: self.logger.debug("Cloning DataGraph to temporary memory graph, to add ontology definitions.") # creates a copy of self.data_graph, doesn't modify it datagraph = self.mix_in_ontology() has_cloned = True else: datagraph = self.data_graph inference_option = self.options.get('inference', 'none') if self.inplace and self.debug: self.logger.debug("Skipping DataGraph clone because PySHACL is operating in inplace mode.") if inference_option and not self.pre_inferenced and str(inference_option) != "none": if not has_cloned and not self.inplace: self.logger.debug("Cloning DataGraph to temporary memory graph before pre-inferencing.") datagraph = clone_graph(datagraph) has_cloned = True self.logger.debug(f"Running pre-inferencing with option='{inference_option}'.") self._run_pre_inference( datagraph, inference_option, URIRef("urn:pyshacl:inference"), logger=self.logger ) self.pre_inferenced = True if not has_cloned and not self.inplace: # We still need to clone in advanced mode, because of triple rules self.logger.debug( "Forcing clone of DataGraph because expanding rules cannot modify the input datagraph." ) datagraph = clone_graph(datagraph) has_cloned = True self._target_graph = datagraph assert self._target_graph is not None if self.options.get("use_shapes", None) is not None and len(self.options["use_shapes"]) > 0: using_manually_specified_shapes = True expanded_use_shapes = [] for s in self.options["use_shapes"]: s_lower = s.lower() if ( s_lower.startswith("http:") or s_lower.startswith("https:") or s_lower.startswith("urn:") or s_lower.startswith("file:") ): expanded_use_shapes.append(URIRef(s)) else: try: expanded_use_shape = self.shacl_graph.graph.namespace_manager.expand_curie(s) except ValueError: expanded_use_shape = URIRef(s) expanded_use_shapes.append(expanded_use_shape) shapes = self.shacl_graph.shapes_from_uris(expanded_use_shapes) else: using_manually_specified_shapes = False shapes = self.shacl_graph.shapes # This property getter triggers shapes harvest. option_focus_nodes = self.options.get("focus_nodes", None) if option_focus_nodes is not None and len(option_focus_nodes) > 0: # Expand any CURIEs in the focus_nodes list expanded_focus_nodes: List[URIRef] = [] for f in option_focus_nodes: f_lower = f.lower() if ( f_lower.startswith("http:") or f_lower.startswith("https:") or f_lower.startswith("urn:") or f_lower.startswith("file:") ): expanded_focus_nodes.append(URIRef(f)) else: try: expanded_focus_node = self._target_graph.namespace_manager.expand_curie(f) except ValueError: expanded_focus_node = URIRef(f) expanded_focus_nodes.append(expanded_focus_node) self.options["focus_nodes"] = expanded_focus_nodes specified_focus_nodes: Union[None, Sequence[URIRef]] = expanded_focus_nodes else: specified_focus_nodes = None executor = self.make_executor() # Special hack, if we are using manually specified shapes, and have # manually specified focus nodes, then we need to disable the # focus_nodes in the executor, because we apply the specified focus # nodes directly to the specified shapes. if using_manually_specified_shapes and specified_focus_nodes is not None: executor.focus_nodes = None self.logger.debug("Activating SHACL-AF Features.") target_types = gather_target_types(self.shacl_graph) gather_from_shapes = None if not using_manually_specified_shapes else [s.node for s in shapes] gathered_functions = gather_functions(executor, self.shacl_graph) gathered_rules = gather_rules(executor, self.shacl_graph, from_shapes=gather_from_shapes) for s in shapes: s.set_advanced(True) apply_target_types(target_types) if isinstance(self._target_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): self._target_graph.default_union = True g = self._target_graph if specified_focus_nodes is not None and using_manually_specified_shapes: on_focus_nodes: Union[Sequence[URIRef], None] = specified_focus_nodes else: on_focus_nodes = None if self.debug: self.logger.debug(f"Running SHACL Rules on DataGraph named {g.identifier}") if gathered_functions: apply_functions(executor, gathered_functions, g) try: if gathered_rules: apply_rules(executor, gathered_rules, g, focus_nodes=on_focus_nodes) finally: if gathered_functions: unapply_functions(gathered_functions, g) return g pyshacl-0.30.1/pyshacl/rules/__init__.py0000644000000000000000000001120700000000000015034 0ustar00# -*- coding: utf-8 -*- from collections import defaultdict from typing import TYPE_CHECKING, Any, Dict, List, Sequence, Tuple, Type, Union from rdflib import BNode, URIRef from pyshacl.consts import RDF_type, SH_rule, SH_SPARQLRule, SH_TripleRule from pyshacl.errors import ReportableRuntimeError, RuleLoadError from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.rules.sparql import SPARQLRule from pyshacl.rules.triple import TripleRule if TYPE_CHECKING: from pyshacl.shape import Shape from pyshacl.shapes_graph import ShapesGraph from .shacl_rule import SHACLRule def gather_rules( executor: SHACLExecutor, shacl_graph: 'ShapesGraph', from_shapes: Union[Sequence[Union[URIRef, BNode]], None] = None, ) -> Dict['Shape', List['SHACLRule']]: """ :param executor: :type executor: SHACLExecutor :param shacl_graph: :type shacl_graph: ShapesGraph :return: :rtype: Dict[Shape, List[SHACLRule]] """ triple_rule_nodes = set(shacl_graph.subjects(RDF_type, SH_TripleRule)) sparql_rule_nodes = set(shacl_graph.subjects(RDF_type, SH_SPARQLRule)) if shacl_graph.js_enabled: from pyshacl.extras.js.rules import JSRule, SH_JSRule js_rule_nodes = set(shacl_graph.subjects(RDF_type, SH_JSRule)) use_JSRule: Union[bool, Type] = JSRule else: use_JSRule = False js_rule_nodes = set() overlaps = triple_rule_nodes.intersection(sparql_rule_nodes) if len(overlaps) > 0: raise RuleLoadError( "A SHACL Rule cannot be both a TripleRule and a SPARQLRule.", "https://www.w3.org/TR/shacl-af/#rules-syntax", ) overlaps = triple_rule_nodes.intersection(js_rule_nodes) if len(overlaps) > 0: raise RuleLoadError( "A SHACL Rule cannot be both a TripleRule and a JSRule.", "https://www.w3.org/TR/shacl-af/#rules-syntax", ) overlaps = sparql_rule_nodes.intersection(js_rule_nodes) if len(overlaps) > 0: raise RuleLoadError( "A SHACL Rule cannot be both a SPARQLRule and a JSRule.", "https://www.w3.org/TR/shacl-af/#rules-syntax", ) used_rules = shacl_graph.subject_objects(SH_rule) ret_rules = defaultdict(list) for sub, obj in used_rules: if from_shapes is not None and sub not in from_shapes: # Skipping rule that is not in the whitelist of Shapes to use continue try: shape: Shape = shacl_graph.lookup_shape_from_node(sub) except (AttributeError, KeyError): raise RuleLoadError( "The shape that rule is attached to is not a valid SHACL Shape.", "https://www.w3.org/TR/shacl-af/#rules-syntax", ) if obj in triple_rule_nodes: rule: SHACLRule = TripleRule(executor, shape, obj, iterate=executor.iterate_rules) elif obj in sparql_rule_nodes: rule = SPARQLRule(executor, shape, obj) elif use_JSRule and callable(use_JSRule) and obj in js_rule_nodes: rule = use_JSRule(executor, shape, obj) else: raise RuleLoadError( "when using sh:rule, the Rule must be defined as either a TripleRule or SPARQLRule.", "https://www.w3.org/TR/shacl-af/#rules-syntax", ) ret_rules[shape].append(rule) return ret_rules RULES_ITERATE_LIMIT = 100 def apply_rules( executor: SHACLExecutor, shapes_rules: Dict, data_graph: GraphLike, focus_nodes: Union[Sequence[RDFNode], None] = None, ) -> int: # short the shapes dict by shapes sh:order before execution sorted_shapes_rules: List[Tuple[Any, Any]] = sorted(shapes_rules.items(), key=lambda x: x[0].order) total_modified = 0 for shape, rules in sorted_shapes_rules: # sort the rules by the sh:order before execution rules = sorted(rules, key=lambda x: x.order) _iterate_limit = int(RULES_ITERATE_LIMIT) while True: if _iterate_limit < 1: raise ReportableRuntimeError( f"SHACL Shape Rule iteration exceeded iteration limit of {RULES_ITERATE_LIMIT}." ) _iterate_limit -= 1 this_modified = 0 for r in rules: if r.deactivated: continue n_modified = r.apply(data_graph, focus_nodes=focus_nodes) this_modified += n_modified if this_modified > 0: total_modified += this_modified if executor.iterate_rules: continue else: break break return total_modified pyshacl-0.30.1/pyshacl/rules/shacl_rule.py0000644000000000000000000001075600000000000015426 0ustar00# -*- coding: utf-8 -*- from decimal import Decimal from typing import TYPE_CHECKING, Optional, Sequence from rdflib import RDF, Literal from pyshacl.consts import SH_condition, SH_deactivated, SH_order from pyshacl.errors import RuleLoadError from pyshacl.pytypes import RDFNode, SHACLExecutor if TYPE_CHECKING: from rdflib.term import URIRef from pyshacl.pytypes import GraphLike RDF_first = RDF.first class SHACLRuleCondition(object): __slots__ = ("rule", "cond_shape") def __init__(self, rule, cond_shape): self.rule = rule self.cond_shape = cond_shape def get_focus_nodes(self, data_graph): return self.cond_shape.focus_nodes(data_graph) def validate_condition(self, executor, data_graph, focus_node): return self.cond_shape.validate(executor, data_graph, focus=focus_node) class SHACLRule(object): __slots__ = ("executor", "shape", "node", "iterate", "_deactivated") def __init__(self, executor: SHACLExecutor, shape, rule_node, iterate=False): """ :param executor: :type executor: SHACLExecutor :param shape: :type shape: Shape :param rule_node: :type rule_node: rdflib.Identifier """ super(SHACLRule, self).__init__() self.executor = executor self.shape = shape self.node = rule_node self.iterate = iterate deactivated_nodes = list(self.shape.sg.objects(self.node, SH_deactivated)) self._deactivated = len(deactivated_nodes) > 0 and bool(deactivated_nodes[0]) @property def deactivated(self): return self._deactivated @property def order(self) -> Decimal: order_nodes = list(self.shape.sg.objects(self.node, SH_order)) if len(order_nodes) < 1: return Decimal("0.0") if len(order_nodes) > 1: raise RuleLoadError( "A SHACL Rule can have only one sh:order property.", "https://www.w3.org/TR/shacl-af/#rules-order" ) order_node = next(iter(order_nodes)) if not isinstance(order_node, Literal): raise RuleLoadError( "A SHACL Rule must be a numeric literal.", "https://www.w3.org/TR/shacl-af/#rules-order" ) return Decimal(order_node.value) def get_conditions(self): shapes_graph_g = self.shape.sg.graph cond_nodes = list(shapes_graph_g.objects(self.node, SH_condition)) conditions = [] for c in cond_nodes: # test_me = list(self.shape.sg.graph.predicate_objects(c)) # check if this is a rdf:list first_nodes = list(shapes_graph_g.objects(c, RDF_first)) if len(first_nodes) > 0: for c_item in shapes_graph_g.items(c): try: cond_shape = self.shape.sg.lookup_shape_from_node(c_item) except (AttributeError, KeyError): raise RuleLoadError( "A SHACL Rule Condition must be an existing well-formed SHACL Shape.", "https://www.w3.org/TR/shacl-af/#condition", ) condition = SHACLRuleCondition(self, cond_shape) conditions.append(condition) else: try: cond_shape = self.shape.sg.lookup_shape_from_node(c) except (AttributeError, KeyError): raise RuleLoadError( "A SHACL Rule Condition must be an existing well-formed SHACL Shape.", "https://www.w3.org/TR/shacl-af/#condition", ) condition = SHACLRuleCondition(self, cond_shape) conditions.append(condition) return conditions def filter_conditions(self, focus_nodes: Sequence[RDFNode], data_graph): conditions = self.get_conditions() applicable_focus_nodes = [] for f in focus_nodes: not_applicable = False for c in conditions: _conforms, _reports = c.validate_condition(self.executor, data_graph, f) not_applicable = not_applicable or not (_conforms) if not not_applicable: applicable_focus_nodes.append(f) return applicable_focus_nodes def apply( self, data_graph: 'GraphLike', focus_nodes: Optional[Sequence[RDFNode]] = None, target_graph_identifier: Optional['URIRef'] = None, ): raise NotImplementedError() pyshacl-0.30.1/pyshacl/rules/sparql/__init__.py0000644000000000000000000001252200000000000016337 0ustar00# -*- coding: utf-8 -*- from typing import TYPE_CHECKING, List, Optional, Sequence, Union import rdflib from rdflib import Literal from rdflib.namespace import XSD from pyshacl.consts import SH_construct from pyshacl.errors import ReportableRuntimeError, RuleLoadError from pyshacl.helper import get_query_helper_cls from pyshacl.rdfutil import clone_graph from ..shacl_rule import SHACLRule if TYPE_CHECKING: from rdflib.term import URIRef from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.shape import Shape XSD_string = XSD.string SPARQL_RULE_ITERATE_LIMIT = 100 class SPARQLRule(SHACLRule): __slots__ = ("_constructs", "_qh") def __init__(self, executor: 'SHACLExecutor', shape: 'Shape', rule_node: 'rdflib.term.Identifier', **kwargs): """ :param executor: :type executor: SHACLExecutor :param shape: :type shape: Shape :param rule_node: :type rule_node: rdflib.term.Identifier """ super(SPARQLRule, self).__init__(executor, shape, rule_node, **kwargs) construct_nodes = set(self.shape.sg.objects(self.node, SH_construct)) if len(construct_nodes) < 1: raise RuleLoadError("No sh:construct on SPARQLRule", "https://www.w3.org/TR/shacl-af/#SPARQLRule") self._constructs = [] for c in construct_nodes: if not isinstance(c, Literal) or not ( c.datatype == XSD_string or c.language is not None or isinstance(c.value, str) ): raise RuleLoadError( "SPARQLRule sh:construct must be an xsd:string", "https://www.w3.org/TR/shacl-af/#SPARQLRule" ) self._constructs.append(str(c.value)) SPARQLQueryHelper = get_query_helper_cls() query_helper = SPARQLQueryHelper(self.shape, self.node, None, deactivated=self._deactivated) query_helper.collect_prefixes() self._qh = query_helper def apply( self, data_graph: 'GraphLike', focus_nodes: Optional[Sequence['RDFNode']] = None, target_graph_identifier: Optional['URIRef'] = None, ) -> int: focus_list: Sequence['RDFNode'] if focus_nodes is not None: focus_list = list(focus_nodes) else: focus_list = list(self.shape.focus_nodes(data_graph)) if self.executor.focus_nodes is not None and len(self.executor.focus_nodes) > 0: filtered_focus_nodes: List[Union[rdflib.URIRef]] = [] for _fo in focus_list: # type: RDFNode if isinstance(_fo, rdflib.URIRef) and _fo in self.executor.focus_nodes: filtered_focus_nodes.append(_fo) len_filtered_focus = len(filtered_focus_nodes) if len_filtered_focus < 1: return 0 focus_list = filtered_focus_nodes all_added = 0 SPARQLQueryHelper = get_query_helper_cls() iterate_limit = int(SPARQL_RULE_ITERATE_LIMIT) while True: if iterate_limit < 1: raise ReportableRuntimeError( f"Local SPARQLRule iteration exceeded iteration limit of {SPARQL_RULE_ITERATE_LIMIT}." ) iterate_limit -= 1 added = 0 applicable_nodes = self.filter_conditions(focus_list, data_graph) construct_graphs = set() for a in applicable_nodes: for c in self._constructs: init_bindings = {} found_this = SPARQLQueryHelper.bind_this_regex.search(c) if found_this: init_bindings['this'] = a c = self._qh.apply_prefixes(c) results = data_graph.query(c, initBindings=init_bindings) if results.type != "CONSTRUCT": raise ReportableRuntimeError("Query executed by a SHACL SPARQLRule must be CONSTRUCT query.") this_added = False result_graph = results.graph if result_graph is None: raise ReportableRuntimeError("Query executed by a SHACL SPARQLRule did not return a Graph.") for i in result_graph: if not this_added and i not in data_graph: this_added = True # We only need to know at least one triple was added, then break! break if this_added: added += 1 construct_graphs.add(result_graph) if added > 0: if isinstance(data_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): if target_graph_identifier is not None: target_graph = data_graph.get_context(target_graph_identifier) else: target_graph = data_graph.default_context else: target_graph = data_graph for g in construct_graphs: data_graph = clone_graph(g, target_graph=target_graph) all_added += added if self.iterate: continue # Jump up to iterate else: break # Don't iterate break # We've reached a local steady state return all_added pyshacl-0.30.1/pyshacl/rules/triple/__init__.py0000644000000000000000000001124200000000000016332 0ustar00# -*- coding: utf-8 -*- import itertools from typing import TYPE_CHECKING, List, Optional, Sequence, Tuple, Union, cast import rdflib from pyshacl.consts import SH_object, SH_predicate, SH_subject from pyshacl.errors import ReportableRuntimeError from pyshacl.helper.expression_helper import nodes_from_node_expression from pyshacl.rules.shacl_rule import SHACLRule if TYPE_CHECKING: from rdflib.term import URIRef from pyshacl.pytypes import GraphLike, RDFNode, SHACLExecutor from pyshacl.shape import Shape TRIPLE_RULE_ITERATE_LIMIT = 100 class TripleRule(SHACLRule): __slots__ = ("s", "p", "o") def __init__(self, executor: 'SHACLExecutor', shape: 'Shape', rule_node: 'rdflib.term.Identifier', **kwargs): """ :param executor: :type executor: SHACLExecutor :param shape: :type shape: Shape :param rule_node: :type rule_node: rdflib.term.Identifier """ super(TripleRule, self).__init__(executor, shape, rule_node, **kwargs) my_subject_nodes = set(self.shape.sg.objects(self.node, SH_subject)) if len(my_subject_nodes) < 1: raise RuntimeError("No sh:subject") elif len(my_subject_nodes) > 1: raise RuntimeError("Too many sh:subject") self.s = next(iter(my_subject_nodes)) my_predicate_nodes = set(self.shape.sg.objects(self.node, SH_predicate)) if len(my_predicate_nodes) < 1: raise RuntimeError("No sh:predicate") elif len(my_predicate_nodes) > 1: raise RuntimeError("Too many sh:predicate") self.p = next(iter(my_predicate_nodes)) my_object_nodes = set(self.shape.sg.objects(self.node, SH_object)) if len(my_object_nodes) < 1: raise RuntimeError("No sh:object") elif len(my_object_nodes) > 1: raise RuntimeError("Too many sh:object") self.o = next(iter(my_object_nodes)) def apply( self, data_graph: 'GraphLike', focus_nodes: Optional[Sequence['RDFNode']] = None, target_graph_identifier: Optional['URIRef'] = None, ) -> int: focus_list: Sequence['RDFNode'] if focus_nodes is not None: focus_list = list(focus_nodes) else: focus_list = list(self.shape.focus_nodes(data_graph)) if self.executor.focus_nodes is not None and len(self.executor.focus_nodes) > 0: filtered_focus_nodes: List[Union[rdflib.URIRef]] = [] for _fo in focus_list: # type: RDFNode if isinstance(_fo, rdflib.URIRef) and _fo in self.executor.focus_nodes: filtered_focus_nodes.append(_fo) len_filtered_focus = len(filtered_focus_nodes) if len_filtered_focus < 1: return 0 focus_list = filtered_focus_nodes # uses target nodes to find focus nodes applicable_nodes = self.filter_conditions(focus_list, data_graph) all_added = 0 iterate_limit = int(TRIPLE_RULE_ITERATE_LIMIT) while True: if iterate_limit < 1: raise ReportableRuntimeError( f"sh:rule iteration exceeded iteration limit of {TRIPLE_RULE_ITERATE_LIMIT}." ) iterate_limit -= 1 added = 0 to_add = [] for a in applicable_nodes: s_set = nodes_from_node_expression(self.s, a, data_graph, self.shape.sg) p_set = nodes_from_node_expression(self.p, a, data_graph, self.shape.sg) o_set = nodes_from_node_expression(self.o, a, data_graph, self.shape.sg) new_triples = itertools.product(s_set, p_set, o_set) this_added = False for i in iter(new_triples): if not this_added and i not in data_graph: this_added = True to_add.append(i) if this_added: added += 1 if added > 0: if isinstance(data_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): if target_graph_identifier is not None: target_graph = data_graph.get_context(target_graph_identifier) else: target_graph = data_graph.default_context else: target_graph = data_graph for i in to_add: target_graph.add(cast(Tuple['RDFNode', 'RDFNode', 'RDFNode'], i)) all_added += added if self.iterate: continue # Jump up to iterate else: break # Don't iterate break return all_added pyshacl-0.30.1/pyshacl/run_type.py0000644000000000000000000000554000000000000014013 0ustar00import logging from abc import ABCMeta, abstractmethod from typing import TYPE_CHECKING, Optional import rdflib from pyshacl.errors import ReportableRuntimeError if TYPE_CHECKING: from rdflib.term import URIRef from pyshacl.pytypes import GraphLike class PySHACLRunType(metaclass=ABCMeta): __slots__ = () @abstractmethod def run(self): raise NotImplementedError() # pragma: no cover @classmethod def _run_pre_inference( cls, target_graph: 'GraphLike', inference_option: str, destination_graph_identifier: Optional['URIRef'] = None, logger: Optional[logging.Logger] = None, ): """ Note, this is the OWL/RDFS pre-inference, it is not the Advanced Spec SHACL-Rule inferencing step. :param target_graph: :type target_graph: rdflib.Graph|rdflib.ConjunctiveGraph|rdflib.Dataset :param inference_option: :type inference_option: str :return: :rtype: NoneType """ # Lazy import owlrl import owlrl from .inference import CustomRDFSOWLRLSemantics, CustomRDFSSemantics if logger is None: logger = logging.getLogger(__name__) try: if inference_option == 'rdfs': inferencer = owlrl.DeductiveClosure(CustomRDFSSemantics) elif inference_option == 'owlrl': inferencer = owlrl.DeductiveClosure(owlrl.OWLRL_Semantics) elif inference_option == 'both' or inference_option == 'all' or inference_option == 'rdfsowlrl': inferencer = owlrl.DeductiveClosure(CustomRDFSOWLRLSemantics) else: raise ReportableRuntimeError("Don't know how to do '{}' type inferencing.".format(inference_option)) except Exception as e: # pragma: no cover logger.error("Error during creation of OWL-RL Deductive Closure") if isinstance(e, ReportableRuntimeError): raise e raise ReportableRuntimeError( "Error during creation of OWL-RL Deductive Closure\n{}".format(str(e.args[0])) ) if isinstance(target_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): target_graph.default_union = True if destination_graph_identifier is not None: destination_graph = target_graph.get_context(destination_graph_identifier) else: destination_graph = target_graph.default_context else: destination_graph = None try: inferencer.expand(target_graph, destination=destination_graph) except Exception as e: # pragma: no cover raise logger.error("Error while running OWL-RL Deductive Closure") raise ReportableRuntimeError("Error while running OWL-RL Deductive Closure\n{}".format(str(e.args[0]))) pyshacl-0.30.1/pyshacl/sh_http.py0000644000000000000000000004403500000000000013621 0ustar00# HTTP Server for PySHACL import os import sys from typing import Union try: import sanic.application.logo from sanic import Request, Sanic from sanic.exceptions import InvalidUsage from sanic.response import HTTPResponse, JSONResponse, text from sanic_cors.extension import CORS from sanic_ext import Extend, openapi except ImportError: raise RuntimeError("The optional PySHACL HTTP server components are not installed. See README.md for details.") from dataclasses import dataclass from enum import Enum from textwrap import dedent from sanic_ext.extensions.openapi import types as openapi_types from sanic_ext.extensions.openapi.definitions import RequestBody, Response from . import __version__ as pyshacl_version from . import validate from .errors import ConstraintLoadError, ReportableRuntimeError, RuleLoadError, ShapeLoadError, ValidationFailure API_VERSION = "v1" class InferenceKind(Enum): NONE = "none" RDFS = "rdfs" OWLRL = "owlrl" BOTH = "both" class InputRDFFormat(Enum): AUTO = "auto" TURTLE = "turtle" XML = "xml" JSONLD = "json-ld" NT = "nt" N3 = "n3" @dataclass class ValidationRequest: data_graph: openapi_types.String( # type: ignore[valid-type] required=True, title="DataGraph", description="The target DataGraph to validate (serialized in an RDF string)" ) shapes_graph: openapi_types.String( # type: ignore[valid-type] required=False, nullable=True, title="DataGraph", description="Your SHACL ShapesGraph (serialized in an RDF string)", ) ontology_graph: openapi_types.String( # type: ignore[valid-type] required=False, nullable=True, title="OntologyGraph", description="Optional ontological definitions graph" ) data_graph_format: openapi_types.String( # type: ignore[valid-type] required=False, nullable=False, default="auto", title="DataGraph RDF format", description="Optionally specify the RDF format for your DataGraph", enum=InputRDFFormat, ) shapes_graph_format: openapi_types.String( # type: ignore[valid-type] required=False, nullable=False, default="auto", title="ShapesGraph RDF format", description="Optionally specify the RDF format for your ShapesGraph", enum=InputRDFFormat, ) ontology_graph_format: openapi_types.String( # type: ignore[valid-type] required=False, nullable=False, default="auto", title="OntologyGraph RDF format", description="Optionally specify the RDF format for your OntologyGraph", enum=InputRDFFormat, ) advanced: openapi_types.Boolean( # type: ignore[valid-type] required=False, nullable=False, default=False, title="Advanced", description="Enable features from the SHACL Advanced Features spec.", ) inference: openapi_types.String( # type: ignore[valid-type] required=False, nullable=False, default="none", title="Pre-Inference", description="Set a pre-inference option", enum=InferenceKind, ) do_owl_imports: openapi_types.Boolean( # type: ignore[valid-type] required=False, nullable=False, default=False, title="Do OWL Imports", description="Enable the feature to follow links to import OWL ontologies in Shapes graph and Ontology Graph.", ) allow_infos: openapi_types.Boolean( # type: ignore[valid-type] required=False, nullable=False, default=False, title="Allow Infos", description="The datagraph will still be considered conformant when encountering constraint failures with " "sh:Info level severity.", ) allow_warnings: openapi_types.Boolean( # type: ignore[valid-type] required=False, nullable=False, default=False, title="Allow Warnings", description="The datagraph will still be considered conformant when encountering constraint failures with " "sh:Warning or sh:Info level severity.", ) iterate_rules: openapi_types.Boolean( # type: ignore[valid-type] required=False, nullable=False, default=False, title="Iterate Rules", description="Continue to execute SHACL Rules until the resulting output graph reaches steady state. " "This only works when advanced mode is enabled, and is usually not required.", ) js: openapi_types.String( # type: ignore[valid-type] required=False, nullable=False, default=False, title="JS", description="Enable SHACL-JS validator extension" ) metashacl: openapi_types.Boolean( # type: ignore[valid-type] required=False, nullable=False, default=False, title="MetaSHACL", description="Validate your SHACL Shapesfile against the shacl-shacl shapes before validating the datagraph.", ) failures_array_ref = openapi.Component( openapi_types.Array( items=openapi.String(title="ValidationFailure", required=True, nullable=False, format="text/plain"), required=False, nullable=True, description="Optional array of validation errors in text format.", format="application/json", ), name="ValidationFailureArray", ) @dataclass class ValidationResponseSimple: conforms: openapi_types.Boolean( # type: ignore[valid-type] required=True, title="Conforms", description="The datagraph conforms to the SHACL Shapes" ) validation_report: openapi_types.String( # type: ignore[valid-type] required=False, nullable=True, title="ValidationReport", description="The text representation of the validation report.", ) validation_failures: failures_array_ref # type: ignore[valid-type] def make_validation_response_RDF(format, mimetype): this_type_ref = openapi.Component( openapi_types.String( required=True, title=f"ValidationReport{format}", description=f"The {format} representation of the validation report.", format=mimetype, ), name=f"ValidationReport{format}", ) return openapi.Component( openapi_types.Schema(oneOf=[this_type_ref, failures_array_ref], name=f"ValidationResponse{format}"), name=f"ValidationResponse{format}", ) validation_request_ref = openapi.Component(ValidationRequest) validation_response_simple_ref = openapi.Component(ValidationResponseSimple) validation_response_ntriples_ref = make_validation_response_RDF("NTriples", "application/n-triples") validation_response_json_ld_ref = make_validation_response_RDF("JSONLD", "application/ld+json") validation_response_xml_ref = make_validation_response_RDF("ApplicationXML", "application/xml") validation_response_rdf_ref = make_validation_response_RDF("RDFXML", "application/rdf+xml") validation_response_ttl_ref = make_validation_response_RDF("Turtle", "text/turtle") ALLOWED_RESPONSE_TYPES = { "text/plain": validation_response_simple_ref, "application/json": validation_response_simple_ref, "application/ld+json": validation_response_json_ld_ref, "application/xml": validation_response_xml_ref, "application/rdf+xml": validation_response_rdf_ref, "text/turtle": validation_response_ttl_ref, "application/n-triples": validation_response_ntriples_ref, } @openapi.definition( summary="Validate", description="Send a validation request, consisting of a DataGraph, SHACL shapes graph, and optional parameters.", body=RequestBody( {"application/json": validation_request_ref}, required=True, description="ValidationRequest body", ), validate=False, response=Response(ALLOWED_RESPONSE_TYPES, status=200), ) async def sh_validate(request: Request) -> HTTPResponse: content_type = "application/json" # Default content type is the fallback content_types = (request.headers.getall("Content-Type"),) for c_t in content_types: if isinstance(c_t, (list, tuple, set)): content_types_array = c_t else: content_types_array = [c_t] for c_t2 in content_types_array: split_ct = [p.strip() for p in c_t2.split(",")] for c_t3 in split_ct: content_type = ([p.strip() for p in c_t3.split(";")][0]).lower() accept_type = "text/plain" # Default return type is the fallback accept_types = (request.headers.getall("Accept"),) for a_t in accept_types: if isinstance(a_t, (list, tuple, set)): accept_types_array = a_t else: accept_types_array = [a_t] for a_t2 in accept_types_array: split_at = [p.strip() for p in a_t2.split(",")] for a_t3 in split_at: accept_type = ([p.strip() for p in a_t3.split(";")][0]).lower() if content_type != "application/json": raise InvalidUsage( "Request should be encoded in format application/json in accordance with the OpenAPI schema." ) if accept_type not in ALLOWED_RESPONSE_TYPES.keys(): raise InvalidUsage("Invalid response type requested.") try: body = request.json except ValueError: raise InvalidUsage("Invalid JSON payload.") data_graph = body.get("data_graph", None) if data_graph is None: raise InvalidUsage("DataGraph was not provided.") data_graph_format = body.get("data_graph_format", None) shapes_graph = body.get("shapes_graph", None) shapes_graph_format = body.get("shapes_graph_format", None) ontology_graph = body.get("ontology_graph", None) ontology_graph_format = body.get("ontology_graph_format", None) advanced = body.get("advanced", False) inference = body.get("inference", 'none') do_owl_imports = body.get("do_owl_imports", False) allow_infos = body.get("allow_infos", False) allow_warnings = body.get("allow_warnings", False) iterate_rules = body.get("iterate_rules", False) js = body.get("js", False) metashacl = body.get("metashacl", False) if str(data_graph_format).lower() == "auto": data_graph_format = None if str(ontology_graph_format).lower() == "auto": ontology_graph_format = None if str(shapes_graph_format).lower() == "auto": shapes_graph_format = None if not advanced: iterate_rules = False try: _conforms, _graph, _text = validate( data_graph, shacl_graph=shapes_graph, ontology_graph=ontology_graph, data_graph_format=data_graph_format, shacl_graph_format=shapes_graph_format, ontology_graph_format=ontology_graph_format, advanced=advanced, inference=inference, do_owl_imports=do_owl_imports, js=js, metashacl=metashacl, allow_infos=allow_infos, allow_warnings=allow_warnings, iterate_rules=iterate_rules, debug=False, ) except ValidationFailure as f: err = "Validation Failure: " + str(f) simple_resp = ValidationResponseSimple(conforms=None, validation_report=None, validation_failures=[err]) except RuleLoadError as r: err = "Rule Load Error: " + str(r) simple_resp = ValidationResponseSimple(conforms=None, validation_report=None, validation_failures=[err]) except ShapeLoadError as s: err = "Shape Load Error: " + str(s) simple_resp = ValidationResponseSimple(conforms=None, validation_report=None, validation_failures=[err]) except ConstraintLoadError as c: err = "Constraint Load Error: " + str(c) simple_resp = ValidationResponseSimple(conforms=None, validation_report=None, validation_failures=[err]) except ReportableRuntimeError as s: err = "Runtime Error: " + str(s) simple_resp = ValidationResponseSimple(conforms=None, validation_report=None, validation_failures=[err]) except RuntimeError as e: err = "Runtime Error: Internal Error" import traceback # Print this to stderr in the console, not sys.stderr.write(f"{repr(e)}\r\n") traceback.print_tb(e.__traceback__, file=sys.stderr) sys.stderr.flush() simple_resp = ValidationResponseSimple(conforms=None, validation_report=None, validation_failures=[err]) else: simple_resp = ValidationResponseSimple(conforms=_conforms, validation_report=_text, validation_failures=[]) if accept_type == "text/plain": if simple_resp.validation_failures: failure_texts = "\r\n".join(simple_resp.validation_failures) resp_txt = f"validation_failures:\r\n{failure_texts}\r\n" else: resp_txt = f"conforms: {simple_resp.conforms}\r\n{simple_resp.validation_report}\r\n" return text(resp_txt, content_type=accept_type) elif accept_type == "application/json": resp_dict = { "conforms": simple_resp.conforms or False, "validation_report": simple_resp.validation_report, "validation_failures": simple_resp.validation_failures, } # Note, this is regular REST JSON, not a real JSON-LD RDF result return JSONResponse(resp_dict, content_type=accept_type) if simple_resp.validation_failures: # Not sure if we can translate these failures into RDF. Probably not possible. # Pull a swiftie and return JSON instead. resp_dict = { "conforms": False, "validation_report": simple_resp.validation_report, "validation_failures": simple_resp.validation_failures, } return JSONResponse(resp_dict, content_type="application/json") if accept_type == "application/ld+json": graph_str = _graph.serialize(format="json-ld") elif accept_type == "text/turtle": graph_str = _graph.serialize(format="turtle") elif accept_type == "application/xml" or accept_type == "application/rdf+xml": graph_str = _graph.serialize(format="xml") else: graph_str = _graph.serialize(format="ntriples") return HTTPResponse(body=graph_str, content_type=accept_type) BASE_LOGO = """ PySHACL Running HTTP REST Service """ COLOR_LOGO = """\033[48;2;255;13;104m \033[0m \033[38;2;255;255;255;48;2;255;13;104m ███████╗██╗ ██╗ \033[0m \033[38;2;255;255;255;48;2;255;13;104m ██╔â•â•â•â•â•██║ ██║ \033[0m \033[38;2;255;255;255;48;2;255;13;104m ███████╗███████║ \033[0m \033[38;2;255;255;255;48;2;255;13;104m ╚â•â•â•â•██║██╔â•â•██║ \033[0m \033[38;2;255;255;255;48;2;255;13;104m ███████║██║ ██║ \033[0m \033[38;2;255;255;255;48;2;255;13;104m ╚â•â•â•â•â•â•â•╚â•╠╚â•â• \033[0m \033[48;2;255;13;104m Running PySHACL \033[0m HTTP REST Service """ FULL_COLOR_LOGO = """\033[38;2;255;13;104m \033[0m \033[38;2;255;13;104m ██████╗ ██╗ ██╗\033[0m ███████╗██╗ ██╗ █████╗ ██████╗██╗ \033[38;2;255;13;104m ██╔â•â•██╗╚██╗ ██╔â•\033[0m ██╔â•â•â•â•â•██║ ██║██╔â•â•██╗██╔â•â•â•â•â•██║ \033[38;2;255;13;104m ██████╔╠╚████╔╠\033[0m ███████╗███████║███████║██║ ██║ \033[38;2;255;13;104m ██╔â•â•â•╠╚██╔╠\033[0m ╚â•â•â•â•██║██╔â•â•██║██╔â•â•██║██║ ██║ \033[38;2;255;13;104m ██║ ██║ \033[0m ███████║██║ ██║██║ ██║╚██████╗███████╗ \033[38;2;255;13;104m ╚â•╠╚â•â• \033[0m ╚â•â•â•â•â•â•â•╚â•╠╚â•â•╚â•╠╚â•╠╚â•â•â•â•â•â•╚â•â•â•â•â•â•â• """ # noqa def app_factory() -> Sanic: sanic.application.logo.BASE_LOGO = BASE_LOGO sanic.application.logo.COLOR_LOGO = COLOR_LOGO sanic.application.logo.FULL_COLOR_LOGO = FULL_COLOR_LOGO app = Sanic("PySHACL") app.config['MOTD_DISPLAY']["Application"] = "PySHACL HTTP SERVICE" CORS_OPTIONS = {"resources": r'/*', "origins": "*", "methods": ["GET", "POST", "HEAD", "OPTIONS"]} app.config['CORS_AUTOMATIC_OPTIONS'] = True # Disable sanic-ext built-in CORS, and add the Sanic-CORS plugin Extend(app, extensions=[CORS], config={"CORS": False, "CORS_OPTIONS": CORS_OPTIONS}) app.ext.openapi.describe( "PySHACL Simple Validation Service API", version=API_VERSION, description=dedent( f""" # Info PySHACL is hosting its own simple validation service API endpoint. PySHACL version: `{pyshacl_version}` PySHACL API Spec Version: `{API_VERSION}` _Previously a standalone wrapper service, this feature is now built into PySHACL._ """ ), ) app.route("/validate", methods=('POST', 'OPTIONS'))(sh_validate) return app def run_server(): PYSHACL_SERVER_LISTEN = os.getenv("PYSHACL_SERVER_LISTEN", "127.0.0.1") PYSHACL_SERVER_PORT_str = os.getenv("PYSHACL_SERVER_PORT", "8099") PYSHACL_SERVER_HOSTNAME = os.getenv("PYSHACL_SERVER_HOSTNAME", "") try: PYSHACL_SERVER_PORT = int(PYSHACL_SERVER_PORT_str) except ValueError: raise RuntimeError("Invalid port given for PySHACL Server Port") app: Sanic = app_factory() if PYSHACL_SERVER_HOSTNAME: app.config.SERVER_NAME = PYSHACL_SERVER_HOSTNAME app.run( PYSHACL_SERVER_LISTEN, port=PYSHACL_SERVER_PORT, access_log=False, auto_reload=False, single_process=True, legacy=False, debug=False, ) def main(prog: Union[None, str] = None) -> None: """CLI entrypoint for the HTTP Service""" try: run_server() except RuntimeError as r: import traceback sys.stderr.write(f"{r}\r\n") traceback.print_tb(r.__traceback__, file=sys.stderr) sys.stderr.flush() sys.exit(1) sys.exit(0) pyshacl-0.30.1/pyshacl/shape.py0000644000000000000000000010170500000000000013246 0ustar00# -*- coding: utf-8 -*- # import itertools import logging import sys from decimal import Decimal from time import perf_counter from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Set, Type, Union from rdflib import BNode, IdentifiedNode, Literal, URIRef from .consts import ( RDF_type, RDFS_Class, RDFS_subClassOf, SH_deactivated, SH_description, SH_Info, SH_jsFunctionName, SH_JSTarget, SH_JSTargetType, SH_message, SH_name, SH_order, SH_property, SH_resultSeverity, SH_select, SH_severity, SH_SPARQLTarget, SH_SPARQLTargetType, SH_target, SH_targetClass, SH_targetNode, SH_targetObjectsOf, SH_targetSubjectsOf, SH_Violation, SH_Warning, ) from .errors import ConstraintLoadError, ConstraintLoadWarning, ReportableRuntimeError, ShapeLoadError from .helper import get_query_helper_cls from .helper.expression_helper import value_nodes_from_path from .helper.path_helper import shacl_path_to_sparql_path from .pytypes import GraphLike, RDFNode, SHACLExecutor if TYPE_CHECKING: from pyshacl.constraints import ConstraintComponent from pyshacl.shapes_graph import ShapesGraph module = sys.modules[__name__] class Shape(object): __slots__ = ( 'logger', 'sg', 'node', '_p', '_path', '_advanced', '_deactivated', '_severity', '_messages', '_names', '_descriptions', ) def __init__( self, sg: 'ShapesGraph', node: Union[URIRef, BNode], p=False, path: Optional[Union[URIRef, BNode]] = None, logger=None, ): """ Shape :type sg: ShapesGraph :type node: URIRef | BNode :type p: bool :type path: URIRef | BNode | None :type logger: logging.Logger """ self.logger = logger or logging.getLogger(__name__) self.sg = sg self.node = node self._p = p self._path = path self._advanced = False deactivated_vals = set(self.objects(SH_deactivated)) if len(deactivated_vals) > 1: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A SHACL Shape cannot have more than one sh:deactivated predicate.", "https://www.w3.org/TR/shacl/#deactivated", ) elif len(deactivated_vals) < 1: self._deactivated = False # type: bool else: d = next(iter(deactivated_vals)) if not isinstance(d, Literal): # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "The value of sh:deactivated predicate on a SHACL Shape must be a Literal.", "https://www.w3.org/TR/shacl/#deactivated", ) self._deactivated = bool(d.value) severity = set(self.objects(SH_severity)) if len(severity): self._severity = next(iter(severity)) # type: Union[URIRef, BNode, Literal] else: self._severity = SH_Violation messages = set(self.objects(SH_message)) if len(messages): self._messages = messages # type: Set else: self._messages = set() names = set(self.objects(SH_name)) if len(names): self._names = names # type: Set else: self._names = set() descriptions = set(self.objects(SH_description)) if len(descriptions): self._descriptions = descriptions # type: Set else: self._descriptions = set() def set_advanced(self, val): self._advanced = bool(val) def get_other_shape(self, shape_node): try: return self.sg.lookup_shape_from_node(shape_node) except (KeyError, AttributeError): # TODO:coverage: we never hit this during a successful test run return None @property def is_property_shape(self): return bool(self._p) def property_shapes(self): # TODO:coverage: this is never used? return self.sg.graph.objects(self.node, SH_property) @property def deactivated(self): return self._deactivated @property def severity(self): return self._severity @property def message(self): if self._messages is None: return for m in self._messages: yield m @property def name(self): if self._names is None: return for n in self._names: yield n def __str__(self): try: name = next(iter(self.name)) except Exception: name = str(self.node) if self.is_property_shape: kind = "PropertyShape" else: kind = "NodeShape" return "<{} {}>".format(kind, name) def __repr__(self): if self.is_property_shape: p = "True" else: p = "False" names = list(self.name) if len(names): return "".format(",".join(names), p, str(self.node)) else: return "".format(p, str(self.node)) # return super(Shape, self).__repr__() @property def description(self): # TODO:coverage: this is never used? if self._descriptions is None: return for d in self._descriptions: yield d def objects(self, predicate=None): return self.sg.graph.objects(self.node, predicate) @property def order(self): order_nodes = list(self.objects(SH_order)) if len(order_nodes) < 1: return Decimal("0.0") if len(order_nodes) > 1: raise ShapeLoadError( "A SHACL Shape can have only one sh:order property.", "https://www.w3.org/TR/shacl-af/#rules-order" ) order_node = next(iter(order_nodes)) if not isinstance(order_node, Literal): raise ShapeLoadError( "A SHACL Shape must be a numeric literal.", "https://www.w3.org/TR/shacl-af/#rules-order" ) if isinstance(order_node.value, Decimal): order = order_node.value elif isinstance(order_node.value, int): order = Decimal(order_node.value) elif isinstance(order_node.value, float): order = Decimal(str(order_node.value)) else: raise ShapeLoadError( "A SHACL Shape must be a numeric literal.", "https://www.w3.org/TR/shacl-af/#rules-order" ) return order def target_nodes(self): return self.sg.graph.objects(self.node, SH_targetNode) def target_classes(self): return self.sg.graph.objects(self.node, SH_targetClass) def implicit_class_targets(self): types = list(self.sg.graph.objects(self.node, RDF_type)) subclasses = list(self.sg.graph.subjects(RDFS_subClassOf, RDFS_Class)) subclasses.append(RDFS_Class) for t in types: if t in subclasses: return [self.node] return [] def target_objects_of(self): return self.sg.graph.objects(self.node, SH_targetObjectsOf) def target_subjects_of(self): return self.sg.graph.objects(self.node, SH_targetSubjectsOf) def path(self): if not self.is_property_shape: return None if self._path is not None: return self._path raise RuntimeError("property shape has no _path!") # pragma: no cover def target(self): target_nodes = self.target_nodes() target_classes = self.target_classes() implicit_targets = self.implicit_class_targets() target_objects_of = self.target_objects_of() target_subjects_of = self.target_subjects_of() return (target_nodes, target_classes, implicit_targets, target_objects_of, target_subjects_of) def advanced_target(self): custom_targets = set(self.sg.objects(self.node, SH_target)) result_set = dict() if self.sg.js_enabled: use_JSTarget: Union[bool, Type] = True else: use_JSTarget = False for c in custom_targets: ct = dict() selects = list(self.sg.objects(c, SH_select)) has_select = len(selects) > 0 fn_names = list(self.sg.objects(c, SH_jsFunctionName)) has_fnname = len(fn_names) > 0 is_types = set(self.sg.objects(c, RDF_type)) if has_select or (SH_SPARQLTarget in is_types): ct['type'] = SH_SPARQLTarget SPARQLQueryHelper = get_query_helper_cls() qh = SPARQLQueryHelper(self, c, selects[0], deactivated=self._deactivated) qh.collect_prefixes() ct['qh'] = qh elif has_fnname or (SH_JSTarget in is_types): if use_JSTarget: JST = getattr(module, "JSTarget", None) if not JST: # Lazy-import JS-Target to prevent RDFLib import error from pyshacl.extras.js.target import JSTarget as JST setattr(module, "JSTarget", JST) ct['type'] = SH_JSTarget ct['targeter'] = JST(self.sg, c) else: # Found JSTarget, but JS is not enabled in PySHACL. Ignore this target. pass else: found_tt = None for t in is_types: try: found_tt = self.sg.get_shacl_target_type(t) break except LookupError: continue if not found_tt: msg = "None of these types match a TargetType: {}".format(" ".join(is_types)) raise ShapeLoadError(msg, "https://www.w3.org/TR/shacl-af/#SPARQLTargetType") bound_tt = found_tt.bind(self, c) ct['type'] = bound_tt.shacl_constraint_class() if ct['type'] == SH_SPARQLTargetType: ct['qt'] = bound_tt elif ct['type'] == SH_JSTargetType: ct['targeter'] = bound_tt result_set[c] = ct return result_set def focus_nodes(self, data_graph, debug=False): """ The set of focus nodes for a shape may be identified as follows: specified in a shape using target declarations specified in any constraint that references a shape in parameters of shape-expecting constraint parameters (e.g. sh:node) specified as explicit input to the SHACL processor for validating a specific RDF term against a shape :return: """ t1 = 0.0 if debug: t1 = perf_counter() (target_nodes, target_classes, implicit_classes, target_objects_of, target_subjects_of) = self.target() if self._advanced: advanced_targets = self.advanced_target() else: advanced_targets = False found_node_targets = set() # Just add _all_ target_nodes to the set, # they don't need to actually exist in the graph found_node_targets.update(iter(target_nodes)) target_classes = set(target_classes) target_classes.update(set(implicit_classes)) found_target_instances = set() for tc in target_classes: s = data_graph.subjects(RDF_type, tc) found_target_instances.update(s) subc = data_graph.transitive_subjects(RDFS_subClassOf, tc) for subclass in iter(subc): if subclass == tc: continue s1 = data_graph.subjects(RDF_type, subclass) found_target_instances.update(s1) found_node_targets.update(found_target_instances) found_target_subject_of = set() for s_of in target_subjects_of: subs = {s for s, o in data_graph.subject_objects(s_of)} found_target_subject_of.update(subs) found_node_targets.update(found_target_subject_of) found_target_object_of = set() for o_of in target_objects_of: objs = {o for s, o in data_graph.subject_objects(o_of)} found_target_object_of.update(objs) found_node_targets.update(found_target_object_of) if advanced_targets: for at_node, at in advanced_targets.items(): if at['type'] == SH_SPARQLTarget: qh = at['qh'] select = qh.apply_prefixes(qh.select_text) results = data_graph.query(select, initBindings=None) if not results or len(results.bindings) < 1: continue for r in results: t = r['this'] found_node_targets.add(t) elif at['type'] in (SH_JSTarget, SH_JSTargetType): results = at['targeter'].find_targets(data_graph) for r in results: found_node_targets.add(r) else: results = at['qt'].find_targets(data_graph) if not results or len(results.bindings) < 1: continue for r in results: t = r['this'] found_node_targets.add(t) if debug: t2 = perf_counter() elapsed = t2 - t1 self.logger.debug(f"Milliseconds to find focus nodes: {elapsed * 1000.0:.3f}ms") return found_node_targets @classmethod def make_focus_nodes_sparql_values( cls, target_classes_s: Set, implicit_classes_s: Set, target_objects_of_s: Set, target_subjects_of_s: Set ): init_bindings = {} values_keys = [] values_vals = [] if len(target_classes_s) > 1: values_keys.append("$targetClass") values_vals.append(list(target_classes_s)) else: init_bindings["targetClass"] = next(iter(target_classes_s)) if len(target_classes_s) > 0 else "UNDEF" if len(implicit_classes_s) > 1: values_keys.append("$implicitClass") values_vals.append(list(implicit_classes_s)) else: init_bindings["implicitClass"] = next(iter(implicit_classes_s)) if len(implicit_classes_s) > 0 else "UNDEF" if len(target_subjects_of_s) > 1: values_keys.append("$targetSubjectsOf") values_vals.append(list(target_subjects_of_s)) else: init_bindings["targetSubjectsOf"] = ( next(iter(target_subjects_of_s)) if len(target_subjects_of_s) > 0 else "UNDEF" ) if len(target_objects_of_s) > 1: values_keys.append("$targetObjectsOf") values_vals.append(list(target_objects_of_s)) else: init_bindings["targetObjectsOf"] = ( next(iter(target_objects_of_s)) if len(target_objects_of_s) > 0 else "UNDEF" ) if len(values_keys) < 1: return "", init_bindings else: values_clause = f"VALUES ({' '.join(values_keys)}) {{\n" product = itertools.product(*values_vals) for p in product: values_clause += f"\t( {' '.join(p_x.n3() for p_x in p)} )\n" values_clause += "}" return values_clause, init_bindings def focus_nodes_sparql(self, data_graph, debug=False): """ The set of focus nodes for a shape may be identified as follows: specified in a shape using target declarations specified in any constraint that references a shape in parameters of shape-expecting constraint parameters (e.g. sh:node) specified as explicit input to the SHACL processor for validating a specific RDF term against a shape :return: """ t1 = 0.0 if debug: t1 = perf_counter() (target_nodes, target_classes, implicit_classes, target_objects_of, target_subjects_of) = self.target() if self._advanced: advanced_targets = self.advanced_target() else: advanced_targets = False found_node_targets = set() target_nodes = set(target_nodes) target_classes = set(target_classes) implicit_classes = set(implicit_classes) target_objects_of = set(target_objects_of) target_subjects_of = set(target_subjects_of) if all( ( advanced_targets is False, len(target_nodes) < 1, len(target_classes) < 1, len(implicit_classes) < 1, len(target_objects_of) < 1, len(target_subjects_of) < 1, ) ): return found_node_targets found_node_targets.update(target_nodes) if ( advanced_targets is False and len(target_classes) < 1 and len(implicit_classes) < 1 and len(target_objects_of) < 1 and len(target_subjects_of) < 1 ): return found_node_targets if ( len(target_classes) > 0 or len(implicit_classes) > 0 or len(target_objects_of) > 0 or len(target_subjects_of) > 0 ): focus_query = """\ SELECT ?targetClass_F ?targetSubjectsOf_F ?targetObjectsOf_F WHERE { {VALUES_CLAUSE} OPTIONAL { { ?targetClass_F rdf:type/rdfs:subClassOf* $targetClass . } UNION { ?targetClass_F rdf:type/rdfs:subClassOf* $implicitClass . }. } OPTIONAL { ?targetSubjectsOf_F $targetSubjectsOf ?anyA . } OPTIONAL {?anyB $targetObjectsOf ?targetObjectsOf_F . } } """ values_clause, init_bindings = self.make_focus_nodes_sparql_values( target_classes, implicit_classes, target_objects_of, target_subjects_of ) new_query = focus_query.replace("{VALUES_CLAUSE}", values_clause) try: resp = data_graph.query(new_query, initBindings=init_bindings) except Exception as e: print(new_query) raise e if len(resp) > 0: for result_set in resp: target_class_f, target_subjects_of_f, target_objects_of_f = result_set if target_class_f is not None and target_class_f != "UNDEF": found_node_targets.add(target_class_f) if target_subjects_of_f is not None and target_subjects_of_f != "UNDEF": found_node_targets.add(target_subjects_of_f) if target_objects_of_f is not None and target_objects_of_f != "UNDEF": found_node_targets.add(target_objects_of_f) if advanced_targets: for at_node, at in advanced_targets.items(): if at['type'] == SH_SPARQLTarget: qh = at['qh'] select = qh.apply_prefixes(qh.select_text) results = data_graph.query(select, initBindings=None) if not results or len(results.bindings) < 1: continue for r in results: t = r['this'] found_node_targets.add(t) elif at['type'] in (SH_JSTarget, SH_JSTargetType): raise ReportableRuntimeError( "SHACL Advanced Targets with JSTargets are not yet implemented in SPARQL Remote Graph Mode." ) else: results = at['qt'].find_targets(data_graph) if not results or len(results.bindings) < 1: continue for r in results: t = r['this'] found_node_targets.add(t) if debug: t2 = perf_counter() elapsed = t2 - t1 self.logger.debug(f"Milliseconds to find focus nodes: {elapsed * 1000.0:.3f}ms") return found_node_targets def value_nodes(self, target_graph, focus, sparql_mode: bool = False, debug: bool = False): """ For each focus node, you can get a set of value nodes. For a Node Shape, each focus node has just one value node, which is just the focus_node :param target_graph: :param focus: :param sparql_mode: :type sparql_mode: bool :param debug: :type debug: bool :return: """ t1 = 0.0 if debug: t1 = perf_counter() if not isinstance(focus, (tuple, list, set)): focus = [focus] if not self.is_property_shape: if debug: t2 = perf_counter() elapsed = t2 - t1 self.logger.debug(f"Milliseconds to find value nodes for focus nodes: {elapsed * 1000.0:.3f}ms") return {f: set((f,)) for f in focus} path_val = self.path() focus_dict: Dict[RDFNode, Set[RDFNode]] = {} if sparql_mode: # Shortcut for simple URI path, path rewriting and everything else if isinstance(path_val, URIRef): sparql_path = path_val.n3(namespace_manager=target_graph.namespace_manager) else: prefixes = dict(target_graph.namespace_manager.namespaces()) sparql_path = shacl_path_to_sparql_path(self.sg, path_val, prefixes=prefixes) values_query = f"SELECT {' '.join(f'?v{i}' for i, _ in enumerate(focus))} WHERE {{\n" init_bindings = {} for i, f in enumerate(focus): focus_dict[f] = set() values_query += f"OPTIONAL {{ \t$f{i} {sparql_path} ?v{i} . }}\n" init_bindings[f"f{i}"] = f values_query += "}" try: results = target_graph.query(values_query, initBindings=init_bindings) except Exception as e: print(e) raise if len(results) > 0: for r in results: for i, f in enumerate(focus): row_focus_result = r[i] if row_focus_result is None or row_focus_result == "UNDEF": continue focus_dict[f].add(row_focus_result) else: pass else: for f in focus: focus_dict[f] = value_nodes_from_path(self.sg, f, path_val, target_graph) if debug: t2 = perf_counter() elapsed = t2 - t1 self.logger.debug(f"Milliseconds to find value nodes for focus nodes: {elapsed * 1000.0:.3f}ms") return focus_dict def find_custom_constraints(self): applicable_custom_constraints = set() for c in self.sg.custom_constraints: mandatory = (p for p in c.parameters if not p.optional) found_all_mandatory = True for mandatory_param in mandatory: path = mandatory_param.path() assert isinstance(path, URIRef) found_vals = set(self.sg.objects(self.node, path)) # found_vals = value_nodes_from_path(self.node, mandatory_param.path(), self.sg.graph) found_all_mandatory = found_all_mandatory and bool(len(found_vals) > 0) if found_all_mandatory: applicable_custom_constraints.add(c) return applicable_custom_constraints def validate( self, executor: SHACLExecutor, target_graph: GraphLike, focus: Optional[ Union[ Sequence[RDFNode], RDFNode, ] ] = None, _evaluation_path: Optional[List] = None, ): if self.deactivated: if executor.debug: self.logger.debug(f"Skipping shape because it is deactivated: {str(self)}") return True, [] focus_list: Sequence[RDFNode] if focus is not None: lh_shape = False rh_shape = True self.logger.debug(f"Running evaluation of Shape {str(self)}") # Passed in Focus node _can_ be a Literal, happens in PropertyShapes # when the path resolves to a literal or set of Literals if isinstance(focus, (IdentifiedNode, Literal)): focus_list = [focus] else: focus_list = list(focus) self.logger.debug(f"Shape was passed {len(focus_list)} Focus Node/s to evaluate.") else: lh_shape = True rh_shape = False self.logger.debug(f"Checking if Shape {str(self)} defines its own targets.") self.logger.debug("Identifying targets to find focus nodes.") if executor.sparql_mode: focus_set = self.focus_nodes_sparql(target_graph, debug=executor.debug) else: focus_set = self.focus_nodes(target_graph, debug=executor.debug) focus_list = list(focus_set) self.logger.debug(f"Found {len(focus_list)} Focus Nodes to evaluate.") if len(focus_list) < 1: # It's possible for shapes to have _no_ focus nodes # (they are called in other ways) if executor.debug: self.logger.debug(f"Skipping shape {str(self)} because it found no focus nodes.") return True, [] else: self.logger.debug(f"Running evaluation of Shape {str(self)}") if executor.focus_nodes is not None and len(executor.focus_nodes) > 0: filtered_focus_nodes: List[Union[URIRef]] = [] for _fo in focus_list: # type: RDFNode if isinstance(_fo, URIRef) and _fo in executor.focus_nodes: filtered_focus_nodes.append(_fo) len_orig_focus = len(focus_list) len_filtered_focus = len(filtered_focus_nodes) if len_filtered_focus < 1: self.logger.debug(f"Skipping shape {str(self)} because specified focus nodes are not targeted.") return True, [] elif len_filtered_focus != len_orig_focus: self.logger.debug( f"Filtered focus nodes based on focus_nodes option. Only {len_filtered_focus} of {len_orig_focus} focus nodes remain." ) focus_list = filtered_focus_nodes t1 = ct1 = 0.0 # prevent warnings about use-before-assign collect_stats = bool(executor.debug) if _evaluation_path is None: _evaluation_path = [] else: validation_depth = len(_evaluation_path) // 2 if validation_depth >= executor.max_validation_depth: # depth of 14 (_evaluation_length=28) is the depth required to # successfully do the meta-shacl test on shacl.ttl path_str = " -> ".join((str(e) for e in _evaluation_path)) raise ReportableRuntimeError("Validation path too deep!\n{}".format(path_str)) if collect_stats: t1 = perf_counter() # Lazy import here to avoid an import loop CONSTRAINT_PARAMETERS, PARAMETER_MAP = getattr(module, 'CONSTRAINT_PARAMS', (None, None)) if not CONSTRAINT_PARAMETERS or not PARAMETER_MAP: from .constraints import ALL_CONSTRAINT_PARAMETERS, CONSTRAINT_PARAMETERS_MAP setattr(module, 'CONSTRAINT_PARAMS', (ALL_CONSTRAINT_PARAMETERS, CONSTRAINT_PARAMETERS_MAP)) CONSTRAINT_PARAMETERS = ALL_CONSTRAINT_PARAMETERS PARAMETER_MAP = CONSTRAINT_PARAMETERS_MAP if self.sg.js_enabled or self._advanced: search_parameters = CONSTRAINT_PARAMETERS.copy() constraint_map = PARAMETER_MAP.copy() if self._advanced: from pyshacl.constraints.advanced import ExpressionConstraint, SH_expression search_parameters.append(SH_expression) constraint_map[SH_expression] = ExpressionConstraint if self.sg.js_enabled: from pyshacl.extras.js.constraint import JSConstraint, SH_js search_parameters.append(SH_js) constraint_map[SH_js] = JSConstraint else: search_parameters = CONSTRAINT_PARAMETERS constraint_map = PARAMETER_MAP parameters = (p for p, v in self.sg.predicate_objects(self.node) if p in search_parameters) reports = [] focus_value_nodes = self.value_nodes( target_graph, focus_list, sparql_mode=executor.sparql_mode, debug=executor.debug ) filter_reports: bool = False allow_conform: bool = False allowed_severities: Set[URIRef] = set() if executor.allow_infos: allowed_severities.add(SH_Info) if executor.allow_warnings: allowed_severities.add(SH_Info) allowed_severities.add(SH_Warning) if executor.allow_infos or executor.allow_warnings: if self.severity in allowed_severities: allow_conform = True else: filter_reports = True non_conformant = False done_constraints = set() run_count = 0 _evaluation_path.append(self) if executor.debug: path_str = " -> ".join((str(e) for e in _evaluation_path)) self.logger.debug(f"Current shape evaluation path: {path_str}") constraint_components = [constraint_map[p] for p in iter(parameters)] constraint_component: Type['ConstraintComponent'] for constraint_component in constraint_components: if constraint_component in done_constraints: continue try: # if executor.debug: # self.logger.debug(f"Constructing Constraint Component: {repr(constraint_component)}") c = constraint_component(self) except ConstraintLoadWarning as w: self.logger.warning(repr(w)) continue except ConstraintLoadError as e: self.logger.error(repr(e)) raise e _e_p_copy = _evaluation_path[:] _e_p_copy.append(c) if executor.debug: self.logger.debug(f"Checking conformance for constraint: {str(c)}") if collect_stats: ct1 = perf_counter() if executor.debug: path_str = " -> ".join((str(e) for e in _e_p_copy)) self.logger.debug(f"Current constraint evaluation path: {path_str}") _is_conform, _reports = c.evaluate(executor, target_graph, focus_value_nodes, _e_p_copy) if executor.debug: if collect_stats: ct2 = perf_counter() elapsed = ct2 - ct1 self.logger.debug(f"Milliseconds to check constraint {str(c)}: {elapsed * 1000.0:.3f}ms") if _is_conform: self.logger.debug(f"DataGraph conforms to constraint {c}.") elif allow_conform: self.logger.debug(f"Focus nodes do _not_ conform to constraint {c} but given severity is allowed.") else: self.logger.debug(f"Focus nodes do _not_ conform to constraint {c}.") if lh_shape or (not rh_shape): for v_str, v_node, v_parts in _reports: self.logger.debug(v_str) if _is_conform or allow_conform: ... elif filter_reports: all_allow = True for v_str, v_node, v_parts in _reports: severity_bits = list(filter(lambda p: p[0] == v_node and p[1] == SH_resultSeverity, v_parts)) if severity_bits: all_allow = all_allow and (severity_bits[0][2] in allowed_severities) non_conformant = non_conformant or (not all_allow) else: non_conformant = non_conformant or (not _is_conform) reports.extend(_reports) run_count += 1 done_constraints.add(constraint_component) if non_conformant and executor.abort_on_first: break applicable_custom_constraints = self.find_custom_constraints() for a in applicable_custom_constraints: if non_conformant and executor.abort_on_first: break _e_p_copy2 = _evaluation_path[:] validator = a.make_validator_for_shape(self) _e_p_copy2.append(validator) _is_conform, _r = validator.evaluate(executor, target_graph, focus_value_nodes, _e_p_copy2) non_conformant = non_conformant or (not _is_conform) reports.extend(_r) run_count += 1 if collect_stats: t2 = perf_counter() elapsed = t2 - t1 self.logger.debug(f"Milliseconds to evaluate shape {str(self)}: {elapsed * 1000.0:.3f}ms") # print(_evaluation_path, "Passes" if not non_conformant else "Fails") return (not non_conformant), reports pyshacl-0.30.1/pyshacl/shapes_graph.py0000644000000000000000000005322500000000000014615 0ustar00# -*- coding: utf-8 -*- import logging import warnings from typing import TYPE_CHECKING, Dict, List, Optional, Sequence, Union import rdflib from .constraints.constraint_component import CustomConstraintComponentFactory from .constraints.core.logical_constraints import SH_and, SH_not, SH_or, SH_xone from .constraints.core.shape_based_constraints import SH_qualifiedValueShape from .consts import ( SH, OWL_Class, OWL_DatatypeProperty, RDF_Property, RDF_type, RDFS_Class, RDFS_subClassOf, SH_ConstraintComponent, SH_node, SH_NodeShape, SH_path, SH_property, SH_PropertyShape, SH_targetClass, SH_targetNode, SH_targetObjectsOf, SH_targetSubjectsOf, ) from .errors import ShapeLoadError from .shape import Shape if TYPE_CHECKING: from .pytypes import RDFNode class ShapesGraph(object): system_triples = [(OWL_Class, RDFS_subClassOf, RDFS_Class), (OWL_DatatypeProperty, RDFS_subClassOf, RDF_Property)] def __init__(self, graph, debug: Optional[Union[bool, int]] = False, logger: Optional[logging.Logger] = None): """ ShapesGraph :param graph: :type graph: rdflib.Graph :param debug: :type debug: bool|int|None :param logger: :type logger: logging.Logger|None """ assert isinstance(graph, (rdflib.Dataset, rdflib.ConjunctiveGraph, rdflib.Graph)) self.graph = graph if isinstance(self.graph, rdflib.Dataset): self.graph.default_union = True if logger is None: logger = logging.getLogger(__name__) self.logger = logger self.debug = debug self._node_shape_cache: Dict['RDFNode', Shape] = {} self._shapes = None self._custom_constraints = None self._shacl_functions: Dict[str, tuple] = {} self._shacl_target_types: Dict[str, 'RDFNode'] = {} self._use_js = False self._add_system_triples() def enable_js(self): self._use_js = True @property def js_enabled(self): return bool(self._use_js) def _add_system_triples(self): if isinstance(self.graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): g = self.graph.default_context else: g = self.graph for t in self.system_triples: g.add(t) def subjects(self, p, o): return self.graph.subjects(p, o) def predicates(self, s, o): return self.graph.predicates(s, o) def objects(self, s, p): return self.graph.objects(s, p) def subject_objects(self, p): return self.graph.subject_objects(p) def subject_predicates(self, o): return self.graph.subject_predicates(o) def predicate_objects(self, s): return self.graph.predicate_objects(s) @property def custom_constraints(self): if self._custom_constraints is None: self._custom_constraints = self._find_custom_constraints() return self._custom_constraints def _find_custom_constraints(self): g = self.graph constraint_component_set = set(g.subjects(RDF_type, SH_ConstraintComponent)) constraint_subclasses = set(g.subjects(RDFS_subClassOf, SH_ConstraintComponent)) for sc in iter(constraint_subclasses): subclass_components = set(g.subjects(RDF_type, sc)) constraint_component_set.update(subclass_components) components = set() for c in iter(constraint_component_set): if c.startswith(SH): # ignore all constraint components from shacl.ttl, these are all hardcoded into PySHACL continue components.add(CustomConstraintComponentFactory(self, c)) return components def add_shacl_function(self, uri: Union[str, 'RDFNode'], function, optionals): uri_str = str(uri) if uri_str in self._shacl_functions: warnings.warn(Warning("SHACLFunction {} is already registered.".format(uri))) else: self._shacl_functions[uri_str] = (function, optionals) def get_shacl_function(self, uri: Union[str, 'RDFNode']): uri_str = str(uri) try: f = self._shacl_functions[uri_str] except LookupError: raise KeyError("SHACLFunction {} not found.".format(uri)) return f def remove_shacl_function(self, uri, function): uri = str(uri) try: f, _ = self.get_shacl_function(uri) if f != function: warnings.warn( Warning("Cannot remove a different function than what was registered for {}.".format(uri)) ) return except KeyError: return # Not registered del self._shacl_functions[uri] def add_shacl_target_type(self, uri: Union[str, 'RDFNode'], tt): uri_str = str(uri) if uri_str in self._shacl_target_types: warnings.warn(Warning("SHACL TargetType {} is already registered.".format(uri))) else: self._shacl_target_types[uri_str] = tt def get_shacl_target_type(self, uri: Union[str, 'RDFNode']): uri_str = str(uri) try: tt = self._shacl_target_types[uri_str] except LookupError: raise KeyError("SHACL TargetType {} not found.".format(uri)) return tt @property def shapes(self): """ :returns: List[Shape] :rtype: List[pyshacl.shape.Shape] """ if len(self._node_shape_cache) < 1: self._build_node_shape_cache() return self._node_shape_cache.values() def shapes_from_uris(self, shapes_uris: List[rdflib.URIRef]): """ :param shapes_uris: :type shapes_uris: List[rdflib.URIRef] :returns: List[Shape] :rtype: List[Shape] """ if len(self._node_shape_cache) < 1: self._build_node_shape_cache_from_list(shapes_uris) return [self._node_shape_cache[s] for s in shapes_uris] def lookup_shape_from_node(self, node) -> Shape: # This will throw a KeyError if it is not found. This is intentionally not caught here. return self._node_shape_cache[node] """ A shape is an IRI or blank node s that fulfills at least one of the following conditions in the shapes graph: s is a SHACL instance of sh:NodeShape or sh:PropertyShape. s is subject of a triple that has sh:targetClass, sh:targetNode, sh:targetObjectsOf or sh:targetSubjectsOf as predicate. s is subject of a triple that has a parameter as predicate. s is a value of a shape-expecting, non-list-taking parameter such as sh:node, or a member of a SHACL list that is a value of a shape-expecting and list-taking parameter such as sh:or. """ def _build_node_shape_cache(self): """ :returns: None :rtype: NoneType """ g = self.graph defined_node_shapes = set(g.subjects(RDF_type, SH_NodeShape)) if self.debug: self.logger.debug(f"Found {len(defined_node_shapes)} SHACL Shapes defined with type sh:NodeShape.") for s in defined_node_shapes: path_vals = list(g.objects(s, SH_path)) if len(path_vals) > 0: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a NodeShape cannot be the subject of a 'sh:path' predicate.", "https://www.w3.org/TR/shacl/#node-shapes", ) defined_prop_shapes = set(g.subjects(RDF_type, SH_PropertyShape)) if self.debug: self.logger.debug(f"Found {len(defined_prop_shapes)} SHACL Shapes defined with type sh:PropertyShape.") found_prop_shapes_paths = dict() for s in defined_prop_shapes: if s in defined_node_shapes: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a NodeShape cannot also be defined as a PropertyShape.", "https://www.w3.org/TR/shacl/#node-shapes", ) path_vals = list(g.objects(s, SH_path)) if len(path_vals) < 1: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a PropertyShape must include one `sh:path` property.", "https://www.w3.org/TR/shacl/#property-shapes", ) elif len(path_vals) > 1: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a PropertyShape cannot have more than one 'sh:path' property.", "https://www.w3.org/TR/shacl/#property-shapes", ) found_prop_shapes_paths[s] = path_vals[0] if self.debug: self.logger.debug(f"Found {len(found_prop_shapes_paths)} property paths to follow.") has_target_class = {s for s, o in g.subject_objects(SH_targetClass)} has_target_node = {s for s, o in g.subject_objects(SH_targetNode)} has_target_objects_of = {s for s, o in g.subject_objects(SH_targetObjectsOf)} has_target_subjects_of = {s for s, o in g.subject_objects(SH_targetSubjectsOf)} subject_shapes = set(has_target_class).union( set(has_target_node).union(set(has_target_objects_of).union(set(has_target_subjects_of))) ) # implicit shapes: their subjects must be shapes subject_of_property = {s for s, o in g.subject_objects(SH_property)} subject_of_node = {s for s, o in g.subject_objects(SH_node)} subject_shapes = subject_shapes.union(set(subject_of_property).union(set(subject_of_node))) if self.debug: self.logger.debug(f"Found {len(subject_shapes)} implied SHACL Shapes based on their properties.") # shape-expecting properties, their values must be shapes. value_of_property = {o for s, o in g.subject_objects(SH_property)} value_of_node = {o for s, o in g.subject_objects(SH_node)} value_of_not = {o for s, o in g.subject_objects(SH_not)} value_of_qvs = {o for s, o in g.subject_objects(SH_qualifiedValueShape)} value_of_shape_expecting = set(value_of_property).union( set(value_of_node).union(set(value_of_not).union(set(value_of_qvs))) ) value_of_and = {o for s, o in g.subject_objects(SH_and)} value_of_or = {o for s, o in g.subject_objects(SH_or)} value_of_xone = {o for s, o in g.subject_objects(SH_xone)} value_of_s_list_expecting = set(value_of_and).union(set(value_of_or).union(set(value_of_xone))) for lst in value_of_s_list_expecting: list_contents = set(g.items(lst)) if len(list_contents) < 1: # TODO:coverage: we don't have any tests for invalid shape lists raise ShapeLoadError( "A Shape-Expecting & List-Expecting predicate should get a well-formed RDF list with 1 or more members.", "https://www.w3.org/TR/shacl/#shapes-recursion", ) for s in list_contents: value_of_shape_expecting.add(s) if self.debug: self.logger.debug( f"Found {len(value_of_shape_expecting)} implied SHACL Shapes used as values in shape-expecting constraints." ) found_node_shapes = set() found_prop_shapes = set() for s in subject_shapes: if s in defined_node_shapes or s in defined_prop_shapes: continue path_vals = list(g.objects(s, SH_path)) if len(path_vals) < 1: found_node_shapes.add(s) elif len(path_vals) > 1: # TODO:coverage: we don't have any tests for invalid implicit shapes raise ShapeLoadError( "An implicit PropertyShape cannot have more than one 'sh:path' predicate.", "https://www.w3.org/TR/shacl/#property-shapes", ) else: # TODO:coverage: we don't have this case where an implicit shape is a property shape. found_prop_shapes.add(s) found_prop_shapes_paths[s] = path_vals[0] for s in value_of_shape_expecting: if ( s in defined_node_shapes or s in defined_prop_shapes or s in found_prop_shapes or s in found_node_shapes ): continue path_vals = list(g.objects(s, SH_path)) if len(path_vals) < 1: found_node_shapes.add(s) elif len(path_vals) > 1: # TODO:coverage: we don't have any tests for invalid implicit shapes raise ShapeLoadError( "An implicit PropertyShape cannot have more than one 'sh:path' predicate.", "https://www.w3.org/TR/shacl/#property-shapes", ) else: found_prop_shapes.add(s) found_prop_shapes_paths[s] = path_vals[0] node_shape_count = 0 property_shape_count = 0 for node_shape in defined_node_shapes.union(found_node_shapes): if node_shape in self._node_shape_cache: # TODO:coverage: we don't have any tests where a shape is loaded twice raise ShapeLoadError("That shape has already been loaded!", "None") s = Shape(self, node_shape, p=False, logger=self.logger) self._node_shape_cache[node_shape] = s node_shape_count += 1 for prop_shape in defined_prop_shapes.union(found_prop_shapes): if prop_shape in self._node_shape_cache: # TODO:coverage: we don't have any tests where a shape is loaded twice raise ShapeLoadError("That shape has already been loaded!", "None") prop_shape_path = found_prop_shapes_paths[prop_shape] s = Shape(self, prop_shape, p=True, path=prop_shape_path, logger=self.logger) self._node_shape_cache[prop_shape] = s property_shape_count += 1 if self.debug: self.logger.debug( f"Cached {node_shape_count} unique NodeShapes and {property_shape_count} unique PropertyShapes." ) def _build_node_shape_cache_from_list(self, shapes_list: List[rdflib.URIRef]): """ :returns: None :rtype: NoneType """ g = self.graph gathered_node_shapes = set() gathered_prop_shapes = set() found_prop_shapes_paths: Dict[Union[rdflib.URIRef, rdflib.BNode], Union[rdflib.URIRef, rdflib.BNode]] = dict() def _gather_shapes(shapes_nodes: Sequence[Union[rdflib.URIRef, rdflib.BNode]], recurse_depth: int = 0): nonlocal gathered_node_shapes, gathered_prop_shapes, found_prop_shapes_paths if recurse_depth > 10: raise ShapeLoadError( "Specified shape has too many levels of attached bnodes.", "https://www.w3.org/TR/shacl/#shapes-graph", ) shape_expecting_preds = (SH_and, SH_not, SH_or, SH_xone, SH_property, SH_node, SH_qualifiedValueShape) for s in shapes_nodes: all_po = list(g.predicate_objects(s)) if len(all_po) < 1: if recurse_depth < 1: raise ShapeLoadError( "Shape listed in use_shapes does not exist in the SHACL ShapesGraph.", "https://www.w3.org/TR/shacl/#shapes-graph", ) else: return has_class = any(RDF_type == _p for _p, _o in all_po) has_shape_expecting_p: Dict[rdflib.URIRef, bool] = {} for _p in shape_expecting_preds: if any(_p == _p2 for _p2, _o in all_po): has_shape_expecting_p[_p] = True knows_class = False if has_class: all_classes = list(g.objects(s, RDF_type)) for c in all_classes: if c == SH_PropertyShape: knows_class = True gathered_prop_shapes.add(s) break elif c == SH_NodeShape: knows_class = True gathered_node_shapes.add(s) break else: knows_class = False if not knows_class: for po_p, po_o in all_po: if po_p == SH_path: if not isinstance(po_o, (rdflib.BNode, rdflib.URIRef)): raise ShapeLoadError( "Found a path property with a value that is not a URIRef or BNode.", "https://www.w3.org/TR/shacl/#property-paths", ) has_path = True found_prop_shapes_paths[s] = po_o break else: has_path = False if has_path: gathered_prop_shapes.add(s) else: is_property_of = len(list(g.subjects(SH_property, s))) > 0 if is_property_of: gathered_prop_shapes.add(s) else: gathered_node_shapes.add(s) _found_child_bnodes: List[rdflib.BNode] = [] if has_shape_expecting_p: for _p in has_shape_expecting_p.keys(): property_entries = list(g.objects(s, _p)) for p_e in property_entries: if _p in (SH_or, SH_xone, SH_and): # These are list-expecting variants of shape-expecting constraints. for item in g.items(p_e): if isinstance(item, rdflib.BNode): _found_child_bnodes.append(item) elif isinstance(p_e, rdflib.BNode): _found_child_bnodes.append(p_e) if len(_found_child_bnodes) > 0: _gather_shapes(_found_child_bnodes, recurse_depth=recurse_depth + 1) _gather_shapes(shapes_list) for s in gathered_node_shapes: path_vals = list(g.objects(s, SH_path)) if len(path_vals) > 0: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a NodeShape cannot be the subject of a 'sh:path' predicate.", "https://www.w3.org/TR/shacl/#node-shapes", ) for s in gathered_prop_shapes: if s in gathered_node_shapes: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a NodeShape cannot also be defined as a PropertyShape.", "https://www.w3.org/TR/shacl/#node-shapes", ) if s not in found_prop_shapes_paths: path_vals = list(g.objects(s, SH_path)) if len(path_vals) < 1: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a PropertyShape must include one `sh:path` property.", "https://www.w3.org/TR/shacl/#property-shapes", ) elif len(path_vals) > 1: # TODO:coverage: we don't have any tests for invalid shapes raise ShapeLoadError( "A shape defined as a PropertyShape cannot have more than one 'sh:path' property.", "https://www.w3.org/TR/shacl/#property-shapes", ) else: _p = path_vals[0] if not isinstance(_p, (rdflib.BNode, rdflib.URIRef)): raise ShapeLoadError( "Found a path property with a value that is not a URIRef or BNode.", "https://www.w3.org/TR/shacl/#property-paths", ) found_prop_shapes_paths[s] = _p node_shape_count = 0 property_shape_count = 0 for node_shape in gathered_node_shapes: if node_shape in self._node_shape_cache: # TODO:coverage: we don't have any tests where a shape is loaded twice raise ShapeLoadError("That shape has already been loaded!", "None") _s = Shape(self, node_shape, p=False, logger=self.logger) self._node_shape_cache[node_shape] = _s node_shape_count += 1 for prop_shape in gathered_prop_shapes: if prop_shape in self._node_shape_cache: # TODO:coverage: we don't have any tests where a shape is loaded twice raise ShapeLoadError("That shape has already been loaded!", "None") prop_shape_path = found_prop_shapes_paths[prop_shape] _s = Shape(self, prop_shape, p=True, path=prop_shape_path, logger=self.logger) self._node_shape_cache[prop_shape] = _s property_shape_count += 1 if self.debug: self.logger.debug( f"Cached {node_shape_count} unique NodeShapes and {property_shape_count} unique PropertyShapes." ) pyshacl-0.30.1/pyshacl/target.py0000644000000000000000000001711700000000000013437 0ustar00import typing from typing import List, Sequence, Type, Union from warnings import warn from rdflib import URIRef from .constraints import ConstraintComponent from .consts import SH, RDF_type, RDFS_subClassOf, SH_parameter, SH_select, SH_SPARQLTargetType from .errors import ConstraintLoadError, ShapeLoadError from .helper import get_query_helper_cls from .parameter import SHACLParameter from .pytypes import GraphLike, SHACLExecutor if typing.TYPE_CHECKING: from .shapes_graph import ShapesGraph SH_labelTempalate = SH.labelTemplate SH_Target = SH.Target SH_TargetType = SH.TargetType SH_JSTarget = SH.JSTarget SH_JSTargetType = SH.JSTargetType SH_SPARQLTarget = SH.SPARQLTarget class SHACLTargetType(object): __slots__ = ("sg", "node", "parameters", "label_template") def __init__(self, t_node, sg): """ :param t_node: :type t_node: rdflib.Identifier :param sg: :type sg: ShapesGraph """ super(SHACLTargetType, self).__init__() self.node = t_node self.sg = sg params = list(sg.objects(t_node, SH_parameter)) self.parameters = [SHACLParameter(sg, p) for p in params] # type: List[SHACLParameter] ltemps = list(sg.objects(t_node, SH_labelTempalate)) if len(ltemps) < 1: self.label_template = None elif len(ltemps) > 1: raise ConstraintLoadError( "SHACLTargetType cannot have more than one value for sh:labelTemplate.", "https://www.w3.org/TR/shacl-af/#SPARQLTargetType", ) else: self.label_template = ltemps[0] def apply(self): self.sg.add_shacl_target_type(self.node, self) def check_params(self, target_declaration): assert False # is this even used? param_kv = {} for p in self.parameters: n = p.node vals = set(self.sg.objects(target_declaration, n)) if len(vals) < 1: if p.optional: continue raise ShapeLoadError( "sh:target does not have a value for {}".format(n), "https://www.w3.org/TR/shacl-af/#SPARQLTargetType", ) if len(vals) > 1: warn(Warning("Found more than one value for {} on sh:target. Using just first one.".format(n))) param_kv[p] = next(iter(vals)) return param_kv def bind(self, shape, target_declaration): assert False # is this even used? param_vals = self.check_params(target_declaration) return BoundSHACLTargetType(self, target_declaration, shape, param_vals) class TargetDeclarationWrapper(object): __slots__ = ("sg", "node") def __init__(self, sg, node): self.sg = sg self.node = node def objects(self, pred): return self.sg.objects(self.node, pred) class BoundSHACLTargetType(ConstraintComponent): __slots__ = ('target_type', 'target_declaration', 'param_vals') def __init__(self, target_type, target_declaration, shape, param_vals=None): """ :param target_type: The source TargetType, this is needed to bind the parameters in the query_helper :type target_type: SPARQLConstraintComponent :param shape: :type shape: pyshacl.shape.Shape :param param_vals: :type param_vals: Dict[SHACLParameter, Any] """ super(BoundSHACLTargetType, self).__init__(shape) self.target_type = target_type sg = self.shape.sg self.target_declaration = TargetDeclarationWrapper(sg, target_declaration) self.param_vals = param_vals @classmethod def constraint_parameters(cls) -> List[URIRef]: return [] @classmethod def constraint_name(cls) -> str: return "SPARQLTargetType" @classmethod def shacl_constraint_class(cls): return SH_SPARQLTargetType def evaluate( self, executor: SHACLExecutor, target_graph: GraphLike, focus_value_nodes: typing.Dict, _evaluation_path: List ): """ :type executor: SHACLExecutor :type target_graph: rdflib.Graph :type focus_value_nodes: dict :type _evaluation_path: list """ raise NotImplementedError() def find_targets(self, data_graph): return NotImplementedError() class BoundSPARQLTargetType(BoundSHACLTargetType): __slots__ = ('query_helper',) def __init__(self, target_type, target_declaration, shape): super(BoundSPARQLTargetType, self).__init__(target_type, target_declaration, shape) params = self.target_type.parameters SPARQLQueryHelper = get_query_helper_cls() self.query_helper = SPARQLQueryHelper( self.target_declaration, self.target_type.node, self.target_type.select, params ) # Setting self.shape into QueryHelper automatically applies query_helper.bind_params and bind_messages self.query_helper.collect_prefixes() def find_targets(self, data_graph): qh = self.query_helper bind_vals = qh.param_bind_map # Don't pre-bind variables here! # init_binds, sparql_text = qh.pre_bind_variables(self.target_type.node, extravars=bind_vals.keys()) # init_binds.update(bind_vals) sparql_text = qh.apply_prefixes(qh.select_text) results = data_graph.query(sparql_text, initBindings=bind_vals) return results class SPARQLTargetType(SHACLTargetType): __slots__ = ('select',) def __init__(self, t_node, sg): super(SPARQLTargetType, self).__init__(t_node, sg) selects = list(self.sg.objects(self.node, SH_select)) num_selects = len(selects) if num_selects > 1: raise ConstraintLoadError( "SPARQLTargetType cannot have more than one value for sh:select.", "https://www.w3.org/TR/shacl-af/#SPARQLTargetType", ) elif num_selects < 1: raise ConstraintLoadError( "SPARQLTargetType must have a value for sh:select.", "https://www.w3.org/TR/shacl-af/#SPARQLTargetType", ) self.select = selects[0] def bind(self, shape, target_declaration): return BoundSPARQLTargetType(self, target_declaration, shape) def gather_target_types(shacl_graph: 'ShapesGraph') -> Sequence[Union['SHACLTargetType', 'SPARQLTargetType']]: """ :param shacl_graph: :type shacl_graph: ShapesGraph :return: :rtype: [SHACLTargetType] """ all_target_types: List[Union['SHACLTargetType', 'SPARQLTargetType']] = [] sub_targets = set(shacl_graph.subjects(RDFS_subClassOf, SH_Target)) # remove these two which are the known native types in shacl.ttl sub_targets = sub_targets.difference({SH_JSTarget, SH_SPARQLTarget}) if shacl_graph.js_enabled: from pyshacl.extras.js.target import JSTargetType use_js: Union[bool, Type] = JSTargetType else: use_js = False for s in sub_targets: types = set(shacl_graph.objects(s, RDF_type)) found = False if SH_SPARQLTargetType in types: all_target_types.append(SPARQLTargetType(s, shacl_graph)) found = True if SH_JSTargetType in types: found = True if use_js: all_target_types.append(JSTargetType(s, shacl_graph)) else: pass # JS Mode is not enabled. Silently ignore JSTargetTypes if not found: warn(Warning("The only SHACLTargetType currently implemented is SPARQLTargetType.")) return all_target_types def apply_target_types(tts: Sequence): for t in tts: t.apply() pyshacl-0.30.1/pyshacl/validator.py0000644000000000000000000004005600000000000014134 0ustar00# -*- coding: utf-8 -*- # import logging import sys from os import getenv, path from typing import Any, Dict, List, Optional, Sequence, Tuple, Union import rdflib from rdflib import BNode, Literal, URIRef from .consts import ( RDF_type, SH_conforms, SH_result, SH_ValidationReport, env_truths, ) from .errors import ReportableRuntimeError from .extras import check_extra_installed from .functions import apply_functions, gather_functions, unapply_functions from .pytypes import GraphLike, SHACLExecutor from .rdfutil import ( add_baked_in, clone_blank_node, clone_graph, inoculate, inoculate_dataset, mix_datasets, mix_graphs, ) from .rules import apply_rules, gather_rules from .run_type import PySHACLRunType from .shapes_graph import ShapesGraph from .target import apply_target_types, gather_target_types USE_FULL_MIXIN = getenv("PYSHACL_USE_FULL_MIXIN") in env_truths class Validator(PySHACLRunType): def __init__( self, data_graph: GraphLike, *args, shacl_graph: Optional[GraphLike] = None, ont_graph: Optional[GraphLike] = None, options: Optional[Dict[str, Any]] = None, **kwargs, ): options = options or {} self._load_default_options(options) self.options = options # type: dict self.logger = options['logger'] # type: logging.Logger self.debug = options['debug'] self.pre_inferenced = kwargs.pop('pre_inferenced', False) self.inplace = options['inplace'] if not isinstance(data_graph, rdflib.Graph): raise RuntimeError("data_graph must be a rdflib Graph object") self.data_graph = data_graph # type: GraphLike self._target_graph: Union[GraphLike, None] = None self.ont_graph = ont_graph # type: Optional[GraphLike] self.data_graph_is_multigraph = isinstance(self.data_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)) if self.ont_graph is not None and isinstance(self.ont_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): self.ont_graph.default_union = True if self.ont_graph is not None and options['sparql_mode']: raise ReportableRuntimeError("Cannot use SPARQL Remote Graph Mode with extra Ontology Graph inoculation.") if shacl_graph is None: if options['sparql_mode']: raise ReportableRuntimeError( "SHACL Shapes Graph must be a separate local graph or file when in SPARQL Remote Graph Mode." ) shacl_graph = clone_graph(data_graph, identifier='shacl') assert isinstance(shacl_graph, rdflib.Graph), "shacl_graph must be a rdflib Graph object" self.shacl_graph = ShapesGraph(shacl_graph, self.debug, self.logger) # type: ShapesGraph if options['use_js']: if options['sparql_mode']: raise ReportableRuntimeError("Cannot use SHACL-JS in SPARQL Remote Graph Mode.") is_js_installed = check_extra_installed('js') if is_js_installed: self.shacl_graph.enable_js() @classmethod def _load_default_options(cls, options_dict: dict): options_dict.setdefault('debug', False) options_dict.setdefault('advanced', False) options_dict.setdefault('inference', 'none') options_dict.setdefault('inplace', False) options_dict.setdefault('use_js', False) options_dict.setdefault('iterate_rules', False) options_dict.setdefault('abort_on_first', False) options_dict.setdefault('allow_infos', False) options_dict.setdefault('allow_warnings', False) options_dict.setdefault('sparql_mode', False) options_dict.setdefault('max_validation_depth', 15) options_dict.setdefault('focus_nodes', None) options_dict.setdefault('use_shapes', None) if 'logger' not in options_dict: options_dict['logger'] = logging.getLogger(__name__) if options_dict['debug']: options_dict['logger'].setLevel(logging.DEBUG) @classmethod def create_validation_report(cls, sg, conforms: bool, results: List[Tuple]): v_text = "Validation Report\nConforms: {}\n".format(str(conforms)) result_len = len(results) if not conforms and result_len < 1: raise RuntimeError("A Non-Conformant Validation Report must have at least one result.") if result_len > 0: v_text += "Results ({}):\n".format(str(result_len)) vg = rdflib.Graph(bind_namespaces='core') for p, n in sg.graph.namespace_manager.namespaces(): vg.namespace_manager.bind(p, n) vr = BNode() vg.add((vr, RDF_type, SH_ValidationReport)) vg.add((vr, SH_conforms, Literal(conforms))) cloned_nodes: Dict[Tuple[GraphLike, str], Union[BNode, URIRef]] = {} for result in iter(results): _d, _bn, _tr = result v_text += _d vg.add((vr, SH_result, _bn)) for tr in iter(_tr): s, p, o = tr if isinstance(o, tuple): source = o[0] node = o[1] if isinstance(node, Literal): o = node # No need to clone a literal from the data graph else: _id = str(node) if (source, _id) in cloned_nodes: o = cloned_nodes[(source, _id)] elif isinstance(node, BNode): cloned_nodes[(source, _id)] = o = clone_blank_node(source, node, vg, keepid=True) else: cloned_nodes[(source, _id)] = o = URIRef(_id) vg.add((s, p, o)) return vg, v_text @property def target_graph(self) -> Union[GraphLike, None]: return self._target_graph def mix_in_ontology(self): if USE_FULL_MIXIN: if not self.data_graph_is_multigraph: return mix_graphs(self.data_graph, self.ont_graph, "inplace" if self.inplace else None) return mix_datasets(self.data_graph, self.ont_graph, "inplace" if self.inplace else None) if not self.data_graph_is_multigraph: if self.inplace: to_graph = self.data_graph else: to_graph = clone_graph(self.data_graph, identifier=self.data_graph.identifier) return inoculate(to_graph, self.ont_graph) return inoculate_dataset( self.data_graph, self.ont_graph, self.data_graph if self.inplace else None, URIRef("urn:pyshacl:inoculation"), ) def make_executor(self) -> SHACLExecutor: return SHACLExecutor( validator=self, advanced_mode=bool(self.options.get('advanced', False)), abort_on_first=bool(self.options.get("abort_on_first", False)), allow_infos=bool(self.options.get("allow_infos", False)), allow_warnings=bool(self.options.get("allow_warnings", False)), iterate_rules=bool(self.options.get("iterate_rules", False)), sparql_mode=bool(self.options.get("sparql_mode", False)), max_validation_depth=self.options.get("max_validation_depth", 15), focus_nodes=self.options.get("focus_nodes", None), debug=self.debug, ) def run(self): datagraph: Union[GraphLike, None] = self.target_graph if datagraph is not None: self._target_graph = datagraph else: has_cloned = False if self.ont_graph is not None: if self.inplace: self.logger.debug("Adding ontology definitions to DataGraph") else: self.logger.debug("Cloning DataGraph to temporary memory graph, to add ontology definitions.") # creates a copy of self.data_graph, doesn't modify it datagraph = self.mix_in_ontology() has_cloned = True else: datagraph = self.data_graph inference_option = self.options.get('inference', 'none') if self.inplace and self.debug: self.logger.debug("Skipping DataGraph clone because PySHACL is operating in inplace mode.") if inference_option and not self.pre_inferenced and str(inference_option) != "none": if self.options.get('sparql_mode', False): raise ReportableRuntimeError("Cannot use any pre-inference option in SPARQL Remote Graph Mode.") if not has_cloned and not self.inplace: self.logger.debug("Cloning DataGraph to temporary memory graph before pre-inferencing.") datagraph = clone_graph(datagraph) has_cloned = True self.logger.debug(f"Running pre-inferencing with option='{inference_option}'.") self._run_pre_inference( datagraph, inference_option, URIRef("urn:pyshacl:inference"), logger=self.logger ) self.pre_inferenced = True if not has_cloned and not self.inplace and self.options['advanced']: if self.options.get('sparql_mode', False): raise ReportableRuntimeError("Cannot clone DataGraph in SPARQL Remote Graph Mode.") # We still need to clone in advanced mode, because of triple rules self.logger.debug("Forcing clone of DataGraph because advanced mode is enabled.") datagraph = clone_graph(datagraph) has_cloned = True if not has_cloned and not self.inplace: # No inferencing, no ont_graph, and no advanced mode, now implies inplace mode self.logger.debug("Running validation in-place, without modifying the DataGraph.") self.inplace = True self._target_graph = datagraph assert self._target_graph is not None if self.options.get("use_shapes", None) is not None and len(self.options["use_shapes"]) > 0: using_manually_specified_shapes = True expanded_use_shapes = [] for s in self.options["use_shapes"]: s_lower = s.lower() if ( s_lower.startswith("http:") or s_lower.startswith("https:") or s_lower.startswith("urn:") or s_lower.startswith("file:") ): expanded_use_shapes.append(URIRef(s)) else: try: expanded_use_shape = self.shacl_graph.graph.namespace_manager.expand_curie(s) except ValueError: expanded_use_shape = URIRef(s) expanded_use_shapes.append(expanded_use_shape) shapes = self.shacl_graph.shapes_from_uris(expanded_use_shapes) else: using_manually_specified_shapes = False shapes = self.shacl_graph.shapes # This property getter triggers shapes harvest. option_focus_nodes = self.options.get("focus_nodes", None) if option_focus_nodes is not None and len(option_focus_nodes) > 0: # Expand any CURIEs in the focus_nodes list expanded_focus_nodes: List[URIRef] = [] for f in option_focus_nodes: f_lower = f.lower() if ( f_lower.startswith("http:") or f_lower.startswith("https:") or f_lower.startswith("urn:") or f_lower.startswith("file:") ): expanded_focus_nodes.append(URIRef(f)) else: try: expanded_focus_node = self._target_graph.namespace_manager.expand_curie(f) except ValueError: expanded_focus_node = URIRef(f) expanded_focus_nodes.append(expanded_focus_node) self.options["focus_nodes"] = expanded_focus_nodes specified_focus_nodes: Union[None, Sequence[URIRef]] = expanded_focus_nodes else: specified_focus_nodes = None executor = self.make_executor() # Special hack, if we are using manually specified shapes, and have # manually specified focus nodes, then we need to disable the # focus_nodes in the executor, because we apply the specified focus # nodes directly to the specified shapes. if using_manually_specified_shapes and specified_focus_nodes is not None: executor.focus_nodes = None if executor.advanced_mode: self.logger.debug("Activating SHACL-AF Features.") target_types = gather_target_types(self.shacl_graph) gather_from_shapes = None if not using_manually_specified_shapes else [s.node for s in shapes] advanced = { 'functions': gather_functions(executor, self.shacl_graph), 'rules': gather_rules(executor, self.shacl_graph, from_shapes=gather_from_shapes), } for s in shapes: s.set_advanced(True) apply_target_types(target_types) else: advanced = {} if specified_focus_nodes is not None and using_manually_specified_shapes: on_focus_nodes: Union[Sequence[URIRef], None] = specified_focus_nodes else: on_focus_nodes = None reports = [] non_conformant = False if executor.abort_on_first and self.debug: self.logger.debug( "Abort on first error is enabled. Will exit at end of first Shape that fails validation." ) if isinstance(self._target_graph, (rdflib.Dataset, rdflib.ConjunctiveGraph)): self._target_graph.default_union = True g = self._target_graph if self.debug: self.logger.debug(f"Validating DataGraph named {g.identifier}") if advanced: if advanced['functions']: apply_functions(executor, advanced['functions'], g) if advanced['rules']: if executor.sparql_mode: self.logger.warning("Skipping SHACL Rules because operating in SPARQL Remote Graph Mode.") else: apply_rules(executor, advanced['rules'], g, focus_nodes=on_focus_nodes) try: for s in shapes: _is_conform, _reports = s.validate(executor, g, focus=on_focus_nodes) non_conformant = non_conformant or (not _is_conform) reports.extend(_reports) if executor.abort_on_first and non_conformant: break finally: if advanced and advanced['functions']: unapply_functions(advanced['functions'], g) v_report, v_text = self.create_validation_report(self.shacl_graph, not non_conformant, reports) return (not non_conformant), v_report, v_text def assign_baked_in(): if getattr(sys, 'frozen', False): # runs in a pyinstaller bundle HERE = sys._MEIPASS else: HERE = path.dirname(__file__) shacl_file = path.join(HERE, "assets", "shacl.pickle") add_baked_in("http://www.w3.org/ns/shacl", shacl_file) add_baked_in("https://www.w3.org/ns/shacl", shacl_file) add_baked_in("http://www.w3.org/ns/shacl.ttl", shacl_file) shacl_shacl_file = path.join(HERE, "assets", "shacl-shacl.pickle") add_baked_in("http://www.w3.org/ns/shacl-shacl", shacl_shacl_file) add_baked_in("https://www.w3.org/ns/shacl-shacl", shacl_shacl_file) add_baked_in("http://www.w3.org/ns/shacl-shacl.ttl", shacl_shacl_file) schema_file = path.join(HERE, "assets", "schema.pickle") add_baked_in("http://datashapes.org/schema", schema_file) add_baked_in("https://datashapes.org/schema", schema_file) add_baked_in("http://datashapes.org/schema.ttl", schema_file) dash_file = path.join(HERE, "assets", "dash.pickle") add_baked_in("http://datashapes.org/dash", dash_file) add_baked_in("https://datashapes.org/dash", dash_file) add_baked_in("http://datashapes.org/dash.ttl", dash_file) pyshacl-0.30.1/pyshacl/validator_conformance.py0000644000000000000000000004471600000000000016515 0ustar00import logging from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Tuple, Union import rdflib from rdflib import BNode, Literal, URIRef from rdflib.util import from_n3 from pyshacl.consts import ( RDF_object, RDF_predicate, RDF_subject, RDF_type, RDFS_Resource, SH_conforms, SH_detail, SH_focusNode, SH_result, SH_resultMessage, SH_resultPath, SH_ValidationReport, SH_value, ) from pyshacl.errors import ReportableRuntimeError, ValidationFailure from pyshacl.functions import apply_functions, gather_functions from pyshacl.pytypes import GraphLike, RDFNode from pyshacl.rdfutil import compare_blank_node, compare_node, order_graph_literal, stringify_node if TYPE_CHECKING: from pyshacl.validator import Validator def clean_validation_reports(actual_graph, actual_report, expected_graph, expected_report): # remove rdfs-added stuff # remove resultMessage if expected_report does not include result_message # remove sh:detail if expected_report does not include details # expected_graph.remove((expected_report, RDF_type, RDFS_Resource)) # actual_graph.remove((actual_report, RDF_type, RDFS_Resource)) expected_graph.remove((None, RDF_type, RDFS_Resource)) actual_graph.remove((None, RDF_type, RDFS_Resource)) expected_results = list(expected_graph.objects(expected_report, SH_result)) actual_results = list(actual_graph.objects(actual_report, SH_result)) er_has_messages = None er_has_details = False for er in expected_results: expected_graph.remove((er, RDF_type, RDFS_Resource)) er_has_messages = list(expected_graph.objects(er, SH_resultMessage)) er_has_details = er_has_details or expected_graph.value(er, SH_detail) is not None # sourceShapes = list(expected_graph.objects(er, SH_sourceShape)) # for s in sourceShapes: # expected_graph.remove((s, RDF_type, RDFS_Resource)) # resultPaths = list(expected_graph.objects(er, SH_resultPath)) # for r in resultPaths: # expected_graph.remove((r, RDF_type, RDFS_Resource)) # sourceConstraints = list(expected_graph.objects(er, SH_sourceConstraint)) # for s in sourceConstraints: # expected_graph.remove((s, RDF_type, RDFS_Resource)) if er_has_messages and len(er_has_messages) > 0: # keep messages in actual pass else: for ar in actual_results: actual_graph.remove((ar, SH_resultMessage, None)) if not er_has_details: # If no expected result had details, remove all details from actual for ar in actual_results: for detail in actual_graph.objects(ar, SH_detail): actual_graph -= actual_graph.cbd(detail) actual_graph.remove((ar, SH_detail, detail)) return True def compare_validation_reports( report_graph: GraphLike, expected_graph: GraphLike, expected_result, log: logging.Logger ): expected_conforms_i = expected_graph.objects(expected_result, SH_conforms) expected_conforms = set(expected_conforms_i) if len(expected_conforms) < 1: # pragma: no cover raise ReportableRuntimeError( "Cannot check the expected result, the given expectedResult does not have an sh:conforms." ) expected_conform = next(iter(expected_conforms)) expected_result_nodes_i = expected_graph.objects(expected_result, SH_result) expected_result_nodes = list(expected_result_nodes_i) expected_result_node_count = len(expected_result_nodes) validation_reports = report_graph.subjects(RDF_type, SH_ValidationReport) validation_reports_set = set(validation_reports) if len(validation_reports_set) < 1: # pragma: no cover raise ReportableRuntimeError( "Cannot check the validation report, the report graph does not contain a ValidationReport" ) validation_report = next(iter(validation_reports_set)) clean_validation_reports(report_graph, validation_report, expected_graph, expected_result) eq = compare_blank_node(report_graph, validation_report, expected_graph, expected_result) if eq != 0: return False report_conforms_i = report_graph.objects(validation_report, SH_conforms) report_conforms = set(report_conforms_i) if len(report_conforms) < 1: # pragma: no cover raise ReportableRuntimeError( "Cannot check the validation report, the report graph does not have an sh:conforms." ) report_conform = next(iter(report_conforms)) if ( isinstance(expected_conform, Literal) and isinstance(report_conform, Literal) and bool(expected_conform.value) != bool(report_conform.value) ): # TODO:coverage: write a test for this log.error("Expected Result Conforms value is different from Validation Report's Conforms value.") return False report_result_nodes_i = report_graph.objects(validation_report, SH_result) report_result_nodes = list(report_result_nodes_i) report_result_node_count = len(report_result_nodes) if expected_result_node_count != report_result_node_count: # TODO:coverage: write a test for this log.error( "Number of expected result's sh:result entries is different from Validation Report's sh:result entries.\n" "Expected {}, got {}.".format(expected_result_node_count, report_result_node_count) ) return False expected_results_dict: Dict[Tuple[str, str, str], Any] = {} report_results_dict: Dict[Tuple[str, str, str], Any] = {} for result_nodes, result_graph, dest_dict in ( (expected_result_nodes, expected_graph, expected_results_dict), (report_result_nodes, report_graph, report_results_dict), ): for result in result_nodes: result_focus_i = result_graph.objects(result, SH_focusNode) result_focus_list = list(result_focus_i) if len(result_focus_list) > 0: f_node = result_focus_list[0] if isinstance(f_node, Literal): result_focus = str(f_node) elif isinstance(f_node, BNode): # result_value = "_:" + str(v_node) # Can't compare BNodes because they are # different in the shapes graph than the data graph result_focus = "BNode" else: result_focus = stringify_node(result_graph, f_node) else: result_focus = "" result_value_i = result_graph.objects(result, SH_value) result_value_list = list(result_value_i) if len(result_value_list) > 0: v_node = result_value_list[0] if isinstance(v_node, Literal): result_value = str(v_node) elif isinstance(v_node, BNode): # result_value = "_:" + str(v_node) # Can't compare BNodes because they are # different in the shapes graph than the data graph result_value = "BNode" else: result_value = stringify_node(result_graph, v_node) else: result_value = "" result_path_i = result_graph.objects(result, SH_resultPath) result_path_list = list(result_path_i) if len(result_path_list) > 0: result_path = stringify_node(result_graph, result_path_list[0]) else: result_path = "" dest_dict[(result_focus, result_value, result_path)] = result not_found_results = 0 for expected_focus, expected_value, expected_path in expected_results_dict.keys(): if (expected_focus, expected_value, expected_path) not in report_results_dict: log.error( "Expected result not found in Validation Report.\nExpected focus: {}, value: {}, path: {}.".format( expected_focus, expected_value, expected_path ) ) not_found_results += 1 if not_found_results > 0: return False return True def compare_inferencing_reports(data_graph: GraphLike, expected_graph: GraphLike, expected_results: Union[List, Set]): all_good = True for expected_result in expected_results: expected_objects = set(expected_graph.objects(expected_result, RDF_object)) if len(expected_objects) < 1: raise ReportableRuntimeError( "Cannot check the expected result, the given expectedResult does not have an rdf:object." ) expected_object = next(iter(expected_objects)) expected_subjects = set(expected_graph.objects(expected_result, RDF_subject)) if len(expected_subjects) < 1: raise ReportableRuntimeError( "Cannot check the expected result, the given expectedResult does not have an rdf:subject." ) expected_subject = next(iter(expected_subjects)) expected_predicates = set(expected_graph.objects(expected_result, RDF_predicate)) if len(expected_predicates) < 1: raise ReportableRuntimeError( "Cannot check the expected result, the given expectedResult does not have an rdf:predicate." ) expected_predicate = next(iter(expected_predicates)) if isinstance(expected_object, Literal): found_objs = set(data_graph.objects(expected_subject, expected_predicate)) if len(found_objs) < 1: all_good = False print("Found no sub/pred matching {} {}".format(expected_subject, expected_predicate)) continue found = False for o in found_objs: if isinstance(o, Literal): found = 0 == order_graph_literal(expected_graph, expected_object, data_graph, o) if found: break if not found: print( "Found no sub/pred/obj matching {} {} {}".format( expected_subject, expected_predicate, expected_object ) ) all_good = all_good and found continue elif isinstance(expected_object, BNode): found_objs = set(data_graph.objects(expected_subject, expected_predicate)) if len(found_objs) < 1: all_good = False print("Found no sub/pred matching {} {}".format(expected_subject, expected_predicate)) continue found = False for o in found_objs: if isinstance(o, BNode): found = 0 == compare_blank_node(expected_graph, expected_object, data_graph, o) if found: break if not found: print( "Found no sub/pred/obj matching {} {} {}".format( expected_subject, expected_predicate, expected_object ) ) all_good = all_good and found continue else: found_triples = set(data_graph.triples((expected_subject, expected_predicate, expected_object))) if len(found_triples) < 1: all_good = False return all_good def check_dash_result( validator: 'Validator', report_graph: GraphLike, expected_result_graph: GraphLike, log: Union[logging.Logger, None] = None, ): DASH = rdflib.namespace.Namespace('http://datashapes.org/dash#') DASH_GraphValidationTestCase = DASH.GraphValidationTestCase DASH_InferencingTestCase = DASH.InferencingTestCase DASH_FunctionTestCase = DASH.FunctionTestCase DASH_expectedResult = DASH.expectedResult DASH_expression = DASH.expression was_default_union = None if log is None: log = logging.getLogger(__name__) if isinstance(expected_result_graph, (rdflib.ConjunctiveGraph, rdflib.Dataset)): was_default_union = expected_result_graph.default_union expected_result_graph.default_union = True # Force default-union to make all of this a bit easier gv_test_cases = expected_result_graph.subjects(RDF_type, DASH_GraphValidationTestCase) gv_test_cases_set = set(gv_test_cases) inf_test_cases = expected_result_graph.subjects(RDF_type, DASH_InferencingTestCase) inf_test_cases_set = set(inf_test_cases) fn_test_cases = expected_result_graph.subjects(RDF_type, DASH_FunctionTestCase) fn_test_cases_set = set(fn_test_cases) if len(gv_test_cases_set) > 0: test_case = next(iter(gv_test_cases_set)) expected_results = expected_result_graph.objects(test_case, DASH_expectedResult) expected_results_set = set(expected_results) if len(expected_results_set) < 1: # pragma: no cover raise ReportableRuntimeError( "Cannot check the expected result, the given GraphValidationTestCase does not have an expectedResult." ) expected_result = next(iter(expected_results_set)) gv_res: Union[bool, None] = compare_validation_reports( report_graph, expected_result_graph, expected_result, log ) else: gv_res = None if len(inf_test_cases_set) > 0: data_graph = validator.target_graph assert data_graph is not None if isinstance(data_graph, (rdflib.ConjunctiveGraph, rdflib.Dataset)): named_graphs = list(data_graph.contexts()) else: named_graphs = [data_graph] inf_res: Union[bool, None] = True for test_case in inf_test_cases_set: expected_results = expected_result_graph.objects(test_case, DASH_expectedResult) expected_results_set = set(expected_results) if len(expected_results_set) < 1: # pragma: no cover raise ReportableRuntimeError( "Cannot check the expected result, the given InferencingTestCase does not have an expectedResult." ) found = False for g in named_graphs: found = found or compare_inferencing_reports(g, expected_result_graph, expected_results_set) inf_res = inf_res and found else: inf_res = None if len(fn_test_cases_set) > 0: executor = validator.make_executor() data_graph = validator.target_graph assert data_graph is not None fns = gather_functions(executor, validator.shacl_graph) apply_functions(executor, fns, data_graph) fn_res: Union[bool, None] = True for test_case in fn_test_cases_set: expected_results_set = set(expected_result_graph.objects(test_case, DASH_expectedResult)) if len(expected_results_set) < 1: # pragma: no cover raise ReportableRuntimeError( "Cannot check the expected result, the given FunctionTestCase does not have an expectedResult." ) expected_result = next(iter(expected_results_set)) expressions = set(expected_result_graph.objects(test_case, DASH_expression)) if len(expressions) < 1: raise ReportableRuntimeError( "Cannot check the expected result, the given FunctionTestCase does not have an expression." ) expression_node = next(iter(expressions)) expression = str(expression_node).strip() parts = [e.strip() for e in expression.split("(", 1)] eargs: List[Optional[Union[str, RDFNode]]] if len(parts) < 1: expression = parts[0] eargs = [] else: expression, sargs = parts sargs = sargs.rstrip(")") if len(sargs) < 1: eargs_str_list: List[str] = [] else: eargs_str_list = [a.strip() for a in sargs.split(',')] eargs = [] for e in eargs_str_list: eargs.append( from_n3(e, None, expected_result_graph.store, expected_result_graph.namespace_manager) # type: ignore[arg-type] ) find_uri = from_n3(expression, None, expected_result_graph.store, expected_result_graph.namespace_manager) # type: ignore[arg-type] if find_uri is None or not isinstance(find_uri, (str, URIRef, Literal, BNode)): raise ReportableRuntimeError("Cannot execute function {}.\nBad declaration format.".format(find_uri)) try: fn, options = validator.shacl_graph.get_shacl_function(find_uri) except KeyError: raise ReportableRuntimeError( "Cannot execute function {}.\nCannot find it in the ShapesGraph object.".format(find_uri) ) result = fn(data_graph, *eargs) fn_res = fn_res and 0 == compare_node(expected_result_graph, expected_result, data_graph, result) else: fn_res = None if was_default_union is not None: expected_result_graph.default_union = was_default_union if gv_res is None and inf_res is None and fn_res is None: # pragma: no cover raise ReportableRuntimeError( "Cannot check the expected result, the given expected result graph does not have a GraphValidationTestCase or InferencingTestCase." ) return (gv_res or gv_res is None) and (inf_res or inf_res is None) and (fn_res or fn_res is None) def check_sht_result( report_graph: GraphLike, sht_graph: GraphLike, sht_result_node: Union[URIRef, BNode], log: Union[logging.Logger, None] = None, ): SHT = rdflib.namespace.Namespace('http://www.w3.org/ns/shacl-test#') types = set(sht_graph.objects(sht_result_node, RDF_type)) expected_failure = sht_result_node == SHT.Failure if log is None: log = logging.getLogger(__name__) if expected_failure and isinstance(report_graph, ValidationFailure): return True elif isinstance(report_graph, ValidationFailure): # TODO:coverage: write a test for this log.error("Validation Report indicates a Validation Failure, but the SHT entry does not expect a failure.") return False elif expected_failure: # TODO:coverage: write a test for this log.error( "SHT expects a Validation Failure, but the Validation Report does not indicate a Validation Failure." ) return False if SH_ValidationReport not in types: raise ReportableRuntimeError("SHT expected result must have type sh:ValidationReport") return compare_validation_reports(report_graph, sht_graph, sht_result_node, log) pyshacl-0.30.1/test/__init__.py0000644000000000000000000000014700000000000013217 0ustar00# -*- coding: utf-8 -*- # from .helpers import load_manifest, flatten_manifests, Manifest, SHTValidate pyshacl-0.30.1/test/helpers.py0000644000000000000000000001541500000000000013126 0ustar00# -*- coding: utf-8 -*- # import platform from pathlib import Path import rdflib from rdflib.namespace import Namespace, RDF, RDFS from pyshacl.rdfutil.load import path_from_uri MF = Namespace('http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#') SHT = Namespace('http://www.w3.org/ns/shacl-test#') class SHTValidate(object): def __init__(self, node, sht_graph, result_node, data_graph, shapes_graph, label=None, status=None): """ :param sht_graph: :type sht_graph: rdflib.Graph :param data_graph: :type data_graph: rdflib.Graph :param shapes_graph: :type shapes_graph: rdflib.Graph :param label: """ self.node = node self.sht_graph = sht_graph self.sht_result = result_node self.data_graph = data_graph self.shapes_graph = shapes_graph self.label = label self.status = status class Manifest(object): def __init__(self, base, sht_graph, node, includes, entries=None, label=None): """ Manifest constructor :param base: string :type base: the "file:///x" location uri of the base manifest graph :param sht_graph: :type sht_graph: rdflib.Graph :param node: The Graph Node of the manifest itself. (unused) :type node: rdflib.term.Identifier :param includes: :type includes: list(Manifest) :param entries: :type entries: list | None :param label: """ self.base = base self.sht_graph = sht_graph self.node = node self.includes = includes self.entries = entries self.label = label @property def has_entries(self): return self.entries is not None and len(self.entries) > 0 def collect_tests(self): if not self.has_entries: return [] tests = [] g = self.sht_graph for entry in self.entries: test_types = set(g.objects(entry, RDF.type)) if SHT.Validate not in test_types: continue try: label = next(iter(g.objects(entry, RDFS.label))) label = str(label) except StopIteration: label = None try: action = next(iter(g.objects(entry, MF.action))) except StopIteration: raise RuntimeError("MF Validate has no value for mf:action") try: result = next(iter(g.objects(entry, MF.result))) except StopIteration: raise RuntimeError("MF Validate has no value for mf:result") try: data_graph = next(iter(g.objects(action, SHT.dataGraph))) except StopIteration: raise RuntimeError("mf:action has no value for sht:dataGraph") try: shapes_graph = next(iter(g.objects(action, SHT.shapesGraph))) except StopIteration: raise RuntimeError("mf:action has no value for sht:shapesGraph") try: status = next(iter(g.objects(entry, MF.status))) except StopIteration: raise RuntimeError("MF Validate has no value for mf:status") if str(shapes_graph) == str(data_graph): shapes_graph = None if str(data_graph) == self.base: data_graph = self.sht_graph test = SHTValidate(entry, self.sht_graph, result, data_graph, shapes_graph, label=label, status=status) tests.append(test) return tests def load_manifest(filename, recursion=0): """ Load a testing Manifest from a file location, return a Manifest object :param filename: the filename of the manifest document. :type filename: string :param recursion: re-entry counter. :type recursion: int :return: the loaded Manifest object :rtype: Manifest """ if recursion >= 10: return None graph = rdflib.Graph() base_mf: Path with open(filename, 'rb') as manifest_file: if manifest_file.name.startswith("./"): # Special handling for relative paths base_uri_str = f"file:{manifest_file.name}" base_mf = Path(manifest_file.name) else: # we need to make this absolute, before we can get the as_uri for it. base_mf = Path(manifest_file.name).absolute() base_uri_str: str = base_mf.as_uri() graph.parse(file=manifest_file, format='turtle', publicID=base_uri_str) try: manifest = next(iter(graph.subjects(RDF.type, MF.Manifest))) except StopIteration: raise RuntimeError("Test cannot run. mf:Manifest not found in the manifest file: {}.".format(filename)) try: label = next(iter(graph.objects(manifest, RDFS.label))) label = str(label) except StopIteration: label = None include_manifests = [] include_objects = list(graph.objects(manifest, MF.include)) for i in iter(include_objects): if isinstance(i, rdflib.URIRef): href = str(i) if href.startswith("file:"): child_path = path_from_uri(href, relative_to=base_mf) child_mf = load_manifest(str(child_path), recursion=recursion + 1) else: raise RuntimeError("Manifest can only include file: uris") if child_mf is None: raise RuntimeError("Manifest include chain is too deep!") include_manifests.append(child_mf) try: entries_list = next(iter(graph.objects(manifest, MF.entries))) entries = [] for i in graph.items(entries_list): entries.append(i) except StopIteration: entries = None mf = Manifest(base_uri_str, graph, manifest, include_manifests, entries=entries, label=label) # if entries and len(entries) > 0: # manifests_with_entries.append(mf) return mf def flatten_manifests(root_manifest, only_with_entries=False, recursion=0): """ Convert a tree-structure Manifest into a flat list structured list of Manifests. :param root_manifest: :type root_manifest: Manifest :param only_with_entries: Switch to filter result to only those manifests with entries. :type only_with_entries: bool :param recursion: re-entry counter. :type recursion: int :return: :rtype: list """ m_list = [] if recursion >= 10: return m_list includes = root_manifest.includes entries = root_manifest.entries if only_with_entries: if entries is not None and len(entries) > 0: m_list.append(root_manifest) else: m_list.append(root_manifest) for i in includes: f = flatten_manifests(i, only_with_entries=only_with_entries, recursion=recursion + 1) m_list.extend(f) return m_list pyshacl-0.30.1/test/implementation_report.py0000644000000000000000000001203400000000000016076 0ustar00# -*- coding: utf-8 -*- """ https://w3c.github.io/data-shapes/data-shapes-test-suite/#submitting-implementation-reports """ import platform from collections import defaultdict, OrderedDict from os import path from datetime import datetime import pyshacl from pyshacl.errors import ReportableRuntimeError import rdflib from rdflib.namespace import Namespace, RDF, XSD from test.helpers import load_manifest, flatten_manifests EARL = Namespace("http://www.w3.org/ns/earl#") DOAP = Namespace("http://usefulinc.com/ns/doap#") PASSED = EARL.passed FAILED = EARL.failed PARTIAL = EARL.partial TEST_PREFIX = "urn:x-shacl-test:" PYSHACL_URI = rdflib.URIRef("https://github.com/RDFLib/pySHACL") DEVELOPER_URI = rdflib.URIRef("https://github.com/ashleysommer") here_dir = path.abspath(path.dirname(__file__)) sht_files_dir = path.join(here_dir, 'resources', 'sht_tests') sht_main_manifest = path.join(sht_files_dir, 'manifest.ttl') main_manifest = load_manifest(sht_main_manifest) manifests_with_entries = flatten_manifests(main_manifest, True) tests_found_in_manifests = defaultdict(lambda: []) for m in manifests_with_entries: tests = m.collect_tests() tests_found_in_manifests[m.base].extend(tests) tests_found_in_manifests = OrderedDict(sorted(tests_found_in_manifests.items())) tests_base_index = [(base, i) for base, tests in tests_found_in_manifests.items() for i, t in enumerate(tests)] """ [ rdf:type earl:Assertion ; earl:assertedBy ; earl:result [ rdf:type earl:TestResult ; earl:mode earl:automatic ; earl:outcome earl:passed ; ] ; earl:subject ; earl:test ; ]. """ assertions = {} def make_assertion(base, index): assertion = list() assertion_node = rdflib.BNode() result_node = rdflib.BNode() assertion.append((assertion_node, RDF.type, EARL.Assertion)) assertion.append((assertion_node, EARL.assertedBy, DEVELOPER_URI)) assertion.append((assertion_node, EARL.subject, PYSHACL_URI)) assertion.append((assertion_node, EARL.result, result_node)) assertion.append((result_node, RDF.type, EARL.TestResult)) assertion.append((result_node, EARL.mode, EARL.automatic)) tests = tests_found_in_manifests[base] t = tests[index] test_uri_string = str(t.node) if test_uri_string.startswith("file:///"): test_uri_string = test_uri_string[8:] elif test_uri_string.startswith("file://"): test_uri_string = test_uri_string[7:] elif test_uri_string.startswith("file:"): test_uri_string = test_uri_string[5:] test_uri_string = test_uri_string.replace(sht_files_dir, TEST_PREFIX) test_uri = rdflib.URIRef(test_uri_string) assertion.append((assertion_node, EARL.test, test_uri)) label = t.label data_file = t.data_graph shacl_file = t.shapes_graph sht_validate = (t.sht_graph, t.sht_result) if label and len(label) > 0: print("testing: {}".format(label)) try: val, _, v_text = pyshacl.validate( data_file, shacl_graph=shacl_file, inference='rdfs', check_sht_result=True, sht_validate=sht_validate, debug=True, meta_shacl=False, ) except (NotImplementedError, ReportableRuntimeError) as e: print(e) info_text = rdflib.Literal(str(e.args[0]), lang="en") assertion.append((result_node, EARL.info, info_text)) val = False v_text = info_text print(v_text) if v_text.startswith("Validation Failure"): info_text = rdflib.Literal(v_text, lang="en") assertion.append((result_node, EARL.info, info_text)) if val is True: assertion.append((result_node, EARL.outcome, PASSED)) else: print("FAILED {}".format(test_uri)) assertion.append((result_node, EARL.outcome, FAILED)) return assertion """ rdf:type doap:Project ; rdf:type earl:Software ; rdf:type earl:TestSubject ; doap:developer ; doap:name "pySHACL" ; . """ g = rdflib.Graph() g.namespace_manager.bind("earl", str(EARL)) g.namespace_manager.bind("doap", str(DOAP)) g.add((PYSHACL_URI, RDF.type, DOAP.Project)) g.add((PYSHACL_URI, RDF.type, EARL.Software)) g.add((PYSHACL_URI, RDF.type, EARL.TestSubject)) g.add((PYSHACL_URI, DOAP.developer, DEVELOPER_URI)) g.add((PYSHACL_URI, DOAP.name, rdflib.Literal("pySHACL", datatype=XSD.string))) version_node = rdflib.BNode() g.add((version_node, RDF.type, DOAP.Version)) g.add((version_node, DOAP.created, rdflib.Literal(datetime.utcnow().date()))) g.add((version_node, DOAP.revision, rdflib.Literal(str(pyshacl.__version__)))) g.add((version_node, DOAP.name, rdflib.Literal("current", datatype=XSD.string))) g.add((PYSHACL_URI, DOAP.release, version_node)) for arg in tests_base_index: triples = make_assertion(*arg) for t in iter(triples): g.add(t) report_bytes = g.serialize(format='turtle') print("REPORT: ------------------") print(report_bytes.decode('utf-8')) pyshacl-0.30.1/test/issues/__init__.py0000644000000000000000000000003200000000000014523 0ustar00# -*- coding: utf-8 -*- # pyshacl-0.30.1/test/issues/bad_test_070.py0000644000000000000000000000426600000000000015154 0ustar00from rdflib import Graph from pyshacl import validate """ https://github.com/RDFLib/pySHACL/issues/70 """ data_text = """\ @prefix ns0: . @prefix dc: . @prefix ns1: . @prefix sosa: . @prefix xsd: . @prefix rdfs: . @prefix rdfs: . @prefix geo: . @prefix sf: . ns0:asWKT "POINT(45.75 4.85)"^^ns0:wktLiteral ; a . ns0:hasGeometry ; a ns0:Feature . a , . dc:identifier "q1" ; ns1:numericValue "0.27121272683143616" ; ns1:unit ; a ns1:QuantityValue . a sosa:Observation ; sosa:hasFeatureOfInterest ; sosa:hasResult ; sosa:madeBySensor ; sosa:observedProperty ; sosa:resultTime "2018-01-01T12:36:12Z"^^xsd:dateTime . """ shacl_url = """https://raw.githubusercontent.com/rapw3k/DEMETER/master/models/SHACL/demeterAgriProfile-SHACL.ttl""" def test_070(): g = Graph().parse(data=data_text, format="turtle") try: conforms, g, s = validate( g, shacl_graph=shacl_url, shacl_graph_format="turtle", abort_on_error=False, meta_shacl=False, debug=True, advanced=True, ) except Exception as e: print(e) raise assert conforms if __name__ == "__main__": test_070() pyshacl-0.30.1/test/issues/issue_102.py0000644000000000000000000002636100000000000014513 0ustar00import pyshacl from rdflib import Graph qb_shacl = '''\ # baseURI: http://topbraid.org/datacube # imports: http://datashapes.org/dash # imports: http://purl.org/linked-data/cube # imports: http://www.w3.org/2004/02/skos/core @prefix dash: . @prefix owl: . @prefix qb: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix skos: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:comment "Implements the integrity constraints defined by section 11.1 of the Data Cube specification. Most of the constraints work in standard SHACL-SPARQL, but two constraints require a SHACL function (from SHACL Advanced Features) to recursively walk a dynamically computed property path. An alternative implementation of these constraints could be produced without a helper function based on SHACL-JS." ; rdfs:label "SHACL shapes for RDF Data Cube Vocabulary" ; rdfs:seeAlso ; owl:imports ; owl:imports ; owl:imports ; owl:versionInfo "Created with TopBraid Composer. This is currently completely untested." ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://purl.org/linked-data/cube#"^^xsd:anyURI ; sh:prefix "qb" ; ] ; . qb:ObservationShape rdf:type sh:NodeShape ; rdfs:label "Observation shape" ; sh:property [ sh:path qb:dataSet ; rdfs:comment "IC-1. Unique DataSet" ; sh:maxCount 1 ; sh:message "Every qb:Observation has exactly one associated qb:DataSet." ; sh:minCount 1 ; ] ; sh:sparql [ rdfs:comment "IC-11. All dimensions required" ; sh:message "Every qb:Observation has a value for each dimension declared in its associated qb:DataStructureDefinition." ; sh:prefixes ; sh:select """SELECT $this WHERE { $this qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim . ?dim a qb:DimensionProperty; FILTER NOT EXISTS { $this ?dim [] } }""" ; ] ; sh:sparql [ rdfs:comment "IC-12. No duplicate observations" ; sh:message "No two qb:Observations in the same qb:DataSet may have the same value for all dimensions." ; sh:prefixes ; sh:select """SELECT $this WHERE { { # For each pair of observations test if all the dimension values are the same SELECT $this (MIN(?equal) AS ?allEqual) WHERE { $this qb:dataSet ?dataset . ?obs2 qb:dataSet ?dataset . FILTER ($this != ?obs2) ?dataset qb:structure/qb:component/qb:componentProperty ?dim . ?dim a qb:DimensionProperty . $this ?dim ?value1 . ?obs2 ?dim ?value2 . BIND( ?value1 = ?value2 AS ?equal) } GROUP BY $this ?obs2 } FILTER( ?allEqual ) }""" ; ] ; sh:sparql [ rdfs:comment "IC-13. Required attributes" ; sh:message "Every qb:Observation has a value for each declared attribute that is marked as required." ; sh:prefixes ; sh:select """SELECT $this WHERE { $this qb:dataSet/qb:structure/qb:component ?component . ?component qb:componentRequired true ; qb:componentProperty ?attr . FILTER NOT EXISTS { $this ?attr [] } }""" ; ] ; sh:sparql [ rdfs:comment "IC-14. All measures present" ; sh:message "In a qb:DataSet which does not use a Measure dimension then each individual qb:Observation must have a value for every declared measure." ; sh:prefixes ; sh:select """SELECT $this WHERE { # Observation in a non-measureType cube $this qb:dataSet/qb:structure ?dsd . FILTER NOT EXISTS { ?dsd qb:component/qb:componentProperty qb:measureType } # verify every measure is present ?dsd qb:component/qb:componentProperty ?measure . ?measure a qb:MeasureProperty; FILTER NOT EXISTS { $this ?measure [] } }""" ; ] ; sh:sparql [ rdfs:comment "IC-15. Measure dimension consistent" ; sh:message "In a qb:DataSet which uses a Measure dimension then each qb:Observation must have a value for the measure corresponding to its given qb:measureType." ; sh:prefixes ; sh:select """SELECT $this WHERE { # Observation in a measureType-cube $this qb:dataSet/qb:structure ?dsd ; qb:measureType ?measure . ?dsd qb:component/qb:componentProperty qb:measureType . # Must have value for its measureType FILTER NOT EXISTS { $this ?measure [] } }""" ; ] ; sh:sparql [ rdfs:comment "IC-16. Single measure on measure dimension observation" ; sh:message """In a qb:DataSet which uses a Measure dimension then each qb:Observation must only have a value for one measure (by IC-15 this will be the measure corresponding to its qb:measureType). """ ; sh:prefixes ; sh:select """SELECT $this WHERE { # Observation with measureType $this qb:dataSet/qb:structure ?dsd ; qb:measureType ?measure ; ?omeasure [] . # Any measure on the observation ?dsd qb:component/qb:componentProperty qb:measureType ; qb:component/qb:componentProperty ?omeasure . ?omeasure a qb:MeasureProperty . # Must be the same as the measureType FILTER (?omeasure != ?measure) }""" ; ] ; sh:sparql [ rdfs:comment "IC-17. All measures present in measures dimension cube" ; sh:message "In a qb:DataSet which uses a Measure dimension then if there is a Observation for some combination of non-measure dimensions then there must be other Observations with the same non-measure dimension values for each of the declared measures." ; sh:prefixes ; sh:select """SELECT $this WHERE { { # Count number of other measures found at each point SELECT $this ?numMeasures (COUNT(?obs2) AS ?count) WHERE { { # Find the DSDs and check how many measures they have SELECT $this ?dsd (COUNT(?m) AS ?numMeasures) WHERE { ?dsd qb:component/qb:componentProperty ?m. ?m a qb:MeasureProperty . } GROUP BY ?dsd } # Observation in measureType cube $this qb:dataSet/qb:structure ?dsd; qb:dataSet ?dataset ; qb:measureType ?m1 . # Other observation at same dimension value ?obs2 qb:dataSet ?dataset ; qb:measureType ?m2 . FILTER NOT EXISTS { ?dsd qb:component/qb:componentProperty ?dim . FILTER (?dim != qb:measureType) ?dim a qb:DimensionProperty . $this ?dim ?v1 . ?obs2 ?dim ?v2. FILTER (?v1 != ?v2) } } GROUP BY $this ?numMeasures HAVING (?count != ?numMeasures) } }""" ; ] ; sh:sparql [ rdfs:comment "IC-18. Consistent data set links" ; sh:message "If a qb:DataSet D has a qb:slice S, and S has an qb:observation O, then the qb:dataSet corresponding to O must be D." ; sh:prefixes ; sh:select """SELECT $this WHERE { ?slice qb:observation $this . ?dataset qb:slice ?slice . FILTER NOT EXISTS { $this qb:dataSet ?dataset . } }""" ; ] ; sh:sparql [ rdfs:comment "IC-19. a) Codes from code list" ; owl:versionInfo "See section IC-19 in the Data Cubes spec on pre-conditions that need to be met prior to the execution of this constraints. Parts of them are covered by the rules at skos:memberListShape." ; sh:message "If a dimension property has a qb:codeList, then the value of the dimension property on every qb:Observation must be in the code list." ; sh:prefixes ; sh:select """SELECT $this WHERE { $this qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim . ?dim a qb:DimensionProperty ; qb:codeList ?list . ?list a skos:ConceptScheme . $this ?dim ?v . FILTER NOT EXISTS { ?v a skos:Concept ; skos:inScheme ?list } }""" ; ] ; sh:sparql [ rdfs:comment "IC-19. b) Codes from code list" ; owl:versionInfo "See section IC-19 in the Data Cubes spec on pre-conditions that need to be met prior to the execution of this constraints. Parts of them are covered by the rules at skos:memberListShape." ; sh:message "If a dimension property has a qb:codeList, then the value of the dimension property on every qb:Observation must be in the code list." ; sh:prefixes ; sh:select """SELECT $this WHERE { $this qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim . ?dim a qb:DimensionProperty ; qb:codeList ?list . ?list a skos:Collection . $this ?dim ?v . FILTER NOT EXISTS { ?v a skos:Concept ; skos:member+ ?v } }""" ; ] ; sh:sparql [ rdfs:comment "IC-20. Codes from hierarchy" ; sh:message "If a dimension property has a qb:HierarchicalCodeList with a non-blank qb:parentChildProperty then the value of that dimension property on every qb:Observation must be reachable from a root of the hierarchy using zero or more hops along the qb:parentChildProperty links." ; sh:prefixes ; sh:select """SELECT $this WHERE { $this qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim . ?dim a qb:DimensionProperty ; qb:codeList ?list . ?list a qb:HierarchicalCodeList . $this ?dim ?v . ?hierarchy a qb:HierarchicalCodeList ; qb:parentChildProperty ?p . FILTER ( isIRI(?p) ) . FILTER NOT EXISTS { ?list qb:hierarchyRoot ?root . FILTER qb:hasZeroOrMore(?root, ?p, ?v) . } }""" ; ] ; sh:sparql [ rdfs:comment "IC-21. Codes from hierarchy (inverse)" ; sh:message "If a dimension property has a qb:HierarchicalCodeList with an inverse qb:parentChildProperty then the value of that dimension property on every qb:Observation must be reachable from a root of the hierarchy using zero or more hops along the inverse qb:parentChildProperty links." ; sh:prefixes ; sh:select """SELECT $this WHERE { $this qb:dataSet/qb:structure/qb:component/qb:componentProperty ?dim . ?dim a qb:DimensionProperty ; qb:codeList ?list . ?list a qb:HierarchicalCodeList . $this ?dim ?v . ?hierarchy a qb:HierarchicalCodeList; qb:parentChildProperty ?pcp . FILTER( isBlank(?pcp) ) ?pcp owl:inverseOf ?p . FILTER( isIRI(?p) ) FILTER NOT EXISTS { ?list qb:hierarchyRoot ?root . FILTER qb:hasZeroOrMore(?root, ?p, ?v) . } }""" ; ] ; sh:targetClass qb:Observation ; . ''' qb_data = '''\ # baseURI: http://topbraid.org/datacube_example # imports: http://purl.org/linked-data/cube @prefix qb: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix skos: . @prefix ex: . ex:ds1 a qb:DataSet . ex:obs1 a qb:Observation ; qb:dataSet ex:ds1 ; . ''' def test_102(): g_shacl = Graph().parse(data=qb_shacl, format="turtle") g_data = Graph().parse(data=qb_data, format="turtle") conforms, a, b = pyshacl.validate(g_data, shacl_graph=g_shacl, debug=True) print(a) assert conforms if __name__ == "__main__": test_102() pyshacl-0.30.1/test/issues/test_008.py0000644000000000000000000001560700000000000014350 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/8 """ from pyshacl import validate mixed_file_text = ''' # baseURI: http://semanticprocess.x10host.com/Ontology/Testsparql # imports: http://datashapes.org/dash # prefix: Testsparql @prefix Testsparql: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare Testsparql:PrefixDeclaration ; . Testsparql:Crane rdf:type rdfs:Class ; rdfs:subClassOf owl:Class ; . Testsparql:Crane_1 rdf:type Testsparql:Crane ; Testsparql:Cranecapacity "500"^^xsd:decimal ; . Testsparql:Crane_2 rdf:type Testsparql:Crane ; Testsparql:Cranecapacity "5000"^^xsd:decimal ; . Testsparql:Cranecapacity rdf:type owl:DatatypeProperty ; rdfs:domain Testsparql:Crane ; rdfs:range xsd:decimal ; rdfs:subPropertyOf owl:topDataProperty ; . Testsparql:Module rdf:type rdfs:Class ; rdfs:subClassOf owl:Class ; . Testsparql:Module_1 rdf:type Testsparql:Module ; Testsparql:Moduleweight "800"^^xsd:decimal ; . Testsparql:Moduleweight rdf:type owl:DatatypeProperty ; rdfs:domain Testsparql:Module ; rdfs:range xsd:decimal ; rdfs:subPropertyOf owl:topDataProperty ; . Testsparql:PrefixDeclaration rdf:type sh:PrefixDeclaration ; sh:namespace "http://semanticprocess.x10host.com/Ontology/Testsparql#"^^xsd:anyURI ; sh:prefix "Testsparql" ; . Testsparql:Process rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:subClassOf owl:Class ; sh:sparql [ sh:message "Invalid process" ; sh:prefixes ; sh:select """SELECT $this WHERE { $this rdf:type Testsparql:Process. $this Testsparql:hasResource ?crane. $this Testsparql:hasAssociation ?module. ?crane Testsparql:Cranecapacity ?cc. ?module Testsparql:Moduleweight ?mw. FILTER (?cc <= ?mw). }""" ; ] ; . Testsparql:ProcessID rdf:type owl:DatatypeProperty ; rdfs:domain Testsparql:Process ; rdfs:range xsd:string ; rdfs:subPropertyOf owl:topDataProperty ; . Testsparql:Process_1 rdf:type Testsparql:Process ; Testsparql:ProcessID "P1" ; Testsparql:hasAssociation Testsparql:Module_1 ; Testsparql:hasResource Testsparql:Crane_1 ; . Testsparql:Process_2 rdf:type Testsparql:Process ; Testsparql:ProcessID "P2" ; Testsparql:hasAssociation Testsparql:Module_1 ; Testsparql:hasResource Testsparql:Crane_2 ; . Testsparql:hasAssociation rdf:type owl:ObjectProperty ; rdfs:domain Testsparql:Process ; rdfs:range Testsparql:Module ; rdfs:subPropertyOf owl:topObjectProperty ; . Testsparql:hasResource rdf:type owl:ObjectProperty ; rdfs:domain Testsparql:Process ; rdfs:range Testsparql:Crane ; rdfs:subPropertyOf owl:topObjectProperty ; . ''' shacl_file_text = ''' @prefix Testsparql: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare Testsparql:PrefixDeclaration ; . Testsparql:PrefixDeclaration rdf:type sh:PrefixDeclaration ; sh:namespace "http://semanticprocess.x10host.com/Ontology/Testsparql#"^^xsd:anyURI ; sh:prefix "Testsparql" ; . Testsparql:Process rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:subClassOf owl:Class ; sh:sparql [ sh:message "Invalid process" ; sh:prefixes ; sh:select """SELECT $this WHERE { $this rdf:type Testsparql:Process. $this Testsparql:hasResource ?crane. $this Testsparql:hasAssociation ?module. ?crane Testsparql:Cranecapacity ?cc. ?module Testsparql:Moduleweight ?mw. FILTER (?cc <= ?mw). }""" ; ] ; . ''' data_file_text = ''' @prefix Testsparql: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . Testsparql:Crane rdf:type rdfs:Class ; rdfs:subClassOf owl:Class ; . Testsparql:Crane_1 rdf:type Testsparql:Crane ; Testsparql:Cranecapacity "500"^^xsd:decimal ; . Testsparql:Crane_2 rdf:type Testsparql:Crane ; Testsparql:Cranecapacity "5000"^^xsd:decimal ; . Testsparql:Cranecapacity rdf:type owl:DatatypeProperty ; rdfs:domain Testsparql:Crane ; rdfs:range xsd:decimal ; rdfs:subPropertyOf owl:topDataProperty ; . Testsparql:Module rdf:type rdfs:Class ; rdfs:subClassOf owl:Class ; . Testsparql:Module_1 rdf:type Testsparql:Module ; Testsparql:Moduleweight "800"^^xsd:decimal ; . Testsparql:Moduleweight rdf:type owl:DatatypeProperty ; rdfs:domain Testsparql:Module ; rdfs:range xsd:decimal ; rdfs:subPropertyOf owl:topDataProperty ; . Testsparql:Process rdf:type rdfs:Class ; rdfs:subClassOf owl:Class ; . Testsparql:ProcessID rdf:type owl:DatatypeProperty ; rdfs:domain Testsparql:Process ; rdfs:range xsd:string ; rdfs:subPropertyOf owl:topDataProperty ; . Testsparql:Process_1 rdf:type Testsparql:Process ; Testsparql:ProcessID "P1" ; Testsparql:hasAssociation Testsparql:Module_1 ; Testsparql:hasResource Testsparql:Crane_1 ; . Testsparql:Process_2 rdf:type Testsparql:Process ; Testsparql:ProcessID "P2" ; Testsparql:hasAssociation Testsparql:Module_1 ; Testsparql:hasResource Testsparql:Crane_2 ; . Testsparql:hasAssociation rdf:type owl:ObjectProperty ; rdfs:domain Testsparql:Process ; rdfs:range Testsparql:Module ; rdfs:subPropertyOf owl:topObjectProperty ; . Testsparql:hasResource rdf:type owl:ObjectProperty ; rdfs:domain Testsparql:Process ; rdfs:range Testsparql:Crane ; rdfs:subPropertyOf owl:topObjectProperty ; . ''' def test_008(): res1 = validate( mixed_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='both', debug=True ) conforms, graph, string = res1 assert not conforms res2 = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='both', debug=True, ) conforms, graph, string = res2 assert not conforms pyshacl-0.30.1/test/issues/test_009.py0000644000000000000000000000242000000000000014336 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/9 """ from pyshacl import validate shacl_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:Parent a rdfs:Class ; rdfs:isDefinedBy ex: ; rdfs:comment "The parent class"@en ; rdfs:subClassOf owl:Thing . ex:ParentShape a sh:NodeShape ; rdfs:isDefinedBy ex: ; sh:property [ sh:datatype xsd:string ; sh:path ex:name ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; sh:targetClass ex:Parent . """ data_file_text = """ { "@context": { "@vocab": "http://example.com/ex#" }, "@type": "Parent", "name": "Father", "dummy": "Dummy value" } """ def test_009(): res = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='json-ld', shacl_graph_format='turtle', inference='both', debug=True, ) conforms, graph, string = res assert not conforms pyshacl-0.30.1/test/issues/test_012.py0000644000000000000000000000313300000000000014332 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/12 """ from pyshacl import validate shacl_file_text = """ @prefix hei: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xml: . @prefix xsd: . hei:HeiAddressShape a sh:NodeShape ; sh:property [ rdfs:comment "Street constraint" ; sh:datatype xsd:string ; sh:minLength 30 ; sh:path hei:Ship_to_street ] ; sh:targetClass hei:Hei_customer . """ data_file_text = """ @prefix hei: . @prefix rdfs: . hei:hei_cust_1281 a hei:Hei_customer ; rdfs:label "XYZHorecagroothandel" ; hei:Klant_nummer 1281 ; hei:Ship_to_City "Middenmeer" ; hei:Ship_to_postcode "1799 AB" ; hei:Ship_to_street "Industrieweg" . """ def test_012_text(): res = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='both', debug=True, ) conforms, graph, string = res assert not conforms def test_012_graph(): from rdflib import Graph g = Graph() g.parse(data=data_file_text, format='turtle') sg = Graph() sg.parse(data=shacl_file_text, format='turtle') res = validate(g, shacl_graph=sg, inference='both', debug=True) conforms, graph, string = res assert not conforms pyshacl-0.30.1/test/issues/test_014.py0000644000000000000000000000542400000000000014341 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/14 """ from pyshacl import validate ontology_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix ex: . ex:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . ex:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf ex:Animal . ex:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf ex:Animal . ex:hasPet a rdf:Property ; rdfs:domain ex:Human ; rdfs:range ex:Pet . ex:nLegs a rdf:Property ; rdfs:domain ex:Animal ; rdfs:range xsd:integer . ex:Lizard a rdfs:Class ; rdfs:subClassOf ex:Pet . """ shacl_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:HumanShape a sh:NodeShape ; sh:property [ sh:class ex:Pet ; sh:path ex:hasPet ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path ex:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass ex:Human . ex:AnimalShape a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:path ex:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; ] ; sh:targetClass ex:Animal . """ data_file_text = """ @prefix rdf: . @prefix xsd: . @prefix ex: . ex:Human1 rdf:type ex:Human ; rdf:label "Amy" ; ex:nLegs "2"^^xsd:integer ; ex:hasPet ex:Pet1 . ex:Pet1 rdf:type ex:Lizard ; rdf:label "Sebastian" ; ex:nLegs "4"^^xsd:integer . """ def test_014_fail(): res = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='both', debug=True, ) conforms, graph, string = res assert not conforms def test_014_pass(): res = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert conforms if __name__ == "__main__": test_014_fail() test_014_pass() pyshacl-0.30.1/test/issues/test_026.py0000644000000000000000000000603400000000000014342 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/26 """ from pyshacl import validate shacl_file_text = """ @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xml: . @prefix xsd: . @prefix foaf: . @prefix : . :PersonShape a sh:NodeShape ; sh:property [ rdfs:comment "Person Name" ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ; sh:minLength 1 ; sh:path foaf:name ] ; sh:targetClass foaf:Person . """ data_file_text_trig = """ @prefix foaf: . @prefix prov: . @prefix rdf: . @prefix xsd: . prov:generatedAtTime "2012-04-09T00:00:00"^^xsd:dateTime . { a foaf:Person; foaf:name "Manu Sporny"; foaf:knows . a foaf:Person; foaf:name ""; foaf:knows . a foaf:Person; foaf:name ""; foaf:knows . } """ data_file_text_jsonld = """ { "@context": { "generatedAt": { "@id": "http://www.w3.org/ns/prov#generatedAtTime", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" }, "Person": "http://xmlns.com/foaf/0.1/Person", "name": "http://xmlns.com/foaf/0.1/name", "knows": {"@id": "http://xmlns.com/foaf/0.1/knows", "@type": "@id"} }, "@id": "http://example.org/foaf-graph", "generatedAt": "2012-04-09T00:00:00", "@graph": [ { "@id": "http://manu.sporny.org/about#manu", "@type": "Person", "name": "Manu Sporny", "knows": "https://greggkellogg.net/foaf#me" }, { "@id": "https://greggkellogg.net/foaf#me", "@type": "Person", "name": "", "knows": "http://manu.sporny.org/about#manu" }, { "@id": "https://greggkellogg.net/foaf#unknown", "@type": "Person", "knows": "https://greggkellogg.net/foaf#me" } ] } """ def test_026_trig(): res = validate( data_file_text_trig, shacl_graph=shacl_file_text, data_graph_format='trig', shacl_graph_format='turtle', inference='both', debug=True, ) conforms, graph, string = res assert not conforms def test_026_jsonld(): res = validate( data_file_text_jsonld, shacl_graph=shacl_file_text, data_graph_format='json-ld', shacl_graph_format='turtle', inference='both', debug=True, ) conforms, graph, string = res assert not conforms if __name__ == "__main__": test_026_trig() test_026_jsonld() pyshacl-0.30.1/test/issues/test_029/__init__.py0000644000000000000000000000071000000000000016077 0ustar00# # from pyshacl import validate from pyshacl.rdfutil.load import load_from_source data_graph = load_from_source("./test/issues/test_029/simpleData.ttl") shacl_graph = load_from_source("./test/issues/test_029/simpleOnto.ttl") def test_029(): res = validate(data_graph, shacl_graph=shacl_graph, ont_graph=shacl_graph, inference='none', debug=True) conforms, graph, string = res assert not conforms if __name__ == "__main__": test_029() pyshacl-0.30.1/test/issues/test_029/simpleData.ttl0000644000000000000000000000116100000000000016577 0ustar00@prefix metadata: . @prefix ex: . @prefix teamwork: . @prefix sh: . @prefix owl: . @prefix rdf: . @prefix xsd: . @prefix rdfs: . @prefix test: . test:FuncNode a ex:Func; ex:hasParameter test:FuncParam_b . test:FuncParam_a a ex:FuncParam_Func_a . test:FuncParam_b a ex:FuncParam_Func_b . pyshacl-0.30.1/test/issues/test_029/simpleOnto.ttl0000644000000000000000000000170600000000000016652 0ustar00@prefix metadata: . @prefix ex: . @prefix teamwork: . @prefix sh: . @prefix owl: . @prefix rdf: . @prefix xsd: . @prefix rdfs: . ex:Function a owl:Class . ex:Func a owl:Class , sh:NodeShape ; rdfs:label "Func" ; rdfs:subClassOf ex:Function ; sh:property [ a sh:PropertyShape ; sh:class ex:FuncParam_Func_a ; sh:path ex:hasParameter ; sh:minCount 1; sh:name "Func_a" ] . ex:FuncParam_Func_a a owl:Class . ex:FuncParam_Func_b a owl:Class . pyshacl-0.30.1/test/issues/test_036.py0000644000000000000000000000237300000000000014345 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/36 """ from pyshacl import validate shacl_file_text = """\ { "@context": { "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "sh": "http://www.w3.org/ns/shacl#", "schema": "http://schema.org/" }, "@graph": [ { "@id": "_:forceDatasetShape", "@type": "sh:NodeShape", "sh:targetNode": "schema:DigitalDocument", "sh:property": [ { "sh:path": [ { "sh:inversePath": [{ "@id": "rdf:type", "@type": "@id" }] } ], "sh:minCount": 1 } ] } ] } """ data_file_text_jsonld = """\ { } """ def test_036_jsonld(): res = validate( data_file_text_jsonld, shacl_graph=shacl_file_text, data_graph_format='json-ld', shacl_graph_format='json-ld', inference='rdfs', debug=True, ) conforms, graph, string = res assert not conforms if __name__ == "__main__": test_036_jsonld() pyshacl-0.30.1/test/issues/test_038.py0000644000000000000000000000166200000000000014347 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/38 I think this is duplicate of test test_029.py """ from rdflib import Graph from pyshacl import validate shapes = Graph() shapes.parse( data=""" @prefix sh: . @prefix owl: . @prefix ex: . ex:Person a owl:Class ; a sh:NodeShape ; sh:property ex:NameConstraint ; . ex:NameConstraint a sh:PropertyShape ; sh:path ex:name ; sh:minCount 1 ; . """, format="ttl", ) data = Graph() data.parse( data=""" @prefix ex: . ex:Bob a ex:Person ; . """, format="ttl", ) def test_038(): conforms, g, s = validate(data_graph=data, shacl_graph=shapes, inference='rdfs') assert not conforms if __name__ == "__main__": test_038() pyshacl-0.30.1/test/issues/test_040/03-Network.ttl0000644000000000000000000002510100000000000016356 0ustar00@prefix : . @prefix owl: . @prefix sh: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . :Network rdf:type owl:Class, sh:NodeShape ; rdfs:comment "The class of networks." ; sh:property [ sh:node :Node ; sh:path :hasNode ] . :Node rdf:type owl:Class, sh:NodeShape ; rdfs:comment "A node is a member of a network with an address." ; sh:targetClass :Node ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] ; sh:property [ sh:node :Network ; sh:path :isNodeOf ] ; sh:property [ sh:node :Port ; sh:path :portReference ] ; sh:property [ sh:node :Node ; sh:path :layeredAbove ] ; sh:property [ sh:node :Node ; sh:path :layeredBelow ] . :layeredAbove rdf:type rdf:Property, owl:TransitiveProperty ; rdfs:domain :Node ; rdfs:range :Node ; rdf:comment "A network node may be 'stacked' on one or more nodes." ; owl:inverseOf :layeredBelow . :layeredBelow rdf:type rdf:Property, owl:TransitiveProperty ; rdfs:domain :Node ; rdfs:range :Node ; rdf:comment "A network node may have one or more nodes 'stacked' on top." ; owl:inverseOf :layeredAbove . :Port rdf:type owl:Class, sh:NodeShape ; rdfs:comment "A port is a connection point used to connect one of more devices together." ; sh:targetClass :Port . :Jack rdf:type owl:Class, sh:NodeShape ; rdfs:comment "A jack is a demarcation point between a network service provider and a network customer." ; sh:targetClass :Jack . :Device rdf:type owl:Class, sh:NodeShape ; rdfs:comment "The class of networks." ; sh:property [ sh:node :Node ; sh:path :hasNode ] ; sh:property [ sh:node :Port ; sh:path :hasPort ] . :Bridge rdf:type owl:Class ; rdfs:subClassOf :Device ; rdfs:comment "A device that connects two or more segments at the physical and data link layers." . :Repeater rdf:type owl:Class ; rdfs:subClassOf :Device ; rdfs:comment "A device that connects two or more physical segments at the physical layer." . :Router rdf:type owl:Class ; rdfs:subClassOf :Device ; rdfs:comment "A device that connects two or more similar networks to form an intranetwork" . :Gateway rdf:type owl:Class ; rdfs:subClassOf :Device ; rdfs:comment "A device that connects two or more dissimilar networks, permitting information exchange between them." . :hasNode rdf:type rdf:Property ; rdfs:range :Node ; rdf:comment "A network node may be 'stacked' on one or more nodes." ; owl:inverseOf :layeredBelow . :hasPort rdf:type rdf:Property ; rdfs:range :Port ; rdf:comment "A network node may be 'stacked' on one or more nodes." ; owl:inverseOf :layeredBelow . :EthernetNetwork rdf:type owl:Class, sh:NodeShape ; sh:targetClass :EthernetNetwork ; rdfs:subClassOf :Network ; sh:property [ sh:node :EthernetNode ; sh:path :hasNode ] . :EthernetNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :EthernetNode ; sh:property [ sh:pattern "^[0-9a-f][0-9a-f](:[0-9a-f][0-9a-f]){5}$" ; sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :EthernetHub rdf:type owl:Class ; rdfs:subClassOf :Bridge ; rdfs:comment "A device that connects two or more Ethernet segments at the physical and data link layers (deprecated by IEEE 802.3)." . :EthernetSwitch rdf:type owl:Class ; rdfs:subClassOf :Bridge ; rdfs:comment "A device that connects two or more Ethernet segments at the physical and data link layers that uses packet switching." . :EthernetVLANNetwork rdf:type owl:Class, sh:NodeShape ; sh:targetClass :EthernetVLANNetwork ; rdfs:subClassOf :EthernetNetwork ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasVID ] . :hasVID rdf:type rdf:Property ; rdfs:comment "The VLAN identifier (VID) is the 12-bit unsigned specifying the VLAN." . :EthernetPort rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Port ; sh:targetClass :EthernetPort . :ARCNETNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :ARCNETNetwork ; sh:property [ sh:node :ARCNETNode ; sh:path :hasNode ] . :ARCNETRepeater rdf:type owl:Class ; rdfs:subClassOf :Repeater ; rdfs:comment "A device that connects two or more ARCNET physical segments at the physical layer." . :ARCNETNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :ARCNETNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :MSTPNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :MSTPNetwork ; sh:property [ sh:node :MSTPNode ; sh:path :hasNode ] . :MSTPNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :MSTPNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :PTPNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :PTPNetwork ; sh:property [ sh:node :PTPNode ; sh:path :hasNode ] . :PTPNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :PTPNode ; sh:property [ sh:maxCount 0 ; sh:minCount 0 ; sh:path :hasAddress ] . :LonTalkNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :LonTalkNetwork ; sh:property [ sh:node :LonTalkNode ; sh:path :hasNode ] . :LonTalkNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :LonTalkNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :IPv4Network rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :IPv4Network ; sh:property [ sh:node :IPv4Node ; sh:path :hasNode ] . :IPv4Node rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :IPv4Node ; sh:property [ sh:pattern "^[0-9]+([.][0-9]+){3}$" ; sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :ZigBeeNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :ZigBeeNetwork ; sh:property [ sh:node :ZigBeeNode ; sh:path :hasNode ] . :ZigBeeNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :ZigBeeNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :VirtualNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :VirtualNetwork ; sh:property [ sh:node :VirtualNode ; sh:path :hasNode ] . :VirtualNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :VirtualNode ; sh:property [ sh:datatype xsd:hexBinary ; sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :IPv6Network rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :IPv6Network ; sh:property [ sh:node :IPv6Node ; sh:path :hasNode ] . :IPv6Node rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :IPv6Node ; sh:property [ sh:pattern "^[0-9]+([.][0-9]+){3}$" ; sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :SecureConnectNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :SecureConnectNetwork ; sh:property [ sh:node :SecureConnectNode ; sh:path :hasNode ] . :SecureConnectNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :SecureConnectNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :SerialNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :SerialNetwork ; sh:property [ sh:node :SerialNode ; sh:path :hasNode ] . :SerialNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :SerialNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . :ProprietaryNetwork rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Network ; sh:targetClass :ProprietaryNetwork ; sh:property [ sh:node :ProprietaryNode ; sh:path :hasNode ] . :ProprietaryNode rdf:type owl:Class, sh:NodeShape ; rdfs:subClassOf :Node ; sh:targetClass :ProprietaryNode ; sh:property [ sh:maxCount 1 ; sh:minCount 1 ; sh:path :hasAddress ] . pyshacl-0.30.1/test/issues/test_040/__init__.py0000644000000000000000000000102400000000000016067 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/40 """ from pyshacl import validate from pyshacl.rdfutil import load_from_source with open("./test/issues/test_040/sample-network.ttl", "r") as f: data_graph = load_from_source(f) shacl_graph = load_from_source("./test/issues/test_040/03-Network.ttl") def test_040(): conforms, g, s = validate(data_graph=data_graph, shacl_graph=shacl_graph, ont_graph=shacl_graph, inference='rdfs') assert conforms if __name__ == "__main__": test_040() pyshacl-0.30.1/test/issues/test_040/sample-network.ttl0000644000000000000000000000077100000000000017463 0ustar00@prefix : . @prefix rdf: . @prefix bacnet: . @prefix xsd: . :a rdf:type bacnet:Network ; bacnet:hasNode :b, :c . :b rdf:type bacnet:Node ; bacnet:hasAddress 1 ; bacnet:layeredAbove :c . :c rdf:type bacnet:Node ; bacnet:hasAddress 2 ; bacnet:layeredBelow :b . :d rdf:type bacnet:EthernetNode ; bacnet:hasAddress "01:02:03:04:05:06" . pyshacl-0.30.1/test/issues/test_058.py0000644000000000000000000000212400000000000014343 0ustar00import rdflib from pyshacl import validate from pyshacl.errors import ConstraintLoadError """ https://github.com/RDFLib/pySHACL/issues/58 """ data = """ @prefix asdf: . @prefix ex: . asdf:e2e a ex:termA ; ex:child asdf:23e . asdf:23e a ex:termB . """ shaclData = """ @prefix ex: . @prefix rdf: . @prefix sh: . ex:termShape a sh:NodeShape ; sh:ignoredProperties ( rdf:type ) ; sh:targetClass ex:termB . """ def test_058(): dataGraph = rdflib.Graph().parse(data=data, format='ttl') shaclGraph = rdflib.Graph().parse(data=shaclData, format='ttl') exc = None try: conforms, g, s = validate( dataGraph, shacl_graph=shaclGraph, abort_on_first=False, meta_shacl=False, debug=False, advanced=True ) except Exception as e: assert isinstance(e, ConstraintLoadError) exc = e assert exc is not None assert "ignoredProperties" in str(exc) if __name__ == "__main__": test_058() pyshacl-0.30.1/test/issues/test_062.py0000644000000000000000000000626600000000000014351 0ustar00from pyshacl import validate from io import BytesIO """ https://github.com/RDFLib/pySHACL/issues/62 """ data = b"""\ { "@context": { "ex": "http://example.com/ex#", "exOnt": "http://example.com/exOnt#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ { "@id": "ex:Pet1", "@type": "exOnt:Lizard", "exOnt:nLegs": 4, "rdf:label": "Sebastian" }, { "@id": "ex:Human1", "@type": "exOnt:Human", "exOnt:hasPet": { "@id": "ex:Pet1" }, "exOnt:nLegs": 2, "rdf:label": "Amy" } ] } """ ont_data = b"""\ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . exOnt:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf exOnt:Animal . exOnt:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf exOnt:Animal . exOnt:hasPet a rdf:Property ; rdfs:domain exOnt:Human ; rdfs:range exOnt:Pet . exOnt:nLegs a rdf:Property ; rdfs:domain exOnt:Animal ; rdfs:range exOnt:integer . exOnt:Lizard a rdfs:Class ; rdfs:subClassOf exOnt:Pet . """ shacl_data = b"""\ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:HumanShape a sh:NodeShape ; sh:property [ sh:class exOnt:Pet ; sh:path exOnt:hasPet ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass exOnt:Human . exShape:AnimalShape a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; ] ; sh:targetClass exOnt:Animal . """ def test_062(): data_fp = BytesIO(data) shacl_fp = BytesIO(shacl_data) ont_fp = BytesIO(ont_data) try: conforms, g, s = validate( data_fp, shacl_graph=shacl_fp, ont_graph=ont_fp, data_graph_format="json-ld", shacl_graph_format="turtle", ont_graph_format="turtle", abort_on_first=False, meta_shacl=False, debug=True, advanced=True, ) except Exception as e: print(e) raise assert conforms if __name__ == "__main__": test_062() pyshacl-0.30.1/test/issues/test_071.py0000644000000000000000000000505200000000000014341 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/71 """ import rdflib from pyshacl import validate shacl_file_text = """\ @prefix rdf: . @prefix rdfs: . @prefix dc: . @prefix sh: . @prefix xml: . @prefix xsd: . @prefix owl: . @prefix geo: . @prefix ex: . @prefix : . rdf:type owl:Ontology . :PlaceShape a sh:NodeShape ; sh:targetClass ex:Place ; sh:property [ sh:path geo:asWKT ; sh:nodeKind sh:Literal ; sh:datatype rdfs:Literal ; ] ; sh:property [ sh:path geo:asWKT ; sh:nodeKind sh:Literal ; sh:datatype rdfs:Datatype ; ] ; sh:property [ sh:path geo:asWKT ; sh:nodeKind sh:Literal ; sh:datatype geo:wktLiteral ; ] ; . """ data_file_text = """\ @prefix rdf: . @prefix rdfs: . @prefix dc: . @prefix dct: . @prefix xml: . @prefix xsd: . @prefix owl: . @prefix geo: . @prefix ex: . geo:hasSerialization a rdfs:Property ; a owl:DatatypeProperty ; rdfs:domain geo:Geometry ; rdfs:range rdfs:Literal ; . geo:asWKT a rdfs:Property ; a owl:DatatypeProperty ; rdfs:subPropertyOf geo:hasSerialization ; rdfs:domain geo:Geometry ; rdfs:range geo:wktLiteral ; . geo:wktLiteral a rdfs:Datatype ; dc:description "A Well-known Text serialization of a geometry object." ; . ex:Place a rdfs:Class ; rdfs:subClassOf geo:Geometry ; . ex:test1 a ex:Place ; geo:asWKT "POINT(45.75 4.85)"^^geo:wktLiteral ; dc:title "test1" ; . """ def test_071_positive(): data = rdflib.Graph() data.parse(data=data_file_text, format="turtle") res = validate( data, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='rdfs', debug=True, ) conforms, graph, string = res assert conforms if __name__ == "__main__": test_071_positive() pyshacl-0.30.1/test/issues/test_076.py0000644000000000000000000000743500000000000014355 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/76 """ import rdflib from pyshacl import validate shacl_file_text = ''' @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix skos: . @prefix xml: . @prefix xsd: . @prefix owl: . @prefix : . rdf:type owl:Ontology ; owl:sameAs : . rdf:type owl:Ontology ; owl:imports ; sh:declare [ sh:prefix "skos_p" ; sh:namespace "http://www.w3.org/2004/02/skos/core#"^^xsd:anyURI ; ] ; sh:declare [ sh:prefix "" ; sh:namespace "http://example.com/issue/076#"^^xsd:anyURI ; ] . :TopConceptRule a sh:NodeShape ; sh:property [ sh:path skos:topConceptOf ; sh:minCount 1 ; ] . :DepthRule a sh:NodeShape ; sh:targetClass skos:Concept ; sh:rule [ a sh:SPARQLRule ; sh:prefixes : ; sh:order 1 ; sh:condition :TopConceptRule ; sh:construct """ CONSTRUCT { $this :hasDepth 0 . } WHERE { } """ ; ] ; sh:rule [ a sh:SPARQLRule ; sh:prefixes : ; sh:order 2 ; sh:construct """ CONSTRUCT { $this :hasDepth ?plusOne . } WHERE { $this skos_p:broader ?parent . ?parent :hasDepth ?depth . bind(?depth + 1 as ?plusOne) } """ ; ] . ''' data_file_text = """ @prefix rdf: . @prefix rdfs: . @prefix skos: . @prefix dct: . @prefix xml: . @prefix xsd: . @prefix ex: . ex:animalsVocabulary rdf:type skos:ConceptScheme; dct:title "Animals Vocabulary"@en; skos:hasTopConcept ex:animals . ex:animals rdf:type skos:Concept; skos:prefLabel "animals"@en; skos:inScheme ex:animalsVocabulary; skos:topConceptOf ex:animalsVocabulary . ex:cat rdf:type skos:Concept; skos:prefLabel "cat"@en; skos:broader ex:animals ; skos:inScheme ex:animalsVocabulary. ex:wildcat a skos:Concept; skos:inScheme ex:animalsVocabulary; skos:broader ex:cat . ex:europeanWildcat a skos:Concept; skos:inScheme ex:animalsVocabulary; skos:broader ex:wildcat . """ def test_076_positive(): data = rdflib.Graph() data.parse(data=data_file_text, format="turtle") res = validate( data, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='rdfs', inplace=True, advanced=True, iterate_rules=True, debug=True, ) conforms, graph, string = res find_s = rdflib.URIRef("http://example.com#europeanWildcat") find_p = rdflib.URIRef("http://example.com/issue/076#hasDepth") find_o = rdflib.Literal(3) assert (find_s, find_p, find_o) in data def test_076_negative(): data = rdflib.Graph() data.parse(data=data_file_text, format="turtle") res = validate( data, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', inference='rdfs', inplace=True, advanced=True, iterate_rules=False, debug=True, ) conforms, graph, string = res find_s = rdflib.URIRef("http://example.com#europeanWildcat") find_p = rdflib.URIRef("http://example.com/issue/076#hasDepth") find_o = rdflib.Literal(3) assert (find_s, find_p, find_o) not in data if __name__ == "__main__": test_076_positive() test_076_negative() pyshacl-0.30.1/test/issues/test_079.py0000644000000000000000000000176100000000000014354 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/79 """ import rdflib import pyshacl shapes_data = """\ @prefix ex: . @prefix sh: . @prefix owl: . @prefix rdf: . ex:AAA a owl:Class. ex:BBB a owl:Class. ex:CCC a owl:Class. ex:Shape a sh:NodeShape ; sh:targetClass ex:AAA; sh:not [ sh:or ( [sh:class ex:BBB] [sh:class ex:CCC] ) ]. """ def test_079(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse( data=""" @prefix ex: . ex:aaa a ex:AAA. ex:aaa a ex:BBB. ex:aaa a ex:CCC. """, format='turtle', ) conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, ) assert not conforms if __name__ == "__main__": exit(test_079()) pyshacl-0.30.1/test/issues/test_087.py0000644000000000000000000000223700000000000014352 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/87 """ from pyshacl import validate mixed_file_text = """ @prefix sh: . @prefix rdf: . @prefix owl: . @prefix rdfs: . @prefix : . :TargetClass a owl:Class . :Class0 a owl:Class . :Class1 a owl:Class ; rdfs:subClassOf :Class0 . :Class2 a owl:Class ; rdfs:subClassOf :Class1 . :Class3 a owl:Class ; rdfs:subClassOf :Class2 . :prop a owl:ObjectProperty . :shape a sh:NodeShape ; sh:targetClass :TargetClass ; sh:property :haspointshape . :haspointshape a sh:PropertyShape ; sh:path :prop ; sh:class :Class0 . :s0 a :Class0 . :vav0 a :TargetClass ; :prop :s0 . :s1 a :Class1 . :vav1 a :TargetClass ; :prop :s1 . :s2 a :Class2 . :vav2 a :TargetClass ; :prop :s2 . :s3 a :Class3 . :vav3 a :TargetClass ; :prop :s3 . """ def test_087(): res1 = validate(mixed_file_text, data_graph_format='turtle', shacl_graph_format='turtle', debug=True) conforms, graph, string = res1 assert conforms pyshacl-0.30.1/test/issues/test_098.py0000644000000000000000000000425700000000000014360 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/98 """ import os from pyshacl import validate mixed_file_text = """\ # baseURI: http://datashapes.org/sh/tests/core/complex/personexample.test # imports: http://datashapes.org/schema # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of personexample" ; owl:imports ; . ex:Alice rdf:type ex:Person ; ex:ssn "987-65-432A" ; . ex:Bob rdf:type ex:Person ; ex:ssn "123-45-6789" ; ex:ssn "124-35-6789" ; . ex:Calvin rdf:type ex:Person ; ex:birthDate "1999-09-09"^^xsd:date ; ex:worksFor ex:UntypedCompany ; . ex:PersonShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:path ex:ssn ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:pattern "^\\\\d{3}-\\\\d{2}-\\\\d{4}$" ; sh:message "SSN must be 3 digits - 2 digits - 4 digits." ] ; sh:property [ sh:path ex:worksFor ; sh:class ex:Company ; sh:nodeKind sh:IRI ] ; sh:property [ sh:path [ sh:inversePath ex:worksFor ; ] ; sh:name "employee" ; ] ; sh:targetClass ex:Person ; . """ def test_98(): DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run owl:imports in debhelper tests.") assert True return True res1 = validate( mixed_file_text, shacl_graph=mixed_file_text, data_graph_format='turtle', shacl_graph_format='turtle', do_owl_imports=True, debug=True, ) conforms, _, _ = res1 assert not conforms pyshacl-0.30.1/test/issues/test_108.py0000644000000000000000000000230700000000000014342 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/108 """ from pyshacl import validate # from DASH shacl_file_text = """ @prefix dash: . @prefix rdfs: . @prefix sh: . @prefix xsd: . dash:toString a sh:JSFunction, sh:SPARQLFunction ; rdfs:label "to string" ; dash:cachable true ; rdfs:comment "Returns a literal with datatype xsd:string that has the input value as its string. If the input value is an (URI) resource then its URI will be used." ; sh:jsFunctionName "dash_toString" ; sh:jsLibrary dash:DASHJSLibrary ; sh:labelTemplate "Convert {$arg} to xsd:string" ; sh:parameter [ a sh:Parameter ; sh:description "The input value." ; sh:name "arg" ; sh:nodeKind sh:IRIOrLiteral ; sh:path dash:arg ] ; sh:prefixes ; sh:returnType xsd:string ; sh:select "SELECT (xsd:string($arg) AS ?result) WHERE { }" . """ def test_108(): res = validate(shacl_file_text, advanced=True, js=True) conforms, graph, string = res assert conforms pyshacl-0.30.1/test/issues/test_116.py0000644000000000000000000000563700000000000014352 0ustar00# -*- coding: utf-8 -*- # # This software was developed at the National Institute of Standards # and Technology by employees of the Federal Government in the course # of their official duties. Pursuant to title 17 Section 105 of the # United States Code this software is not subject to copyright # protection and is in the public domain. NIST assumes no # responsibility whatsoever for its use by other parties, and makes # no guarantees, expressed or implied, about its quality, # reliability, or any other characteristic. # # We would appreciate acknowledgement if the software is used. """ https://github.com/RDFLib/pySHACL/issues/116 """ import rdflib from pyshacl import validate shacl_file_base = ''' @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xml: . @prefix xsd: . @prefix owl: . @prefix ex: . rdf:type owl:Ontology ; sh:declare [ sh:prefix "ex" ; sh:namespace "http://example.org/issue/116#"^^xsd:anyURI ; ] . ex:ThingWithAStringProperty a owl:Class ; a sh:NodeShape ; sh:property [ sh:datatype %s ; sh:path ex:someString ; ] . ''' shacl_file_with_plain_literal = shacl_file_base % "rdf:langString" shacl_file_with_string = shacl_file_base % "xsd:string" data_file_base = """ @prefix rdf: . @prefix rdfs: . @prefix xml: . @prefix xsd: . @prefix ex: . @prefix kb: . kb:someIndividual a ex:ThingWithAStringProperty ; """ data_file_plain_literal = data_file_base + """ ex:someString "A string with a language"@en .""" data_file_string = data_file_base + """ ex:someString "A string without a language" .""" def _test_116_template(shacl_file_text: str, data_file_text: str, should_conform: bool) -> None: data = rdflib.Graph() data.parse(data=data_file_text, format="turtle") res = validate( data, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', debug=True, ) conforms, graph, string = res assert should_conform == conforms def test_116_1(): _test_116_template(shacl_file_with_string, data_file_plain_literal, False) def test_116_2(): _test_116_template(shacl_file_with_string, data_file_string, True) def test_116_3(): _test_116_template(shacl_file_with_plain_literal, data_file_plain_literal, True) def test_116_4(): _test_116_template(shacl_file_with_plain_literal, data_file_string, False) if __name__ == "__main__": test_116_1() test_116_2() test_116_3() test_116_4() pyshacl-0.30.1/test/issues/test_120.py0000644000000000000000000000421000000000000014327 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/120 """ import rdflib from pyshacl import validate shacl_file = r''' @prefix rdf: . @prefix owl: . @prefix sh: . @prefix ex: . @prefix : . @prefix xsd: . rdf:type owl:Ontology ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://example.org/"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . :exShape a sh:NodeShape ; sh:targetClass ex:Person ; sh:property [ a sh:PropertyShape; sh:path ( ex:i ex:name ) ; sh:sparql [ sh:prefixes ; sh:message "{$this} nome does not match {?name}" ; sh:select """ SELECT $this ?name WHERE { $this $PATH ?name . FILTER NOT EXISTS { $this ex:i/ex:nome ?name . } } """ ] ; ] ; . ''' data_file = """ @prefix geo: . @prefix skos: . @prefix ex: . ex:intermediate1 a ex:Intermediate ; ex:name "Intermediate1" ; ex:nome "Intermediate1" . ex:intermediate2 a ex:Intermediate ; ex:name "Intermediate2" ; ex:nome "BadNome" . ex:goodPerson a ex:Person ; ex:i ex:intermediate1 . ex:badPerson a ex:Person ; ex:i ex:intermediate2 . """ def test_120() -> None: data = rdflib.Graph() data.parse(data=data_file, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") res = validate( data, shacl_graph=shapes, data_graph_format='turtle', shacl_graph_format='turtle', debug=True, ) conforms, graph, string = res assert False == conforms assert "ex:badPerson" in string assert "ex:goodPerson" not in string assert "nome does not match Intermediate2" in string if __name__ == "__main__": test_120() pyshacl-0.30.1/test/issues/test_124.py0000644000000000000000000000402300000000000014335 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/124 """ import rdflib from pyshacl import validate shacl_file = r''' @prefix rdf: . @prefix owl: . @prefix sh: . @prefix ex: . @prefix : . @prefix xsd: . rdf:type owl:Ontology ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://example.org/"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . :exShape a sh:NodeShape ; sh:targetClass ex:Person ; sh:property [ a sh:PropertyShape; sh:path ( ex:i ex:name ) ; sh:sparql [ sh:prefixes ; sh:select """ SELECT $this ?value WHERE { $this $PATH ?value . FILTER NOT EXISTS { $this ex:i/ex:nome ?value . } } """ ] ; ] ; . ''' data_file = """ @prefix geo: . @prefix skos: . @prefix ex: . ex:intermediate1 a ex:Intermediate ; ex:name "Intermediate1" ; ex:nome "Intermediate1" . ex:intermediate2 a ex:Intermediate ; ex:name "Intermediate2" ; ex:nome "BadNome" . ex:goodPerson a ex:Person ; ex:i ex:intermediate1 . ex:badPerson a ex:Person ; ex:i ex:intermediate2 . """ def test_124() -> None: data = rdflib.Graph() data.parse(data=data_file, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") res = validate( data, shacl_graph=shapes, data_graph_format='turtle', shacl_graph_format='turtle', debug=True, ) conforms, graph, string = res assert False == conforms assert "ex:badPerson" in string assert "ex:goodPerson" not in string if __name__ == "__main__": test_124() pyshacl-0.30.1/test/issues/test_126.py0000644000000000000000000000667000000000000014351 0ustar00# -*- coding: utf-8 -*- # # This software was developed at the National Institute of Standards # and Technology by employees of the Federal Government in the course # of their official duties. Pursuant to title 17 Section 105 of the # United States Code this software is not subject to copyright # protection and is in the public domain. NIST assumes no # responsibility whatsoever for its use by other parties, and makes # no guarantees, expressed or implied, about its quality, # reliability, or any other characteristic. # # We would appreciate acknowledgement if the software is used. """ https://github.com/RDFLib/pySHACL/issues/126 """ from typing import Optional from pyshacl import validate from rdflib import Namespace, SH, URIRef NS_EX = Namespace("http://example.org/ns#") mixed_file_text = """ @prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex:myProperty-datatype a sh:PropertyShape ; rdfs:comment "Violations of sh:datatype are produced as warnings"@en ; sh:datatype xsd:string ; sh:path ex:myProperty ; sh:severity sh:Warning ; . ex:myProperty-maxLength a sh:PropertyShape ; rdfs:comment "The default severity here is sh:Info"@en ; sh:maxLength 10 ; sh:message "Too many characters"@en ; sh:path ex:myProperty ; sh:severity sh:Info ; . ex:MyShape a sh:NodeShape ; rdfs:comment "This example was adapted from the example shapes and validation graph in the Severity section of the SHACL specification."@en ; rdfs:seeAlso "https://www.w3.org/TR/shacl/#severity" ; sh:property ex:myProperty-datatype , ex:myProperty-maxLength ; sh:targetNode ex:MyInstance ; . ex:MyInstance rdfs:comment "This instance triggers one Info-level and one Warning-level violation."@en ; ex:myProperty "http://toomanycharacters"^^xsd:anyURI ; . """ def _test_126_template(expected_conformance: bool, allow_level: Optional[URIRef] = None) -> None: validate_kwargs: Dict[Any] = {"data_graph_format": "turtle", "shacl_graph_format": "turtle", "debug": True} if allow_level is None: pass elif allow_level == SH.Info: validate_kwargs["allow_infos"] = True elif allow_level == SH.Warning: validate_kwargs["allow_warnings"] = True else: raise NotImplementedError("allow_level=%r" % allow_level) res1 = validate(mixed_file_text, **validate_kwargs) conforms, graph, string = res1 assert conforms == expected_conformance datatype_shape_reported = False maxlength_shape_reported = False # Confirm the report graph emits ValidationResults pertaining to each expected triggering property shape. for triple in graph.triples((None, SH.sourceShape, NS_EX["myProperty-datatype"])): datatype_shape_reported = True for triple in graph.triples((None, SH.sourceShape, NS_EX["myProperty-maxLength"])): maxlength_shape_reported = True assert datatype_shape_reported assert maxlength_shape_reported def test_126_1() -> None: """ With no severities allowed, expect non-conformance. """ _test_126_template(False) def test_126_2() -> None: """ With Infos allowed, expect non-conformance. """ _test_126_template(False, SH.Info) def test_126_3() -> None: """ With Warnings allowed, expect conformance. """ _test_126_template(True, SH.Warning) pyshacl-0.30.1/test/issues/test_133.py0000644000000000000000000000407300000000000014342 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/133 """ import rdflib from pyshacl import validate shacl_file = r"""@prefix geo: . @prefix sh: . @base . a sh:NodeShape ; sh:property ; sh:targetSubjectsOf geo:asWKT ; . a sh:PropertyShape ; sh:path geo:asWKT ; sh:pattern "^\\s*$|^\\s*(P|C|S|L|T|<)" ; sh:flags "i" ; sh:message "The content of an RDF literal with an incoming geo:asWKT relation must conform to a well-formed WKT string, as defined by its official specification (Simple Features Access)."@en ; . """ data_file = """@prefix geo: . @prefix skos: . geo:asWKT "POINT (153.084231 -27.322738)"^^geo:wktLiteral ; . geo:asWKT "xPOINT (153.084231 -27.322738)"^^geo:wktLiteral ; . geo:asWKT "(153.084231 -27.322738)"^^geo:wktLiteral ; . geo:asWKT " POINT (153.084231 -27.322738)"^^geo:wktLiteral ; . geo:asWKT " "^^geo:wktLiteral ; . geo:asWKT ""^^geo:wktLiteral ; . """ def test_133() -> None: data = rdflib.Graph() data.parse(data=data_file, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") shapes.print() res = validate( data, shacl_graph=shapes, data_graph_format='turtle', shacl_graph_format='turtle', debug=True, ) conforms, graph, string = res assert False == conforms assert "geometry-b" in string assert "geometry-c" in string assert "geometry-a" not in string assert "geometry-d" not in string assert "geometry-e" not in string assert "geometry-f" not in string if __name__ == "__main__": test_133() pyshacl-0.30.1/test/issues/test_141.py0000644000000000000000000001254400000000000014343 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/141 """ import rdflib from pyshacl import validate shacl_file = r"""@prefix rdf: . @prefix ex: . @prefix owl: . @prefix rdfs: . @prefix sh: . ex:Dog a owl:Class , sh:NodeShape ; sh:property [ a sh:PropertyShape ; sh:minCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:path ex:hasIdentifier ] ; sh:targetClass ex:Dog ; . ex:Cat a owl:Class , sh:NodeShape ; sh:property [ a sh:PropertyShape ; sh:minCount 1 ; sh:nodeKind sh:BlankNodeOrIRI ; sh:path ex:hasCharacteristic ] ; sh:targetClass ex:Cat ; . ex:hasIdentifier a owl:ObjectProperty ; . ex:hasCharacteristic a owl:ObjectProperty ; . ex:hasName a owl:ObjectProperty ; rdfs:subPropertyOf ex:hasIdentifier , ex:hasCharacteristic ; . ex:hasLabel a owl:ObjectProperty ; rdfs:subPropertyOf ex:hasIdentifier ; . """ data_file = """@prefix rdf: . @prefix owl: . @prefix ex: . @prefix kb: . @prefix rdfs: . ex:hasIdentifier a owl:ObjectProperty ; . ex:hasCharacteristic a owl:ObjectProperty ; . ex:hasName a owl:ObjectProperty ; rdfs:subPropertyOf ex:hasIdentifier , ex:hasCharacteristic ; . ex:hasLabel a owl:ObjectProperty ; rdfs:subPropertyOf ex:hasIdentifier ; . kb:dog_with_identifier a ex:Dog ; rdfs:comment "PASS" ; ex:hasIdentifier kb:dogidentifier1 ; . kb:dog_with_name a ex:Dog ; rdfs:comment "PASS" ; ex:hasName [ rdf:value "Rover" ] ; . kb:dog_with_characteristic a ex:Dog ; rdfs:comment "XFAIL" ; ex:hasCharacteristic [ rdf:value "Brown" ] ; . kb:cat_with_identifier a ex:Cat ; rdfs:comment "XFAIL" ; ex:hasIdentifier kb:catidentifier1 ; . kb:cat_with_name a ex:Cat ; rdfs:comment "PASS" ; ex:hasName [ rdf:value "Mittens" ] ; . kb:cat_with_characteristic a ex:Cat ; rdfs:comment "PASS" ; ex:hasCharacteristic [ rdf:value "Green" ] ; . kb:dog_with_label a ex:Dog ; rdfs:comment "PASS" ; ex:hasLabel [ rdf:value "Dopey" ] ; . """ def test_me() -> None: my_json = """\ { "@context": { "@vocab": "http://schema.org/", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@type": "MonetaryAmount", "value": { "@type": "xsd:float", "@value": "100000" } } """ shapes_json = """\ { "@context": { "owl": "http://www.w3.org/2002/07/owl#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "xsd": "http://www.w3.org/2001/XMLSchema#", "skos": "http://www.w3.org/2004/02/skos/core#", "prov": "http://www.w3.org/ns/prov#", "dcat": "http://www.w3.org/ns/dcat#", "sh": "http://www.w3.org/ns/shacl#", "shsh": "http://www.w3.org/ns/shacl-shacl#", "dcterms": "http://purl.org/dc/terms/", "schema": "http://schema.org/", "rescs": "http://rescs.org/" }, "@graph": [ { "@id": "rescs:dash/monetaryamount/MonetaryAmountShape", "@type": "sh:NodeShape", "rdfs:comment": { "@type": "xsd:string", "@value": "A monetary value or range. This type can be used to describe an amount of money such as $50 USD, or a range as in describing a bank account being suitable for a balance between £1,000 and £1,000,000 GBP, or the value of a salary, etc. It is recommended to use [[PriceSpecification]] Types to describe the price of an Offer, Invoice, etc." }, "rdfs:label": { "@type": "xsd:string", "@value": "Monetary amount" }, "sh:property": { "sh:datatype": { "@id": "xsd:float" }, "sh:description": "The value of the quantitative value or property value node.\\\\n\\\\n* For [[QuantitativeValue]] and [[MonetaryAmount]], the recommended type for values is 'Number'.\\\\n* For [[PropertyValue]], it can be 'Text;', 'Number', 'Boolean', or 'StructuredValue'.\\\\n* Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols.\\\\n* Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator.", "sh:maxCount": { "@type": "xsd:integer", "@value": 1 }, "sh:minCount": { "@type": "xsd:integer", "@value": 1 }, "sh:minExclusive": 0, "sh:name": "value", "sh:path": { "@id": "schema:value" } }, "sh:targetClass": { "@id": "schema:MonetaryAmount" } } ] } """ g = rdflib.Graph() g.parse(data=shapes_json, format="json-ld") d = rdflib.Graph() d.parse(data=my_json, format="json-ld") validate(d, shacl_graph=g, debug=True) def test_141() -> None: data = rdflib.Graph() data.parse(data=data_file, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") res = validate( data, shacl_graph=shapes, data_graph_format='turtle', shacl_graph_format='turtle', debug=True, inference="rdfs", ) conforms, graph, string = res if __name__ == "__main__": test_141() pyshacl-0.30.1/test/issues/test_142.py0000644000000000000000000000272000000000000014337 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/142 """ import rdflib from pyshacl import validate shacl_file = """\ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix ex: . ex:PersonShape a sh:NodeShape ; sh:targetClass ex:Person ; sh:property [ sh:path ex:hasPet ; sh:class ex:Animal ; sh:minCount 1 ; sh:maxCount 1 ; ] ; . """ ont_file = """\ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix ex: . ex:Person a owl:Class . ex:Animal a owl:Class . ex:Dog a owl:Class ; rdfs:subClassOf ex:Animal . """ data_file = """\ @prefix ex: . ex:Brutus a ex:Dog . ex:Jane a ex:Person ; ex:hasPet ex:Brutus . """ def test_142() -> None: data = rdflib.Graph() data.parse(data=data_file, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") ont = rdflib.Graph() ont.parse(data=ont_file, format="turtle") res = validate(data, shacl_graph=shapes, ont_graph=ont) conforms, graph, string = res print(string) if __name__ == "__main__": test_142() pyshacl-0.30.1/test/issues/test_146.py0000644000000000000000000000103300000000000014337 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/146 """ import warnings def test_146() -> None: # Ensure that importing pyshacl triggers no warnings. with warnings.catch_warnings(record=True) as warning_context: # Cause all warnings to always be triggered. warnings.simplefilter("always") # Import pyshacl, which should not trigger any warnings import pyshacl # Verify some things assert len(warning_context) == 0 if __name__ == "__main__": test_146() pyshacl-0.30.1/test/issues/test_148.py0000644000000000000000000000312100000000000014341 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/148 """ import rdflib from pyshacl import validate shacl_file = """\ @prefix ex: . @prefix sh: . @prefix owl: . @prefix rdf: . @prefix rdfs: . ex:Class a owl:Class . ex:FailedRule a sh:NodeShape ; sh:targetClass ex:Class ; sh:rule [ a sh:TripleRule ; sh:object ex:Inferred ; sh:predicate ex:hasProperty ; sh:subject sh:this ; ] . """ ont_file = """\ @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . ex:Class a owl:Class . ex:SubClass a owl:Class ; rdfs:subClassOf ex:Class . ex:SubSubClass a owl:Class ; rdfs:subClassOf ex:SubClass . """ data_file = """\ @prefix ex: . @prefix rdf: . ex:A a ex:SubSubClass . """ def test_148() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file, format="turtle").parse(data=ont_file) shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") res = validate(data_g, shacl_graph=shapes, advanced=True) assert ( rdflib.URIRef("urn:ex#A"), rdflib.URIRef("urn:ex#hasProperty"), rdflib.URIRef("urn:ex#Inferred"), ) not in data_g conforms, graph, string = res assert conforms if __name__ == "__main__": test_148() pyshacl-0.30.1/test/issues/test_154.py0000644000000000000000000000364200000000000014346 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/154 """ import rdflib from pyshacl import validate shacl_file = """\ @prefix ex: . @prefix sh: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix schema: . schema:Organization a rdfs:Class, sh:NodeShape ; sh:property [ sh:path schema:name ; sh:label "name" ; sh:description "The official name of the entity being described." ; sh:datatype xsd:string ; sh:minCount 1; ], [ sh:path schema:subOrganization ; sh:label "contained organization" ; sh:description "An organization contained within a parent organization." ; sh:node schema:Organization ; ] ; . """ data_file = """\ { "@context": "http://schema.org", "@id": "http://www.illinoiscourts.gov/Circuit", "@type":"http://schema.org/Organization", "name": "State of Illinois Circuit Court", "subOrganization": { "@context": "http://schema.org/", "@id": "http://www.illinoiscourts.gov/Circuit#Circuit1", "name": "State of Illinois Circuit 1", "subOrganization": { "@id": "http://www.illinoiscourts.gov/Circuit#Circuit1District1", "notname": "State of Illinois Circuit 1 District 1" } } } """ def test_154() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file, format="json-ld") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") res = validate(data_g, shacl_graph=shapes, debug=False) conforms, graph, string = res assert not conforms assert "Constraint Violation in NodeConstraintComponent" in string if __name__ == "__main__": test_154() pyshacl-0.30.1/test/issues/test_160.py0000644000000000000000000000760200000000000014343 0ustar00# -*- coding: utf-8 -*- # # Portions of this file contributed by NIST are governed by the following # statement: # # This software was developed at the National Institute of Standards # and Technology by employees of the Federal Government in the course # of their official duties. Pursuant to Title 17 Section 105 of the # United States Code, this software is not subject to copyright # protection within the United States. NIST assumes no responsibility # whatsoever for its use by other parties, and makes no guarantees, # expressed or implied, about its quality, reliability, or any other # characteristic. # # We would appreciate acknowledgement if the software is used. """ https://github.com/RDFLib/pySHACL/issues/160 This test demonstrates two styles of using a shape focused on a Predicate to review the class of nodes that are Subjects for that Predicate, using the sh:class constraint. shacl_file_1_text uses a NodeShape and sh:targetSubjectsOf. shacl_file_2_text uses a PropertyShape and an sh:inversePath. The motivation for these tests was to clarify how to use sh:inversePath and a sh:targetXOf selector; sh:targetSubjectsOf turns out to lead to incorrect behavior. Note that depending on the style used, sh:ValidationResults will link the "focus" node as either sh:focusNode, or sh:value. """ from typing import Set from rdflib import Graph, SH, URIRef from pyshacl import validate data_ontology_file_text = """\ @prefix ex: . @prefix kb: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of inversePath" ; . kb:thing-a-1 rdf:type ex:ThingA ; ex:propertyOfA "1" ; . kb:thing-b-1 rdf:type ex:ThingB ; ex:propertyOfA "1" ; . """ shacl_file_1_text = """\ @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex:propertyOfA-nodeshape rdf:type sh:NodeShape ; sh:class ex:ThingA ; sh:targetSubjectsOf ex:propertyOfA ; . """ shacl_file_2_text = """\ @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex:propertyOfA-propertyshape rdf:type sh:PropertyShape ; sh:class ex:ThingA ; sh:path [ sh:inversePath ex:propertyOfA ; ] ; sh:targetObjectsOf ex:propertyOfA ; . """ def _test_160_template( shacl_file_text: str, n_validation_result_property: URIRef, ) -> None: ( conforms, conformance_graph, conformance_text, ) = validate( data_ontology_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', debug=True, metashacl=True, ) assert not conforms assert isinstance(conformance_graph, Graph) # Find set of nodes expected to be foci of validation results. expected: Set[URIRef] = {URIRef("http://example.org/kb/thing-b-1")} computed: Set[URIRef] = set() for triple in conformance_graph.triples((None, n_validation_result_property, None)): assert isinstance(triple[2], URIRef) computed.add(triple[2]) assert expected == computed def test_160_1() -> None: _test_160_template(shacl_file_1_text, SH.focusNode) def test_160_2() -> None: _test_160_template(shacl_file_2_text, SH.value) pyshacl-0.30.1/test/issues/test_162.py0000644000000000000000000000347300000000000014347 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/162 """ import rdflib from pyshacl import validate shacl_file = """\ @prefix ex: . @prefix sh: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix schema: . ex:ExampleParentShape a sh:NodeShape ; sh:targetClass ex:test_class ; sh:node ex:nodeShape1, ex:nodeShape2 . ex:nodeShape1 a sh:NodeShape ; sh:property [ sh:path schema:name ; sh:class ex:test_class_1 ] . ex:nodeShape2 a sh:NodeShape ; sh:property [ sh:path schema:subOrganization ; sh:class ex:test_class_1 ] . """ data_file = """ @prefix ex: . @prefix owl: . @prefix rdf: . @prefix schema: . # define ontology ex:test_class a owl:Class . ex:test_class_1 a owl:Class . ex:test_class_2 a owl:Class . # define model ex:name_1 a ex:test_class_1 . ex:org_1 a ex:test_class_2 . # this will cause test to fail ex:test_entity a ex:test_class ; schema:name ex:name_1 ; schema:subOrganization ex:org_1 . """ def test_162() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, debug=True) assert not conforms # confirm that both nodeShapes are included in the error message assert "Value must conform to every Shape in ('ex:nodeShape1', 'ex:nodeShape2')" in message if __name__ == "__main__": test_162() pyshacl-0.30.1/test/issues/test_170.py0000644000000000000000000001643100000000000014344 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/162 """ import rdflib from pyshacl import validate shacl_file = """\ @prefix exShapes: . @prefix exOnt: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix owl: . @prefix dcat: . @prefix dcterms: . @prefix vcard: . @prefix xsd: . @prefix schema: . exShapes:Example-shape a sh:NodeShape ; sh:targetClass exOnt:Dataset ; sh:property [ a sh:PropertyShape ; sh:maxCount "1"^^xsd:integer ; sh:minCount "1"^^xsd:integer ; sh:path dcat:contactPoint ; sh:qualifiedMaxCount 1; sh:qualifiedMinCount 1; sh:qualifiedValueShape [ a sh:NodeShape ; sh:class vcard:Contact ; sh:property [ a sh:PropertyShape ; sh:maxCount 1; sh:minCount 1; sh:path vcard:hasEmail ; ] , [ a sh:PropertyShape ; sh:maxCount 1; sh:path vcard:fn ; ] ; ] ; ] . """ ont_file1 = """\ @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix dcat: . @prefix dcterms: . @prefix vcard: . @prefix xsd: . a owl:Ontology . exOnt:Dataset a owl:Class . exOnt:contact-0 a vcard:Contact , vcard:Individual , owl:NamedIndividual ; rdfs:comment "This named individual is provided as a stand-in default"@en ; vcard:fn "NOT ENCODED" ; vcard:hasEmail . exOnt:canBeNamed a owl:Class ; exOnt:mightHave exOnt:contact-0 . """ ont_file2 = """\ @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix dcat: . @prefix dcterms: . @prefix vcard: . @prefix xsd: . a owl:Ontology . exOnt:Dataset a owl:Class . exOnt:contact-0 a vcard:Contact , vcard:Individual ; rdfs:comment "This named individual is provided as a stand-in default"@en ; vcard:fn "NOT ENCODED" ; vcard:hasEmail . """ data_file = """\ @prefix ex: . @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix dcat: . @prefix schema: . ex:test_dataset a exOnt:Dataset ; dcat:contactPoint exOnt:contact-0 . """ def test_170() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file, format="turtle") ont_g = rdflib.Graph() ont_g.parse(data=ont_file1, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, ont_graph=ont_g, inference="rdfs", debug=False) assert conforms ont_g2 = rdflib.Graph() ont_g2.parse(data=ont_file2, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, ont_graph=ont_g2, inference="rdfs", debug=True) assert not conforms shacl_file_sparql_prefixes = '''# baseURI: urn:exShapes @prefix exShapes: . @prefix exOnt: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix owl: . @prefix dcat: . @prefix dcterms: . @prefix vcard: . @prefix xsd: . @prefix schema: . rdf:type owl:Ontology ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://www.w3.org/2006/vcard/ns#"^^xsd:anyURI ; sh:prefix "vcard" ; ] ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://www.w3.org/ns/dcat#"^^xsd:anyURI ; sh:prefix "dcat" ; ] ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "urn:exOnt#"^^xsd:anyURI ; sh:prefix "exOnt" ; ] ; . exShapes:Example-shape a sh:NodeShape ; sh:targetClass exOnt:Dataset ; sh:sparql [ rdfs:comment "Test using prefixes in sparql" ; sh:prefixes ; sh:select """SELECT $this WHERE { $this dcat:contactPoint ?c . FILTER NOT EXISTS { ?c vcard:fn ?fn . } }""" ; ] ; . ''' def test_170_2() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file, format="turtle") ont_g = rdflib.Graph() ont_g.parse(data=ont_file1, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file_sparql_prefixes, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, ont_graph=ont_g, inference="rdfs", debug=True) assert conforms ont_2 = rdflib.Graph() ont_2.parse(data=ont_file2, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, ont_graph=ont_2, inference="rdfs", debug=True) assert not conforms shacl_file_no_sparql_prefixes = '''# baseURI: urn:exShapes @prefix exShapes: . @prefix exOnt: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix owl: . @prefix dcat: . @prefix dcterms: . @prefix vcard: . @prefix xsd: . @prefix schema: . rdf:type owl:Ontology . exShapes:Example-shape a sh:NodeShape ; sh:targetClass exOnt:Dataset ; sh:sparql [ rdfs:comment "Test using prefixes in sparql" ; sh:select """SELECT $this WHERE { $this dcat:contactPoint ?c . FILTER NOT EXISTS { ?c vcard:fn ?fn . } }""" ; ] ; . ''' def test_170_3() -> None: # The vcard prefix does not exist in the DataFile, only in the Ontology file. # It is defacto behaviour that PySHACL now copies any unknown prefixes from the ontology file into the data file. data_g = rdflib.Graph() data_g.parse(data=data_file, format="turtle") ont_g = rdflib.Graph() ont_g.parse(data=ont_file1, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file_no_sparql_prefixes, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, ont_graph=ont_g, inference="rdfs", debug=True) assert conforms ont_2 = rdflib.Graph() ont_2.parse(data=ont_file2, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, ont_graph=ont_2, inference="rdfs", debug=True) assert not conforms if __name__ == "__main__": test_170() test_170_2() test_170_3() pyshacl-0.30.1/test/issues/test_190.py0000644000000000000000000001164200000000000014345 0ustar00# -*- coding: utf-8 -*- """ https://github.com/RDFLib/pySHACL/issues/190 """ import rdflib from pyshacl import validate from rdflib.namespace import RDF from rdflib.namespace import SH shacl_file = """\ @prefix rdf: . @prefix sh: . @prefix xsd: . @prefix rdfs: . @prefix ex: . @prefix owl: . ex:multipleSPARQLResults a sh:NodeShape ; sh:targetClass ex:Class1; sh:sparql [ a sh:SPARQLConstraint ; sh:message "{?Class2Instance} does not have a related Class3 Instance" ; sh:select ''' PREFIX rdf: PREFIX rdfs: PREFIX owl: PREFIX ex: select * where { ?this a ex:Class1 . ?Class2Instance a ex:Class2 . ?this ex:has_relation ?Class2Instance . OPTIONAL { ?Class2Instance ex:has_relation ?Class3Instance . ?Class3Instance a ex:Class3 . } FILTER (!bound(?Class3Instance)) } ''' ; ] . """ data_file1 = """\ @prefix owl: . @prefix rdf: . @prefix xml: . @prefix xsd: . @prefix rdfs: . @prefix sh: . @prefix ex: . ex:has_relation rdf:type owl:ObjectProperty . ex:Class1 rdf:type owl:Class . ex:Class2 rdf:type owl:Class . ex:Class3 rdf:type owl:Class . ex:instance1Class1 rdf:type owl:NamedIndividual , ex:Class1 ; ex:has_relation ex:instance1Class2 ; ex:has_relation ex:instance2Class2 ; ex:has_relation ex:instance3Class2 . ex:instance1Class2 rdf:type owl:NamedIndividual , ex:Class2 ; ex:has_relation ex:instance1Class3 . ex:instance2Class2 rdf:type owl:NamedIndividual , ex:Class2 . ex:instance3Class2 rdf:type owl:NamedIndividual , ex:Class2 . ex:instance1Class3 rdf:type owl:NamedIndividual , ex:Class3 . """ data_file2 = """\ @prefix owl: . @prefix rdf: . @prefix xml: . @prefix xsd: . @prefix rdfs: . @prefix sh: . @prefix ex: . ex:has_relation rdf:type owl:ObjectProperty . ex:Class1 rdf:type owl:Class . ex:Class2 rdf:type owl:Class . ex:Class3 rdf:type owl:Class . ex:instance1Class1 rdf:type owl:NamedIndividual , ex:Class1 ; ex:has_relation ex:instance1Class2 ; ex:has_relation ex:instance2Class2 ; ex:has_relation ex:instance3Class2 . ex:instance1Class2 rdf:type owl:NamedIndividual , ex:Class2 ; ex:has_relation ex:instance1Class3 . ex:instance2Class2 rdf:type owl:NamedIndividual , ex:Class2 ; ex:has_relation ex:instance2Class3 . ex:instance3Class2 rdf:type owl:NamedIndividual , ex:Class2 ; ex:has_relation ex:instance3Class3 . ex:instance1Class3 rdf:type owl:NamedIndividual , ex:Class3 . ex:instance2Class3 rdf:type owl:NamedIndividual , ex:Class3 . ex:instance3Class3 rdf:type owl:NamedIndividual , ex:Class3 . """ def test_190_1() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file1, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, debug=False) result_list = [] for s, p, o in report.triples((None, RDF.type, SH.ValidationResult)): result_list.append(s) assert len(result_list) == 2 def test_190_2() -> None: data_g = rdflib.Graph() data_g.parse(data=data_file2, format="turtle") shapes = rdflib.Graph() shapes.parse(data=shacl_file, format="turtle") conforms, report, message = validate(data_g, shacl_graph=shapes, debug=False) result_list = [] for s, p, o in report.triples((None, RDF.type, SH.ValidationResult)): result_list.append(s) assert conforms if __name__ == "__main__": test_190_1() test_190_2() pyshacl-0.30.1/test/issues/test_199.py0000644000000000000000000000277400000000000014364 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/199 """ import rdflib from rdflib.namespace import SH import pyshacl shapes_data = '''\ @prefix ex: . @prefix sh: . @prefix owl: . @prefix rdf: . ex:TestConstraintComponent a sh:ConstraintComponent ; sh:parameter [ sh:path ex:theValue ; ] ; sh:validator [ a sh:SPARQLAskValidator ; sh:message "{$this}: {$theValue}" ; sh:ask """ ASK { FILTER ($this != $this) # Always create a validation report for this constraint component }""" ; ] . ex:TestClass1 a owl:Class ; a sh:NodeShape ; ex:theValue "Literal" . ex:TestClass2 a owl:Class ; a sh:NodeShape ; ex:theValue ex:SomeURI . ex:TestClass3 a owl:Class ; a sh:NodeShape ; ex:theValue _:bnode . ''' def test_199(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse( data=""" @prefix ex: . @prefix sh: . ex:A a ex:TestClass1 . ex:B a ex:TestClass2 . ex:C a ex:TestClass3 . """, format='turtle', ) conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, ) assert not conforms assert len(list(results_graph[: SH.result])) == 3 if __name__ == "__main__": exit(test_199()) pyshacl-0.30.1/test/issues/test_213.py0000644000000000000000000000275400000000000014345 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/213 """ import rdflib import pyshacl shapes_data = '''\ @prefix ex: . @prefix rdfs: . @prefix sh: . ex:MyShape a sh:NodeShape ; sh:targetClass ex:MyFirstClass ; sh:property [ rdfs:comment "This triggers as expected."@en ; sh:path ex:myProperty ; sh:minCount 1 ; ] ; sh:property [ rdfs:comment "This does should also trigger, even when there are no myProperty values on path."@en ; sh:path ex:myProperty ; sh:qualifiedValueShape [ sh:class ex:MySecondClass ] ; sh:qualifiedMinCount 1 ; ] . ''' data_g_text = '''\ @prefix ex: . @prefix kb: . kb:MyFirstClass-instance-not-ok a ex:MyFirstClass ; . kb:MyFirstClass-instance-ok a ex:MyFirstClass ; ex:myProperty [ a ex:MySecondClass ; ] ; . ''' def test_213(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse(data=data_g_text, format="turtle") conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, meta_shacl=False, ) assert not conforms assert "QualifiedValueShapeConstraintComponent" in results_text if __name__ == "__main__": exit(test_213()) pyshacl-0.30.1/test/issues/test_217.py0000644000000000000000000000361400000000000014345 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/217 """ import sys import rdflib import pyshacl shapes_data = '''\ @prefix ex: . @prefix sh-ex: . @prefix sh: . sh-ex:ClassC-shape a sh:NodeShape ; sh:not [ a sh:NodeShape ; sh:class ex:ClassA ; ] , [ a sh:NodeShape ; sh:class ex:ClassB ; ] ; sh:targetClass ex:ClassC ; . ''' data_g_text = '''\ @prefix ex: . @prefix kb: . @prefix rdfs: . kb:Thing-1 a ex:ClassA , ex:ClassB ; rdfs:comment "This individual is consistent per OWL and should validate with SHACL."@en ; . kb:Thing-2 a ex:ClassA , ex:ClassC ; rdfs:comment "This individual is inconsistent per OWL and should not validate with SHACL."@en ; . kb:Thing-3 a ex:ClassB , ex:ClassC ; rdfs:comment "This individual is inconsistent per OWL and should not validate with SHACL."@en ; . ''' def test_217(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse(data=data_g_text, format="turtle") conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, meta_shacl=False, ) assert not conforms assert ( "Node kb:Thing-2 must not conform to shape" in results_text or "Node kb:Thing-2 must not conform to any shapes" in results_text ) and ( "Node kb:Thing-3 must not conform to shape" in results_text or "Node kb:Thing-3 must not conform to any shapes" in results_text ) if __name__ == "__main__": sys.exit(test_217()) pyshacl-0.30.1/test/issues/test_220/LICENSE.md0000644000000000000000000000351200000000000015366 0ustar00# NIST Software Licensing Statement NIST-developed software is provided by NIST as a public service. You may use, copy, and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify, and create derivative works of the software or any portion of the software, and you may copy and distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software. NIST-developed software is expressly provided "AS IS." NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED, IN FACT, OR ARISING BY OPERATION OF LAW, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, AND DATA ACCURACY. NIST NEITHER REPRESENTS NOR WARRANTS THAT THE OPERATION OF THE SOFTWARE WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT ANY DEFECTS WILL BE CORRECTED. NIST DOES NOT WARRANT OR MAKE ANY REPRESENTATIONS REGARDING THE USE OF THE SOFTWARE OR THE RESULTS THEREOF, INCLUDING BUT NOT LIMITED TO THE CORRECTNESS, ACCURACY, RELIABILITY, OR USEFULNESS OF THE SOFTWARE. You are solely responsible for determining the appropriateness of using and distributing the software and you assume all risks associated with its use, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and the unavailability or interruption of operation. This software is not intended to be used in any situation where a failure could cause risk of injury or damage to property. The software developed by NIST employees is not subject to copyright protection within the United States. pyshacl-0.30.1/test/issues/test_220/__init__.py0000644000000000000000000000170400000000000016074 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/220 """ from pyshacl import validate from pyshacl.rdfutil import load_from_source data_graph1 = load_from_source("./test/issues/test_220/kb-REPRODUCTION-1.ttl") shacl_graph1 = load_from_source("./test/issues/test_220/sh-REPRODUCTION-1.ttl") data_graph2 = load_from_source("./test/issues/test_220/kb-REPRODUCTION-2.ttl") shacl_graph2 = load_from_source("./test/issues/test_220/sh-REPRODUCTION-2.ttl") ont_graph = load_from_source("./test/issues/test_220/owl-REPRODUCTION.ttl") def test_220_1(): conforms, g, s = validate(data_graph=data_graph1, shacl_graph=shacl_graph1, ont_graph=ont_graph, inference='none') assert conforms def test_220_2(): conforms, g, s = validate(data_graph=data_graph2, shacl_graph=shacl_graph2, ont_graph=ont_graph, inference='none') assert not conforms assert "Results (2)" in s if __name__ == "__main__": test_220_1() test_220_2() pyshacl-0.30.1/test/issues/test_220/kb-REPRODUCTION-1.ttl0000644000000000000000000000063700000000000017161 0ustar00@prefix ex: . @prefix kb: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . kb:thing-PASS-2 a ex:ThingC , ex:ThingE ; rdfs:comment "This should raise no validation results."@en ; . pyshacl-0.30.1/test/issues/test_220/kb-REPRODUCTION-2.ttl0000644000000000000000000000170000000000000017152 0ustar00@prefix ex: . @prefix kb: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . kb:thing-PASS-1 a ex:ThingA ; rdfs:comment "This should raise no validation results."@en ; . kb:thing-PASS-2 a ex:ThingC , ex:ThingE ; rdfs:comment "This should raise no validation results."@en ; . kb:thing-XFAIL-1 a ex:OneXorThing ; rdfs:comment "This should raise a validation result, due to not being more specifically a ThingA or ThingB as the SHACL requires when reviewing the OWL disjoint union definition of OneXorThing."@en ; . kb:thing-XFAIL-2 a ex:ThingC ; rdfs:comment "This should raise a validation result, due to not being a ThingE or ThingF as the SHACL requires when reviewing the entailed superclass TwoXorThing."@en ; . pyshacl-0.30.1/test/issues/test_220/owl-REPRODUCTION.ttl0000644000000000000000000000201200000000000017215 0ustar00@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . ex:OneXorThing a owl:Class ; owl:disjointUnionOf ( ex:ThingA ex:ThingB ) ; . ex:ThingA a owl:Class ; rdfs:subClassOf ex:OneXorThing ; owl:disjointWith ex:ThingB ; . ex:ThingB a owl:Class ; rdfs:subClassOf ex:OneXorThing ; owl:disjointWith ex:ThingA ; . ex:ThingC a owl:Class ; rdfs:subClassOf ex:TwoXorThing ; owl:disjointWith ex:ThingD ; . ex:ThingD a owl:Class ; rdfs:subClassOf ex:TwoXorThing ; owl:disjointWith ex:ThingC ; . ex:ThingE a owl:Class ; rdfs:subClassOf ex:TwoXorThing ; owl:disjointWith ex:ThingF ; . ex:ThingF a owl:Class ; rdfs:subClassOf ex:TwoXorThing ; owl:disjointWith ex:ThingE ; . ex:TwoXorThing a owl:Class ; owl:disjointUnionOf ( ex:ThingC ex:ThingD ) , ( ex:ThingE ex:ThingF ) ; . pyshacl-0.30.1/test/issues/test_220/sh-REPRODUCTION-1.ttl0000644000000000000000000000125500000000000017174 0ustar00@prefix ex: . @prefix sh: . @prefix sh-ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . sh-ex:TwoXorThing-shape a sh:NodeShape ; sh:targetClass ex:TwoXorThing ; sh:xone ( [ a sh:NodeShape ; sh:class ex:ThingC ; ] [ a sh:NodeShape ; sh:class ex:ThingD ; ] ) , ( [ a sh:NodeShape ; sh:class ex:ThingE ; ] [ a sh:NodeShape ; sh:class ex:ThingF ; ] ) ; . pyshacl-0.30.1/test/issues/test_220/sh-REPRODUCTION-2.ttl0000644000000000000000000000156400000000000017200 0ustar00@prefix ex: . @prefix sh: . @prefix sh-ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . sh-ex:OneXorThing-shape a sh:NodeShape ; sh:targetClass ex:OneXorThing ; sh:xone ( [ a sh:NodeShape ; sh:class ex:ThingA ; ] [ a sh:NodeShape ; sh:class ex:ThingB ; ] ) ; . sh-ex:TwoXorThing-shape a sh:NodeShape ; sh:targetClass ex:TwoXorThing ; sh:xone ( [ a sh:NodeShape ; sh:class ex:ThingC ; ] [ a sh:NodeShape ; sh:class ex:ThingD ; ] ) , ( [ a sh:NodeShape ; sh:class ex:ThingE ; ] [ a sh:NodeShape ; sh:class ex:ThingF ; ] ) ; . pyshacl-0.30.1/test/issues/test_227.py0000644000000000000000000000417600000000000014352 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/227 """ import sys import rdflib import pyshacl shapes_data = '''\ @prefix ex-sh-rl: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex-sh-rl:bothOrsAtOnce a sh:NodeShape ; sh:targetClass rdfs:Class ; sh:message "Wrong because neither object of sh:class or subject of sh:property" ; sh:or ( [ sh:path ( [ sh:inversePath [ sh:zeroOrMorePath rdfs:subClassOf ] ] sh:property ) ; sh:minCount 1 ; ] [ sh:path ( [ sh:inversePath [ sh:zeroOrMorePath rdfs:subClassOf ] ] [sh:inversePath sh:class ] ) ; sh:minCount 1 ; ] ) . ex-sh-rl:Or1 a sh:NodeShape ; sh:targetClass rdfs:Class ; sh:message "Wrong because not subject sh:property" ; sh:property [ sh:path ( [ sh:inversePath [ sh:zeroOrMorePath rdfs:subClassOf ] ] sh:property ) ; sh:minCount 1 ; ]. ex-sh-rl:Or2 a sh:NodeShape ; sh:targetClass rdfs:Class ; sh:message "Wrong because not object of sh:class" ; sh:property [ sh:path ( [ sh:inversePath [ sh:zeroOrMorePath rdfs:subClassOf ] ] [sh:inversePath sh:class ] ) ; sh:minCount 1 ; ] . ''' data_g_text = '''\ @prefix ex-sh-rl: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex-sh-rl:CorrectSuperClass a rdfs:Class. ex-sh-rl:CorrectClass a rdfs:Class ; rdfs:subClassOf ex-sh-rl:CorrectSuperClass. ex-sh-rl:something sh:class ex-sh-rl:CorrectClass. ex-sh-rl:WrongClass a rdfs:Class . ''' def test_227(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse(data=data_g_text, format="turtle") conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, inference='none', advanced=False, meta_shacl=False, ) assert not conforms if __name__ == "__main__": sys.exit(test_227()) pyshacl-0.30.1/test/issues/test_240.py0000644000000000000000000000521400000000000014337 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/240 """ import sys import rdflib import pyshacl shapes_data = '''\ @prefix dash: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix sh: . @prefix xsd: . @prefix ex: . schema:PersonShape a sh:NodeShape ; sh:targetClass schema:Family; sh:property schema:family-familyname. schema:family-familyname rdf:type sh:PropertyShape ; sh:path schema:CorrectfamilyName ; sh:name "familyname" ; sh:sparql schema:onefamilyname ; sh:nodeKind sh:Literal . schema:onefamilyname rdfs:label "onefamilyname " ; rdf:type sh:SPARQLConstraint ; sh:message "{?this} {?person}" ; sh:select """prefix dash: prefix rdf: prefix rdfs: prefix schema: prefix sh: prefix xsd: prefix ex: SELECT ?this ?person WHERE { ?this a schema:Family. ?person schema:family ?this. }""" . ''' data_g_text = '''\ @prefix ex: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix xsd: . ex:Bob a schema:Person ; schema:givenName "Robert" ; schema:familyName "Junior" ; schema:family ex:JuniorFamily . ex:Molly a schema:Person ; schema:givenName "Molly" ; schema:familyName "Junior2" ; schema:family ex:JuniorFamily . ex:John a schema:Person ; schema:givenName "John" ; schema:familyName "Junior3" ; schema:family ex:JuniorFamily . ex:JuniorFamily a schema:Family; schema:CorrectfamilyName "Junior" . ''' def test_240(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse(data=data_g_text, format="turtle") conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, inference='none', advanced=True, meta_shacl=False, ) assert not conforms assert "Results (3)" in results_text if __name__ == "__main__": sys.exit(test_240()) pyshacl-0.30.1/test/issues/test_281/data.ttl0000644000000000000000000000034600000000000015431 0ustar00@prefix ex: . @prefix schema: . ex:exampleSoftware a schema:SoftwareSourceCode ; schema:codeRepository "https://gitea.example.com/example/example-software.git"^^schema:URL ; . pyshacl-0.30.1/test/issues/test_281/policies/gitlab-policy.ttl0000644000000000000000000000101300000000000021056 0ustar00@prefix ex: . @prefix schema: . @prefix sh: . ex:hostingOnGitLabRequired a sh:NodeShape ; sh:targetClass schema:SoftwareSourceCode ; sh:property [ sh:name "Hosted on Example GitLab" ; sh:description "Example GitLab must be used to host the repository." ; sh:path schema:codeRepository ; sh:datatype schema:URL ; sh:pattern "^https://gitlab.example.com/.*" ; sh:minCount 1 ; ] ; . pyshacl-0.30.1/test/issues/test_281/policies.ttl0000644000000000000000000000023400000000000016323 0ustar00@prefix owl: . @prefix rdf: . <> owl:imports . pyshacl-0.30.1/test/issues/test_281/test_281.py0000644000000000000000000000232700000000000015717 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/281 """ import sys import rdflib import pyshacl # Tests are always run from project root, even nested issues tests. BASE_DIR = "./test/issues/test_281" def test_281_a(): conforms, results_graph, results_text = pyshacl.validate( f"file:{BASE_DIR}/data.ttl", shacl_graph=f"file:{BASE_DIR}/policies.ttl", debug=True, inference='none', advanced=False, meta_shacl=False, do_owl_imports=True, ) assert not conforms def test_281_b(): from pyshacl.rdfutil.load import load_from_source with open(f"{BASE_DIR}/data.ttl") as data_f: data_g = load_from_source(data_f, rdf_format="turtle", do_owl_imports=False) with open(f"{BASE_DIR}/policies.ttl") as policy_f: policy_g = load_from_source(policy_f, rdf_format="turtle", do_owl_imports=True) conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=policy_g, debug=True, inference='none', advanced=False, meta_shacl=False, do_owl_imports=True, ) assert not conforms if __name__ == "__main__": test_281_a() sys.exit(test_281_b()) pyshacl-0.30.1/test/issues/test_286.py0000644000000000000000000000440300000000000014350 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/286 """ import sys import rdflib import pyshacl shapes_data = '''\ @prefix sh: . @prefix gx: . @prefix xsd: . gx:LicenseShape a sh:NodeShape ; sh:property [ sh:path gx:license ; sh:datatype xsd:string ; sh:in ("0BSD" "AAL" "EPL-2.0") ; ] ; sh:targetClass gx:License . ''' data_shapes_in_xsd_string = '''\ @prefix sh: . @prefix gx: . @prefix xsd: . gx:LicenseShape a sh:NodeShape ; sh:property [ sh:path gx:license ; sh:datatype xsd:string ; sh:in ("0BSD"^^xsd:string "AAL"^^xsd:string "EPL-2.0"^^xsd:string) ; ] ; sh:targetClass gx:License . ''' data_g_text = '''\ { "@context": { "gx": "https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@type": "gx:License", "gx:license": { "@value": "EPL-2.0", "@type": "xsd:string" } } ''' def test_286_a(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse(data=data_g_text, format="json-ld") conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, inference='none', advanced=False, meta_shacl=False, ) assert not conforms assert "Results (1)" in results_text def test_286_b(): shape_g = rdflib.Graph().parse(data=data_shapes_in_xsd_string, format='turtle') data_g = rdflib.Graph().parse(data=data_g_text, format="json-ld") conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=True, inference='none', advanced=False, meta_shacl=False, ) assert conforms if __name__ == "__main__": test_286_b() sys.exit(test_286_b()) pyshacl-0.30.1/test/issues/test_96.py0000644000000000000000000000173000000000000014267 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/96 """ from pyshacl import validate mixed_file_text = """ @prefix sh: . @prefix rdf: . @prefix owl: . @prefix rdfs: . @prefix : . :Class0 a owl:Class . :Class1 a owl:Class ; rdfs:subClassOf :Class0 . :Class2 a owl:Class ; rdfs:subClassOf :Class1 . :Class3 a owl:Class ; rdfs:subClassOf :Class2 . :prop a owl:DatatypeProperty . :shape a sh:NodeShape ; sh:targetClass :Class0 ; sh:property [ sh:path :prop ; sh:hasValue "test" ; sh:minCount 1 ; ] . :s2 a :Class2 ; :prop "fail" . :s3 a :Class3 ; :prop "fail" . """ def test_96(): res1 = validate(mixed_file_text, data_graph_format='turtle', shacl_graph_format='turtle', debug=True) conforms, _, _ = res1 assert not conforms pyshacl-0.30.1/test/issues/test_w3_list1.py0000644000000000000000000000325500000000000015502 0ustar00# -*- coding: utf-8 -*- # """ https://github.com/RDFLib/pySHACL/issues/79 """ import rdflib import pyshacl shapes_data = """\ @prefix ex: . @prefix sh: . @prefix owl: . @prefix rdf: . @prefix rdfs: . ex:ParentTypeRestriction a sh:NodeShape ; sh:targetClass ex:Cls1 ; sh:property [ sh:path ex:parent ; sh:minCount 1 ; sh:maxCount 1 ; sh:property [ sh:path ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ] ) ; sh:minCount 1 ; sh:qualifiedMinCount 1 ; sh:qualifiedMaxCount 1 ; sh:qualifiedValueShape [ sh:or ( [ sh:hasValue ex:P_cls1 ] [ sh:hasValue ex:P_cls2 ] [ sh:hasValue ex:P_cls3 ] ) ] ; sh:not [ sh:in ( ex:P_clsInvalid_a ex:P_clsInvalid_b ) ] ; ] ; sh:message "parent type for ex:Cls1 is not in x:P_cls{1, 2, 3}" ; ] ; . """ # rdf:type/rdfs:subClassOf* target_data = """\ @prefix ex: . @prefix owl: . @prefix rdf: . ex:Child1 a ex:Cls1 ; ex:parent ex:Parent1 ; . ex:Parent1 a ex:P_cls1, ex:P_cls4 ; . """ def test_w3_list1(): shape_g = rdflib.Graph().parse(data=shapes_data, format='turtle') data_g = rdflib.Graph().parse(data=target_data, format='turtle') conforms, results_graph, results_text = pyshacl.validate( data_g, shacl_graph=shape_g, debug=False, ) print(results_text) assert conforms if __name__ == "__main__": exit(test_w3_list1()) pyshacl-0.30.1/test/resources/cmdline_tests/d1.jsonld0000644000000000000000000000110100000000000017463 0ustar00{ "@context": { "ex": "http://example.com/ex#", "exOnt": "http://example.com/exOnt#", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", "xsd": "http://www.w3.org/2001/XMLSchema#" }, "@graph": [ { "@id": "ex:Pet1", "@type": "exOnt:Lizard", "exOnt:nLegs": 4, "rdf:label": "Sebastian" }, { "@id": "ex:Human1", "@type": "exOnt:Human", "exOnt:hasPet": { "@id": "ex:Pet1" }, "exOnt:nLegs": 2, "rdf:label": "Amy" } ] } pyshacl-0.30.1/test/resources/cmdline_tests/d1.ttl0000644000000000000000000000063200000000000017005 0ustar00@prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:Human ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet1 . ex:Pet1 rdf:type exOnt:Lizard ; rdf:label "Sebastian" ; exOnt:nLegs "4"^^xsd:integer . pyshacl-0.30.1/test/resources/cmdline_tests/d2.ttl0000644000000000000000000000065100000000000017007 0ustar00@prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:Human ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Sebastian"^^xsd:string . ex:Pet1 rdf:type exOnt:Lizard ; rdf:label "Sebastian" ; exOnt:nLegs "g"^^xsd:string . pyshacl-0.30.1/test/resources/cmdline_tests/o1.ttl0000644000000000000000000000165000000000000017021 0ustar00@prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . exOnt:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf exOnt:Animal . exOnt:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf exOnt:Animal . exOnt:hasPet a rdf:Property ; rdfs:domain exOnt:Human ; rdfs:range exOnt:Pet . exOnt:nLegs a rdf:Property ; rdfs:domain exOnt:Animal ; rdfs:range exOnt:integer . exOnt:Lizard a rdfs:Class ; rdfs:subClassOf exOnt:Pet . pyshacl-0.30.1/test/resources/cmdline_tests/rules_d.ttl0000644000000000000000000000114400000000000020135 0ustar00# prefix: ex @prefix ex: . @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . ex:Kate rdf:type exOnt:Person ; exOnt:firstName "Kate" ; exOnt:lastName "Jones" ; . ex:Jenny rdf:type exOnt:Administrator ; exOnt:firstName "Jennifer" ; exOnt:lastName "Wolfeschlegelsteinhausenbergerdorff" ; . pyshacl-0.30.1/test/resources/cmdline_tests/rules_s.ttl0000644000000000000000000000517200000000000020161 0ustar00# prefix: ex @prefix ex: . @prefix exOnt: . @prefix exData: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of SHACL Rules expander mode" ; . ex:concat a sh:SPARQLFunction ; rdfs:comment "Concatenates strings $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The first string" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:string ; sh:description "The second string" ; ] ; sh:returnType xsd:string ; sh:select """ SELECT ?result WHERE { BIND(CONCAT(STR(?op1),STR(?op2)) AS ?result) . } """ . ex:strlen a sh:SPARQLFunction ; rdfs:comment "Returns length of the given string." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The string" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ?result WHERE { BIND(STRLEN(?op1) AS ?result) . } """ . ex:lessThan a sh:SPARQLFunction ; rdfs:comment "Returns True if op1 < op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first int" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second int" ; ] ; sh:returnType xsd:boolean ; sh:select """ SELECT ?result WHERE { BIND(IF(?op1 < ?op2, true, false) AS ?result) . } """ . ex:PersonExpressionShape a sh:NodeShape ; sh:targetClass exOnt:Person ; sh:expression [ sh:message "Person's firstName and lastName together should be less than 35 chars long." ; ex:lessThan ( [ ex:strlen ( [ ex:concat ( [ sh:path exOnt:firstName] [ sh:path exOnt:lastName ] ) ] ) ] 35 ); ] . ex:PersonRuleShape a sh:NodeShape ; sh:targetClass exOnt:Administrator ; sh:message "An administrator is a person too." ; sh:rule [ a sh:TripleRule ; sh:subject sh:this ; sh:predicate rdf:type ; sh:object exOnt:Person ; ] . pyshacl-0.30.1/test/resources/cmdline_tests/s1.ttl0000644000000000000000000000170300000000000017024 0ustar00@prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:HumanShape a sh:NodeShape ; sh:property [ sh:class exOnt:Pet ; sh:path exOnt:hasPet ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass exOnt:Human . exShape:AnimalShape a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; ] ; sh:targetClass exOnt:Animal . pyshacl-0.30.1/test/resources/dash_tests/core/complex/personexample.test.ttl0000644000000000000000000000567700000000000024262 0ustar00# baseURI: http://datashapes.org/sh/tests/core/complex/personexample.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of personexample" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:Alice rdf:type ex:Person ; ex:ssn "987-65-432A" ; . ex:Bob rdf:type ex:Person ; ex:ssn "123-45-6789" ; ex:ssn "124-35-6789" ; . ex:Calvin rdf:type ex:Person ; ex:birthDate "1999-09-09"^^xsd:date ; ex:worksFor ex:UntypedCompany ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Alice ; sh:resultPath ex:ssn ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape _:b1 ; sh:value "987-65-432A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Bob ; sh:resultPath ex:ssn ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape _:b1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Calvin ; sh:resultPath ex:birthDate ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:value "1999-09-09"^^xsd:date ; sh:sourceShape ex:PersonShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Calvin ; sh:resultPath ex:worksFor ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape _:b2 ; sh:value ex:UntypedCompany ; ] ; ] ; . ex:PersonShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:ignoredProperties ( rdf:type ) ; sh:property _:b1 ; sh:property _:b2 ; sh:property [ sh:path [ sh:inversePath ex:worksFor ; ] ; sh:name "employee" ; ] ; sh:targetClass ex:Person ; . _:b1 sh:path ex:ssn ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:pattern "^\\d{3}-\\d{2}-\\d{4}$" ; sh:message "SSN must be 3 digits - 2 digits - 4 digits." . _:b2 sh:path ex:worksFor ; sh:class ex:Company ; sh:nodeKind sh:IRI .pyshacl-0.30.1/test/resources/dash_tests/core/misc/deactivated-001.test.ttl0000644000000000000000000000232100000000000023416 0ustar00# baseURI: http://datashapes.org/sh/tests/core/misc/deactivated-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of deactivated-001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "true"^^xsd:boolean ; ] ; . ex:InvalidResource rdf:type rdfs:Resource ; . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:boolean ; sh:deactivated "true"^^xsd:boolean ; sh:property ex:TestShape2 ; sh:targetNode ex:InvalidResource ; . ex:TestShape2 rdf:type sh:PropertyShape ; sh:path ex:property ; sh:minCount 1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/misc/deactivated-002.test.ttl0000644000000000000000000000246300000000000023426 0ustar00# baseURI: http://datashapes.org/sh/tests/core/misc/deactivated-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of deactivated-002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 32 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 32 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:boolean ; sh:deactivated "false"^^xsd:boolean ; sh:targetNode 32 ; . pyshacl-0.30.1/test/resources/dash_tests/core/misc/severity-001.test.ttl0000644000000000000000000000236500000000000023023 0ustar00# baseURI: http://datashapes.org/sh/tests/core/misc/severity-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:severity 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Warning ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:integer ; sh:severity sh:Warning ; sh:targetNode "Hello" ; . pyshacl-0.30.1/test/resources/dash_tests/core/misc/severity-002.test.ttl0000644000000000000000000000342600000000000023023 0ustar00# baseURI: http://datashapes.org/sh/tests/core/misc/severity-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:severity 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Info ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape2 ; sh:value "true"^^xsd:boolean ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity ex:MySeverity ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape ex:TestShape1 ; sh:value ex:InvalidResource1 ; ] ; ] ; . ex:InvalidResource1 ex:property "true"^^xsd:boolean ; . ex:TestShape1 sh:nodeKind sh:BlankNode ; sh:property ex:TestShape2 ; sh:severity ex:MySeverity ; sh:targetNode ex:InvalidResource1 ; . ex:TestShape2 sh:path ex:property ; sh:datatype xsd:integer ; sh:severity sh:Info ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/and-001.test.ttl0000644000000000000000000000374500000000000021710 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/and-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:and at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:Rectangle ; sh:value ex:InvalidRectangle1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:Rectangle ; sh:value ex:InvalidRectangle2 ; ] ; ] ; . ex:InvalidRectangle1 rdf:type ex:Rectangle ; ex:height 3 ; . ex:InvalidRectangle2 rdf:type ex:Rectangle ; ex:width 2 ; . ex:Rectangle rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:subClassOf rdfs:Resource ; sh:and ( [ sh:property [ sh:path ex:width ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:height ; sh:minCount 1 ; ] ; ] ) ; . ex:ValidRectangle1 rdf:type ex:Rectangle ; ex:height 3 ; ex:width 2 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/and-002.test.ttl0000644000000000000000000000400100000000000021673 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/and-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:and at node shape 002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:AndShape rdf:type sh:NodeShape ; sh:and ( ex:SuperShape [ sh:property [ sh:path ex:property ; sh:maxCount 1 ; ] ; ] ) ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:InvalidInstance2 ; sh:targetNode ex:ValidInstance1 ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AndShape ; sh:value ex:InvalidInstance1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AndShape ; sh:value ex:InvalidInstance2 ; ] ; ] ; . ex:InvalidInstance2 ex:property "One" ; ex:property "Two" ; . ex:SuperShape rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 1 ; ] ; . ex:ValidInstance1 ex:property "One" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/class-001.test.ttl0000644000000000000000000000351600000000000022247 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/class-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:class at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Quokki ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Quokki ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Typeless ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Typeless ; ] ; ] ; . ex:John rdf:type ex:MalePerson ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:subClassOf ex:Person ; . ex:Person rdf:type rdfs:Class ; rdfs:subClassOf rdfs:Resource ; . ex:Quokki rdf:type ex:Animal ; . ex:Someone rdf:type ex:Person ; . ex:TestShape rdf:type sh:NodeShape ; sh:class ex:Person ; sh:targetNode ex:John ; sh:targetNode ex:Quokki ; sh:targetNode ex:Someone ; sh:targetNode ex:Typeless ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/class-002.test.ttl0000644000000000000000000000331100000000000022241 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/class-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:class at node shape 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "String" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9751 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9751 ; ] ; ] ; . ex:NamedInstance rdf:type ex:TestClass ; . ex:TestShape rdf:type sh:NodeShape ; sh:class ex:TestClass ; sh:targetClass ex:BNodeClass ; sh:targetNode ex:NamedInstance ; sh:targetNode "String" ; . _:b9751 rdf:type ex:BNodeClass ; . [ rdf:type ex:BNodeClass ; rdf:type ex:TestClass ; ]. pyshacl-0.30.1/test/resources/dash_tests/core/node/closed-001.test.ttl0000644000000000000000000000360700000000000022414 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/closed-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:closed at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath rdf:type ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:MyShape ; sh:value ex:SomeClass ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:otherProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:MyShape ; sh:value 4 ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:SomeClass ; ex:otherProperty 4 ; ex:someProperty 3 ; . ex:MyShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:property [ sh:path ex:someProperty ; ] ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; . ex:ValidInstance1 ex:someProperty 3 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/closed-002.test.ttl0000644000000000000000000000314700000000000022414 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/closed-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:closed at node shape 002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:otherProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:MyShape ; sh:value 4 ; ] ; ] ; . ex:InvalidInstance1 ex:otherProperty 4 ; ex:someProperty 3 ; . ex:MyShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:path ex:someProperty ; ] ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; . ex:ValidInstance1 rdf:type ex:SomeClass ; ex:someProperty 3 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/datatype-001.test.ttl0000644000000000000000000000371500000000000022756 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/datatype-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:datatype at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode xsd:integer ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value xsd:integer ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "aldi"^^xsd:integer ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "aldi"^^xsd:integer ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:integer ; sh:targetNode xsd:integer ; sh:targetNode 42 ; sh:targetNode "aldi"^^xsd:integer ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/datatype-002.test.ttl0000644000000000000000000000325100000000000022752 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/datatype-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:datatype at node shape 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello"^^rdf:HTML ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello"^^rdf:HTML ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:datatype rdf:langString ; sh:targetNode "Hello"^^rdf:HTML ; sh:targetNode "G'day"@en-AU ; sh:targetNode "Hallo"@de ; sh:targetNode "Hello" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/disjoint-001.test.ttl0000644000000000000000000000302700000000000022762 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/disjoint-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:disjoint at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DisjointConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; . ex:InvalidResource1 ex:property ex:InvalidResource1 ; ex:property ex:ValidResource1 ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:disjoint ex:property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:property ex:InvalidResource1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/equals-001.test.ttl0000644000000000000000000000347500000000000022440 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/equals-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:equals at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:SomeValue ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource2 ; ] ; ] ; . ex:InvalidResource1 ex:property ex:InvalidResource1 ; ex:property ex:SomeValue ; . ex:TestShape rdf:type sh:NodeShape ; sh:equals ex:property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:property ex:ValidResource1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/hasValue-001.test.ttl0000644000000000000000000000250200000000000022704 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/hasValue-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:hasValue at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Invalid String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:TestShape ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:hasValue "Test" ; sh:targetNode "Invalid String" ; sh:targetNode "Test" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/in-001.test.ttl0000644000000000000000000000312600000000000021545 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/in-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:in at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidInstance ; ] ; ] ; . ex:Green rdf:type ex:TestShape ; rdfs:label "Green" ; . ex:InvalidInstance rdf:type ex:TestShape ; rdfs:label "Invalid instance" ; . ex:Red rdf:type ex:TestShape ; rdfs:label "Red" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:in ( ex:Green ex:Red ex:Yellow ) ; . ex:Yellow rdf:type ex:TestShape ; rdfs:label "Yellow" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/languageIn-001.test.ttl0000644000000000000000000000402100000000000023204 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/languageIn-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:languageIn at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode rdfs:Resource ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value rdfs:Resource ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Deutsch"@de ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Deutsch"@de ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Plain String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Plain String" ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:languageIn ( "en" "fr" ) ; sh:targetNode rdfs:Resource ; sh:targetNode "Deutsch"@de ; sh:targetNode "English"@en ; sh:targetNode "Francais"@fr ; sh:targetNode "Plain String" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/maxExclusive-001.test.ttl0000644000000000000000000000550400000000000023616 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/maxExclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxExclusive at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.0 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.0 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:maxExclusive 4 ; sh:targetNode ex:John ; sh:targetNode 3.9 ; sh:targetNode 4 ; sh:targetNode 4.0 ; sh:targetNode 4.1 ; sh:targetNode "Hello" ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/maxInclusive-001.test.ttl0000644000000000000000000000442000000000000023604 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/maxInclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxInclusive at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:maxInclusive 4 ; sh:targetNode ex:John ; sh:targetNode 3.9 ; sh:targetNode 4 ; sh:targetNode 4.0 ; sh:targetNode 4.1 ; sh:targetNode "Hello" ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/maxLength-001.test.ttl0000644000000000000000000000526500000000000023074 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/maxLength-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxLength at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 12345 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 12345 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2017-03-29"^^xsd:date ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "2017-03-29"^^xsd:date ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:maxLength 4 ; sh:targetNode ; sh:targetNode ex:John ; sh:targetNode 123 ; sh:targetNode 1234 ; sh:targetNode 12345 ; sh:targetNode "2017-03-29"^^xsd:date ; sh:targetNode "Hel" ; sh:targetNode "Hell" ; sh:targetNode "Hell"@en ; sh:targetNode "Hello" ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/minExclusive-001.test.ttl0000644000000000000000000000550400000000000023614 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/minExclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minExclusive at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 3.9 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 3.9 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.0 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.0 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:minExclusive 4 ; sh:targetNode ex:John ; sh:targetNode 3.9 ; sh:targetNode 4 ; sh:targetNode 4.0 ; sh:targetNode 4.1 ; sh:targetNode "Hello" ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/minInclusive-001.test.ttl0000644000000000000000000000250300000000000023602 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/minInclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minInclusive at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 7 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 7 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:minInclusive 8 ; sh:targetNode 7 ; sh:targetNode 8 ; sh:targetNode 9 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/minLength-001.test.ttl0000644000000000000000000000455200000000000023070 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/minLength-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minLength at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 123 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 123 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hel" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hel" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:minLength 4 ; sh:targetNode ; sh:targetNode ex:John ; sh:targetNode 123 ; sh:targetNode 1234 ; sh:targetNode 12345 ; sh:targetNode "2017-03-29"^^xsd:date ; sh:targetNode "Hel" ; sh:targetNode "Hell" ; sh:targetNode "Hell"@en ; sh:targetNode "Hello" ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/node-001.test.ttl0000644000000000000000000000277000000000000022070 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/node-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:node at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeConstraintComponent ; sh:sourceShape ex:TestClass ; sh:value ex:InvalidInstance ; ] ; ] ; . ex:InvalidInstance rdf:type ex:TestClass ; rdfs:label "Invalid instance" ; . ex:TestClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test class" ; rdfs:subClassOf rdfs:Resource ; sh:node [ sh:class ex:OtherClass ; ] ; . ex:ValidInstance rdf:type ex:OtherClass ; rdf:type ex:TestClass ; rdfs:label "Valid instance" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/nodeKind-001.test.ttl0000644000000000000000000000253600000000000022676 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/nodeKind-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:nodeKind at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "true"^^xsd:boolean ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape ex:IRITestShape ; sh:value "true"^^xsd:boolean ; ] ; ] ; . ex:IRITestShape rdf:type sh:NodeShape ; sh:nodeKind sh:IRI ; sh:targetNode ex:John ; sh:targetNode "true"^^xsd:boolean ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/not-001.test.ttl0000644000000000000000000000311400000000000021734 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/not-001 # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:not at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NotConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:property "some value" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; rdfs:subClassOf rdfs:Resource ; sh:not [ rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 1 ; ] ; ] ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 rdf:type rdfs:Resource ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/not-002.test.ttl0000644000000000000000000000277400000000000021750 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/not-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:not at node shape 002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NotConstraintComponent ; sh:sourceShape ex:NotExampleShape ; sh:value ex:InvalidInstance1 ; ] ; ] ; . ex:InvalidInstance1 ex:property "Some value" ; . ex:NotExampleShape rdf:type sh:NodeShape ; sh:not [ rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 1 ; ] ; ] ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/or-001.test.ttl0000644000000000000000000000451300000000000021560 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/or-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:or at node shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:RectangleWithArea ; sh:value ex:InvalidRectangle1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:RectangleWithArea ; sh:value ex:InvalidRectangle2 ; ] ; ] ; . ex:InvalidRectangle1 rdf:type ex:RectangleWithArea ; ex:height 3 ; . ex:InvalidRectangle2 rdf:type ex:RectangleWithArea ; . ex:RectangleWithArea rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:subClassOf rdfs:Resource ; sh:or ( [ sh:property [ sh:path ex:height ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:width ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:area ; sh:minCount 1 ; ] ; ] ) ; . ex:ValidRectangle1 rdf:type ex:RectangleWithArea ; ex:height 3 ; ex:width 2 ; . ex:ValidRectangle2 rdf:type ex:RectangleWithArea ; ex:area 6 ; ex:height 3 ; ex:width 2 ; . ex:ValidRectangle3 rdf:type ex:RectangleWithArea ; ex:area 6 ; ex:height 3 ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/pattern-001.test.ttl0000644000000000000000000000441700000000000022620 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/pattern-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:pattern at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Test ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Test ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 9 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 9 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "John" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "John" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9649 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9649 ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:pattern "^[2-8][0-9]*$" ; sh:targetNode ex:Test ; sh:targetNode 20000123 ; sh:targetNode "3456" ; sh:targetNode 39 ; sh:targetNode "777777"@mi ; sh:targetNode 9 ; sh:targetNode "John" ; sh:targetClass ex:TestClass ; . _:b9649 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/pattern-002.test.ttl0000644000000000000000000000252400000000000022616 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/pattern-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:pattern at node shape 002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Alti" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Alti" ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:flags "i" ; sh:pattern "Aldi" ; sh:targetNode "Aldi" ; sh:targetNode "Alti" ; sh:targetNode "aLdI" ; . pyshacl-0.30.1/test/resources/dash_tests/core/node/xone-001.test.ttl0000644000000000000000000000347200000000000022114 0ustar00# baseURI: http://datashapes.org/sh/tests/core/node/xone-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:xone at node shape 001" ; owl:imports ; . ex:Bob rdf:type ex:Person ; ex:firstName "Robert" ; ex:lastName "Coin" ; . ex:Carla rdf:type ex:Person ; ex:fullName "Carla Miller" ; . ex:Dory rdf:type ex:Person ; ex:firstName "Dory" ; ex:fullName "Dory Dunce" ; ex:lastName "Dunce" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Dory ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:XoneConstraintComponent ; sh:sourceShape ex:XoneConstraintExampleShape ; sh:value ex:Dory ; ] ; ] ; . ex:XoneConstraintExampleShape rdf:type sh:NodeShape ; sh:targetClass ex:Person ; sh:xone ( [ sh:property [ sh:path ex:fullName ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:firstName ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:lastName ; sh:minCount 1 ; ] ; ] ) ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-alternative-001.test.ttl0000644000000000000000000000451100000000000024415 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-alternative-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sh:alternativePath 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:alternativePath ( ex:property1 ex:property2 ) ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath [ sh:alternativePath ( ex:property1 ex:property2 ) ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource1 ex:property1 "One" ; ex:property3 "Three" ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:alternativePath ( ex:property1 ex:property2 ) ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; sh:targetNode ex:ValidResource3 ; . ex:ValidResource1 ex:property1 "One" ; ex:property1 "Two" ; . ex:ValidResource2 ex:property1 "One" ; ex:property2 "Two" ; . ex:ValidResource3 ex:property2 "One" ; ex:property2 "Two" ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-complex-001.test.ttl0000644000000000000000000000457300000000000023556 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-complex-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path complex (rdf:type/rdfs:subClassOf*) 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ; ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ; ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource rdf:type ex:Animal ; rdfs:label "Invalid" ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:subClassOf ex:Person ; . ex:Person rdf:type rdfs:Class ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ; ] ) ; sh:hasValue ex:Person ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; sh:targetNode ex:ValidResource3 ; . ex:ValidResource1 rdf:type ex:Person ; . ex:ValidResource2 rdf:type ex:MalePerson ; . ex:ValidResource3 rdf:type ex:Animal ; rdf:type ex:MalePerson ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-inverse-001.test.ttl0000644000000000000000000000443600000000000023560 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-inverse-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sh:inversePath 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:inversePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape-P ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath [ sh:inversePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-P ; ] ; ] ; . ex:InvalidResource1 rdf:type ex:Person ; . ex:InvalidResource2 rdf:type ex:Person ; . ex:Parent1 ex:child ex:InvalidResource1 ; ex:child ex:InvalidResource2 ; ex:child ex:ValidResource1 ; . ex:Parent2 ex:child ex:InvalidResource2 ; ex:child ex:ValidResource1 ; . ex:Parent3 ex:child ex:InvalidResource2 ; . ex:Person rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-P ; sh:targetClass ex:Person ; . ex:TestShape-P a sh:PropertyShape ; sh:maxCount 2 ; sh:minCount 2 ; sh:path [ sh:inversePath ex:child ; ] ; . ex:ValidResource1 rdf:type ex:Person ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-oneOrMore-001.test.ttl0000644000000000000000000000372400000000000024011 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-oneOrMore-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sh:oneOrMorePath 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:oneOrMorePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath [ sh:oneOrMorePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; . ex:InvalidResource2 ex:child ex:Person2 ; . ex:Person1 ex:child ex:Person2 ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:oneOrMorePath ex:child ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:child ex:Person1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-sequence-001.test.ttl0000644000000000000000000000413500000000000023711 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-sequence-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sequence 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ( ex:property1 ex:property2 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ( ex:property1 ex:property2 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource1 ex:property1 ex:Node3 ; ex:property2 ex:Node4 ; . ex:Node1 ex:property2 "One" ; . ex:Node2 ex:property2 "Two" ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path ( ex:property1 ex:property2 ) ; sh:minCount 1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:property1 ex:Node1 ; . ex:ValidResource2 ex:property1 ex:Node1 ; ex:property1 ex:Node2 ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-sequence-002.test.ttl0000644000000000000000000000425300000000000023713 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-sequence-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sequence 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ( ex:property1 ex:property2 ex:property3 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ( ex:property1 ex:property2 ex:property3 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource1 ex:property1 ex:Node3 ; ex:property2 ex:Node4 ; . ex:Node1 ex:property2 ex:Node2 ; . ex:Node2 ex:property3 "Value" ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path ( ex:property1 ex:property2 ex:property3 ) ; sh:minCount 1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:property1 ex:Node1 ; . ex:ValidResource2 ex:property1 ex:Node1 ; ex:property1 ex:Node2 ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-sequence-duplicate-001.test.ttl0000644000000000000000000000303400000000000025656 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-sequence-duplicate-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sequence with duplicate 001" ; owl:imports ; . ex:A ex:p1 [ ex:p2 "value" ; ] ; ex:p1 [ ex:p2 "value" ; ] ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:A ; sh:resultPath ( ex:p1 ex:p2 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape ex:SP ; sh:value "value" ; ] ; ] ; . ex:S rdf:type sh:NodeShape ; sh:property ex:SP ; sh:targetNode ex:A ; . ex:SP a sh:PropertyShape ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:path ( ex:p1 ex:p2 ) ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-zeroOrMore-001.test.ttl0000644000000000000000000000316300000000000024204 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-zeroOrMore-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sh:zeroOrMorePath 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:zeroOrMorePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; . ex:Person2 ex:child ex:Person3 ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:zeroOrMorePath ex:child ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:child ex:Person1 ; . ex:ValidResource2 ex:child ex:Person2 ; . pyshacl-0.30.1/test/resources/dash_tests/core/path/path-zeroOrOne-001.test.ttl0000644000000000000000000000315500000000000024024 0ustar00# baseURI: http://datashapes.org/sh/tests/core/path/path-zeroOrOne-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of path sh:zeroOrOnePath 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:zeroOrOnePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; . ex:Person2 ex:child ex:Person3 ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:zeroOrOnePath ex:child ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:child ex:Person1 ; . ex:ValidResource2 ex:child ex:Person2 ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/and-001.test.ttl0000644000000000000000000000551100000000000022640 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/and-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:and at property shape 001" ; owl:imports ; . ex:AddressShape rdf:type sh:NodeShape ; rdfs:label "Address shape" ; sh:property ex:AddressShape-address ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:ValidResource1 ; . ex:AddressShape-address sh:path ex:address ; sh:and ( [ sh:property [ sh:path ex:suburb ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:postalCode ; sh:minCount 1 ; ] ; ] ) ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value _:b61065 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value _:b31477 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value _:b94057 ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:address _:b61065 ; . ex:InvalidResource2 rdf:type rdfs:Resource ; ex:address _:b31477 ; . ex:InvalidResource3 rdf:type rdfs:Resource ; ex:address _:b94057 ; . ex:ValidResource1 rdf:type rdfs:Resource ; ex:address [ ex:postalCode 4879 ; ex:suburb ex:KewarraBeach ; ] ; . _:b31477 ex:suburb ex:KewarraBeach ; . _:b61065 ex:postalCode 4879 ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/class-001.test.ttl0000644000000000000000000000473700000000000023214 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/class-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:class at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value ex:InvalidResource1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "A string" ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:testProperty ex:InvalidResource1 ; ex:testProperty "A string" ; . ex:SubClass rdf:type rdfs:Class ; rdfs:subClassOf ex:SuperClass ; . ex:SubClassInstance rdf:type ex:SubClass ; . ex:SuperClass rdf:type rdfs:Class ; . ex:SuperClassInstance rdf:type ex:SuperClass ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-testProperty ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-testProperty sh:path ex:testProperty ; rdfs:label "test property" ; sh:class ex:SuperClass ; . ex:ValidResource1 rdf:type rdfs:Resource ; ex:testProperty ex:SubClassInstance ; ex:testProperty ex:SuperClassInstance ; . ex:ValidResource2 rdf:type rdfs:Resource ; ex:testProperty [ rdf:type ex:SubClass ; ] ; ex:testProperty [ rdf:type ex:SuperClass ; ] ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/datatype-001.test.ttl0000644000000000000000000000452400000000000023714 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/datatype-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:datatype at property shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:dateProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-dateProperty ; sh:value "2011-01-01"^^xsd:dateTime ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:integerProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-integerProperty ; sh:value 11.1 ; ] ; ] ; . ex:InvalidResource1 rdf:type ex:TestShape ; ex:dateProperty "2011-01-01"^^xsd:dateTime ; ex:integerProperty 11.1 ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-dateProperty ; sh:property ex:TestShape-integerProperty ; . ex:TestShape-dateProperty sh:path ex:dateProperty ; rdfs:label "date property" ; sh:datatype xsd:date ; . ex:TestShape-integerProperty sh:path ex:integerProperty ; rdfs:label "integer property" ; sh:datatype xsd:integer ; . ex:ValidResource rdf:type ex:TestShape ; ex:dateProperty "2014-09-01"^^xsd:date ; ex:integerProperty 0 ; ex:integerProperty 1234 ; rdfs:label "Valid resource" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/datatype-002.test.ttl0000644000000000000000000000402300000000000023707 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/datatype-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:datatype at property shape 002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-value ; sh:value "A"@en ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-value ; sh:value 42 ; ] ; ] ; . ex:InvalidInstance1 ex:value "A"@en ; . ex:InvalidInstance2 ex:value 42 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-value ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:InvalidInstance2 ; sh:targetNode ex:ValidInstance1 ; sh:targetNode ex:ValidInstance2 ; . ex:TestShape-value sh:path ex:value ; sh:datatype xsd:string ; . ex:ValidInstance1 ex:value "A" ; . ex:ValidInstance2 ex:value "A" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/datatype-003.test.ttl0000644000000000000000000000342200000000000023712 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/datatype-003.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:datatype at property shape 003" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-value ; sh:value 42 ; ] ; ] ; . ex:InvalidInstance1 ex:value 42 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-value ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; sh:targetNode ex:ValidInstance2 ; sh:targetNode ex:ValidInstance3 ; . ex:TestShape-value sh:path ex:value ; sh:or ( [ sh:datatype xsd:string ; ] [ sh:datatype rdf:langString ; ] ) ; . ex:ValidInstance1 ex:value "A" ; . ex:ValidInstance2 ex:value "A" ; . ex:ValidInstance3 ex:value "A"@en ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/disjoint-001.test.ttl0000644000000000000000000000444200000000000023723 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/disjoint-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:disjoint at property shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DisjointConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DisjointConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; ] ; . ex:InvalidResource1 ex:property1 "A" ; ex:property2 "A" ; . ex:InvalidResource2 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "A" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:disjoint ex:property2 ; . ex:ValidResource1 ex:property1 "A" ; ex:property2 "B" ; . ex:ValidResource2 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "C" ; ex:property2 "D" ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/equals-001.test.ttl0000644000000000000000000000660700000000000023377 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/equals-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:equals at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "B" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource4 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "B" ; ] ; ] ; . ex:InvalidResource1 ex:property1 "A" ; ex:property2 "B" ; . ex:InvalidResource2 ex:property1 "A" ; . ex:InvalidResource3 ex:property2 "A" ; . ex:InvalidResource4 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "A" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:InvalidResource4 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:equals ex:property2 ; . ex:ValidResource1 ex:property1 "A" ; ex:property2 "A" ; . ex:ValidResource2 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "A" ; ex:property2 "B" ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/hasValue-001.test.ttl0000644000000000000000000000347000000000000023650 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/hasValue-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:hasValue at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidMalePerson ; sh:resultPath ex:gender ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:PersonShape-gender ; ] ; ] ; . ex:InvalidMalePerson rdf:type ex:MalePerson ; ex:gender "female" ; rdfs:label "Invalid male person" ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:label "Male person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; rdfs:label "Person shape" ; sh:property ex:PersonShape-gender ; sh:targetClass ex:MalePerson ; . ex:PersonShape-gender sh:path ex:gender ; rdfs:label "gender" ; sh:datatype xsd:string ; sh:hasValue "male" ; . ex:ValidMalePerson1 rdf:type ex:MalePerson ; ex:gender "male" ; . ex:ValidMalePerson2 rdf:type ex:MalePerson ; ex:gender "female" ; ex:gender "male" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/in-001.test.ttl0000644000000000000000000000336200000000000022506 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/in-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:in at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:ShapeClass-property ; sh:value "D" ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:ShapeClass ; ex:property "D" ; rdfs:label "Invalid instance1" ; . ex:ShapeClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; sh:property ex:ShapeClass-property ; . ex:ShapeClass-property sh:path ex:property ; sh:datatype xsd:string ; sh:in ( "A" "B" "C" ) ; . ex:ValidInstance1 rdf:type ex:ShapeClass ; ex:property "A" ; rdfs:label "Valid instance1" ; . ex:ValidInstance2 rdf:type ex:ShapeClass ; ex:property "A" ; ex:property "B" ; ex:property "C" ; rdfs:label "Valid instance2" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/languageIn-001.test.ttl0000644000000000000000000000461100000000000024150 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/languageIn-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:languageIn at property shape 001" ; owl:imports ; . ex:Berg ex:prefLabel ex:BergLabel ; ex:prefLabel "Berg" ; ex:prefLabel "Berg"@de ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Berg ; sh:resultPath ex:prefLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:NewZealandLanguagesShape-prefLabel ; sh:value ex:BergLabel ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Berg ; sh:resultPath ex:prefLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:NewZealandLanguagesShape-prefLabel ; sh:value "Berg" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Berg ; sh:resultPath ex:prefLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:NewZealandLanguagesShape-prefLabel ; sh:value "Berg"@de ; ] ; ] ; . ex:Mountain ex:prefLabel "Hill"@en-NZ ; ex:prefLabel "Maunga"@mi ; ex:prefLabel "Mountain"@en ; . ex:NewZealandLanguagesShape rdf:type sh:NodeShape ; sh:property ex:NewZealandLanguagesShape-prefLabel ; sh:targetNode ex:Berg ; sh:targetNode ex:Mountain ; . ex:NewZealandLanguagesShape-prefLabel sh:path ex:prefLabel ; sh:languageIn ( "en" "mi" ) ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/lessThan-001.test.ttl0000644000000000000000000000515200000000000023660 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/lessThan-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:lessThan at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 4 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 6 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 5 ; ] ; ] ; . ex:InvalidResource1 ex:property1 4 ; ex:property2 4 ; . ex:InvalidResource2 ex:property1 4 ; ex:property1 6 ; ex:property2 5 ; . ex:InvalidResource3 ex:property1 5 ; ex:property2 4 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:lessThan ex:property2 ; . ex:ValidResource1 ex:property1 4 ; ex:property2 6 ; . ex:ValidResource2 ex:property1 3.1 ; ex:property1 3.2 ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/lessThan-002.test.ttl0000644000000000000000000000502500000000000023660 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/lessThan-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:lessThan at property shape 002" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 2 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 2 ; ] ; ] ; . ex:InvalidInstance1 ex:first 1 ; ex:first 2 ; ex:second "a" ; ex:second "b" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-first ; sh:targetNode ex:InvalidInstance1 ; . ex:TestShape-first sh:path ex:first ; sh:lessThan ex:second ; .pyshacl-0.30.1/test/resources/dash_tests/core/property/lessThanOrEquals-001.test.ttl0000644000000000000000000000450700000000000025337 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/lessThanOrEquals-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:lessThanOrEquals at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanOrEqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 5 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanOrEqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 6 ; ] ; ] ; . ex:InvalidResource1 ex:property1 5 ; ex:property2 4 ; . ex:InvalidResource2 ex:property1 4 ; ex:property1 6 ; ex:property2 5 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; sh:targetNode ex:ValidResource3 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:lessThanOrEquals ex:property2 ; . ex:ValidResource1 ex:property1 4 ; ex:property2 6 ; . ex:ValidResource2 ex:property1 3.1 ; ex:property1 3.2 ; . ex:ValidResource3 ex:property1 5 ; ex:property2 5 ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/maxCount-001.test.ttl0000644000000000000000000000335300000000000023676 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/maxCount-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxCount at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidPerson ; sh:resultPath ex:firstName ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:PersonShape-firstName ; ] ; ] ; . ex:InvalidPerson rdf:type ex:Person ; ex:firstName "George" ; ex:firstName "John" ; rdfs:label "Invalid person" ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; sh:property ex:PersonShape-firstName ; sh:targetClass ex:Person ; sh:targetNode ex:ValidResource ; . ex:PersonShape-firstName sh:path ex:firstName ; sh:datatype xsd:string ; sh:maxCount 1 ; . ex:ValidResource rdf:type ex:Person ; ex:firstName "John" ; rdfs:label "Valid resource" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/maxCount-002.test.ttl0000644000000000000000000000317000000000000023674 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/maxCount-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxCount at property shape 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultPath owl:versionInfo ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-versionInfo ; ] ; ] ; . ex:InvalidResource rdf:type rdfs:Resource ; rdfs:label "Invalid resource" ; owl:versionInfo "1.0" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-versionInfo ; sh:targetNode ex:InvalidResource ; sh:targetNode ex:ValidResource ; . ex:TestShape-versionInfo sh:path owl:versionInfo ; sh:maxCount 0 ; . ex:ValidResource rdf:type rdfs:Resource ; rdfs:label "Valid resource" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/maxExclusive-001.test.ttl0000644000000000000000000000465600000000000024564 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/maxExclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxExclusive at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 2 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "a" ; ] ; ] ; . ex:InvalidResource1 ex:property 1 ; . ex:InvalidResource2 ex:property 2 ; . ex:InvalidResource3 ex:property "a" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property sh:path ex:property ; sh:maxExclusive 1 ; . ex:ValidResource1 ex:property 0 ; . ex:ValidResource2 ex:property -1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/maxInclusive-001.test.ttl0000644000000000000000000000400600000000000024543 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/maxInclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxInclusive at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 2 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "a" ; ] ; ] ; . ex:InvalidResource1 ex:property 2 ; . ex:InvalidResource2 ex:property "a" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property sh:path ex:property ; sh:maxInclusive 1 ; . ex:ValidResource1 ex:property 0 ; . ex:ValidResource2 ex:property 1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/maxLength-001.test.ttl0000644000000000000000000000333200000000000024024 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/maxLength-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:maxLength at property shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "ABC" ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "ABC" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:datatype xsd:string ; sh:maxLength 2 ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty "A" ; ex:testProperty "AB" ; . ex:ValidInstance2 rdf:type ex:TestShape ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/minCount-001.test.ttl0000644000000000000000000000327100000000000023673 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/minCount-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minCount at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidPerson ; sh:resultPath ex:firstName ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:PersonShape-firstName ; ] ; ] ; . ex:InvalidPerson rdf:type ex:Person ; rdfs:label "Invalid person" ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; sh:property ex:PersonShape-firstName ; sh:targetClass ex:Person ; sh:targetNode ex:ValidResource ; . ex:PersonShape-firstName sh:path ex:firstName ; sh:datatype xsd:string ; sh:minCount 1 ; . ex:ValidResource rdf:type ex:Person ; ex:firstName "John" ; rdfs:label "Valid resource" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/minCount-002.test.ttl0000644000000000000000000000213300000000000023670 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/minCount-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minCount at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "true"^^xsd:boolean ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 0 ; sh:name "property" ; ] ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 rdf:type rdfs:Resource ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/minExclusive-001.test.ttl0000644000000000000000000000377000000000000024556 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/minExclusive-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minExclusive at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value 40 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value 39 ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty 40 ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:testProperty 39 ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:minExclusive 40 ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty 42 ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/minExclusive-002.test.ttl0000644000000000000000000000373000000000000024553 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/minExclusive-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minExclusive at property shape 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "A string" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value rdfs:Resource ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "A string" ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:testProperty rdfs:Resource ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:minExclusive 40 ; .pyshacl-0.30.1/test/resources/dash_tests/core/property/minLength-001.test.ttl0000644000000000000000000000324300000000000024023 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/minLength-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:minLength at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "A" ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "A" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:datatype xsd:string ; sh:minLength 2 ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty "AB" ; ex:testProperty "ABC" ; . ex:ValidInstance2 rdf:type ex:TestShape ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/node-001.test.ttl0000644000000000000000000000535700000000000023033 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/node-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:node at property shape 001" ; owl:imports ; . ex:Anon rdf:type ex:Person ; ex:firstName "Anon" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Issue_1 ; sh:resultPath ex:assignedTo ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeConstraintComponent ; sh:sourceShape ex:Issue-assignedTo ; sh:value ex:Anon ; ] ; ] ; . ex:Issue rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Issue" ; rdfs:subClassOf rdfs:Resource ; sh:property ex:Issue-assignedTo ; sh:property ex:Issue-submittedBy ; . ex:Issue-assignedTo sh:path ex:assignedTo ; sh:node [ rdfs:comment "All assignees must have an email and a last name." ; sh:property [ sh:path ex:email ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:lastName ; sh:maxCount 1 ; sh:minCount 1 ; ] ; ] ; sh:class ex:Person ; . ex:Issue-submittedBy sh:path ex:submittedBy ; sh:class ex:Person ; sh:minCount 1 ; . ex:Issue_1 rdf:type ex:Issue ; ex:assignedTo ex:Anon ; ex:submittedBy ex:Anon ; rdfs:label "Issue 1" ; . ex:Issue_2 rdf:type ex:Issue ; ex:assignedTo ex:JohnDoeWithEmail ; ex:submittedBy ex:Anon ; rdfs:label "Issue 2" ; . ex:JohnDoeWithEmail rdf:type ex:Person ; ex:email "john@doe.com" ; ex:firstName "John" ; ex:lastName "Doe" ; . ex:Person rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; sh:property [ sh:path ex:email ; sh:datatype xsd:string ; rdfs:label "email" ; ] ; sh:property [ sh:path ex:firstName ; rdfs:label "first name" ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:lastName ; rdfs:label "last name" ; sh:datatype xsd:string ; ] ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/node-002.test.ttl0000644000000000000000000000352300000000000023025 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/node-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:node at property shape 002" ; owl:imports ; . ex:AddressShape rdf:type sh:NodeShape ; sh:property ex:AddressShape-postalCode ; . ex:AddressShape-postalCode sh:path ex:postalCode ; sh:datatype xsd:string ; sh:maxCount 1 ; . ex:Bob rdf:type ex:Person ; ex:address ex:BobsAddress ; . ex:BobsAddress ex:postalCode "1234" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Reto ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeConstraintComponent ; sh:sourceShape ex:PersonShape-address ; sh:value ex:RetosAddress ; ] ; ] ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; . ex:PersonShape rdf:type sh:NodeShape ; sh:property ex:PersonShape-address ; sh:targetClass ex:Person ; . ex:PersonShape-address sh:path ex:address ; sh:minCount 1 ; sh:node ex:AddressShape ; . ex:Reto rdf:type ex:Person ; ex:address ex:RetosAddress ; . ex:RetosAddress ex:postalCode 5678 ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/nodeKind-001.test.ttl0000644000000000000000000002754400000000000023643 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/nodeKind-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:nodeKind at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNode ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value _:b55454 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNode ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value _:b55454 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNode ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97860 ; sh:value _:b55454 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b14975 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value _:b67098 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value _:b67098 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97860 ; sh:value _:b67098 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b3078 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value _:b99026 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value _:b99026 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97860 ; sh:value _:b99026 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b14975 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b3078 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b14975 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b3078 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value "Literal" ; ] ; ] ; . ex:InstanceWithBlankNode rdf:type ex:MyClass ; ex:myProperty _:b55454 ; . ex:InstanceWithBlankNodeAndIRI rdf:type ex:MyClass ; ex:myProperty rdfs:Class ; ex:myProperty _:b67098 ; . ex:InstanceWithBlankNodeAndLiteral rdf:type ex:MyClass ; ex:myProperty "Literal" ; ex:myProperty _:b99026 ; . ex:InstanceWithIRI rdf:type ex:MyClass ; ex:myProperty rdfs:Class ; . ex:InstanceWithIRIAndLiteral rdf:type ex:MyClass ; ex:myProperty rdfs:Class ; ex:myProperty "Literal" ; . ex:InstanceWithLiteral rdf:type ex:MyClass ; ex:myProperty "Literal" ; . ex:MyClass rdf:type rdfs:Class ; rdfs:label "My class" ; . ex:ShapeWithBlankNode rdf:type sh:NodeShape ; sh:property _:b38619 ; sh:targetClass ex:MyClass ; . ex:ShapeWithBlankNodeOrIRI rdf:type sh:NodeShape ; sh:property _:b3078 ; sh:targetClass ex:MyClass ; . ex:ShapeWithBlankNodeOrLiteral rdf:type sh:NodeShape ; sh:property _:b14975 ; sh:targetClass ex:MyClass ; . ex:ShapeWithIRI rdf:type sh:NodeShape ; sh:property _:b97614 ; sh:targetClass ex:MyClass ; . ex:ShapeWithIRIOrLiteral rdf:type sh:NodeShape ; sh:property _:b97860 ; sh:targetClass ex:MyClass ; . ex:ShapeWithLiteral rdf:type sh:NodeShape ; sh:property _:b79526 ; sh:targetClass ex:MyClass ; . ex:myProperty rdf:type rdf:Property ; rdfs:domain ex:MyClass ; rdfs:label "my property" ; . _:b3078 sh:path ex:myProperty ; sh:nodeKind sh:BlankNodeOrIRI ; . _:b14975 sh:path ex:myProperty ; sh:nodeKind sh:BlankNodeOrLiteral ; . _:b38619 sh:path ex:myProperty ; sh:nodeKind sh:BlankNode ; . _:b55454 rdf:type rdfs:Resource ; . _:b67098 rdf:type rdfs:Resource ; . _:b79526 sh:path ex:myProperty ; sh:nodeKind sh:Literal ; . _:b97614 sh:path ex:myProperty ; sh:nodeKind sh:IRI ; . _:b97860 sh:path ex:myProperty ; sh:nodeKind sh:IRIOrLiteral ; . _:b99026 rdf:type rdfs:Resource ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/not-001.test.ttl0000644000000000000000000000357000000000000022701 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/not-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:not at property shape 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NotConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 42 ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:property 42 ; ex:property "Test Valid" ; rdfs:label "Invalid resource1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property sh:path ex:property ; sh:not [ sh:datatype xsd:integer ; ] ; . ex:ValidResource1 rdf:type rdfs:Resource ; rdfs:label "Valid resource1" ; . ex:ValidResource2 rdf:type rdfs:Resource ; ex:property 1.5 ; ex:property "String" ; rdfs:label "Valid resource2" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/or-001.test.ttl0000644000000000000000000000364300000000000022522 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/or-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:or at property shape 001" ; owl:imports ; . ex:Address rdf:type rdfs:Class ; rdfs:label "Address" ; rdfs:subClassOf rdfs:Resource ; . ex:AddressShape rdf:type sh:NodeShape ; rdfs:label "Address shape" ; sh:property ex:AddressShape-address ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:AddressShape-address sh:path ex:address ; sh:or ( [ sh:datatype xsd:string ; ] [ sh:class ex:Address ; ] ) ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value "true"^^xsd:boolean ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:address "true"^^xsd:boolean ; . ex:ValidResource1 rdf:type rdfs:Resource ; ex:address "Home" ; . ex:ValidResource2 rdf:type rdfs:Resource ; ex:address [ rdf:type ex:Address ; ] ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/or-datatypes-001.test.ttl0000644000000000000000000000532300000000000024513 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/or-datatypes-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:or of sh:datatypes at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:comment ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-comment ; sh:value owl:Thing ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:comment ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-comment ; sh:value 42 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:comment ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-comment ; sh:value "abc"^^xsd:float ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:comment owl:Thing ; rdfs:comment 42 ; rdfs:comment "A string" ; rdfs:comment "abc"^^xsd:float ; rdfs:label "Invalid resource1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-comment ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-comment sh:path rdfs:comment ; sh:or ( [ sh:datatype xsd:string ; ] [ sh:datatype rdf:HTML ; ] [ sh:datatype rdf:langString ; ] [ sh:datatype xsd:float ; ] ) ; . ex:ValidResource1 rdf:type rdfs:Resource ; rdfs:comment "
HTML
"^^rdf:HTML ; rdfs:comment "A language string"@en ; rdfs:comment "A string" ; rdfs:label "Valid resource1" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/pattern-001.test.ttl0000644000000000000000000000414100000000000023551 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/pattern-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:pattern at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "Maria" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "john" ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:property "Maria" ; rdfs:label "Invalid instance1" ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:property "john" ; rdfs:label "Invalid instance2" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-property ; . ex:TestShape-property sh:path ex:property ; sh:datatype xsd:string ; sh:pattern "Joh" ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:property "Hi Joh" ; ex:property "John" ; rdfs:label "Valid instance1" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/pattern-002.test.ttl0000644000000000000000000000341600000000000023556 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/pattern-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:pattern at property shape 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "Maria" ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:property "Maria" ; rdfs:label "Invalid instance1" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-property ; . ex:TestShape-property sh:path ex:property ; rdfs:label "property" ; sh:datatype xsd:string ; sh:flags "i" ; sh:pattern "joh" ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:property "Hi Joh" ; ex:property "John" ; rdfs:label "Valid instance1" ; . ex:ValidInstance2 rdf:type ex:TestShape ; ex:property "john" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/property-001.test.ttl0000644000000000000000000000505600000000000023766 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/property-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:property at property shape 001" ; owl:imports ; . ex:Address rdf:type rdfs:Class ; rdfs:label "Address" ; rdfs:subClassOf rdfs:Resource ; . ex:City rdf:type rdfs:Class ; rdfs:label "City" ; rdfs:subClassOf rdfs:Resource ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidAddress ; sh:resultPath ex:city ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:PersonShape-address-city ; sh:value ex:InvalidCity ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidAddress ; sh:resultPath ex:city ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:PersonShape-address-city ; sh:value ex:InvalidCity ; ] ; ] ; . ex:InvalidAddress rdf:type ex:Address ; ex:city ex:InvalidCity ; . ex:InvalidPerson1 rdf:type ex:Person ; ex:address ex:InvalidAddress ; . ex:InvalidPerson2 rdf:type ex:Person ; ex:address ex:InvalidAddress ; ex:address ex:ValidAddress ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; rdfs:label "Person shape" ; sh:property [ sh:path ex:address ; sh:property ex:PersonShape-address-city ; ] ; sh:targetClass ex:Person ; . ex:PersonShape-address-city sh:path ex:city ; sh:class ex:City ; . ex:ProperCity rdf:type ex:City ; rdfs:label "Proper city" ; . ex:ValidAddress rdf:type ex:Address ; ex:city ex:ProperCity ; . ex:ValidPerson1 rdf:type ex:Person ; ex:address ex:ValidAddress ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/qualifiedMinCountDisjoint-001.test.ttl0000644000000000000000000000551500000000000027226 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/qualifiedMinCountDisjoint-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:qualifiedMinCount with disjoint shapes at property shape 001" ; owl:imports ; . ex:Digit rdf:type rdfs:Class ; rdfs:label "Digit" ; . ex:Finger rdf:type rdfs:Class ; rdfs:label "Finger" ; rdfs:subClassOf ex:Digit ; . ex:FingerAndThumb rdf:type ex:Finger ; rdf:type ex:Thumb ; rdfs:label "Finger and thumb" ; . ex:FingerShape rdf:type sh:NodeShape ; rdfs:label "Finger shape" ; sh:class ex:Finger ; . ex:Finger_1 rdf:type ex:Finger ; rdfs:label "Finger 1" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidHand1 ; sh:resultPath ex:digit ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:HandShape-digit-minCount1 ; ] ; ] ; . ex:Hand rdf:type rdfs:Class ; rdfs:label "Hand" ; . ex:HandShape rdf:type sh:NodeShape ; rdfs:label "Hand shape" ; sh:property ex:HandShape-digit-maxCount4 ; sh:property ex:HandShape-digit-minCount1 ; sh:targetClass ex:Hand ; . ex:HandShape-digit-maxCount4 rdf:type sh:PropertyShape ; sh:path ex:digit ; sh:qualifiedMaxCount 4 ; sh:qualifiedValueShapesDisjoint true ; sh:qualifiedValueShape ex:FingerShape ; . ex:HandShape-digit-minCount1 rdf:type sh:PropertyShape ; sh:path ex:digit ; sh:qualifiedMinCount 1 ; sh:qualifiedValueShapesDisjoint true ; sh:qualifiedValueShape ex:ThumbShape ; . ex:InvalidHand1 rdf:type ex:Hand ; ex:digit ex:FingerAndThumb ; rdfs:label "Invalid hand1" ; . ex:Thumb rdf:type rdfs:Class ; rdfs:label "Thumb" ; rdfs:subClassOf ex:Digit ; . ex:ThumbShape rdf:type sh:NodeShape ; rdfs:label "Thumb shape" ; sh:class ex:Thumb ; . ex:Thumb_1 rdf:type ex:Thumb ; rdfs:label "Thumb 1" ; . ex:ValidHand1 rdf:type ex:Hand ; ex:digit ex:Finger_1 ; ex:digit ex:Thumb_1 ; rdfs:label "Valid hand1" ; . ex:digit rdf:type rdf:Property ; rdfs:domain ex:Hand ; rdfs:label "digit" ; rdfs:range ex:Digit ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/qualifiedValueShape-001.test.ttl0000644000000000000000000000442300000000000026020 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/qualifiedValueShape-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:qualifiedValueShape at property shape 001" ; owl:imports ; . ex:APGARObservationShape rdf:type sh:NodeShape ; sh:property ex:APGARObservationShape-related ; sh:targetNode ex:Observation1 ; . ex:APGARObservationShape-related sh:path ex:related ; sh:qualifiedMaxCount 3 ; sh:qualifiedMinCount 3 ; sh:qualifiedValueShape [ sh:property [ sh:path ex:related_target ; sh:node [ sh:property [ sh:path ex:reference ; sh:hasValue ex:something ; ] ; ] ; ] ; ] ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Observation1 ; sh:resultPath ex:related ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:APGARObservationShape-related ; ] ; ] ; . ex:Observation1 rdf:type ex:Observation ; ex:related [ ex:related_target [ ex:reference ex:something ; ] ; ex:related_type "has-component"^^ex:code ; ] ; ex:related [ ex:related_target [ ex:reference ex:something ; ] ; ex:related_type "has-component"^^ex:code ; ] ; ex:related [ ex:related_target [ ex:reference ex:unrelated ; ] ; ex:related_type "has-component"^^ex:code ; ] ; sh:nodeShape ex:APGARObservationShape ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/qualifiedValueShapesDisjoint-001.test.ttl0000644000000000000000000000623200000000000027707 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/qualifiedValueShapesDisjoint-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:qualifiedValueShapesDisjoint at property shape 001" ; owl:imports ; . ex:Finger rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Finger" ; rdfs:subClassOf rdfs:Resource ; . ex:Finger1 rdf:type ex:Finger ; rdfs:label "Finger1" ; . ex:Finger2 rdf:type ex:Finger ; rdfs:label "Finger2" ; . ex:Finger3 rdf:type ex:Finger ; rdfs:label "Finger3" ; . ex:Finger4 rdf:type ex:Finger ; rdfs:label "Finger4" ; . ex:FingerAndThumb rdf:type ex:Finger ; rdf:type ex:Thumb ; rdfs:label "Finger and thumb" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidHand1 ; sh:resultPath ex:digit ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:HandShape-digit1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidHand1 ; sh:resultPath ex:digit ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:HandShape-digit4 ; ] ; ] ; . ex:Hand rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Hand" ; rdfs:subClassOf rdfs:Resource ; . ex:HandShape rdf:type sh:NodeShape ; sh:property ex:HandShape-digit1 ; sh:property ex:HandShape-digit4 ; sh:targetClass ex:Hand ; . ex:HandShape-digit1 sh:path ex:digit ; sh:qualifiedMaxCount 1 ; sh:qualifiedMinCount 1 ; sh:qualifiedValueShape [ sh:class ex:Thumb ; ] ; sh:qualifiedValueShapesDisjoint true ; . ex:HandShape-digit4 sh:path ex:digit ; sh:qualifiedMaxCount 4 ; sh:qualifiedMinCount 4 ; sh:qualifiedValueShape [ sh:class ex:Finger ; ] ; sh:qualifiedValueShapesDisjoint true ; . ex:InvalidHand1 rdf:type ex:Hand ; ex:digit ex:Finger1 ; ex:digit ex:Finger2 ; ex:digit ex:Finger3 ; ex:digit ex:FingerAndThumb ; . ex:Thumb rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Thumb" ; rdfs:subClassOf rdfs:Resource ; . ex:Thumb1 rdf:type ex:Thumb ; rdfs:label "Thumb1" ; . ex:ValidHand rdf:type ex:Hand ; ex:digit ex:Finger1 ; ex:digit ex:Finger2 ; ex:digit ex:Finger3 ; ex:digit ex:Finger4 ; ex:digit ex:Thumb1 ; rdfs:label "Valid hand" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/uniqueLang-001.test.ttl0000644000000000000000000000514000000000000024204 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/uniqueLang-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:uniqueLang at property shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:UniqueLangConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:UniqueLangConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:UniqueLangConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "Me" ; ex:testProperty "Me"@en ; ex:testProperty "Moi"@fr ; ex:testProperty "Myself"@en ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:testProperty "I"@en ; ex:testProperty "Ich"@de ; ex:testProperty "Me"@en ; ex:testProperty "Mich"@de ; ex:testProperty "Myself"@en ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; rdfs:label "test property" ; sh:uniqueLang "true"^^xsd:boolean ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty "Me" ; ex:testProperty "Me"@en ; ex:testProperty "Moi"@fr ; ex:testProperty "Myself" ; . pyshacl-0.30.1/test/resources/dash_tests/core/property/xone-001.test.ttl0000644000000000000000000000307100000000000023046 0ustar00# baseURI: http://datashapes.org/sh/tests/core/property/xone-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . a owl:Ontology ; rdfs:label "Test of sh:xone at property shape 001" ; owl:imports ; . ex:Bob a ex:Person ; ex:value "Robert" ; . ex:Dory a ex:Person ; ex:value "165"^^xsd:int ; . ex:GraphValidationTestCase a dash:GraphValidationTestCase ; dash:expectedResult [ a sh:ValidationReport ; sh:conforms false ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:Dory ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:XoneConstraintComponent ; sh:sourceShape ex:TestPropertyShape ; sh:value "165"^^xsd:int ; ] ; ] ; . ex:TestPropertyShape sh:path ex:value ; sh:xone ( [ sh:datatype xsd:string ; ] [ sh:datatype xsd:double ; ] [ sh:datatype xsd:long ; ] ) ; . ex:XoneConstraintExampleShape a sh:NodeShape ; sh:property ex:TestPropertyShape ; sh:targetClass ex:Person ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/multipleTargets-001.test.ttl0000644000000000000000000000312300000000000025045 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/multipleTargets-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of multiple targets 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; . ex:InvalidResource1 ex:property1 "Also a value" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:in ( ex:ValidResource1 ex:ValidResource2 ) ; sh:targetSubjectsOf ex:property1 ; sh:targetSubjectsOf ex:property2 ; . ex:ValidResource1 ex:property1 "Some value" ; . ex:ValidResource2 ex:property2 "Other value" ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/targetClass-001.test.ttl0000644000000000000000000000314200000000000024135 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/targetClass-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:targetClass 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:MyShape-myProperty ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; ex:myProperty "B" ; . ex:MyClass rdf:type rdfs:Class ; . ex:MyShape rdf:type sh:NodeShape ; sh:property ex:MyShape-myProperty ; sh:targetClass ex:MyClass ; . ex:MyShape-myProperty sh:path ex:myProperty ; sh:maxCount 1 ; . ex:ValidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; . ex:ValidInstance2 ex:myProperty "A" ; ex:myProperty "B" ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/targetClassImplicit-001.test.ttl0000644000000000000000000000320000000000000025623 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/targetClassImplicit-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of implicit sh:targetClass 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:SuperClass ; sh:value ex:InvalidInstance ; ] ; ] ; . ex:InvalidInstance rdf:type ex:SubClass ; rdfs:label "Invalid instance" ; . ex:SubClass rdf:type rdfs:Class ; rdfs:label "Sub class" ; rdfs:subClassOf ex:SuperClass ; . ex:SuperClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Super class" ; sh:in ( ex:ValidInstance ) ; . ex:ValidInstance rdf:type ex:SubClass ; rdfs:label "Valid instance" ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/targetNode-001.test.ttl0000644000000000000000000000311600000000000023756 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/targetNode-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:targetNode 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-label ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:label "Invalid resource 1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-label ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-label sh:path rdfs:label ; rdfs:label "label" ; sh:datatype xsd:string ; sh:maxCount 0 ; . ex:ValidResource1 rdf:type rdfs:Resource ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/targetObjectsOf-001.test.ttl0000644000000000000000000000352100000000000024747 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/targetObjectsOf-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:targetObjectsOf 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode rdfs:Resource ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value rdfs:Resource ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "String" ; ] ; ] ; . ex:InvalidResource1 ex:testProperty "String" ; . ex:InvalidResource2 ex:testProperty rdfs:Resource ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:datatype xsd:integer ; sh:targetObjectsOf ex:testProperty ; . ex:ValidResource1 ex:testProperty 100 ; ex:testProperty 42 ; . ex:testProperty rdf:type rdf:Property ; rdfs:label "test property" ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/targetSubjectsOf-001.test.ttl0000644000000000000000000000305500000000000025142 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/targetSubjectsOf-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex:InvalidInstance1 ex:myProperty "A" ; ex:myProperty "B" ; . ex:ValidInstance1 ex:myProperty "A" ; . rdf:type owl:Ontology ; rdfs:label "Test of sh:targetSubjectsOf 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-myProperty ; ] ; ] ; . ex:MyClass rdf:type rdfs:Class ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-myProperty ; sh:targetSubjectsOf ex:myProperty ; . ex:TestShape-myProperty a sh:PropertyShape ; sh:path ex:myProperty ; sh:maxCount 1 ; . pyshacl-0.30.1/test/resources/dash_tests/core/targets/targetSubjectsOf-002.test.ttl0000644000000000000000000000402200000000000025136 0ustar00# baseURI: http://datashapes.org/sh/tests/core/targets/targetSubjectsOf-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:targetSubjectsOf 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-myProperty ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-myProperty ; ] ; ] ; . ex:InvalidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; ex:myProperty "B" ; . ex:InvalidInstance2 ex:myProperty "A" ; ex:myProperty "B" ; . ex:MyClass rdf:type rdfs:Class ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-myProperty ; sh:targetClass ex:MyClass ; sh:targetSubjectsOf ex:myProperty ; . ex:TestShape-myProperty sh:path ex:myProperty ; sh:maxCount 1 ; . ex:ValidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; . ex:ValidInstance2 ex:myProperty "A" ; . pyshacl-0.30.1/test/resources/dash_tests/expression/booleans-001.test.ttl0000644000000000000000000000550600000000000023267 0ustar00# baseURI: http://datashapes.org/shasf/tests/expression/booleans-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of filterShape-001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "false"^^xsd:boolean ; sh:resultSeverity sh:Violation ; sh:sourceConstraint sh:this ; sh:sourceConstraintComponent sh:ExpressionConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "false"^^xsd:boolean ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; sh:expression sh:this ; sh:targetNode "false"^^xsd:boolean ; sh:targetNode "true"^^xsd:boolean ; . ex:Kate rdf:type ex:Person ; ex:firstName "Kate" ; ex:lastName "Jones" . ex:concat a sh:SPARQLFunction ; rdfs:comment "Concatenates strings $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The first string" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:string ; sh:description "The second string" ; ] ; sh:returnType xsd:string ; sh:select """ SELECT ?result WHERE { BIND(CONCAT(STR(?op1),STR(?op2)) AS ?result) . } """ . ex:strlen a sh:SPARQLFunction ; rdfs:comment "Returns length of the given string." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The string" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ?result WHERE { BIND(STRLEN(?op1) AS ?result) . } """ . ex:lessThan a sh:SPARQLFunction ; rdfs:comment "Returns True if op1 < op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first int" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second int" ; ] ; sh:returnType xsd:boolean ; sh:select """ SELECT ?result WHERE { BIND(IF(?op1 < ?op2, true, false) AS ?result) . } """ . ex:FilterExampleShape a sh:NodeShape ; sh:targetClass ex:Person ; sh:expression [ ex:lessThan ( [ ex:strlen ( [ ex:concat ( [ sh:path ex:firstName] [ sh:path ex:lastName ] ) ] ) ] 30 ); ] . pyshacl-0.30.1/test/resources/dash_tests/function/callSPARQLFunction.test.ttl0000644000000000000000000000572600000000000024165 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/function/callSPARQLFunction.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test calling a SPARQLFunction from another SPARQL Select" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:SquareRectangle ; sh:resultPath ex:area ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:CheckArea-sparql ; sh:sourceShape ex:CheckArea ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:value 12 ; ] ; ] ; . ex:NonSquareRectangle rdf:type ex:Rectangle ; ex:height 3 ; ex:width 4 ; ex:area 12 ; . ex:SquareRectangle rdf:type ex:Rectangle ; ex:height 6 ; ex:width 6 ; ex:area 12 ; . ex:Rectangle rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Rectangle" ; rdfs:subClassOf rdfs:Resource ; sh:property [ sh:path ex:height ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "height" ; ] ; sh:property [ sh:path ex:width ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "width" ; ] ; sh:property [ sh:path ex:area ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "area" ; ] ; . ex:CheckArea rdf:type sh:PropertyShape ; sh:path ex:area ; sh:sparql ex:CheckArea-sparql ; sh:targetClass ex:Rectangle ; . ex:CheckArea-sparql rdf:type sh:SPARQLConstraintObject ; sh:message "Height * Width = Area." ; sh:prefixes ; sh:select """ SELECT $this ?value WHERE { $this ex:width ?width . $this ex:height ?height . $this $PATH ?value . FILTER (ex:multiply(?width, ?height) != ?value) } """ ; . ex:multiply a sh:SPARQLFunction ; rdfs:comment "Multiplies its two arguments $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first operand" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second operand" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ($op1 * $op2 AS ?result) WHERE { } """ . pyshacl-0.30.1/test/resources/dash_tests/function/simpleSPARQLFunction.test.ttl0000644000000000000000000000305300000000000024532 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/function/simpleSPARQLFunction.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of simpleSPARQLFunction" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:booleanFunction rdf:type sh:SPARQLFunction ; rdfs:label "boolean function" ; sh:ask """ASK { FILTER (true) . }""" ; sh:returnType xsd:boolean ; . ex:testBooleanFunction rdf:type dash:FunctionTestCase ; dash:expectedResult "true"^^xsd:boolean ; dash:expression "ex:booleanFunction()" ; . ex:testWithArguments rdf:type dash:FunctionTestCase ; dash:expectedResult "A-B" ; dash:expression "ex:withArguments(\"A\", \"B\")" ; . ex:withArguments rdf:type sh:SPARQLFunction ; rdfs:label "with arguments" ; sh:parameter [ sh:path ex:arg1 ; sh:name "arg1" ; ] ; sh:parameter [ sh:path ex:arg2 ; sh:name "arg2" ; ] ; sh:returnType xsd:string ; sh:select """SELECT ?result WHERE { BIND (CONCAT($arg1, \"-\", $arg2) AS ?result) }""" ; . pyshacl-0.30.1/test/resources/dash_tests/rules/sparql/classify-square.test.ttl0000644000000000000000000000452300000000000024535 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/sparql/classify-square.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of classify-square" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/shasf/tests/rules/sparql/classify-square.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object ex:Square ; rdf:predicate rdf:type ; rdf:subject ex:SquareRectangle ; ] ; . ex:InvalidRectangle rdf:type ex:Rectangle ; ex:height 4 ; rdfs:label "Invalid rectangle" ; . ex:NonSquareRectangle rdf:type ex:Rectangle ; ex:height 2 ; ex:width 3 ; . ex:Rectangle rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Rectangle" ; rdfs:subClassOf rdfs:Resource ; sh:property [ sh:path ex:height ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "height" ; ] ; sh:property [ sh:path ex:width ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "width" ; ] ; sh:rule [ rdf:type sh:SPARQLRule ; sh:condition [ sh:property [ sh:path ex:width ; sh:equals ex:height ; ] ; ] ; sh:construct """CONSTRUCT { $this a ex:Square . } WHERE { $this ?p ?o . #Note, this where clause was added to ensure rdflib does not erase the $this variable. }""" ; sh:prefixes ; ] ; . ex:Square rdf:type rdfs:Class ; rdfs:label "Square" ; . ex:SquareRectangle rdf:type ex:Rectangle ; ex:height 4 ; ex:width 4 ; rdfs:label "Square rectangle" ; . pyshacl-0.30.1/test/resources/dash_tests/rules/sparql/rectangle.test.ttl0000644000000000000000000000317500000000000023370 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/sparql/rectangle.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of rectangle" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/shasf/tests/rules/sparql/rectangle.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:ExampleRectangle rdf:type ex:Rectangle ; ex:height 8 ; ex:width 7 ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object 56 ; rdf:predicate ex:area ; rdf:subject ex:ExampleRectangle ; ] ; . ex:Rectangle rdf:type rdfs:Class ; rdfs:subClassOf rdfs:Resource ; . ex:RectangleShape rdf:type sh:NodeShape ; sh:rule [ rdf:type sh:SPARQLRule ; sh:construct """ CONSTRUCT { $this ex:area ?area . } WHERE { $this ex:width ?width . $this ex:height ?height . BIND (?width * ?height AS ?area) . } """ ; sh:prefixes ; ] ; sh:targetClass ex:Rectangle ; . pyshacl-0.30.1/test/resources/dash_tests/rules/triple/functions-permutations.test.ttl0000644000000000000000000000566100000000000026163 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/triple/functions-permutations.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of functions-permutations" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object "1a 2a 3a " ; rdf:predicate ex:target ; rdf:subject ex:TestInstance ; ] ; dash:expectedResult [ rdf:object "1a 2a 3b " ; rdf:predicate ex:target ; rdf:subject ex:TestInstance ; ] ; dash:expectedResult [ rdf:object "1a 2a 3c " ; rdf:predicate ex:target ; rdf:subject ex:TestInstance ; ] ; dash:expectedResult [ rdf:object "1b 2a 3a " ; rdf:predicate ex:target ; rdf:subject ex:TestInstance ; ] ; dash:expectedResult [ rdf:object "1b 2a 3b " ; rdf:predicate ex:target ; rdf:subject ex:TestInstance ; ] ; dash:expectedResult [ rdf:object "1b 2a 3c " ; rdf:predicate ex:target ; rdf:subject ex:TestInstance ; ] ; . ex:TestInstance rdf:type ex:TestShapeClass ; ex:p1 "1a " ; ex:p1 "1b " ; ex:p2 "2a " ; ex:p3 "3a " ; ex:p3 "3b " ; ex:p3 "3c " ; rdfs:label "Test instance" ; . ex:TestShapeClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape class" ; rdfs:subClassOf rdfs:Resource ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ ex:testFunction ( [ sh:path ex:p1 ; ] [ sh:path ex:p2 ; ] [ sh:path ex:p3 ; ] ) ; ] ; sh:predicate ex:target ; sh:subject sh:this ; ] ; . ex:p1 rdf:type rdf:Property ; rdfs:domain ex:TestShapeClass ; rdfs:label "p1" ; rdfs:range xsd:string ; . ex:p2 rdf:type rdf:Property ; rdfs:domain ex:TestShapeClass ; rdfs:label "p2" ; rdfs:range xsd:string ; . ex:p3 rdf:type rdf:Property ; rdfs:domain ex:TestShapeClass ; rdfs:label "p3" ; rdfs:range xsd:string ; . ex:testFunction rdf:type sh:SPARQLFunction ; sh:parameter [ sh:path ex:arg1 ; ] ; sh:parameter [ sh:path ex:arg2 ; ] ; sh:parameter [ sh:path ex:arg3 ; ] ; sh:returnType xsd:string ; sh:select """ SELECT ?result WHERE { BIND (CONCAT($arg1, $arg2, $arg3) AS ?result) . } """ ; . pyshacl-0.30.1/test/resources/dash_tests/rules/triple/person.ttl0000644000000000000000000000224600000000000021747 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/triple/person # imports: http://datashapes.org/dash # prefix: person @prefix owl: . @prefix person: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . rdf:type owl:Ontology ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . person:JohnDoe rdf:type person:Person ; person:firstName "John" ; person:lastName "Doe" ; person:zipCode 12345 ; rdfs:label "John doe" ; . person:Person rdf:type rdfs:Class ; rdfs:label "Person" ; . person:firstName rdf:type rdf:Property ; rdfs:domain person:Person ; rdfs:label "first name" ; rdfs:range xsd:string ; . person:lastName rdf:type rdf:Property ; rdfs:domain person:Person ; rdfs:label "last name" ; rdfs:range xsd:string ; . person:zipCode rdf:type rdf:Property ; rdfs:domain person:Person ; rdfs:label "zip code" ; rdfs:range xsd:integer ; . pyshacl-0.30.1/test/resources/dash_tests/rules/triple/person2schema.test.ttl0000644000000000000000000001146000000000000024166 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/triple/person2schema.test # imports: http://datashapes.org/dash # imports: http://datashapes.org/schema # imports: http://datashapes.org/shasf/tests/rules/triple/person # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of person2schema" ; owl:imports ; owl:imports ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/shasf/tests/rules/triple/person2schema.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://schema.org/"^^xsd:anyURI ; sh:prefix "schema" ; ] ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object ; rdf:predicate ; rdf:subject ; ] ; dash:expectedResult [ rdf:object ; rdf:predicate rdf:type ; rdf:subject ; ] ; dash:expectedResult [ rdf:object ; rdf:predicate rdf:type ; rdf:subject ; ] ; dash:expectedResult [ rdf:object 12345 ; rdf:predicate ; rdf:subject ; ] ; dash:expectedResult [ rdf:object "Doe" ; rdf:predicate ; rdf:subject ; ] ; dash:expectedResult [ rdf:object "John" ; rdf:predicate ; rdf:subject ; ] ; . ex:Person2SchemaMappingShape rdf:type sh:NodeShape ; rdfs:label "Person-to-Schema Mapping Shape" ; sh:rule [ rdf:type sh:TripleRule ; sh:object ; sh:predicate rdf:type ; sh:subject sh:this ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object ; sh:predicate rdf:type ; sh:subject [ ex:deriveURI ( sh:this "-Address" ) ; ] ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ sh:path ; ] ; sh:predicate ; sh:subject sh:this ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ sh:path ; ] ; sh:predicate ; sh:subject sh:this ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ sh:path ; ] ; sh:predicate ; sh:subject [ ex:deriveURI ( sh:this "-Address" ) ; ] ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ ex:deriveURI ( sh:this "-Address" ) ; ] ; sh:predicate ; sh:subject sh:this ; ] ; sh:targetClass ; . ex:deriveURI rdf:type sh:SPARQLFunction ; rdfs:label "derive URI" ; sh:parameter [ sh:path ex:base ; sh:description "The base URI to derive from." ; sh:name "base" ; sh:nodeKind sh:IRI ; ] ; sh:parameter [ sh:path ex:concat ; sh:datatype xsd:string ; sh:description "The text to concatenate to the base to produce the result." ; sh:name "concat" ; ] ; sh:prefixes ; sh:returnType rdfs:Resource ; sh:select """SELECT ?result WHERE { BIND (IRI(CONCAT(str($base), $concat)) AS ?result) }""" ; . pyshacl-0.30.1/test/resources/dash_tests/rules/triple/rectangle.test.ttl0000644000000000000000000000354000000000000023361 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/triple/rectangle.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of a triple rule on rectangles" ; owl:imports ; . ex:ExampleRectangle rdf:type ex:Rectangle ; ex:height 8 ; ex:width 7 ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object 56 ; rdf:predicate ex:area ; rdf:subject ex:ExampleRectangle ; ] ; . ex:Rectangle rdf:type rdfs:Class ; rdfs:subClassOf rdfs:Resource ; . ex:RectangleShape rdf:type sh:NodeShape ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ ex:multiply ( [ sh:path ex:width ; ] [ sh:path ex:height ; ] ) ; ] ; sh:predicate ex:area ; sh:subject sh:this ; ] ; sh:targetClass ex:Rectangle ; . ex:multiply rdf:type sh:SPARQLFunction ; rdfs:comment "Multiplies its two parameters $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first operand" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second operand" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ($op1 * $op2 AS ?result) WHERE { } """ ; . pyshacl-0.30.1/test/resources/dash_tests/rules/triple/schema2person.test.ttl0000644000000000000000000000612100000000000024164 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/triple/schema2person.test # imports: http://datashapes.org/dash # imports: http://datashapes.org/schema # imports: http://datashapes.org/shasf/tests/rules/triple/person # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix person: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of person2schema" ; owl:imports ; owl:imports ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/shasf/tests/rules/triple/schema2person.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://schema.org/"^^xsd:anyURI ; sh:prefix "schema" ; ] ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object person:Person ; rdf:predicate rdf:type ; rdf:subject ex:JohnDoe ; ] ; dash:expectedResult [ rdf:object "12345" ; rdf:predicate person:zipCode ; rdf:subject ex:JohnDoe ; ] ; dash:expectedResult [ rdf:object "Doe" ; rdf:predicate person:lastName ; rdf:subject ex:JohnDoe ; ] ; dash:expectedResult [ rdf:object "John" ; rdf:predicate person:firstName ; rdf:subject ex:JohnDoe ; ] ; . ex:JohnDoe rdf:type schema:Person ; schema:address ex:JohnDoeAddress ; schema:familyName "Doe" ; schema:givenName "John" ; rdfs:label "John doe" ; . ex:JohnDoeAddress rdf:type schema:PostalAddress ; schema:postalCode "12345" ; rdfs:label "John Doe's address" ; . ex:schema2personMappingShape rdf:type sh:NodeShape ; rdfs:label "Schema-to-Person Mapping Shape" ; sh:rule [ rdf:type sh:TripleRule ; sh:object person:Person ; sh:predicate rdf:type ; sh:subject sh:this ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ sh:path schema:familyName ; ] ; sh:predicate person:lastName ; sh:subject sh:this ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ sh:path schema:givenName ; ] ; sh:predicate person:firstName ; sh:subject sh:this ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:object [ sh:path ( schema:address schema:postalCode ) ; ] ; sh:predicate person:zipCode ; sh:subject sh:this ; ] ; sh:targetClass schema:Person ; . pyshacl-0.30.1/test/resources/dash_tests/rules/triple/square.test.ttl0000644000000000000000000000365100000000000022720 0ustar00# baseURI: http://datashapes.org/shasf/tests/rules/triple/square.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of classification using squares" ; owl:imports ; . ex:InferencingTestCase rdf:type dash:InferencingTestCase ; dash:expectedResult [ rdf:object ex:Square ; rdf:predicate rdf:type ; rdf:subject ex:SquareRectangle ; ] ; . ex:InvalidRectangle rdf:type ex:Rectangle ; rdfs:label "Invalid rectangle" ; . ex:NonSquareRectangle rdf:type ex:Rectangle ; ex:height 2 ; ex:width 3 ; . ex:Rectangle rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Rectangle" ; rdfs:subClassOf rdfs:Resource ; sh:property [ sh:path ex:height ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "height" ; ] ; sh:property [ sh:path ex:width ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "width" ; ] ; sh:rule [ rdf:type sh:TripleRule ; sh:condition ex:Rectangle ; sh:condition [ sh:property [ sh:path ex:width ; sh:equals ex:height ; ] ; ] ; sh:object ex:Square ; sh:predicate rdf:type ; sh:subject sh:this ; ] ; . ex:Square rdf:type rdfs:Class ; rdfs:label "Square" ; . ex:SquareRectangle rdf:type ex:Rectangle ; ex:height 4 ; ex:width 4 ; rdfs:label "Square rectangle" ; . pyshacl-0.30.1/test/resources/dash_tests/shapedefs/anon-shape-001.test.ttl0000644000000000000000000000312700000000000023256 0ustar00# baseURI: http://datashapes.org/sh/tests/shapedefs/anon-shape-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of anonymous shape definition 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidNode1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape [] ; ] ; ] ; dash:validateShapes "true"^^xsd:boolean ; . ex:InvalidNode1 rdf:type ex:Person ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; . ex:ValidNode1 rdf:type ex:Person ; ex:property 42 ; . [ rdf:type sh:NodeShape ; rdfs:label "Anon shape" ; sh:property [ sh:path ex:property ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "property" ; ] ; sh:targetClass ex:Person ; ]. pyshacl-0.30.1/test/resources/dash_tests/shapedefs/anon-shape-002.test.ttl0000644000000000000000000000306200000000000023255 0ustar00# baseURI: http://datashapes.org/sh/tests/shapedefs/anon-shape-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of anonymous shape definition 002" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidNode1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape [] ; ] ; ] ; dash:validateShapes "true"^^xsd:boolean ; . ex:InvalidNode1 rdfs:label "Invalid node 1" ; . ex:ValidNode1 ex:property 42 ; . [ rdf:type sh:NodeShape ; rdfs:label "Anon shape" ; sh:property [ sh:path ex:property ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "property" ; ] ; sh:targetNode ex:InvalidNode1 ; sh:targetNode ex:ValidNode1 ; ]. pyshacl-0.30.1/test/resources/dash_tests/sparql/component/nodeValidator-001.test.ttl0000644000000000000000000000453100000000000025362 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/component/nodeValidator-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:nodeValidator 001" ; owl:imports ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/component/nodeValidator-001.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; . ex:InvalidResource1 ex:property "Other" ; . ex:TestConstraintComponent rdf:type sh:ConstraintComponent ; rdfs:label "Test constraint component" ; sh:nodeValidator [ rdf:type sh:SPARQLSelectValidator ; sh:prefixes ; sh:select """ SELECT DISTINCT $this WHERE { $this ?p ?o . FILTER NOT EXISTS { $this ex:property ?requiredParam . }}""" ; ] ; sh:parameter [ sh:path ex:optionalParam ; sh:datatype xsd:integer ; sh:name "optional param" ; sh:optional "true"^^xsd:boolean ; ] ; sh:parameter [ sh:path ex:requiredParam ; sh:datatype xsd:string ; sh:name "required param" ; ] ; . ex:TestShape rdf:type sh:NodeShape ; ex:requiredParam "Value" ; rdfs:label "Test shape" ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:property "Value" ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/component/optional-001.test.ttl0000644000000000000000000000643000000000000024414 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/component/optional-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:optional 001" ; owl:imports ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/component/optional-001.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "One" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape1 ; sh:value "One" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "One" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape2 ; sh:value "One" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Three" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape1 ; sh:value "Three" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Two" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape2 ; sh:value "Two" ; ] ; ] ; . ex:IncompleteShape rdf:type sh:NodeShape ; ex:optionalParam "Some" ; rdfs:label "Incomplete shape" ; sh:targetNode "One" ; sh:targetNode "Three" ; sh:targetNode "Two" ; . ex:TestConstraintComponent rdf:type sh:ConstraintComponent ; rdfs:label "Test constraint component" ; sh:parameter [ sh:path ex:optionalParam ; sh:name "optional param" ; sh:optional "true"^^xsd:boolean ; ] ; sh:parameter [ sh:path ex:requiredParam ; sh:name "required param" ; ] ; sh:validator [ rdf:type sh:SPARQLAskValidator ; sh:ask """ASK { FILTER ($value != $requiredParam && $value != COALESCE(?optionalParam, \"Three\")) . }""" ; sh:prefixes ; ] ; . ex:TestShape1 rdf:type sh:NodeShape ; ex:requiredParam "One" ; rdfs:label "Test shape 1" ; sh:targetNode "One" ; sh:targetNode "Three" ; sh:targetNode "Two" ; . ex:TestShape2 rdf:type sh:NodeShape ; ex:optionalParam "Two" ; ex:requiredParam "One" ; rdfs:label "Test shape 1" ; sh:targetNode "One" ; sh:targetNode "Three" ; sh:targetNode "Two" ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/component/propertyValidator-select-001.test.ttl0000644000000000000000000000607200000000000027600 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/component/propertyValidator-select-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:propertyValidator with SELECT 001" ; owl:imports ; . ex:Country rdf:type rdfs:Class ; rdfs:label "Country" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry1 ; sh:resultPath ex:englishLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:LanguageConstraintComponentUsingSELECT ; sh:sourceShape _:b79379 ; sh:value "Munich" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry1 ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:LanguageConstraintComponentUsingSELECT ; sh:sourceShape _:b29972 ; sh:value "Muenchen" ; ] ; ] ; . ex:InvalidCountry1 rdf:type ex:Country ; ex:englishLabel "Munich" ; ex:germanLabel "Muenchen" ; rdfs:label "Invalid country1" ; . ex:LanguageConstraintComponentUsingSELECT rdf:type sh:ConstraintComponent ; rdfs:label "Language constraint component" ; sh:labelTemplate "Values are literals with language \"{$lang}\"" ; sh:parameter [ sh:path ex:lang ; sh:datatype xsd:string ; sh:description "The language tag, e.g. \"de\"." ; sh:minLength 2 ; sh:name "language" ; ] ; sh:propertyValidator [ rdf:type sh:SPARQLSelectValidator ; sh:message "Values are literals with language \"{?lang}\"" ; sh:prefixes ; sh:select """ SELECT DISTINCT $this ?value WHERE { $this $PATH ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), $lang)) } """ ; ] ; . ex:LanguageExampleShape rdf:type sh:NodeShape ; sh:property _:b29972 ; sh:property _:b79379 ; sh:targetClass ex:Country ; . ex:ValidCountry1 rdf:type ex:Country ; ex:englishLabel "Beijing"@en ; ex:germanLabel "Peking"@de ; rdfs:label "Valid country1" ; . ex:englishLabel rdfs:domain ex:Country ; . ex:germanLabel rdfs:domain ex:Country ; . _:b29972 sh:path ex:germanLabel ; ex:lang "de" ; . _:b79379 sh:path ex:englishLabel ; ex:lang "en" ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/component/validator-001.test.ttl0000644000000000000000000000436400000000000024560 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/component/validator-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:validator 001" ; owl:imports ; . ex:ConstraintComponent rdf:type rdfs:Class ; rdfs:label "Constraint component" ; rdfs:subClassOf sh:ConstraintComponent ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hallo Welt" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hallo Welt" ; ] ; ] ; . ex:SPARQLAskValidator rdfs:subClassOf sh:SPARQLAskValidator ; . ex:TestConstraintComponent rdf:type ex:ConstraintComponent ; rdfs:comment """A simple test component with two parameters, which flags all values as invalid unless they are the concatenation of the two parameters. Part of this test is to also use various subclasses of the system classes.""" ; rdfs:label "Test constraint component" ; sh:parameter ex:TestParameter1 ; sh:parameter ex:TestParameter2 ; sh:validator [ rdf:type ex:SPARQLAskValidator ; sh:ask """ ASK { FILTER (?value = CONCAT($test1, $test2)) } """ ; ] ; . ex:TestParameter1 rdf:type sh:Parameter ; sh:path ex:test1 ; sh:datatype xsd:string ; . ex:TestParameter2 rdf:type sh:Parameter ; sh:path ex:test2 ; sh:datatype xsd:string ; . ex:TestShape rdf:type sh:NodeShape ; ex:test1 "Hello " ; ex:test2 "World" ; rdfs:label "Test shape" ; sh:targetNode "Hallo Welt" ; sh:targetNode "Hello World" ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/node/prefixes-001.test.ttl0000644000000000000000000000351600000000000023341 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/node/prefixes-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:prefixes 001" ; owl:imports ; owl:versionInfo "Created with TopBraid Composer" ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestSPARQL ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ; ] ; ] ; . ex:InvalidResource1 ex:property ; . ex:TestPrefixes owl:imports ; sh:declare [ sh:namespace "http://test.com/ns#"^^xsd:anyURI ; sh:prefix "test" ; ] ; . ex:TestSPARQL sh:prefixes ex:TestPrefixes ; sh:select """ SELECT $this ?value WHERE { $this ex:property ?value . FILTER (?value = test:Value) . } """ ; . ex:TestShape rdf:type sh:NodeShape ; sh:sparql ex:TestSPARQL ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/node/sparql-001.test.ttl0000644000000000000000000000533600000000000023020 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/node/sparql-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:sparql at node shape 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Invalid resource 1" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Invalid label 1" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Invalid label 2" ; ] ; ] ; . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:label "Invalid resource 1" ; . ex:InvalidResource2 rdf:type rdfs:Resource ; rdfs:label "Invalid label 1" ; rdfs:label "Invalid label 2" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-sparql sh:message "Cannot have a label" ; sh:prefixes ; sh:select """ SELECT $this ?path ?value WHERE { $this ?path ?value . FILTER (?path = rdfs:label) . }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/node/sparql-002.test.ttl0000644000000000000000000000406400000000000023016 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/node/sparql-002.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:sparql at node shape 002" ; owl:imports ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/node/sparql-002.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:LanguageExampleShape ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:LanguageExampleShape ; sh:value "Spain"@en ; ] ; ] ; . ex:InvalidCountry rdf:type ex:Country ; ex:germanLabel "Spain"@en ; . ex:LanguageExampleShape rdf:type sh:NodeShape ; rdf:type sh:SPARQLConstraintObject ; sh:message "Values are literals with German language tag." ; sh:prefixes ; sh:select """ SELECT $this (ex:germanLabel AS ?path) ?value WHERE { $this ex:germanLabel ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), \"de\")) } """ ; sh:sparql ex:LanguageExampleShape ; sh:targetClass ex:Country ; . ex:ValidCountry rdf:type ex:Country ; ex:germanLabel "Spanien"@de ; . pyshacl-0.30.1/test/resources/dash_tests/sparql/property/sparql-001.test.ttl0000644000000000000000000000427400000000000023757 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/property/sparql-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:sparql at property shape 001" ; owl:imports ; sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/property/sparql-001.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:Country rdf:type rdfs:Class ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:LanguageExamplePropertyShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:LanguageExamplePropertyShape ; sh:value "Spain"@en ; ] ; ] ; . ex:InvalidCountry rdf:type ex:Country ; ex:germanLabel "Spain"@en ; . ex:LanguageExamplePropertyShape rdf:type sh:PropertyShape ; sh:path ex:germanLabel ; sh:sparql ex:LanguageExamplePropertyShape-sparql ; sh:targetClass ex:Country ; . ex:LanguageExamplePropertyShape-sparql rdf:type sh:SPARQLConstraintObject ; sh:message "Values are literals with German language tag." ; sh:prefixes ; sh:select """ SELECT $this ?value WHERE { $this $PATH ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), \"de\")) } """ ; . ex:ValidCountry rdf:type ex:Country ; ex:germanLabel "Spanien"@de ; . pyshacl-0.30.1/test/resources/dash_tests/target/sparqlTarget-001.test.ttl0000644000000000000000000000343300000000000023222 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/target/sparqlTarget-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:SPARQLTarget 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-label ; ] ; ] ; . ex:InvalidInstance1 rdf:type owl:Thing ; rdfs:label "Invalid instance1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-label ; sh:target [ rdf:type sh:SPARQLTarget ; sh:prefixes ; sh:select """ SELECT ?this WHERE { ?this a owl:Thing . }""" ; ] ; . ex:TestShape-label sh:path rdfs:label ; rdfs:comment "Must not have any rdfs:label" ; rdfs:label "label" ; sh:datatype xsd:string ; sh:maxCount 0 ; . ex:ValidInstance1 rdf:type owl:Thing ; . pyshacl-0.30.1/test/resources/dash_tests/target/sparqlTargetType-001.test.ttl0000644000000000000000000000451200000000000024063 0ustar00# baseURI: http://datashapes.org/sh/tests/sparql/target/sparqlTargetType-001.test # imports: http://datashapes.org/dash # prefix: ex @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:SPARQLTargetType 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Barry ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:USCitizenShape ; sh:value ex:Barry ; ] ; ] ; . ex:Person rdf:type owl:Class ; rdfs:label "A person" ; . ex:Country rdf:type owl:Class ; rdfs:label "A country" ; . ex:USA rdf:type ex:Country ; . ex:Germany rdf:type ex:Country ; . ex:bornIn rdf:type owl:ObjectProperty ; . ex:GermanCitizen rdf:type owl:Class ; . ex:USCitizen rdf:type owl:Class ; . ex:Ludwig rdf:type ex:Person ; rdf:type ex:GermanCitizen ; ex:bornIn ex:Germany . ex:Barry rdf:type ex:Person ; ex:bornIn ex:USA . ex:PeopleBornInCountryTarget a sh:SPARQLTargetType ; rdfs:subClassOf sh:Target ; sh:labelTemplate "All persons born in {$country}" ; sh:parameter [ sh:path ex:country ; sh:description "The country that the focus nodes are 'born' in." ; sh:class ex:Country ; sh:nodeKind sh:IRI ; ] ; sh:prefixes ex: ; sh:select """ SELECT ?this WHERE { ?this a ex:Person . ?this ex:bornIn $country . } """ ; . ex:GermanCitizenShape a sh:NodeShape ; sh:target [ a ex:PeopleBornInCountryTarget ; ex:country ex:Germany ; ] ; sh:class ex:GermanCitizen ; . ex:USCitizenShape a sh:NodeShape ; sh:target [ a ex:PeopleBornInCountryTarget ; ex:country ex:USA ; ] ; sh:class ex:USCitizen ; . pyshacl-0.30.1/test/resources/js/findBornIn.js0000644000000000000000000000051100000000000016115 0ustar00var EXbornIn = TermFactory.namedNode("http://datashapes.org/sh/tests/js/target/jsTargetType-001.test#bornIn"); function findBornIn($country) { var spo = $data.find(null, EXbornIn, $country); var accum = []; for(var t = spo.next(); t; t = spo.next()) { var subject = t.subject; accum.push(subject); } return accum; } pyshacl-0.30.1/test/resources/js/findThings.js0000644000000000000000000000056600000000000016174 0ustar00var RDFtype = TermFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type"); var OWLThing = TermFactory.namedNode("http://www.w3.org/2002/07/owl#Thing"); function findThings() { var spo = $data.find(null, RDFtype, OWLThing); var accum = []; for(var t = spo.next(); t; t = spo.next()) { var subject = t.subject; accum.push(subject); } return accum; } pyshacl-0.30.1/test/resources/js/germanLabel.js0000644000000000000000000000066300000000000016306 0ustar00// From https://www.w3.org/TR/shacl-js/#js-constraints function validateGermanLabel($this) { var results = []; var p = TermFactory.namedNode("http://example.com/ex#germanLabel"); var s = $data.find($this, p, null); for(var t = s.next(); t; t = s.next()) { var object = t.object; if(!object.isLiteral() || !object.language.startsWith("de")) { results.push({ value : object, path : p, }); } } return results; } pyshacl-0.30.1/test/resources/js/hasMaxCount.js0000644000000000000000000000042400000000000016322 0ustar00function hasMaxCount($this, $path, $maxCount) { var spo = $data.find($this, $path, null); var accum = []; for(var t = spo.next(); t; t = spo.next()) { var object = t.object; accum.push(object); } if (accum.length > $maxCount.lex) { return false; } return true; } pyshacl-0.30.1/test/resources/js/hasMaxLength.js0000644000000000000000000000035600000000000016457 0ustar00function hasMaxLength($value, $maxLength) { if($value.isLiteral()) { return $value.lex.length <= $maxLength.lex; } else if($value.isURI()) { return $value.uri.length <= $maxLength.lex; } else { // Blank node return false; } } pyshacl-0.30.1/test/resources/js/multiply.js0000644000000000000000000000007700000000000015753 0ustar00function multiply($op1, $op2) { return $op1.lex * $op2.lex; } pyshacl-0.30.1/test/resources/js/rectangle.js0000644000000000000000000000101600000000000016032 0ustar00var NS = "http://datashapes.org/js/tests/rules/rectangle.test#"; function computeArea($this) { var width = getProperty($this, "width"); var height = getProperty($this, "height"); var area = TermFactory.literal(width.lex * height.lex, width.datatype); var areaProperty = TermFactory.namedNode(NS + "area"); return [ [$this, areaProperty, area] ]; } function getProperty($this, name) { var it = $data.find($this, TermFactory.namedNode(NS + name), null); var result = it.next().object; it.close(); return result; } pyshacl-0.30.1/test/resources/sht_tests/core/complex/manifest.ttl0000644000000000000000000000056000000000000022071 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/core/complex" ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/complex/personexample.ttl0000644000000000000000000000554100000000000023151 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Alice rdf:type ex:Person ; ex:ssn "987-65-432A" ; . ex:Bob rdf:type ex:Person ; ex:ssn "123-45-6789" ; ex:ssn "124-35-6789" ; . ex:Calvin rdf:type ex:Person ; ex:birthDate "1999-09-09"^^xsd:date ; ex:worksFor ex:UntypedCompany ; . ex:PersonShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:ignoredProperties ( rdf:type ) ; sh:property _:b61064 ; sh:property _:b60054 ; sh:property [ sh:path [ sh:inversePath ex:worksFor ; ] ; sh:name "employee" ; ] ; sh:targetClass ex:Person ; . _:b61064 sh:path ex:ssn ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:pattern "^\\d{3}-\\d{2}-\\d{4}$" . _:b60054 sh:path ex:worksFor ; sh:class ex:Company ; sh:nodeKind sh:IRI . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of personexample" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Alice ; sh:resultPath ex:ssn ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape _:b61064 ; sh:value "987-65-432A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Bob ; sh:resultPath ex:ssn ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape _:b61064 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Calvin ; sh:resultPath ex:birthDate ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:PersonShape ; sh:value "1999-09-09"^^xsd:date ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Calvin ; sh:resultPath ex:worksFor ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape _:b60054 ; sh:value ex:UntypedCompany ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/complex/shacl-shacl-data-shapes.ttl0000644000000000000000000003052000000000000024634 0ustar00# baseURI: http://www.w3.org/ns/shacl-shacl# # A SHACL shapes graph to validate SHACL shapes graphs # Draft last edited 2017-04-04 @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix shsh: . shsh: rdfs:label "SHACL for SHACL"@en ; rdfs:comment "This shapes graph can be used to validate SHACL shapes graphs against a subset of the syntax rules."@en ; sh:declare [ sh:prefix "shsh" ; sh:namespace "http://www.w3.org/ns/shacl-shacl#" ; ] . shsh:ListShape a sh:NodeShape ; rdfs:label "List shape"@en ; rdfs:comment "A shape describing well-formed RDF lists. Currently does not check for non-recursion. This could be expressed using SHACL-SPARQL."@en ; rdfs:seeAlso ; sh:property [ sh:path [ sh:zeroOrMorePath rdf:rest ] ; rdfs:comment "Each list member (including this node) must be have the shape shsh:ListNodeShape."@en ; sh:hasValue rdf:nil ; sh:node shsh:ListNodeShape ; ] . shsh:ListNodeShape a sh:NodeShape ; rdfs:label "List node shape"@en ; rdfs:comment "Defines constraints on what it means for a node to be a node within a well-formed RDF list. Note that this does not check whether the rdf:rest items are also well-formed lists as this would lead to unsupported recursion."@en ; sh:or ( [ sh:hasValue rdf:nil ; sh:property [ sh:path rdf:first ; sh:maxCount 0 ; ] ; sh:property [ sh:path rdf:rest ; sh:maxCount 0 ; ] ; ] [ sh:not [ sh:hasValue rdf:nil ] ; sh:property [ sh:path rdf:first ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ sh:path rdf:rest ; sh:maxCount 1 ; sh:minCount 1 ; ] ; ] ) . shsh:ShapeShape a sh:NodeShape ; rdfs:label "Shape shape"@en ; rdfs:comment "A shape that can be used to validate syntax rules for other shapes."@en ; # See https://www.w3.org/TR/shacl/#shapes for what counts as a shape sh:targetClass sh:NodeShape ; sh:targetClass sh:PropertyShape ; sh:targetSubjectsOf sh:targetClass, sh:targetNode, sh:targetObjectsOf, sh:targetSubjectsOf ; sh:targetSubjectsOf sh:and, sh:class, sh:closed, sh:datatype, sh:disjoint, sh:equals, sh:flags, sh:hasValue, sh:ignoredProperties, sh:in, sh:languageIn, sh:lessThan, sh:lessThanOrEquals, sh:maxCount, sh:maxExclusive, sh:maxInclusive, sh:maxLength, sh:minCount, sh:minExclusive, sh:minInclusive, sh:minLength, sh:node, sh:nodeKind, sh:not, sh:or, sh:pattern, sh:property, sh:qualifiedMaxCount, sh:qualifiedMinCount, sh:qualifiedValueShape, sh:qualifiedValueShape, sh:qualifiedValueShapesDisjoint, sh:qualifiedValueShapesDisjoint, sh:sparql, sh:uniqueLang, sh:xone ; sh:targetObjectsOf sh:node ; # node-node sh:targetObjectsOf sh:not ; # not-node sh:targetObjectsOf sh:property ; # property-node sh:targetObjectsOf sh:qualifiedValueShape ; # qualifiedValueShape-node # Shapes are either node shapes or property shapes sh:xone ( shsh:NodeShapeShape shsh:PropertyShapeShape ) ; sh:property [ sh:path sh:targetNode ; sh:nodeKind sh:IRIOrLiteral ; # targetNode-nodeKind ] ; sh:property [ sh:path sh:targetClass ; sh:nodeKind sh:IRI ; # targetClass-nodeKind ] ; sh:property [ sh:path sh:targetSubjectsOf ; sh:nodeKind sh:IRI ; # targetSubjectsOf-nodeKind ] ; sh:property [ sh:path sh:targetObjectsOf ; sh:nodeKind sh:IRI ; # targetObjectsOf-nodeKind ] ; sh:or ( [ sh:not [ sh:class rdfs:Class ; sh:or ( [ sh:class sh:NodeShape ] [ sh:class sh:PropertyShape ] ) ] ] [ sh:nodeKind sh:IRI ] ) ; # implicit-targetClass-nodeKind sh:property [ sh:path sh:severity ; sh:maxCount 1 ; # severity-maxCount sh:nodeKind sh:IRI ; # severity-nodeKind ] ; sh:property [ sh:path sh:message ; sh:or ( [ sh:datatype xsd:string ] [ sh:datatype rdf:langString ] ) ; # message-datatype ] ; sh:property [ sh:path sh:deactivated ; sh:maxCount 1 ; # deactivated-maxCount sh:in ( true false ) ; # deactivated-datatype ] ; sh:property [ sh:path sh:and ; sh:node shsh:ListShape ; # and-node ] ; sh:property [ sh:path sh:class ; sh:nodeKind sh:IRI ; # class-nodeKind ] ; sh:property [ sh:path sh:closed ; sh:datatype xsd:boolean ; # closed-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:ignoredProperties ; sh:node shsh:ListShape ; # ignoredProperties-node sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path ( sh:ignoredProperties [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ; sh:nodeKind sh:IRI ; # ignoredProperties-members-nodeKind ] ; sh:property [ sh:path sh:datatype ; sh:nodeKind sh:IRI ; # datatype-nodeKind sh:maxCount 1 ; # datatype-maxCount ] ; sh:property [ sh:path sh:disjoint ; sh:nodeKind sh:IRI ; # disjoint-nodeKind ] ; sh:property [ sh:path sh:equals ; sh:nodeKind sh:IRI ; # equals-nodeKind ] ; sh:property [ sh:path sh:in ; sh:maxCount 1 ; # in-maxCount sh:node shsh:ListShape ; # in-node ] ; sh:property [ sh:path sh:languageIn ; sh:maxCount 1 ; # languageIn-maxCount sh:node shsh:ListShape ; # languageIn-node ] ; sh:property [ sh:path ( sh:languageIn [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ; sh:datatype xsd:string ; # languageIn-members-datatype ] ; sh:property [ sh:path sh:lessThan ; sh:nodeKind sh:IRI ; # lessThan-nodeKind ] ; sh:property [ sh:path sh:lessThanOrEquals ; sh:nodeKind sh:IRI ; # lessThanOrEquals-nodeKind ] ; sh:property [ sh:path sh:maxCount ; sh:datatype xsd:integer ; # maxCount-datatype sh:maxCount 1 ; # maxCount-maxCount ] ; sh:property [ sh:path sh:maxExclusive ; sh:maxCount 1 ; # maxExclusive-maxCount sh:nodeKind sh:Literal ; # maxExclusive-nodeKind ] ; sh:property [ sh:path sh:maxInclusive ; sh:maxCount 1 ; # maxInclusive-maxCount sh:nodeKind sh:Literal ; # maxInclusive-nodeKind ] ; sh:property [ sh:path sh:maxLength ; sh:datatype xsd:integer ; # maxLength-datatype sh:maxCount 1 ; # maxLength-maxCount ] ; sh:property [ sh:path sh:minCount ; sh:datatype xsd:integer ; # minCount-datatype sh:maxCount 1 ; # minCount-maxCount ] ; sh:property [ sh:path sh:minExclusive ; sh:maxCount 1 ; # minExclusive-maxCount sh:nodeKind sh:Literal ; # minExclusive-nodeKind ] ; sh:property [ sh:path sh:minInclusive ; sh:maxCount 1 ; # minInclusive-maxCount sh:nodeKind sh:Literal ; # minInclusive-nodeKind ] ; sh:property [ sh:path sh:minLength ; sh:datatype xsd:integer ; # minLength-datatype sh:maxCount 1 ; # minLength-maxCount ] ; sh:property [ sh:path sh:nodeKind ; sh:in ( sh:BlankNode sh:IRI sh:Literal sh:BlankNodeOrIRI sh:BlankNodeOrLiteral sh:IRIOrLiteral ) ; # nodeKind-in sh:maxCount 1 ; # nodeKind-maxCount ] ; sh:property [ sh:path sh:or ; sh:node shsh:ListShape ; # or-node ] ; sh:property [ sh:path sh:pattern ; sh:datatype xsd:string ; # pattern-datatype sh:maxCount 1 ; # multiple-parameters # Not implemented: syntax rule pattern-regex ] ; sh:property [ sh:path sh:flags ; sh:datatype xsd:string ; # flags-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedMaxCount ; sh:datatype xsd:integer ; # qualifiedMaxCount-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedMinCount ; sh:datatype xsd:integer ; # qualifiedMinCount-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedValueShape ; sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:qualifiedValueShapesDisjoint ; sh:datatype xsd:boolean ; # qualifiedValueShapesDisjoint-datatype sh:maxCount 1 ; # multiple-parameters ] ; sh:property [ sh:path sh:uniqueLang ; sh:datatype xsd:boolean ; # uniqueLang-datatype sh:maxCount 1 ; # uniqueLang-maxCount ] ; sh:property [ sh:path sh:xone ; sh:node shsh:ListShape ; # xone-node ] . shsh:NodeShapeShape a sh:NodeShape ; sh:targetObjectsOf sh:node ; # node-node sh:property [ sh:path sh:path ; sh:maxCount 0 ; # NodeShape-path-maxCount ] ; sh:property [ sh:path sh:lessThan ; sh:maxCount 0 ; # lessThan-scope ] ; sh:property [ sh:path sh:lessThanOrEquals ; sh:maxCount 0 ; # lessThanOrEquals-scope ] ; sh:property [ sh:path sh:maxCount ; sh:maxCount 0 ; # maxCount-scope ] ; sh:property [ sh:path sh:minCount ; sh:maxCount 0 ; # minCount-scope ] ; sh:property [ sh:path sh:qualifiedValueShape ; sh:maxCount 0 ; # qualifiedValueShape-scope ] ; sh:property [ sh:path sh:uniqueLang ; sh:maxCount 0 ; # uniqueLang-scope ] . shsh:PropertyShapeShape a sh:NodeShape ; sh:targetObjectsOf sh:property ; # property-node sh:property [ sh:path sh:path ; sh:maxCount 1 ; # path-maxCount sh:minCount 1 ; # PropertyShape-path-minCount sh:or ( shsh:PathShape [ sh:nodeKind sh:IRI ] ) ; # path-node ] . # Values of sh:and, sh:or and sh:xone must be lists of shapes shsh:ShapesListShape a sh:NodeShape ; sh:targetObjectsOf sh:and ; # and-members-node sh:targetObjectsOf sh:or ; # or-members-node sh:targetObjectsOf sh:xone ; # xone-members-node sh:property [ sh:path ( [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ; sh:node shsh:ShapeShape ; ] . # A path of blank node path syntax, used to simulate recursion _:PathPath sh:alternativePath ( ( [ sh:zeroOrMorePath rdf:rest ] rdf:first ) ( sh:alternativePath [ sh:zeroOrMorePath rdf:rest ] rdf:first ) sh:inversePath sh:zeroOrMorePath sh:oneOrMorePath sh:zeroOrOnePath ) . shsh:PathShape a sh:NodeShape ; rdfs:label "Path shape"@en ; rdfs:comment "A shape that can be used to validate the syntax rules of well-formed SHACL paths."@en ; rdfs:seeAlso ; sh:property [ sh:path [ sh:zeroOrMorePath _:PathPath ] ; sh:node shsh:PathNodeShape ; ] . shsh:PathNodeShape sh:xone ( # path-metarule [ sh:nodeKind sh:IRI ] # 2.3.1.1: Predicate path [ sh:nodeKind sh:BlankNode ; # 2.3.1.2: Sequence path sh:node shsh:PathListWithAtLeast2Members ; ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.3: Alternative path sh:closed true ; sh:property [ sh:path sh:alternativePath ; sh:node shsh:PathListWithAtLeast2Members ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.4: Inverse path sh:closed true ; sh:property [ sh:path sh:inversePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.5: Zero-or-more path sh:closed true ; sh:property [ sh:path sh:zeroOrMorePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.6: One-or-more path sh:closed true ; sh:property [ sh:path sh:oneOrMorePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] [ sh:nodeKind sh:BlankNode ; # 2.3.1.7: Zero-or-one path sh:closed true ; sh:property [ sh:path sh:zeroOrOnePath ; sh:minCount 1 ; sh:maxCount 1 ; ] ] ) . shsh:PathListWithAtLeast2Members a sh:NodeShape ; sh:node shsh:ListShape ; sh:property [ sh:path [ sh:oneOrMorePath rdf:rest ] ; sh:minCount 2 ; # 1 other list node plus rdf:nil ] . shsh:ShapesGraphShape a sh:NodeShape ; sh:targetObjectsOf sh:shapesGraph ; sh:nodeKind sh:IRI . # shapesGraph-nodeKind shsh:EntailmentShape a sh:NodeShape ; sh:targetObjectsOf sh:entailment ; sh:nodeKind sh:IRI . # entailment-nodeKind pyshacl-0.30.1/test/resources/sht_tests/core/complex/shacl-shacl.ttl0000644000000000000000000000123300000000000022443 0ustar00@prefix mf: . @prefix rdfs: . @prefix xsd: . @prefix sh: . @prefix sht: . <> a mf:Manifest ; mf:entries ( ) . a sht:Validate ; rdfs:label "frozen eat your own ( eat your own frozen dogfood )" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [a sh:ValidationReport ; sh:conforms "true"^^xsd:boolean ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/manifest.ttl0000644000000000000000000000073500000000000020426 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/misc/deactivated-001.ttl0000644000000000000000000000224400000000000022323 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource rdf:type rdfs:Resource ; . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:boolean ; sh:deactivated "true"^^xsd:boolean ; sh:property ex:TestShape2 ; sh:targetNode ex:InvalidResource ; . ex:TestShape2 rdf:type sh:PropertyShape ; sh:path ex:property ; sh:minCount 1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:deactivated 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "true"^^xsd:boolean ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/misc/deactivated-002.ttl0000644000000000000000000000240600000000000022324 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:boolean ; sh:deactivated "false"^^xsd:boolean ; sh:targetNode 32 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:deactivated 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 32 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 32 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/misc/manifest.ttl0000644000000000000000000000072500000000000021360 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/core/misc" ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/misc/message-001.ttl0000644000000000000000000000310200000000000021464 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:integer ; sh:message "Test message"@en ; sh:targetNode ex:InvalidNode ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of custom sh:message 001" ; rdfs:comment """ Note: This test verifies that the sh:message is copied into sh:resultMessage. To pass this test, the test harness needs to preserve all sh:resultMessage triples that are mentioned in the 'expected' results graph.""" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidNode ; sh:resultMessage "Test message"@en ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidNode ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/misc/severity-001.ttl0000644000000000000000000000237200000000000021722 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:integer ; sh:severity sh:Warning ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:severity 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Warning ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/misc/severity-002.ttl0000644000000000000000000000343300000000000021722 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property "true"^^xsd:boolean ; . ex:TestShape1 sh:nodeKind sh:BlankNode ; sh:property ex:TestShape2 ; sh:severity ex:MySeverity ; sh:targetNode ex:InvalidResource1 ; . ex:TestShape2 sh:path ex:property ; sh:datatype xsd:integer ; sh:severity sh:Info ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:severity 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Info ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape2 ; sh:value "true"^^xsd:boolean ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity ex:MySeverity ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape ex:TestShape1 ; sh:value ex:InvalidResource1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/and-001.ttl0000644000000000000000000000375200000000000020607 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidRectangle1 rdf:type ex:Rectangle ; ex:height 3 ; . ex:InvalidRectangle2 rdf:type ex:Rectangle ; ex:width 2 ; . ex:Rectangle rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:subClassOf rdfs:Resource ; sh:and ( [ sh:property [ sh:path ex:width ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:height ; sh:minCount 1 ; ] ; ] ) ; . ex:ValidRectangle1 rdf:type ex:Rectangle ; ex:height 3 ; ex:width 2 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:and at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:Rectangle ; sh:value ex:InvalidRectangle1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:Rectangle ; sh:value ex:InvalidRectangle2 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/and-002.ttl0000644000000000000000000000372100000000000020604 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:AndShape rdf:type sh:NodeShape ; sh:and ( ex:SuperShape [ sh:property [ sh:path ex:property ; sh:maxCount 1 ; ] ; ] ) ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:InvalidInstance2 ; sh:targetNode ex:ValidInstance1 ; . ex:InvalidInstance2 ex:property "One" ; ex:property "Two" ; . ex:SuperShape rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 1 ; ] ; . ex:ValidInstance1 ex:property "One" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:and at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AndShape ; sh:value ex:InvalidInstance1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AndShape ; sh:value ex:InvalidInstance2 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/class-001.ttl0000644000000000000000000000352300000000000021146 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:John rdf:type ex:MalePerson ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:subClassOf ex:Person ; . ex:Person rdf:type rdfs:Class ; rdfs:subClassOf rdfs:Resource ; . ex:Quokki rdf:type ex:Animal ; . ex:Someone rdf:type ex:Person ; . ex:TestShape rdf:type sh:NodeShape ; sh:class ex:Person ; sh:targetNode ex:John ; sh:targetNode ex:Quokki ; sh:targetNode ex:Someone ; sh:targetNode ex:Typeless ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:class at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Quokki ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Quokki ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Typeless ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Typeless ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/class-002.ttl0000644000000000000000000000331600000000000021147 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:NamedInstance rdf:type ex:TestClass ; . ex:TestShape rdf:type sh:NodeShape ; sh:class ex:TestClass ; sh:targetClass ex:BNodeClass ; sh:targetNode ex:NamedInstance ; sh:targetNode "String" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:class at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "String" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b9751 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b9751 ; ] ; ] ; mf:status sht:approved ; . _:b9751 rdf:type ex:BNodeClass ; . [ rdf:type ex:BNodeClass ; rdf:type ex:TestClass ; ]. pyshacl-0.30.1/test/resources/sht_tests/core/node/class-003.ttl0000644000000000000000000000576700000000000021164 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:John # not Animal rdf:type ex:MalePerson ; . ex:Joe # OK rdf:type ex:MalePerson ; rdf:type ex:Animal ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:subClassOf ex:Person ; . ex:Person rdf:type rdfs:Class ; rdfs:subClassOf rdfs:Resource ; . ex:Quokki # not Person rdf:type ex:Animal ; . ex:Quokkip # not Animal rdf:type ex:Person ; . ex:Someone # OK rdf:type ex:Person ; rdf:type ex:Animal ; . ex:TestShape rdf:type sh:NodeShape ; sh:class ex:Person ; sh:class ex:Animal ; sh:targetClass ex:MalePerson ; sh:targetNode ex:John ; sh:targetNode ex:Quokki ; sh:targetNode ex:Quokkip ; sh:targetNode ex:Someone ; sh:targetNode ex:Typeless ; # not Animal, not Person . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:class at node shape 003 multiple classes, overlapping target sets" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Typeless ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Typeless ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Typeless ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Typeless ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Quokki ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Quokki ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Quokkip ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Quokkip ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/closed-001.ttl0000644000000000000000000000352700000000000021316 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:SomeClass ; ex:otherProperty 4 ; ex:someProperty 3 ; . ex:MyShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:property [ sh:path ex:someProperty ; ] ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; . ex:ValidInstance1 ex:someProperty 3 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:closed at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath rdf:type ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:MyShape ; sh:value ex:SomeClass ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:otherProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:MyShape ; sh:value 4 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/closed-002.ttl0000644000000000000000000000306700000000000021316 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 ex:otherProperty 4 ; ex:someProperty 3 ; . ex:MyShape rdf:type sh:NodeShape ; sh:closed "true"^^xsd:boolean ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:path ex:someProperty ; ] ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; . ex:ValidInstance1 rdf:type ex:SomeClass ; ex:someProperty 3 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:closed at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:otherProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClosedConstraintComponent ; sh:sourceShape ex:MyShape ; sh:value 4 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/datatype-001.ttl0000644000000000000000000000372500000000000021660 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:datatype xsd:integer ; sh:targetClass ex:TestClass ; sh:targetNode xsd:integer ; sh:targetNode 42 ; sh:targetNode "aldi"^^xsd:integer ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:datatype at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode xsd:integer ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value xsd:integer ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "aldi"^^xsd:integer ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "aldi"^^xsd:integer ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b30507 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b30507 ; ] ; ] ; mf:status sht:approved ; . _:b30507 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/datatype-002.ttl0000644000000000000000000000325600000000000021660 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:datatype rdf:langString ; sh:targetNode "Hello"^^rdf:HTML ; sh:targetNode "G'day"@en-AU ; sh:targetNode "Hallo"@de ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:datatype at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello"^^rdf:HTML ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello"^^rdf:HTML ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/disjoint-001.ttl0000644000000000000000000000274700000000000021673 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property ex:InvalidResource1 ; ex:property ex:ValidResource1 ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:disjoint ex:property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:property ex:InvalidResource1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:disjoint at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DisjointConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/equals-001.ttl0000644000000000000000000000341500000000000021333 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property ex:InvalidResource1 ; ex:property ex:SomeValue ; . ex:TestShape rdf:type sh:NodeShape ; sh:equals ex:property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:property ex:ValidResource1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:equals at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:SomeValue ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource2 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/hasValue-001.ttl0000644000000000000000000000260000000000000021604 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:hasValue "Test" ; sh:targetNode "Invalid String" ; sh:targetNode "Test" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:hasValue at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Invalid String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:TestShape ; # See See https://github.com/w3c/data-shapes/issues/111: don't create sh:value "Invalid String" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/in-001.ttl0000644000000000000000000000304600000000000020447 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Green rdf:type ex:TestShape ; rdfs:label "Green" ; . ex:InvalidInstance rdf:type ex:TestShape ; rdfs:label "Invalid instance" ; . ex:Red rdf:type ex:TestShape ; rdfs:label "Red" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:in ( ex:Green ex:Red ex:Yellow ) ; . ex:Yellow rdf:type ex:TestShape ; rdfs:label "Yellow" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:in at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidInstance ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/languageIn-001.ttl0000644000000000000000000000402600000000000022112 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:languageIn ( "en" "fr" ) ; sh:targetNode rdfs:Resource ; sh:targetNode "Deutsch"@de ; sh:targetNode "English"@en ; sh:targetNode "Francais"@fr ; sh:targetNode "Plain String" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:languageIn at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode rdfs:Resource ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value rdfs:Resource ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Deutsch"@de ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Deutsch"@de ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Plain String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Plain String" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/manifest.ttl0000644000000000000000000000246100000000000021351 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/core/node" ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/node/maxExclusive-001.ttl0000644000000000000000000000551400000000000022520 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:maxExclusive 4 ; sh:targetClass ex:TestClass ; sh:targetNode ex:John ; sh:targetNode 3.9 ; sh:targetNode 4 ; sh:targetNode 4.0 ; sh:targetNode 4.1 ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxExclusive at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.0 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.0 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b11982 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b11982 ; ] ; ] ; mf:status sht:approved ; . _:b11982 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/maxInclusive-001.ttl0000644000000000000000000000443000000000000022506 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:maxInclusive 4 ; sh:targetClass ex:TestClass ; sh:targetNode ex:John ; sh:targetNode 3.9 ; sh:targetNode 4 ; sh:targetNode 4.0 ; sh:targetNode 4.1 ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxInclusive at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b22005 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b22005 ; ] ; ] ; mf:status sht:approved ; . _:b22005 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/maxLength-001.ttl0000644000000000000000000000527500000000000021776 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:maxLength 4 ; sh:targetClass ex:TestClass ; sh:targetNode ; sh:targetNode ex:John ; sh:targetNode 123 ; sh:targetNode 1234 ; sh:targetNode 12345 ; sh:targetNode "2017-03-29"^^xsd:date ; sh:targetNode "Hel" ; sh:targetNode "Hell" ; sh:targetNode "Hell"@en ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxLength at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 12345 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 12345 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2017-03-29"^^xsd:date ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "2017-03-29"^^xsd:date ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b34236 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b34236 ; ] ; ] ; mf:status sht:approved ; . _:b34236 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/minExclusive-001.ttl0000644000000000000000000000551400000000000022516 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:minExclusive 4 ; sh:targetClass ex:TestClass ; sh:targetNode ex:John ; sh:targetNode 3.9 ; sh:targetNode 4 ; sh:targetNode 4.0 ; sh:targetNode 4.1 ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minExclusive at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:John ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:John ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 3.9 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 3.9 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 4.0 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 4.0 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hello" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hello" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b33079 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b33079 ; ] ; ] ; mf:status sht:approved ; . _:b33079 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/minInclusive-001.ttl0000644000000000000000000000242300000000000022504 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:minInclusive 8 ; sh:targetNode 7 ; sh:targetNode 8 ; sh:targetNode 9 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minInclusive at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 7 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 7 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/minInclusive-002.ttl0000644000000000000000000000437600000000000022516 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape a sh:NodeShape ; sh:minInclusive "2002-10-10T12:00:00-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-10T12:00:00-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-10T12:00:01-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-09T12:00:00-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-10T12:00:00"^^xsd:dateTime ; sh:targetNode ex:TestShape ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minInclusive at node shape 002 - dateTime with timezone" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2002-10-10T12:00:00"^^xsd:dateTime ; sh:value "2002-10-10T12:00:00"^^xsd:dateTime ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2002-10-09T12:00:00-05:00"^^xsd:dateTime ; sh:value "2002-10-09T12:00:00-05:00"^^xsd:dateTime ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:TestShape ; sh:value ex:TestShape ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/minInclusive-003.ttl0000644000000000000000000000515400000000000022512 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:minInclusive "2002-10-10T12:00:00"^^xsd:dateTime ; sh:targetNode "2002-10-10T12:00:00-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-10T12:00:01-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-09T12:00:00-05:00"^^xsd:dateTime ; sh:targetNode "2002-10-10T12:00:00"^^xsd:dateTime ; sh:targetNode ex:TestShape ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minInclusive at node shape 003 - dateTime without timezone" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2002-10-10T12:00:00-05:00"^^xsd:dateTime ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "2002-10-10T12:00:00-05:00"^^xsd:dateTime ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2002-10-10T12:00:01-05:00"^^xsd:dateTime ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "2002-10-10T12:00:01-05:00"^^xsd:dateTime ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "2002-10-09T12:00:00-05:00"^^xsd:dateTime ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "2002-10-09T12:00:00-05:00"^^xsd:dateTime ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:TestShape ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinInclusiveConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/minLength-001.ttl0000644000000000000000000000456200000000000021772 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:minLength 4 ; sh:targetClass ex:TestClass ; sh:targetNode ; sh:targetNode ex:John ; sh:targetNode 123 ; sh:targetNode 1234 ; sh:targetNode 12345 ; sh:targetNode "2017-03-29"^^xsd:date ; sh:targetNode "Hel" ; sh:targetNode "Hell" ; sh:targetNode "Hell"@en ; sh:targetNode "Hello" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minLength at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 123 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 123 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hel" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hel" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b19019 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b19019 ; ] ; ] ; mf:status sht:approved ; . _:b19019 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/node-001.ttl0000644000000000000000000000277500000000000020776 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance rdf:type ex:TestClass ; rdfs:label "Invalid instance" ; . ex:TestClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test class" ; rdfs:subClassOf rdfs:Resource ; sh:node [ sh:class ex:OtherClass ; ] ; . ex:ValidInstance rdf:type ex:OtherClass ; rdf:type ex:TestClass ; rdfs:label "Valid instance" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:node at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeConstraintComponent ; sh:sourceShape ex:TestClass ; sh:value ex:InvalidInstance ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/nodeKind-001.ttl0000644000000000000000000000245600000000000021600 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:IRITestShape rdf:type sh:NodeShape ; sh:nodeKind sh:IRI ; sh:targetNode ex:John ; sh:targetNode "true"^^xsd:boolean ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:nodeKind at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "true"^^xsd:boolean ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape ex:IRITestShape ; sh:value "true"^^xsd:boolean ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/not-001.ttl0000644000000000000000000000313300000000000020636 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:property "some value" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; rdfs:subClassOf rdfs:Resource ; sh:not [ rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 1 ; ] ; ] ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:not at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NotConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/not-002.ttl0000644000000000000000000000271400000000000020643 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 ex:property "Some value" ; . ex:NotExampleShape rdf:type sh:NodeShape ; sh:not [ rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 1 ; ] ; ] ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:not at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NotConstraintComponent ; sh:sourceShape ex:NotExampleShape ; sh:value ex:InvalidInstance1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/or-001.ttl0000644000000000000000000000443300000000000020462 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidRectangle1 rdf:type ex:RectangleWithArea ; ex:height 3 ; . ex:InvalidRectangle2 rdf:type ex:RectangleWithArea ; . ex:RectangleWithArea rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:subClassOf rdfs:Resource ; sh:or ( [ sh:property [ sh:path ex:height ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:width ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:area ; sh:minCount 1 ; ] ; ] ) ; . ex:ValidRectangle1 rdf:type ex:RectangleWithArea ; ex:height 3 ; ex:width 2 ; . ex:ValidRectangle2 rdf:type ex:RectangleWithArea ; ex:area 6 ; ex:height 3 ; ex:width 2 ; . ex:ValidRectangle3 rdf:type ex:RectangleWithArea ; ex:area 6 ; ex:height 3 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:or at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:RectangleWithArea ; sh:value ex:InvalidRectangle1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidRectangle2 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:RectangleWithArea ; sh:value ex:InvalidRectangle2 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/pattern-001.ttl0000644000000000000000000000442700000000000021522 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:pattern "^[2-8][0-9]*$" ; sh:targetClass ex:TestClass ; sh:targetNode ex:Test ; sh:targetNode 20000123 ; sh:targetNode "3456" ; sh:targetNode 39 ; sh:targetNode "777777"@mi ; sh:targetNode 9 ; sh:targetNode "John" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:pattern at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Test ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:Test ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode 9 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value 9 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "John" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "John" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode _:b22415 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value _:b22415 ; ] ; ] ; mf:status sht:approved ; . _:b22415 rdf:type ex:TestClass ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/pattern-002.ttl0000644000000000000000000000244400000000000021520 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:flags "i" ; sh:pattern "Aldi" ; sh:targetNode "Aldi" ; sh:targetNode "Alti" ; sh:targetNode "aLdI" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:pattern at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Alti" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Alti" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/qualified-001-data.ttl0000644000000000000000000000012600000000000022707 0ustar00@prefix ex: . ex:i a ex:C1 . ex:j a ex:C1 , ex:C2 . pyshacl-0.30.1/test/resources/sht_tests/core/node/qualified-001-shapes.ttl0000644000000000000000000000047500000000000023270 0ustar00@prefix xsd: . @prefix sh: . @prefix ex: . ex:s1 a sh:NodeShape ; sh:targetClass ex:C1 ; sh:class ex:C2 ; sh:qualifiedValueShapesDisjoint "1"^^xsd:boolean ; sh:qualifiedMinCount 5 ; sh:qualifiedMaxCount 2 . pyshacl-0.30.1/test/resources/sht_tests/core/node/qualified-001.ttl0000644000000000000000000000206500000000000022004 0ustar00@prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . @prefix ex: . <> a mf:Manifest ; mf:entries ( ) . a sht:Validate; rdfs:label "Test of qualified parameters allowed in node shapes" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:i ; sh:value ex:i ; sh:sourceShape ex:s1 ; sh:sourceConstraintComponent sh:ClassConstraintComponent ] ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/node/xone-001.ttl0000644000000000000000000000347700000000000021022 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Bob rdf:type ex:Person ; ex:firstName "Robert" ; ex:lastName "Coin" ; . ex:Carla rdf:type ex:Person ; ex:fullName "Carla Miller" ; . ex:Dory rdf:type ex:Person ; ex:firstName "Dory" ; ex:fullName "Dory Dunce" ; ex:lastName "Dunce" ; . ex:XoneConstraintExampleShape rdf:type sh:NodeShape ; sh:targetClass ex:Person ; sh:xone ( [ sh:property [ sh:path ex:fullName ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:firstName ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:lastName ; sh:minCount 1 ; ] ; ] ) ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:xone at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Dory ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:XoneConstraintComponent ; sh:sourceShape ex:XoneConstraintExampleShape ; sh:value ex:Dory ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/node/xone-duplicate-data.ttl0000644000000000000000000000012600000000000023367 0ustar00@prefix ex: . ex:i a ex:C1 . ex:j a ex:C1 , ex:C2 . pyshacl-0.30.1/test/resources/sht_tests/core/node/xone-duplicate-shapes.ttl0000644000000000000000000000027700000000000023750 0ustar00@prefix sh: . @prefix ex: . ex:s1 a sh:NodeShape ; sh:targetClass ex:C1 ; sh:xone ( ex:s2 ex:s2 ) . ex:s2 sh:class ex:C2 . pyshacl-0.30.1/test/resources/sht_tests/core/node/xone-duplicate.ttl0000644000000000000000000000247500000000000022471 0ustar00@prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . @prefix ex: . <> a mf:Manifest ; mf:entries ( ) . a sht:Validate; rdfs:label "Test of validation report for shape xone-duplicate by property constraints" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:i ; sh:value ex:i ; sh:sourceShape ex:s1 ; sh:sourceConstraintComponent sh:XoneConstraintComponent ] ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:j ; sh:value ex:j ; sh:sourceShape ex:s1 ; sh:sourceConstraintComponent sh:XoneConstraintComponent ] ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/path/manifest.ttl0000644000000000000000000000144300000000000021357 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/core/path" ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/path/path-alternative-001.ttl0000644000000000000000000000451600000000000023323 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 "One" ; ex:property3 "Three" ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:alternativePath ( ex:property1 ex:property2 ) ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; sh:targetNode ex:ValidResource3 ; . ex:ValidResource1 ex:property1 "One" ; ex:property1 "Two" ; . ex:ValidResource2 ex:property1 "One" ; ex:property2 "Two" ; . ex:ValidResource3 ex:property2 "One" ; ex:property2 "Two" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sh:alternativePath 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:alternativePath ( ex:property1 ex:property2 ) ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath [ sh:alternativePath ( ex:property1 ex:property2 ) ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-complex-001.ttl0000644000000000000000000000460000000000000022446 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource rdf:type ex:Animal ; rdfs:label "Invalid" ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:subClassOf ex:Person ; . ex:Person rdf:type rdfs:Class ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ; ] ) ; sh:hasValue ex:Person ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; sh:targetNode ex:ValidResource3 ; . ex:ValidResource1 rdf:type ex:Person ; . ex:ValidResource2 rdf:type ex:MalePerson ; . ex:ValidResource3 rdf:type ex:Animal ; rdf:type ex:MalePerson ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path complex (rdf:type/rdfs:subClassOf*) 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ; ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ; ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-complex-002-data.ttl0000644000000000000000000000014600000000000023357 0ustar00@prefix ex: . ex:j ex:p ex:i . ex:k ex:p ex:j . ex:l ex:p ex:j . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-complex-002-shapes.ttl0000644000000000000000000000053400000000000023732 0ustar00@prefix sh: . @prefix ex: . ex:s1 a sh:PropertyShape ; sh:targetNode ex:i ; sh:path ( _:pinv _:pinv ) ; sh:class ex:C . _:pinv sh:inversePath ex:p . ex:s2 a sh:PropertyShape ; sh:targetNode ex:i ; sh:path ( [ sh:inversePath ex:p ] [ sh:inversePath ex:p ] ) ; sh:class ex:C . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-complex-002.ttl0000644000000000000000000000412300000000000022447 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> a mf:Manifest ; mf:entries ( ) . a sht:Validate ; rdfs:label "Test of complex path validation results" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ a sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:i ; sh:value ex:k ; sh:resultPath ( [ sh:inversePath ex:p ] [ sh:inversePath ex:p ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:s1 ] ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:i ; sh:value ex:l ; sh:resultPath ( [ sh:inversePath ex:p ] [ sh:inversePath ex:p ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:s1 ] ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:i ; sh:value ex:l ; sh:resultPath ( [ sh:inversePath ex:p ] [ sh:inversePath ex:p ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:s2 ] ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:i ; sh:value ex:k ; sh:resultPath( [ sh:inversePath ex:p ] [ sh:inversePath ex:p ] ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:s2 ] ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-inverse-001.ttl0000644000000000000000000000445200000000000022457 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type ex:Person ; . ex:InvalidResource2 rdf:type ex:Person ; . ex:Parent1 ex:child ex:InvalidResource1 ; ex:child ex:InvalidResource2 ; ex:child ex:ValidResource1 ; . ex:Parent2 ex:child ex:InvalidResource2 ; ex:child ex:ValidResource1 ; . ex:Parent3 ex:child ex:InvalidResource2 ; . ex:Person rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-P ; sh:targetClass ex:Person ; . ex:TestShape-P rdf:type sh:PropertyShape ; sh:path [ sh:inversePath ex:child ; ] ; sh:maxCount 2 ; sh:minCount 2 ; . ex:ValidResource1 rdf:type ex:Person ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sh:inversePath 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:inversePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape-P ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath [ sh:inversePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-P ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-oneOrMore-001.ttl0000644000000000000000000000373100000000000022710 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; . ex:InvalidResource2 ex:child ex:Person2 ; . ex:Person1 ex:child ex:Person2 ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:oneOrMorePath ex:child ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:child ex:Person1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sh:oneOrMorePath 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:oneOrMorePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath [ sh:oneOrMorePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-sequence-001.ttl0000644000000000000000000000414200000000000022610 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 ex:Node3 ; ex:property2 ex:Node4 ; . ex:Node1 ex:property2 "One" ; . ex:Node2 ex:property2 "Two" ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path ( ex:property1 ex:property2 ) ; sh:minCount 1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:property1 ex:Node1 ; . ex:ValidResource2 ex:property1 ex:Node1 ; ex:property1 ex:Node2 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sequence 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ( ex:property1 ex:property2 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ( ex:property1 ex:property2 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-sequence-002.ttl0000644000000000000000000000426000000000000022612 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 ex:Node3 ; ex:property2 ex:Node4 ; . ex:Node1 ex:property2 ex:Node2 ; . ex:Node2 ex:property3 "Value" ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path ( ex:property1 ex:property2 ex:property3 ) ; sh:minCount 1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:property1 ex:Node1 ; . ex:ValidResource2 ex:property1 ex:Node1 ; ex:property1 ex:Node2 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sequence 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ( ex:property1 ex:property2 ex:property3 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ( ex:property1 ex:property2 ex:property3 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-sequence-duplicate-001.ttl0000644000000000000000000000305000000000000024555 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:A ex:p1 [ ex:p2 "value" ; ] ; ex:p1 [ ex:p2 "value" ; ] ; . ex:S rdf:type sh:NodeShape ; sh:property ex:SP ; sh:targetNode ex:A ; . ex:SP rdf:type sh:PropertyShape ; sh:path ( ex:p1 ex:p2 ) ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sequence with duplicate 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:A ; sh:resultPath ( ex:p1 ex:p2 ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape ex:SP ; sh:value "value" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-strange-001.ttl0000644000000000000000000000254600000000000022451 0ustar00@prefix ex: . @prefix mf: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:i a ex:C ; ex:p ex:ip . ex:ip ex:q ex:ipq . ex:ipq a ex:C . ex:pi ex:p ex:i . ex:j a ex:C ; ex:p ex:jp . ex:jp ex:q ex:jpq . ex:s1 a sh:PropertyShape ; sh:targetClass ex:C ; sh:path [ rdf:first ex:p ; rdf:rest [ rdf:first ex:q ; rdf:rest rdf:nil ] ; sh:inversePath ex:p ] ; sh:class ex:C . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of strange path 001 two valid paths together" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:j ; sh:value ex:jpq ; sh:resultPath ( ex:p ex:q ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:s1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-strange-002.ttl0000644000000000000000000000256200000000000022450 0ustar00@prefix ex: . @prefix mf: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:i a ex:C ; ex:p ex:ip . ex:ip ex:q ex:ipq . ex:ipq a ex:C . ex:pi ex:p ex:i . ex:j a ex:C ; ex:p ex:jp . ex:jp ex:q ex:jpq . ex:s1 a sh:PropertyShape ; sh:targetClass ex:C ; sh:path [ rdf:first ex:p ; rdf:rest [ rdf:first ex:q ; rdf:rest rdf:nil ] ; sh:inversePath ( ex:p ) ] ; sh:class ex:C . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of strange path 002 valid and invalid paths together" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:j ; sh:value ex:jpq ; sh:resultPath ( ex:p ex:q ) ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:s1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-unused-001-data.ttl0000644000000000000000000000011600000000000023207 0ustar00@prefix ex: . ex:i a ex:C . ex:j a ex:D . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-unused-001-shapes.ttl0000644000000000000000000000071000000000000023561 0ustar00@prefix sh: . @prefix ex: . @prefix rdf: . @prefix rdfs: . ex:s1 a sh:NodeShape ; sh:targetNode ex:j, ex:i ; sh:class ex:C . _:p1 sh:inversePath _:p2 . _:p2 sh:zeroOrMorePath ( _:p2 ) . _:p2 sh:zeroOrOnePath [ rdf:rest rdf:nil ] . _:p3 sh:alternativePath ( ex:p ) ; rdfs:comment "invalid path" . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-unused-001.ttl0000644000000000000000000000210700000000000022302 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> a mf:Manifest ; mf:entries ( ) . a sht:Validate ; rdfs:label "Test with unused ill-formed path" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ a sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ a sh:ValidationResult ; sh:focusNode ex:j ; sh:value ex:j ; sh:resultSeverity sh:Violation ; sh:sourceShape ex:s1 ; sh:sourceConstraintComponent sh:ClassConstraintComponent ] ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-zeroOrMore-001.ttl0000644000000000000000000000317000000000000023103 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; . ex:Person2 ex:child ex:Person3 ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:zeroOrMorePath ex:child ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:child ex:Person1 ; . ex:ValidResource2 ex:child ex:Person2 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sh:zeroOrMorePath 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:zeroOrMorePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/path/path-zeroOrOne-001.ttl0000644000000000000000000000316200000000000022723 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; . ex:Person2 ex:child ex:Person3 ; . ex:TestShape rdf:type sh:PropertyShape ; sh:path [ sh:zeroOrOnePath ex:child ; ] ; sh:minCount 2 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:ValidResource1 ex:child ex:Person1 ; . ex:ValidResource2 ex:child ex:Person2 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of path sh:zeroOrOnePath 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath [ sh:zeroOrOnePath ex:child ; ] ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:TestShape ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/and-001.ttl0000644000000000000000000000550600000000000021545 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:AddressShape rdf:type sh:NodeShape ; rdfs:label "Address shape" ; sh:property ex:AddressShape-address ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:ValidResource1 ; . ex:AddressShape-address sh:path ex:address ; sh:and ( [ sh:property [ sh:path ex:suburb ; sh:minCount 1 ; ] ; ] [ sh:property [ sh:path ex:postalCode ; sh:minCount 1 ; ] ; ] ) ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:address _:b61065 ; . ex:InvalidResource2 rdf:type rdfs:Resource ; ex:address _:b31477 ; . ex:InvalidResource3 rdf:type rdfs:Resource ; ex:address _:b94057 ; . ex:ValidResource1 rdf:type rdfs:Resource ; ex:address [ ex:postalCode 4879 ; ex:suburb ex:KewarraBeach ; ] ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:and at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value _:b61065 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value _:b31477 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:AndConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value _:b94057 ; ] ; ] ; mf:status sht:approved ; . _:b31477 ex:suburb ex:KewarraBeach ; . _:b61065 ex:postalCode 4879 ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/class-001.ttl0000644000000000000000000000473400000000000022112 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:testProperty ex:InvalidResource1 ; ex:testProperty "A string" ; . ex:SubClass rdf:type rdfs:Class ; rdfs:subClassOf ex:SuperClass ; . ex:SubClassInstance rdf:type ex:SubClass ; . ex:SuperClass rdf:type rdfs:Class ; . ex:SuperClassInstance rdf:type ex:SuperClass ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-testProperty ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-testProperty sh:path ex:testProperty ; rdfs:label "test property" ; sh:class ex:SuperClass ; . ex:ValidResource1 rdf:type rdfs:Resource ; ex:testProperty ex:SubClassInstance ; ex:testProperty ex:SuperClassInstance ; . ex:ValidResource2 rdf:type rdfs:Resource ; ex:testProperty [ rdf:type ex:SubClass ; ] ; ex:testProperty [ rdf:type ex:SuperClass ; ] ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:class at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value ex:InvalidResource1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "A string" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/datatype-001.ttl0000644000000000000000000000443400000000000022615 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type ex:TestShape ; ex:dateProperty "2011-01-01"^^xsd:dateTime ; ex:integerProperty 11.1 ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-dateProperty ; sh:property ex:TestShape-integerProperty ; . ex:TestShape-dateProperty sh:path ex:dateProperty ; rdfs:label "date property" ; sh:datatype xsd:date ; . ex:TestShape-integerProperty sh:path ex:integerProperty ; rdfs:label "integer property" ; sh:datatype xsd:integer ; . ex:ValidResource rdf:type ex:TestShape ; ex:dateProperty "2014-09-01"^^xsd:date ; ex:integerProperty 0 ; ex:integerProperty 1234 ; rdfs:label "Valid resource" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:datatype at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:dateProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-dateProperty ; sh:value "2011-01-01"^^xsd:dateTime ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:integerProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-integerProperty ; sh:value 11.1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/datatype-002.ttl0000644000000000000000000000373300000000000022617 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 ex:value "A"@en ; . ex:InvalidInstance2 ex:value 42 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-value ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:InvalidInstance2 ; sh:targetNode ex:ValidInstance1 ; sh:targetNode ex:ValidInstance2 ; . ex:TestShape-value sh:path ex:value ; sh:datatype xsd:string ; . ex:ValidInstance1 ex:value "A" ; . ex:ValidInstance2 ex:value "A" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:datatype at property shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-value ; sh:value "A"@en ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape-value ; sh:value 42 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/datatype-003.ttl0000644000000000000000000000333200000000000022613 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 ex:value 42 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-value ; sh:targetNode ex:InvalidInstance1 ; sh:targetNode ex:ValidInstance1 ; sh:targetNode ex:ValidInstance2 ; sh:targetNode ex:ValidInstance3 ; . ex:TestShape-value sh:path ex:value ; sh:or ( [ sh:datatype xsd:string ; ] [ sh:datatype rdf:langString ; ] ) ; . ex:ValidInstance1 ex:value "A" ; . ex:ValidInstance2 ex:value "A" ; . ex:ValidInstance3 ex:value "A"@en ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:datatype at property shape 003" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:value ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-value ; sh:value 42 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/datatype-ill-formed-data.ttl0000644000000000000000000000026700000000000025256 0ustar00@prefix xsd: . @prefix ex: . ex:i ex:p "300"^^xsd:byte . ex:i ex:p "55"^^xsd:integer . ex:i ex:p "c"^^xsd:byte . pyshacl-0.30.1/test/resources/sht_tests/core/property/datatype-ill-formed-shapes.ttl0000644000000000000000000000035200000000000025623 0ustar00@prefix sh: . @prefix xsd: . @prefix ex: . ex:s a sh:PropertyShape ; sh:targetNode ex:i ; sh:path ex:p ; sh:datatype xsd:byte . pyshacl-0.30.1/test/resources/sht_tests/core/property/datatype-ill-formed.ttl0000644000000000000000000000325500000000000024347 0ustar00@prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . @prefix ex: . <> rdf:type mf:Manifest ; mf:entries ( ) . rdf:type sht:Validate; rdfs:label "Test of validation report for ill-formed literals" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:i ; sh:value "300"^^xsd:byte ; sh:resultPath ex:p ; sh:sourceShape ex:s ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ] ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:i ; sh:value "c"^^xsd:byte ; sh:resultPath ex:p ; sh:sourceShape ex:s ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ] ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:i ; sh:value "55"^^xsd:integer ; sh:resultPath ex:p ; sh:sourceShape ex:s ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ] ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/property/disjoint-001.ttl0000644000000000000000000000435200000000000022624 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 "A" ; ex:property2 "A" ; . ex:InvalidResource2 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "A" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:disjoint ex:property2 ; . ex:ValidResource1 ex:property1 "A" ; ex:property2 "B" ; . ex:ValidResource2 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "C" ; ex:property2 "D" ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:disjoint at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DisjointConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DisjointConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/equals-001.ttl0000644000000000000000000000660300000000000022274 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 "A" ; ex:property2 "B" ; . ex:InvalidResource2 ex:property1 "A" ; . ex:InvalidResource3 ex:property2 "A" ; . ex:InvalidResource4 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "A" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:InvalidResource4 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:equals ex:property2 ; . ex:ValidResource1 ex:property1 "A" ; ex:property2 "A" ; . ex:ValidResource2 ex:property1 "A" ; ex:property1 "B" ; ex:property2 "A" ; ex:property2 "B" ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:equals at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "B" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "A" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource4 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:EqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value "B" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/hasValue-001.ttl0000644000000000000000000000346500000000000022555 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidMalePerson rdf:type ex:MalePerson ; ex:gender "female" ; rdfs:label "Invalid male person" ; . ex:MalePerson rdf:type rdfs:Class ; rdfs:label "Male person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; rdfs:label "Person shape" ; sh:property ex:PersonShape-gender ; sh:targetClass ex:MalePerson ; . ex:PersonShape-gender sh:path ex:gender ; rdfs:label "gender" ; sh:datatype xsd:string ; sh:hasValue "male" ; . ex:ValidMalePerson1 rdf:type ex:MalePerson ; ex:gender "male" ; . ex:ValidMalePerson2 rdf:type ex:MalePerson ; ex:gender "female" ; ex:gender "male" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:hasValue at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidMalePerson ; sh:resultPath ex:gender ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:HasValueConstraintComponent ; sh:sourceShape ex:PersonShape-gender ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/in-001.ttl0000644000000000000000000000335700000000000021413 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:ShapeClass ; ex:property "D" ; rdfs:label "Invalid instance1" ; . ex:ShapeClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; sh:property ex:ShapeClass-property ; . ex:ShapeClass-property sh:path ex:property ; sh:datatype xsd:string ; sh:in ( "A" "B" "C" ) ; . ex:ValidInstance1 rdf:type ex:ShapeClass ; ex:property "A" ; rdfs:label "Valid instance1" ; . ex:ValidInstance2 rdf:type ex:ShapeClass ; ex:property "A" ; ex:property "B" ; ex:property "C" ; rdfs:label "Valid instance2" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:in at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:ShapeClass-property ; sh:value "D" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/languageIn-001.ttl0000644000000000000000000000460600000000000023055 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Berg ex:prefLabel ex:BergLabel ; ex:prefLabel "Berg" ; ex:prefLabel "Berg"@de ; . ex:Mountain ex:prefLabel "Hill"@en-NZ ; ex:prefLabel "Maunga"@mi ; ex:prefLabel "Mountain"@en ; . ex:NewZealandLanguagesShape rdf:type sh:NodeShape ; sh:property ex:NewZealandLanguagesShape-prefLabel ; sh:targetNode ex:Berg ; sh:targetNode ex:Mountain ; . ex:NewZealandLanguagesShape-prefLabel sh:path ex:prefLabel ; sh:languageIn ( "en" "mi" ) ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:languageIn at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Berg ; sh:resultPath ex:prefLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:NewZealandLanguagesShape-prefLabel ; sh:value ex:BergLabel ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Berg ; sh:resultPath ex:prefLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:NewZealandLanguagesShape-prefLabel ; sh:value "Berg" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Berg ; sh:resultPath ex:prefLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LanguageInConstraintComponent ; sh:sourceShape ex:NewZealandLanguagesShape-prefLabel ; sh:value "Berg"@de ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/lessThan-001.ttl0000644000000000000000000000514700000000000022565 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 4 ; ex:property2 4 ; . ex:InvalidResource2 ex:property1 4 ; ex:property1 6 ; ex:property2 5 ; . ex:InvalidResource3 ex:property1 5 ; ex:property2 4 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:lessThan ex:property2 ; . ex:ValidResource1 ex:property1 4 ; ex:property2 6 ; . ex:ValidResource2 ex:property1 3.1 ; ex:property1 3.2 ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:lessThan at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 4 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 6 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 5 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/lessThan-002.ttl0000644000000000000000000000473600000000000022571 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 ex:first 1 ; ex:first 2 ; ex:second "a" ; ex:second "b" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-first ; sh:targetNode ex:InvalidInstance1 ; . ex:TestShape-first sh:path ex:first ; sh:lessThan ex:second ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:lessThan at property shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 2 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:first ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanConstraintComponent ; sh:sourceShape ex:TestShape-first ; sh:value 2 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/lessThanOrEquals-001.ttl0000644000000000000000000000450400000000000024235 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 5 ; ex:property2 4 ; . ex:InvalidResource2 ex:property1 4 ; ex:property1 6 ; ex:property2 5 ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property1 ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; sh:targetNode ex:ValidResource3 ; . ex:TestShape-property1 sh:path ex:property1 ; sh:lessThanOrEquals ex:property2 ; . ex:ValidResource1 ex:property1 4 ; ex:property2 6 ; . ex:ValidResource2 ex:property1 3.1 ; ex:property1 3.2 ; . ex:ValidResource3 ex:property1 5 ; ex:property2 5 ; . ex:property1 rdf:type rdf:Property ; . ex:property2 rdf:type rdf:Property ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:lessThanOrEquals at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanOrEqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 5 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:LessThanOrEqualsConstraintComponent ; sh:sourceShape ex:TestShape-property1 ; sh:value 6 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/manifest.ttl0000644000000000000000000000311300000000000022303 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/core/property" ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/property/maxCount-001.ttl0000644000000000000000000000335000000000000022574 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidPerson rdf:type ex:Person ; ex:firstName "George" ; ex:firstName "John" ; rdfs:label "Invalid person" ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; sh:property ex:PersonShape-firstName ; sh:targetClass ex:Person ; sh:targetNode ex:ValidResource ; . ex:PersonShape-firstName sh:path ex:firstName ; sh:datatype xsd:string ; sh:maxCount 1 ; . ex:ValidResource rdf:type ex:Person ; ex:firstName "John" ; rdfs:label "Valid resource" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxCount at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidPerson ; sh:resultPath ex:firstName ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:PersonShape-firstName ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/maxCount-002.ttl0000644000000000000000000000316500000000000022601 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource rdf:type rdfs:Resource ; rdfs:label "Invalid resource" ; owl:versionInfo "1.0" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-versionInfo ; sh:targetNode ex:InvalidResource ; sh:targetNode ex:ValidResource ; . ex:TestShape-versionInfo sh:path owl:versionInfo ; sh:maxCount 0 ; . ex:ValidResource rdf:type rdfs:Resource ; rdfs:label "Valid resource" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxCount at property shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultPath owl:versionInfo ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-versionInfo ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/maxExclusive-001.ttl0000644000000000000000000000465300000000000023462 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property 1 ; . ex:InvalidResource2 ex:property 2 ; . ex:InvalidResource3 ex:property "a" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:InvalidResource3 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property sh:path ex:property ; sh:maxExclusive 1 ; . ex:ValidResource1 ex:property 0 ; . ex:ValidResource2 ex:property -1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxExclusive at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 2 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource3 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "a" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/maxInclusive-001.ttl0000644000000000000000000000400300000000000023441 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property 2 ; . ex:InvalidResource2 ex:property "a" ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property sh:path ex:property ; sh:maxInclusive 1 ; . ex:ValidResource1 ex:property 0 ; . ex:ValidResource2 ex:property 1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxInclusive at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 2 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxInclusiveConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "a" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/maxLength-001.ttl0000644000000000000000000000324200000000000022725 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "ABC" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:datatype xsd:string ; sh:maxLength 2 ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty "A" ; ex:testProperty "AB" ; . ex:ValidInstance2 rdf:type ex:TestShape ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:maxLength at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxLengthConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "ABC" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/minCount-001.ttl0000644000000000000000000000326600000000000022600 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidPerson rdf:type ex:Person ; rdfs:label "Invalid person" ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; sh:property ex:PersonShape-firstName ; sh:targetClass ex:Person ; sh:targetNode ex:ValidResource ; . ex:PersonShape-firstName sh:path ex:firstName ; sh:datatype xsd:string ; sh:minCount 1 ; . ex:ValidResource rdf:type ex:Person ; ex:firstName "John" ; rdfs:label "Valid resource" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minCount at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidPerson ; sh:resultPath ex:firstName ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinCountConstraintComponent ; sh:sourceShape ex:PersonShape-firstName ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/minCount-002.ttl0000644000000000000000000000213000000000000022566 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:TestShape rdf:type sh:NodeShape ; sh:property [ sh:path ex:property ; sh:minCount 0 ; sh:name "property" ; ] ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minCount at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "true"^^xsd:boolean ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/minExclusive-001.ttl0000644000000000000000000000376500000000000023463 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty 40 ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:testProperty 39 ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:minExclusive 40 ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty 42 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minExclusive at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value 40 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value 39 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/minExclusive-002.ttl0000644000000000000000000000372600000000000023461 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "A string" ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:testProperty rdfs:Resource ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:minExclusive 40 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minExclusive at property shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "A string" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinExclusiveConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value rdfs:Resource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/minLength-001.ttl0000644000000000000000000000324000000000000022721 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "A" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; sh:datatype xsd:string ; sh:minLength 2 ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty "AB" ; ex:testProperty "ABC" ; . ex:ValidInstance2 rdf:type ex:TestShape ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:minLength at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MinLengthConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; sh:value "A" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/node-001.ttl0000644000000000000000000000535400000000000021731 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Anon rdf:type ex:Person ; ex:firstName "Anon" ; . ex:Issue rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Issue" ; rdfs:subClassOf rdfs:Resource ; sh:property ex:Issue-assignedTo ; sh:property ex:Issue-submittedBy ; . ex:Issue-assignedTo sh:path ex:assignedTo ; sh:class ex:Person ; sh:node [ rdfs:comment "All assignees must have an email and a last name." ; sh:property [ sh:path ex:email ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:lastName ; sh:maxCount 1 ; sh:minCount 1 ; ] ; ] ; . ex:Issue-submittedBy sh:path ex:submittedBy ; sh:class ex:Person ; sh:minCount 1 ; . ex:Issue_1 rdf:type ex:Issue ; ex:assignedTo ex:Anon ; ex:submittedBy ex:Anon ; rdfs:label "Issue 1" ; . ex:Issue_2 rdf:type ex:Issue ; ex:assignedTo ex:JohnDoeWithEmail ; ex:submittedBy ex:Anon ; rdfs:label "Issue 2" ; . ex:JohnDoeWithEmail rdf:type ex:Person ; ex:email "john@doe.com" ; ex:firstName "John" ; ex:lastName "Doe" ; . ex:Person rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; sh:property [ sh:path ex:email ; ex:datatype xsd:string ; rdfs:label "email" ; ] ; sh:property [ sh:path ex:firstName ; rdfs:label "first name" ; sh:datatype xsd:string ; sh:maxCount 1 ; sh:minCount 1 ; ] ; sh:property [ sh:path ex:lastName ; rdfs:label "last name" ; sh:datatype xsd:string ; ] ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:node at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Issue_1 ; sh:resultPath ex:assignedTo ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeConstraintComponent ; sh:sourceShape ex:Issue-assignedTo ; sh:value ex:Anon ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/node-002.ttl0000644000000000000000000000352000000000000021723 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:AddressShape rdf:type sh:NodeShape ; sh:property ex:AddressShape-postalCode ; . ex:AddressShape-postalCode sh:path ex:postalCode ; sh:datatype xsd:string ; sh:maxCount 1 ; . ex:Bob rdf:type ex:Person ; ex:address ex:BobsAddress ; . ex:BobsAddress ex:postalCode "1234" ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; . ex:PersonShape rdf:type sh:NodeShape ; sh:property ex:PersonShape-address ; sh:targetClass ex:Person ; . ex:PersonShape-address sh:path ex:address ; sh:minCount 1 ; sh:node ex:AddressShape ; . ex:Reto rdf:type ex:Person ; ex:address ex:RetosAddress ; . ex:RetosAddress ex:postalCode 5678 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:node at property shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Reto ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeConstraintComponent ; sh:sourceShape ex:PersonShape-address ; sh:value ex:RetosAddress ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/nodeKind-001.ttl0000644000000000000000000002754100000000000022541 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InstanceWithBlankNode rdf:type ex:MyClass ; ex:myProperty _:b55454 ; . ex:InstanceWithBlankNodeAndIRI rdf:type ex:MyClass ; ex:myProperty rdfs:Class ; ex:myProperty _:b67098 ; . ex:InstanceWithBlankNodeAndLiteral rdf:type ex:MyClass ; ex:myProperty "Literal" ; ex:myProperty _:b99026 ; . ex:InstanceWithIRI rdf:type ex:MyClass ; ex:myProperty rdfs:Class ; . ex:InstanceWithIRIAndLiteral rdf:type ex:MyClass ; ex:myProperty rdfs:Class ; ex:myProperty "Literal" ; . ex:InstanceWithLiteral rdf:type ex:MyClass ; ex:myProperty "Literal" ; . ex:MyClass rdf:type rdfs:Class ; rdfs:label "My class" ; . ex:ShapeWithBlankNode rdf:type sh:NodeShape ; sh:property _:b38619 ; sh:targetClass ex:MyClass ; . ex:ShapeWithBlankNodeOrIRI rdf:type sh:NodeShape ; sh:property _:b3078 ; sh:targetClass ex:MyClass ; . ex:ShapeWithBlankNodeOrLiteral rdf:type sh:NodeShape ; sh:property _:b14975 ; sh:targetClass ex:MyClass ; . ex:ShapeWithIRI rdf:type sh:NodeShape ; sh:property _:b97614 ; sh:targetClass ex:MyClass ; . ex:ShapeWithIRIOrLiteral rdf:type sh:NodeShape ; sh:property _:b97860 ; sh:targetClass ex:MyClass ; . ex:ShapeWithLiteral rdf:type sh:NodeShape ; sh:property _:b79526 ; sh:targetClass ex:MyClass ; . ex:myProperty rdf:type rdf:Property ; rdfs:domain ex:MyClass ; rdfs:label "my property" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:nodeKind at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNode ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value _:b55454 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNode ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value _:b55454 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNode ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97860 ; sh:value _:b55454 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b14975 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value _:b67098 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value _:b67098 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97860 ; sh:value _:b67098 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b3078 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value _:b99026 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value _:b99026 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithBlankNodeAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97860 ; sh:value _:b99026 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b14975 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRI ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b3078 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b14975 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b79526 ; sh:value rdfs:Class ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithIRIAndLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b3078 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b38619 ; sh:value "Literal" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InstanceWithLiteral ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NodeKindConstraintComponent ; sh:sourceShape _:b97614 ; sh:value "Literal" ; ] ; ] ; mf:status sht:approved ; . _:b3078 sh:path ex:myProperty ; sh:nodeKind sh:BlankNodeOrIRI ; . _:b14975 sh:path ex:myProperty ; sh:nodeKind sh:BlankNodeOrLiteral ; . _:b38619 sh:path ex:myProperty ; sh:nodeKind sh:BlankNode ; . _:b55454 rdf:type rdfs:Resource ; . _:b67098 rdf:type rdfs:Resource ; . _:b79526 sh:path ex:myProperty ; sh:nodeKind sh:Literal ; . _:b97614 sh:path ex:myProperty ; sh:nodeKind sh:IRI ; . _:b97860 sh:path ex:myProperty ; sh:nodeKind sh:IRIOrLiteral ; . _:b99026 rdf:type rdfs:Resource ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/not-001.ttl0000644000000000000000000000350200000000000021575 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:property 42 ; ex:property "Test Valid" ; rdfs:label "Invalid resource1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-property ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:TestShape-property sh:path ex:property ; sh:not [ sh:datatype xsd:integer ; ] ; . ex:ValidResource1 rdf:type rdfs:Resource ; rdfs:label "Valid resource1" ; . ex:ValidResource2 rdf:type rdfs:Resource ; ex:property 1.5 ; ex:property "String" ; rdfs:label "Valid resource2" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:not at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:NotConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value 42 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/or-001.ttl0000644000000000000000000000364000000000000021420 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Address rdf:type rdfs:Class ; rdfs:label "Address" ; rdfs:subClassOf rdfs:Resource ; . ex:AddressShape rdf:type sh:NodeShape ; rdfs:label "Address shape" ; sh:property ex:AddressShape-address ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; sh:targetNode ex:ValidResource2 ; . ex:AddressShape-address sh:path ex:address ; sh:or ( [ sh:datatype xsd:string ; ] [ sh:class ex:Address ; ] ) ; . ex:InvalidResource1 rdf:type rdfs:Resource ; ex:address "true"^^xsd:boolean ; . ex:ValidResource1 rdf:type rdfs:Resource ; ex:address "Home" ; . ex:ValidResource2 rdf:type rdfs:Resource ; ex:address [ rdf:type ex:Address ; ] ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:or at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath ex:address ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:AddressShape-address ; sh:value "true"^^xsd:boolean ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/or-datatypes-001.ttl0000644000000000000000000000534200000000000023415 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:comment owl:Thing ; rdfs:comment 42 ; rdfs:comment "A string" ; rdfs:comment "forty two"^^xsd:integer ; rdfs:label "Invalid resource1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-comment ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-comment sh:path rdfs:comment ; sh:or ( [ sh:datatype xsd:string ; ] [ sh:datatype rdf:HTML ; ] [ sh:datatype rdf:langString ; ] [ sh:datatype xsd:boolean ; ] ) ; . ex:ValidResource1 rdf:type rdfs:Resource ; rdfs:comment "
HTML
"^^rdf:HTML ; rdfs:comment "A language string"@en ; rdfs:comment "A string" ; rdfs:label "Valid resource1" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:or of sh:datatypes at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:comment ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-comment ; sh:value owl:Thing ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:comment ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-comment ; sh:value 42 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:comment ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:OrConstraintComponent ; sh:sourceShape ex:TestShape-comment ; sh:value "forty two"^^xsd:integer ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/pattern-001.ttl0000644000000000000000000000413600000000000022456 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:property "Maria" ; rdfs:label "Invalid instance1" ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:property "john" ; rdfs:label "Invalid instance2" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-property ; . ex:TestShape-property sh:path ex:property ; sh:datatype xsd:string ; sh:pattern "Joh" ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:property "Hi Joh" ; ex:property "John" ; rdfs:label "Valid instance1" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:pattern at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "Maria" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "john" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/pattern-002.ttl0000644000000000000000000000341300000000000022454 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:property "Maria" ; rdfs:label "Invalid instance1" ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-property ; . ex:TestShape-property sh:path ex:property ; rdfs:label "property" ; sh:datatype xsd:string ; sh:flags "i" ; sh:pattern "joh" ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:property "Hi Joh" ; ex:property "John" ; rdfs:label "Valid instance1" ; . ex:ValidInstance2 rdf:type ex:TestShape ; ex:property "john" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:pattern at property shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:property ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:PatternConstraintComponent ; sh:sourceShape ex:TestShape-property ; sh:value "Maria" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/property-001.ttl0000644000000000000000000000505200000000000022663 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Address rdf:type rdfs:Class ; rdfs:label "Address" ; rdfs:subClassOf rdfs:Resource ; . ex:City rdf:type rdfs:Class ; rdfs:label "City" ; rdfs:subClassOf rdfs:Resource ; . ex:InvalidAddress rdf:type ex:Address ; ex:city ex:InvalidCity ; . ex:InvalidPerson1 rdf:type ex:Person ; ex:address ex:InvalidAddress ; . ex:InvalidPerson2 rdf:type ex:Person ; ex:address ex:InvalidAddress ; ex:address ex:ValidAddress ; . ex:Person rdf:type rdfs:Class ; rdfs:label "Person" ; rdfs:subClassOf rdfs:Resource ; . ex:PersonShape rdf:type sh:NodeShape ; rdfs:label "Person shape" ; sh:property [ sh:path ex:address ; sh:property ex:PersonShape-address-city ; ] ; sh:targetClass ex:Person ; . ex:PersonShape-address-city sh:path ex:city ; sh:class ex:City ; . ex:ProperCity rdf:type ex:City ; rdfs:label "Proper city" ; . ex:ValidAddress rdf:type ex:Address ; ex:city ex:ProperCity ; . ex:ValidPerson1 rdf:type ex:Person ; ex:address ex:ValidAddress ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:property at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidAddress ; sh:resultPath ex:city ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:PersonShape-address-city ; sh:value ex:InvalidCity ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidAddress ; sh:resultPath ex:city ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:PersonShape-address-city ; sh:value ex:InvalidCity ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/qualifiedMinCountDisjoint-001.ttl0000644000000000000000000000555000000000000026126 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Digit rdf:type rdfs:Class ; rdfs:label "Digit" ; . ex:Finger rdf:type rdfs:Class ; rdfs:label "Finger" ; rdfs:subClassOf ex:Digit ; . ex:FingerAndThumb rdf:type ex:Finger ; rdf:type ex:Thumb ; rdfs:label "Finger and thumb" ; . ex:FingerShape rdf:type sh:NodeShape ; rdfs:label "Finger shape" ; sh:class ex:Finger ; . ex:Finger_1 rdf:type ex:Finger ; rdfs:label "Finger 1" ; . ex:Hand rdf:type rdfs:Class ; rdfs:label "Hand" ; . ex:HandShape rdf:type sh:NodeShape ; rdfs:label "Hand shape" ; sh:property ex:HandShape-digit-maxCount4 ; sh:property ex:HandShape-digit-minCount1 ; sh:targetClass ex:Hand ; . ex:HandShape-digit-maxCount4 rdf:type sh:PropertyShape ; sh:path ex:digit ; sh:qualifiedMaxCount 4 ; sh:qualifiedValueShape ex:FingerShape ; sh:qualifiedValueShapesDisjoint "true"^^xsd:boolean ; . ex:HandShape-digit-minCount1 rdf:type sh:PropertyShape ; sh:path ex:digit ; sh:qualifiedMinCount 1 ; sh:qualifiedValueShape ex:ThumbShape ; sh:qualifiedValueShapesDisjoint "true"^^xsd:boolean ; . ex:InvalidHand1 rdf:type ex:Hand ; ex:digit ex:FingerAndThumb ; rdfs:label "Invalid hand1" ; . ex:Thumb rdf:type rdfs:Class ; rdfs:label "Thumb" ; rdfs:subClassOf ex:Digit ; . ex:ThumbShape rdf:type sh:NodeShape ; rdfs:label "Thumb shape" ; sh:class ex:Thumb ; . ex:Thumb_1 rdf:type ex:Thumb ; rdfs:label "Thumb 1" ; . ex:ValidHand1 rdf:type ex:Hand ; ex:digit ex:Finger_1 ; ex:digit ex:Thumb_1 ; rdfs:label "Valid hand1" ; . ex:digit rdf:type rdf:Property ; rdfs:domain ex:Hand ; rdfs:label "digit" ; rdfs:range ex:Digit ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:qualifiedMinCount with disjoint shapes at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidHand1 ; sh:resultPath ex:digit ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:HandShape-digit-minCount1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/qualifiedValueShape-001.ttl0000644000000000000000000000442000000000000024716 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:APGARObservationShape rdf:type sh:NodeShape ; sh:property ex:APGARObservationShape-related ; sh:targetNode ex:Observation1 ; . ex:APGARObservationShape-related sh:path ex:related ; sh:qualifiedMaxCount 3 ; sh:qualifiedMinCount 3 ; sh:qualifiedValueShape [ sh:property [ sh:path ex:related_target ; sh:node [ sh:property [ sh:path ex:reference ; sh:hasValue ex:something ; ] ; ] ; ] ; ] ; . ex:Observation1 rdf:type ex:Observation ; ex:related [ ex:related_target [ ex:reference ex:something ; ] ; ex:related_type "has-component"^^ex:code ; ] ; ex:related [ ex:related_target [ ex:reference ex:something ; ] ; ex:related_type "has-component"^^ex:code ; ] ; ex:related [ ex:related_target [ ex:reference ex:unrelated ; ] ; ex:related_type "has-component"^^ex:code ; ] ; sh:nodeShape ex:APGARObservationShape ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:qualifiedValueShape at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Observation1 ; sh:resultPath ex:related ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:APGARObservationShape-related ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/qualifiedValueShapesDisjoint-001.ttl0000644000000000000000000000626500000000000026616 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Finger rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Finger" ; rdfs:subClassOf rdfs:Resource ; . ex:Finger1 rdf:type ex:Finger ; rdfs:label "Finger1" ; . ex:Finger2 rdf:type ex:Finger ; rdfs:label "Finger2" ; . ex:Finger3 rdf:type ex:Finger ; rdfs:label "Finger3" ; . ex:Finger4 rdf:type ex:Finger ; rdfs:label "Finger4" ; . ex:FingerAndThumb rdf:type ex:Finger ; rdf:type ex:Thumb ; rdfs:label "Finger and thumb" ; . ex:Hand rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Hand" ; rdfs:subClassOf rdfs:Resource ; . ex:HandShape rdf:type sh:NodeShape ; sh:property ex:HandShape-digit1 ; sh:property ex:HandShape-digit4 ; sh:targetClass ex:Hand ; . ex:HandShape-digit1 sh:path ex:digit ; sh:qualifiedMaxCount 1 ; sh:qualifiedMinCount 1 ; sh:qualifiedValueShape [ sh:class ex:Thumb ; ] ; sh:qualifiedValueShapesDisjoint "true"^^xsd:boolean ; . ex:HandShape-digit4 sh:path ex:digit ; sh:qualifiedMaxCount 4 ; sh:qualifiedMinCount 4 ; sh:qualifiedValueShape [ sh:class ex:Finger ; ] ; sh:qualifiedValueShapesDisjoint "true"^^xsd:boolean ; . ex:InvalidHand1 rdf:type ex:Hand ; ex:digit ex:Finger1 ; ex:digit ex:Finger2 ; ex:digit ex:Finger3 ; ex:digit ex:FingerAndThumb ; . ex:Thumb rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Thumb" ; rdfs:subClassOf rdfs:Resource ; . ex:Thumb1 rdf:type ex:Thumb ; rdfs:label "Thumb1" ; . ex:ValidHand rdf:type ex:Hand ; ex:digit ex:Finger1 ; ex:digit ex:Finger2 ; ex:digit ex:Finger3 ; ex:digit ex:Finger4 ; ex:digit ex:Thumb1 ; rdfs:label "Valid hand" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:qualifiedValueShapesDisjoint at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidHand1 ; sh:resultPath ex:digit ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:HandShape-digit1 ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidHand1 ; sh:resultPath ex:digit ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:QualifiedMinCountConstraintComponent ; sh:sourceShape ex:HandShape-digit4 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/uniqueLang-001.ttl0000644000000000000000000000513500000000000023111 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:TestShape ; ex:testProperty "Me" ; ex:testProperty "Me"@en ; ex:testProperty "Moi"@fr ; ex:testProperty "Myself"@en ; . ex:InvalidInstance2 rdf:type ex:TestShape ; ex:testProperty "I"@en ; ex:testProperty "Ich"@de ; ex:testProperty "Me"@en ; ex:testProperty "Mich"@de ; ex:testProperty "Myself"@en ; . ex:TestShape rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-testProperty ; . ex:TestShape-testProperty sh:path ex:testProperty ; rdfs:label "test property" ; sh:uniqueLang "true"^^xsd:boolean ; . ex:ValidInstance1 rdf:type ex:TestShape ; ex:testProperty "Me" ; ex:testProperty "Me"@en ; ex:testProperty "Moi"@fr ; ex:testProperty "Myself" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:uniqueLang at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:UniqueLangConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:UniqueLangConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:testProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:UniqueLangConstraintComponent ; sh:sourceShape ex:TestShape-testProperty ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/property/uniqueLang-002-data.ttl0000644000000000000000000000012300000000000024011 0ustar00@prefix ex: . ex:i ex:message "HI"@en, "Hi"@en . pyshacl-0.30.1/test/resources/sht_tests/core/property/uniqueLang-002-shapes.ttl0000644000000000000000000000073000000000000024367 0ustar00@prefix sh: . @prefix ex: . @prefix xsd: . ex:s1 a sh:PropertyShape ; sh:targetNode ex:i ; sh:path ex:message ; sh:uniqueLang "1"^^xsd:boolean . # Note that the value above is "1"^^xsd:boolean, which is distinct from "true"^^xsd:boolean. # Only true is mentioned in the spec, meaning that "1" will not activate the constraint # and the constraint is being ignored. pyshacl-0.30.1/test/resources/sht_tests/core/property/uniqueLang-002.ttl0000644000000000000000000000160700000000000023112 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> a mf:Manifest ; mf:entries ( ) . a sht:Validate ; rdfs:label "Test uniqueLang with other boolean literal for true" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ a sh:ValidationReport ; sh:conforms "true"^^xsd:boolean ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/core/targets/manifest.ttl0000644000000000000000000000110300000000000022065 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/core/targets" ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/core/targets/multipleTargets-001.ttl0000644000000000000000000000303500000000000023750 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:property1 "Also a value" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:in ( ex:ValidResource1 ex:ValidResource2 ) ; sh:targetSubjectsOf ex:property1 ; sh:targetSubjectsOf ex:property2 ; . ex:ValidResource1 ex:property1 "Some value" ; . ex:ValidResource2 ex:property2 "Other value" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of multiple targets 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/targets/targetClass-001.ttl0000644000000000000000000000314100000000000023035 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; ex:myProperty "B" ; . ex:MyClass rdf:type rdfs:Class ; . ex:MyShape rdf:type sh:NodeShape ; sh:property ex:MyShape-myProperty ; sh:targetClass ex:MyClass ; . ex:MyShape-myProperty sh:path ex:myProperty ; sh:maxCount 1 ; . ex:ValidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; . ex:ValidInstance2 ex:myProperty "A" ; ex:myProperty "B" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:targetClass 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:MyShape-myProperty ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/targets/targetClassImplicit-001.ttl0000644000000000000000000000311200000000000024526 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance rdf:type ex:SubClass ; rdfs:label "Invalid instance" ; . ex:SubClass rdf:type rdfs:Class ; rdfs:label "Sub class" ; rdfs:subClassOf ex:SuperClass ; . ex:SuperClass rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Super class" ; sh:in ( ex:ValidInstance ) ; . ex:ValidInstance rdf:type ex:SubClass ; rdfs:label "Valid instance" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of implicit sh:targetClass 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:InConstraintComponent ; sh:sourceShape ex:SuperClass ; sh:value ex:InvalidInstance ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/targets/targetNode-001.ttl0000644000000000000000000000311500000000000022656 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:label "Invalid resource 1" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-label ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-label sh:path rdfs:label ; rdfs:label "label" ; sh:datatype xsd:string ; sh:maxCount 0 ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:targetNode 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-label ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/targets/targetObjectsOf-001.ttl0000644000000000000000000000352000000000000023647 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 ex:testProperty "String" ; . ex:InvalidResource2 ex:testProperty rdfs:Resource ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:datatype xsd:integer ; sh:targetObjectsOf ex:testProperty ; . ex:ValidResource1 ex:testProperty 100 ; ex:testProperty 42 ; . ex:testProperty rdf:type rdf:Property ; rdfs:label "test property" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:targetObjectsOf 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode rdfs:Resource ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value rdfs:Resource ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "String" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:DatatypeConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "String" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/targets/targetSubjectsOf-001.ttl0000644000000000000000000000306300000000000024042 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 ex:myProperty "A" ; ex:myProperty "B" ; . ex:MyClass rdf:type rdfs:Class ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-myProperty ; sh:targetSubjectsOf ex:myProperty ; . ex:TestShape-myProperty rdf:type sh:PropertyShape ; sh:path ex:myProperty ; sh:maxCount 1 ; . ex:ValidInstance1 ex:myProperty "A" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:targetSubjectsOf 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-myProperty ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/targets/targetSubjectsOf-002.ttl0000644000000000000000000000402100000000000024036 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; ex:myProperty "B" ; . ex:InvalidInstance2 ex:myProperty "A" ; ex:myProperty "B" ; . ex:MyClass rdf:type rdfs:Class ; . ex:TestShape rdf:type sh:NodeShape ; sh:property ex:TestShape-myProperty ; sh:targetClass ex:MyClass ; sh:targetSubjectsOf ex:myProperty ; . ex:TestShape-myProperty sh:path ex:myProperty ; sh:maxCount 1 ; . ex:ValidInstance1 rdf:type ex:MyClass ; ex:myProperty "A" ; . ex:ValidInstance2 ex:myProperty "A" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:targetSubjectsOf 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-myProperty ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance2 ; sh:resultPath ex:myProperty ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-myProperty ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/core/validation-reports/manifest.ttl0000644000000000000000000000043700000000000024253 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests for validation reports" ; mf:include ; . pyshacl-0.30.1/test/resources/sht_tests/core/validation-reports/shared-data.ttl0000644000000000000000000000014200000000000024613 0ustar00@prefix ex: . ex:i ex:p ex:j . ex:i ex:q ex:j . ex:j ex:r ex:k . pyshacl-0.30.1/test/resources/sht_tests/core/validation-reports/shared-shapes.ttl0000644000000000000000000000046600000000000025176 0ustar00@prefix sh: . @prefix ex: . ex:s1 a sh:NodeShape ; sh:targetNode ex:i ; sh:property ex:s2 ; sh:property ex:s3 . ex:s2 sh:path ex:p ; sh:property ex:s4 . ex:s3 sh:path ex:q ; sh:property ex:s4 . ex:s4 sh:path ex:r ; sh:class ex:C . pyshacl-0.30.1/test/resources/sht_tests/core/validation-reports/shared.ttl0000644000000000000000000000272300000000000023713 0ustar00@prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . @prefix ex: . # This test case is under discussion, as there are different interpretations # on whether the nested sh:property constraint that is reached twice should # also be reported twice. <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate; rdfs:label "Test of validation report for shape shared by property constraints" ; mf:action [ sht:dataGraph ; sht:shapesGraph ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:j ; sh:value ex:k ; sh:resultPath ex:r ; sh:sourceShape ex:s4 ; sh:sourceConstraintComponent sh:ClassConstraintComponent ] ; sh:result [ rdf:type sh:ValidationResult ; sh:resultSeverity sh:Violation ; sh:focusNode ex:j ; sh:value ex:k ; sh:resultPath ex:r ; sh:sourceShape ex:s4 ; sh:sourceConstraintComponent sh:ClassConstraintComponent ] ] ; mf:status sht:approved . pyshacl-0.30.1/test/resources/sht_tests/manifest.ttl0000644000000000000000000000043500000000000017473 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/sparql/component/manifest.ttl0000644000000000000000000000071400000000000022777 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/sparql/component" ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/sparql/component/nodeValidator-001.ttl0000644000000000000000000000463200000000000024265 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/component/nodeValidator-001.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:InvalidResource1 ex:property "Other" ; . ex:TestConstraintComponent rdf:type sh:ConstraintComponent ; rdfs:label "Test constraint component" ; sh:nodeValidator [ rdf:type sh:SPARQLSelectValidator ; sh:select """ SELECT DISTINCT $this WHERE { $this ?p ?o . FILTER NOT EXISTS { $this ex:property ?requiredParam . }}""" ; sh:prefixes ; ] ; sh:parameter [ sh:path ex:optionalParam ; sh:datatype xsd:integer ; sh:name "optional param" ; sh:optional "true"^^xsd:boolean ; ] ; sh:parameter [ sh:path ex:requiredParam ; sh:datatype xsd:string ; sh:name "required param" ; ] ; . ex:TestShape rdf:type sh:NodeShape ; ex:requiredParam "Value" ; rdfs:label "Test shape" ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ex:ValidResource1 ex:property "Value" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:nodeValidator 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource1 ; ] ; ] ; mf:status sht:proposed ; .pyshacl-0.30.1/test/resources/sht_tests/sparql/component/optional-001.ttl0000644000000000000000000000652500000000000023322 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/component/optional-001.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:IncompleteShape rdf:type sh:NodeShape ; ex:optionalParam "Some" ; rdfs:label "Incomplete shape" ; sh:targetNode "One" ; sh:targetNode "Three" ; sh:targetNode "Two" ; . ex:TestConstraintComponent rdf:type sh:ConstraintComponent ; rdfs:label "Test constraint component" ; sh:parameter [ sh:path ex:optionalParam ; sh:name "optional param" ; sh:optional "true"^^xsd:boolean ; ] ; sh:parameter [ sh:path ex:requiredParam ; sh:name "required param" ; ] ; sh:validator [ rdf:type sh:SPARQLAskValidator ; sh:ask """ASK { FILTER ($value != $requiredParam && $value != COALESCE(?optionalParam, \"Three\")) . }""" ; sh:prefixes ; ] ; . ex:TestShape1 rdf:type sh:NodeShape ; ex:requiredParam "One" ; rdfs:label "Test shape 1" ; sh:targetNode "One" ; sh:targetNode "Three" ; sh:targetNode "Two" ; . ex:TestShape2 rdf:type sh:NodeShape ; ex:optionalParam "Two" ; ex:requiredParam "One" ; rdfs:label "Test shape 1" ; sh:targetNode "One" ; sh:targetNode "Three" ; sh:targetNode "Two" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:optional 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "One" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape1 ; sh:value "One" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "One" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape2 ; sh:value "One" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Three" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape1 ; sh:value "Three" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Two" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape2 ; sh:value "Two" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/component/propertyValidator-select-001.ttl0000644000000000000000000000606100000000000026477 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Country rdf:type rdfs:Class ; rdfs:label "Country" ; . ex:InvalidCountry1 rdf:type ex:Country ; ex:englishLabel "Munich" ; ex:germanLabel "Muenchen" ; rdfs:label "Invalid country1" ; . ex:LanguageConstraintComponentUsingSELECT rdf:type sh:ConstraintComponent ; rdfs:label "Language constraint component" ; sh:labelTemplate "Values are literals with language \"{$lang}\"" ; sh:parameter [ sh:path ex:lang ; sh:datatype xsd:string ; sh:description "The language tag, e.g. \"de\"." ; sh:minLength 2 ; sh:name "language" ; ] ; sh:propertyValidator [ rdf:type sh:SPARQLSelectValidator ; sh:message "Values are literals with language \"{?lang}\"" ; sh:prefixes ; sh:select """ SELECT DISTINCT $this ?value WHERE { $this $PATH ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), $lang)) } """ ; ] ; . ex:LanguageExampleShape rdf:type sh:NodeShape ; sh:property _:b56647 ; sh:property _:b71712 ; sh:targetClass ex:Country ; . ex:ValidCountry1 rdf:type ex:Country ; ex:englishLabel "Beijing"@en ; ex:germanLabel "Peking"@de ; rdfs:label "Valid country1" ; . ex:englishLabel rdfs:domain ex:Country ; . ex:germanLabel rdfs:domain ex:Country ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:propertyValidator with SELECT 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry1 ; sh:resultPath ex:englishLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:LanguageConstraintComponentUsingSELECT ; sh:sourceShape _:b56647 ; sh:value "Munich" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry1 ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:LanguageConstraintComponentUsingSELECT ; sh:sourceShape _:b71712 ; sh:value "Muenchen" ; ] ; ] ; mf:status sht:approved ; . _:b56647 sh:path ex:englishLabel ; ex:lang "en" ; . _:b71712 sh:path ex:germanLabel ; ex:lang "de" ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/component/validator-001.ttl0000644000000000000000000000454000000000000023455 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . owl:imports ; . ex:ConstraintComponent rdf:type rdfs:Class ; rdfs:label "Constraint component" ; rdfs:subClassOf sh:ConstraintComponent ; . ex:SPARQLAskValidator rdfs:subClassOf sh:SPARQLAskValidator ; . ex:TestConstraintComponent rdf:type ex:ConstraintComponent ; rdfs:comment """A simple test component with two parameters, which flags all values as invalid unless they are the concatenation of the two parameters. Part of this test is to also use various subclasses of the system classes.""" ; rdfs:label "Test constraint component" ; sh:parameter ex:TestParameter1 ; sh:parameter ex:TestParameter2 ; sh:validator [ rdf:type ex:SPARQLAskValidator ; sh:ask """ ASK { FILTER (?value = CONCAT($test1, $test2)) } """ ; ] ; . ex:TestParameter1 rdf:type sh:Parameter ; sh:path ex:test1 ; sh:datatype xsd:string ; . ex:TestParameter2 rdf:type sh:Parameter ; sh:path ex:test2 ; sh:datatype xsd:string ; . ex:TestShape rdf:type sh:NodeShape ; ex:test1 "Hello " ; ex:test2 "World" ; rdfs:label "Test shape" ; sh:targetNode "Hallo Welt" ; sh:targetNode "Hello World" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:validator 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode "Hallo Welt" ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent ex:TestConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Hallo Welt" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/manifest.ttl0000644000000000000000000000056000000000000020774 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; mf:include ; mf:include ; mf:include ; mf:include ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/node/manifest.ttl0000644000000000000000000000065300000000000021724 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/sparql/node" ; mf:include ; mf:include ; mf:include ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/sparql/node/prefixes-001.ttl0000644000000000000000000000402000000000000022231 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/node/prefixes-001.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:InvalidResource1 ex:property ; . ex:TestPrefixes owl:imports ; sh:declare [ sh:namespace "http://test.com/ns#"^^xsd:anyURI ; sh:prefix "test" ; ] ; . ex:TestSPARQL sh:prefixes ex:TestPrefixes ; sh:select """ SELECT $this ?value WHERE { $this ex:property ?value . FILTER (?value = test:Value) . } """ ; . ex:TestShape rdf:type sh:NodeShape ; sh:sparql ex:TestSPARQL ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:prefixes 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestSPARQL ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/node/sparql-001.ttl0000644000000000000000000000540100000000000021712 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:label "Invalid resource 1" ; . ex:InvalidResource2 rdf:type rdfs:Resource ; rdfs:label "Invalid label 1" ; rdfs:label "Invalid label 2" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-sparql sh:message "Cannot have a label" ; sh:prefixes ; sh:select """ SELECT $this ?path ?value WHERE { $this ?path ?value . FILTER (?path = ) . }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:sparql at node shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource1 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Invalid resource 1" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Invalid label 1" ; ] ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource2 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value "Invalid label 2" ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/node/sparql-002.ttl0000644000000000000000000000415600000000000021721 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/node/sparql-002.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:InvalidCountry rdf:type ex:Country ; ex:germanLabel "Spain"@en ; . ex:LanguageExampleShape rdf:type sh:NodeShape ; rdf:type sh:SPARQLConstraint ; sh:message "Values are literals with German language tag." ; sh:prefixes ; sh:select """ SELECT $this (ex:germanLabel AS ?path) ?value WHERE { $this ex:germanLabel ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), \"de\")) } """ ; sh:sparql ex:LanguageExampleShape ; sh:targetClass ex:Country ; . ex:ValidCountry rdf:type ex:Country ; ex:germanLabel "Spanien"@de ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:sparql at node shape 002" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:LanguageExampleShape ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:LanguageExampleShape ; sh:value "Spain"@en ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/node/sparql-003.ttl0000644000000000000000000000420700000000000021717 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . sh:declare [ rdf:type sh:PrefixDeclaration ; sh:namespace "http://datashapes.org/sh/tests/sparql/node/sparql-003.test#"^^xsd:anyURI ; sh:prefix "ex" ; ] ; . ex:InvalidCountry rdf:type ex:Country ; ex:germanLabel "Spain"@en ; . ex:LanguageExampleShape rdf:type sh:NodeShape ; rdf:type sh:SPARQLConstraint ; sh:message "Values are literals with German language tag." ; sh:prefixes ; sh:select """ SELECT $this (ex:germanLabel AS ?path) WHERE { $this ex:germanLabel ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), \"de\")) } """ ; sh:severity sh:Warning ; sh:sparql ex:LanguageExampleShape ; sh:targetClass ex:Country ; . ex:ValidCountry rdf:type ex:Country ; ex:germanLabel "Spanien"@de ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:sparql at node shape 003" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Warning ; sh:sourceConstraint ex:LanguageExampleShape ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:LanguageExampleShape ; sh:value ex:InvalidCountry ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/manifest.ttl0000644000000000000000000000143700000000000023176 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests for pre-binding" ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; mf:include ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-001.ttl0000644000000000000000000000337400000000000024066 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-001.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:message "Test message" ; sh:prefixes ex: ; sh:select """ SELECT $this WHERE { FILTER ($this = ex:InvalidResource) . }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in FILTER" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultMessage "Test message" ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-002.ttl0000644000000000000000000000333600000000000024065 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-002.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:prefixes ex: ; sh:select """ SELECT $this WHERE { { FILTER (false) . } UNION { FILTER ($this = ex:InvalidResource) . } }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in UNION" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-003.ttl0000644000000000000000000000337500000000000024071 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-003.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:prefixes ex: ; sh:select """ SELECT $this WHERE { { { FILTER ($this = ex:InvalidResource) . } FILTER bound($this) . } FILTER (true) . }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in inner {...} blocks" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-004.ttl0000644000000000000000000000332600000000000024066 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-004.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:prefixes ex: ; sh:select """ SELECT $this WHERE { BIND ($this AS ?that) . FILTER (?that = ex:InvalidResource) . }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in BIND expressions" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-005.ttl0000644000000000000000000000342700000000000024071 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-005.test#"^^xsd:anyURI ; ] . ex:InvalidResource ex:property "Label" . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:prefixes ex: ; sh:select """ SELECT $this WHERE { { FILTER (bound($this)) } $this ex:property "Label" . FILTER (bound($this)) . }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in BGP and FILTER" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-006.ttl0000644000000000000000000000245500000000000024072 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-006.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:prefixes ex: ; sh:select """ SELECT $this WHERE { { SELECT * WHERE { FILTER ($this = ex:InvalidResource) . } } }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in nested SELECT" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/pre-binding-007.ttl0000644000000000000000000000334300000000000024070 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/pre-binding-007.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; . ex:TestShape-sparql sh:prefixes ex: ; sh:select """ SELECT $this WHERE { { SELECT $this WHERE { FILTER ($this = ex:InvalidResource) . } } }""" ; . ex:ValidResource1 rdf:type rdfs:Resource ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of pre-binding in nested SELECT" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/shapesGraph-001.ttl0000644000000000000000000000342100000000000024126 0ustar00@prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex: sh:declare [ sh:prefix "ex" ; sh:namespace "http://datashapes.org/sh/tests/sparql/pre-binding/shapesGraph-001.test#"^^xsd:anyURI ; ] . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource ; ex:property 42 ; . ex:TestShape-sparql sh:message "Test message" ; sh:prefixes ex: ; sh:select """ SELECT $this WHERE { FILTER bound($shapesGraph) . GRAPH $shapesGraph { FILTER bound($currentShape) . $currentShape ex:property 42 . } }""" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of $shapesGraph and $currentShape" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidResource ; sh:resultMessage "Test message" ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:TestShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:TestShape ; sh:value ex:InvalidResource ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/unsupported-sparql-001.ttl0000644000000000000000000000166600000000000025562 0ustar00@prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> rdf:type mf:Manifest ; mf:entries ( ) . rdf:type sht:Validate ; rdfs:label "Test of unsupported MINUS" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved . ex:TestShape a sh:NodeShape ; sh:targetNode ex:InvalidResource ; sh:sparql [ sh:select """ SELECT $this WHERE { $this ?x ?any . MINUS { $this ?x "Value" } }""" ; ] . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/unsupported-sparql-002.ttl0000644000000000000000000000163500000000000025557 0ustar00@prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> rdf:type mf:Manifest ; mf:entries ( ) . rdf:type sht:Validate ; rdfs:label "Test of unsupported VALUES" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved . ex:TestShape a sh:NodeShape ; sh:targetNode ex:InvalidResource ; sh:sparql [ sh:select """ SELECT $this WHERE { VALUES ?any { true } }""" ; ] . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/unsupported-sparql-003.ttl0000644000000000000000000000171600000000000025560 0ustar00@prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> rdf:type mf:Manifest ; mf:entries ( ) . rdf:type sht:Validate ; rdfs:label "Test of unsupported SERVICE" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved . ex:TestShape a sh:NodeShape ; sh:targetNode ex:InvalidResource ; sh:sparql [ sh:select """ SELECT $this WHERE { $this ?x ?any . SERVICE { ?a ?b ?c . } }""" ; ] . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/unsupported-sparql-004.ttl0000644000000000000000000000174400000000000025562 0ustar00@prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> rdf:type mf:Manifest ; mf:entries ( ) . rdf:type sht:Validate ; rdfs:label "Test of unsupported SELECT" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved . ex:TestShape a sh:NodeShape ; sh:targetNode ex:InvalidResource ; sh:sparql [ sh:select """ SELECT $this WHERE { $this ?x ?any . { SELECT ?other ?b WHERE { ?other ?b ?c . } } }""" ; ] . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/unsupported-sparql-005.ttl0000644000000000000000000000164500000000000025563 0ustar00@prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . <> rdf:type mf:Manifest ; mf:entries ( ) . rdf:type sht:Validate ; rdfs:label "Test of unsupported AS ?prebound" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved . ex:TestShape a sh:NodeShape ; sh:targetNode ex:InvalidResource ; sh:sparql [ sh:select """ SELECT $this WHERE { BIND (true AS $this) . }""" ; ] . pyshacl-0.30.1/test/resources/sht_tests/sparql/pre-binding/unsupported-sparql-006.ttl0000644000000000000000000000432000000000000025555 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Country rdf:type rdfs:Class ; rdfs:label "Country" ; . ex:InvalidCountry1 rdf:type ex:Country ; ex:englishLabel "Munich" ; ex:germanLabel "Muenchen" ; rdfs:label "Invalid country1" ; . ex:LanguageConstraintComponentUsingASK rdf:type sh:ConstraintComponent ; rdfs:label "Language constraint component" ; sh:labelTemplate "Values are literals with language \"{$lang}\"" ; sh:parameter [ sh:path ex:lang ; sh:datatype xsd:string ; sh:description "The language tag, e.g. \"de\"." ; sh:minLength 2 ; sh:name "language" ; ] ; sh:validator ex:hasLang ; # This was changed by HK on 2018-09-21, see https://github.com/w3c/data-shapes/issues/101 . ex:LanguageExampleShape rdf:type sh:NodeShape ; sh:property _:b41651 ; sh:property _:b75747 ; sh:targetClass ex:Country ; . ex:ValidCountry1 rdf:type ex:Country ; ex:englishLabel "Beijing"@en ; ex:germanLabel "Peking"@de ; rdfs:label "Valid country1" ; . ex:englishLabel rdfs:domain ex:Country ; . ex:germanLabel rdfs:domain ex:Country ; . ex:hasLang rdf:type sh:SPARQLAskValidator ; sh:ask """ ASK { BIND (true AS ?value) . FILTER (isLiteral(?value) && langMatches(lang(?value), $lang)) } """ ; sh:message "Values are literals with language \"{?lang}\"" ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of ASK trying to reassign ?value" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result sht:Failure ; mf:status sht:approved ; . _:b41651 sh:path ex:englishLabel ; ex:lang "en" ; . _:b75747 sh:path ex:germanLabel ; ex:lang "de" ; . pyshacl-0.30.1/test/resources/sht_tests/sparql/property/manifest.ttl0000644000000000000000000000052000000000000022654 0ustar00@prefix mf: . @prefix rdfs: . @prefix sht: . <> a mf:Manifest ; rdfs:label "Tests converted from http://datashapes.org/sh/tests/tests/sparql/property" ; mf:include ; .pyshacl-0.30.1/test/resources/sht_tests/sparql/property/sparql-001.ttl0000644000000000000000000000367500000000000022664 0ustar00@prefix dash: . @prefix ex: . @prefix mf: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix sht: . @prefix xsd: . ex:Country rdf:type rdfs:Class ; . ex:InvalidCountry rdf:type ex:Country ; ex:germanLabel "Spain"@en ; . ex:LanguageExamplePropertyShape rdf:type sh:PropertyShape ; sh:path ex:germanLabel ; sh:sparql ex:LanguageExamplePropertyShape-sparql ; sh:targetClass ex:Country ; . ex:LanguageExamplePropertyShape-sparql rdf:type sh:SPARQLConstraint ; sh:message "Values are literals with German language tag." ; sh:prefixes ex: ; sh:select """ SELECT $this ?value WHERE { $this $PATH ?value . FILTER (!isLiteral(?value) || !langMatches(lang(?value), \"de\")) } """ ; . ex:ValidCountry rdf:type ex:Country ; ex:germanLabel "Spanien"@de ; . <> rdf:type mf:Manifest ; mf:entries ( ) ; . rdf:type sht:Validate ; rdfs:label "Test of sh:sparql at property shape 001" ; mf:action [ sht:dataGraph <> ; sht:shapesGraph <> ; ] ; mf:result [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidCountry ; sh:resultPath ex:germanLabel ; sh:resultSeverity sh:Violation ; sh:sourceConstraint ex:LanguageExamplePropertyShape-sparql ; sh:sourceConstraintComponent sh:SPARQLConstraintComponent ; sh:sourceShape ex:LanguageExamplePropertyShape ; sh:value "Spain"@en ; ] ; ] ; mf:status sht:approved ; . pyshacl-0.30.1/test/test_advanced.py0000644000000000000000000000747500000000000014277 0ustar00"""\ A cool test that combines a bunch of SHACL-AF features, including: SHACL Functions (implemented as SPARQL functions) SHACL Rules Node Expressions Expression Constraint """ from pyshacl import validate from rdflib import Graph shacl_file = '''\ # prefix: ex @prefix ex: . @prefix exOnt: . @prefix exData: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of advanced features" ; . ex:concat a sh:SPARQLFunction ; rdfs:comment "Concatenates strings $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The first string" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:string ; sh:description "The second string" ; ] ; sh:returnType xsd:string ; sh:select """ SELECT ?result WHERE { BIND(CONCAT(STR(?op1),STR(?op2)) AS ?result) . } """ . ex:strlen a sh:SPARQLFunction ; rdfs:comment "Returns length of the given string." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The string" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ?result WHERE { BIND(STRLEN(?op1) AS ?result) . } """ . ex:lessThan a sh:SPARQLFunction ; rdfs:comment "Returns True if op1 < op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first int" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second int" ; ] ; sh:returnType xsd:boolean ; sh:select """ SELECT ?result WHERE { BIND(IF(?op1 < ?op2, true, false) AS ?result) . } """ . ex:PersonExpressionShape a sh:NodeShape ; sh:targetClass exOnt:Person ; sh:expression [ sh:message "Person's firstName and lastName together should be less than 35 chars long." ; ex:lessThan ( [ ex:strlen ( [ ex:concat ( [ sh:path exOnt:firstName] [ sh:path exOnt:lastName ] ) ] ) ] 35 ); ] . ex:PersonRuleShape a sh:NodeShape ; sh:targetClass exOnt:Administrator ; sh:message "An administrator is a person too." ; sh:rule [ a sh:TripleRule ; sh:subject sh:this ; sh:predicate rdf:type ; sh:object exOnt:Person ; ] . ''' data_graph = ''' # prefix: ex @prefix ex: . @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . ex:Kate rdf:type exOnt:Person ; exOnt:firstName "Kate" ; exOnt:lastName "Jones" ; . ex:Jenny rdf:type exOnt:Administrator ; exOnt:firstName "Jennifer" ; exOnt:lastName "Wolfeschlegelsteinhausenbergerdorff" ; . ''' def test_advanced(): d = Graph().parse(data=data_graph, format="turtle") s = Graph().parse(data=shacl_file, format="turtle") conforms, report, message = validate(d, shacl_graph=s, advanced=True, debug=False) print(message) assert not conforms if __name__ == "__main__": exit(test_advanced()) pyshacl-0.30.1/test/test_cmdline.py0000644000000000000000000001710400000000000014133 0ustar00# -*- coding: utf-8 -*- # import os import platform import subprocess import sys from os import getenv, path from sys import stderr PATH = getenv("PATH", "") PP = getenv('PYTHONPATH', "") here_dir = path.abspath(path.dirname(__file__)) ENV_VARS = {"PATH": PATH, "PYTHONPATH": ':'.join((here_dir, PP))} PH = getenv('PYTHONHOME', "") if PH: ENV_VARS['PYTHONHOME'] = PH VE = getenv('VIRTUAL_ENV', "") if VE: ENV_VARS['VIRTUAL_ENV'] = VE virtual_bin = path.join(VE, "bin") ENV_VARS['PATH'] = ':'.join((virtual_bin, PATH)) abs_resources_dir = path.join(here_dir, 'resources') cmdline_files_dir = path.join(abs_resources_dir, 'cmdline_tests') check_resources = path.join(path.abspath(os.getcwd()), 'resources') in_test_dir = False if path.exists(check_resources) and path.isdir(check_resources): in_test_dir = True else: in_test_dir = False if in_test_dir: lib_dir = os.path.abspath(os.path.join(here_dir, os.pardir)) ENV_VARS["PYTHONPATH"] = ':'.join((lib_dir, PP)) it = ENV_VARS["PYTHONPATH"].split(":") scr_dir = "scripts-{}.{}".format(sys.version_info[0], sys.version_info[1]) if in_test_dir: scr_dir = path.join('..', scr_dir) check_scrdir = path.join(path.abspath(os.getcwd()), scr_dir) if path.exists(check_scrdir) and path.isdir(check_scrdir): has_scripts_dir = True else: has_scripts_dir = False bin_dir = "bin" if in_test_dir: bin_dir = path.join('..', bin_dir) check_bindir = path.join(path.abspath(os.getcwd()), bin_dir) if path.exists(check_bindir) and path.isdir(check_bindir): has_bin_dir = True else: has_bin_dir = False cli_script = "pyshacl/cli.py" if in_test_dir: cli_script = path.join('..', cli_script) check_cli_script = path.join(path.abspath(os.getcwd()), cli_script) if path.exists(check_cli_script) and path.isfile(check_cli_script): has_cli_script = True else: has_cli_script = False if has_scripts_dir: pyshacl_command = ["{}/pyshacl".format(scr_dir)] elif has_bin_dir: pyshacl_command = ["{}/pyshacl".format(bin_dir)] elif has_cli_script: pyshacl_command = ["python3", cli_script] else: pyshacl_command = ["pyshacl"] def test_cmdline(): if not hasattr(subprocess, 'run'): print("Subprocess.run() not available, skip this test") assert True return True if platform.system() == "Windows": print("Commandline tests cannot run on Windows.") assert True return True if os.environ.get("PYBUILD_NAME", None) is not None: print("We don't have access to scripts dir during pybuild process.") assert True return True graph_file = path.join(cmdline_files_dir, 'd1.ttl') shacl_file = path.join(cmdline_files_dir, 's1.ttl') ont_file = path.join(cmdline_files_dir, 'o1.ttl') cmd = pyshacl_command args = [graph_file, '-s', shacl_file, '-i', 'rdfs', '-e', ont_file] res = subprocess.run(cmd + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=ENV_VARS) print("result = {}".format(res.returncode)) print(res.stdout.decode('utf-8')) print(res.stderr.decode('utf-8')) assert res.returncode == 0 def test_cmdline_fail(): if not hasattr(subprocess, 'run'): print("Subprocess.run() not available, skip this test") assert True return True if platform.system() == "Windows": print("Commandline tests cannot run on Windows.") assert True return True if os.environ.get("PYBUILD_NAME", None) is not None: print("We don't have access to scripts dir during pybuild process.") assert True return True graph_file = path.join(cmdline_files_dir, 'd2.ttl') shacl_file = path.join(cmdline_files_dir, 's1.ttl') ont_file = path.join(cmdline_files_dir, 'o1.ttl') cmd = pyshacl_command args = [graph_file, '-s', shacl_file, '-i', 'rdfs', '-e', ont_file] res = subprocess.run(cmd + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=ENV_VARS) print("result = {}".format(res.returncode)) print(res.stdout.decode('utf-8')) print(res.stderr.decode('utf-8')) assert res.returncode == 1 def test_cmdline_table(): graph_file = path.join(cmdline_files_dir, 'd1.ttl') shacl_file = path.join(cmdline_files_dir, 's1.ttl') args = [graph_file, '-s', shacl_file, '-f', 'table'] res = subprocess.run(pyshacl_command + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=ENV_VARS) output_table = res.stdout.decode('utf-8') assert ( "+-----+-----------+---------------------------+---------------------------+" "---------------------------+--------------------------+---------------------------+" "---------------------------+" in output_table ) assert "| 1 | Violation | http://example.com/ex#Hum | http://example.com/exOnt# " in output_table def test_cmdline_web(): if not hasattr(subprocess, 'run'): print("Subprocess.run() not available, skip this test") assert True return if platform.system() == "Windows": print("Commandline tests cannot run on Windows.") assert True return if os.environ.get("PYBUILD_NAME", None) is not None: print("We don't have access to scripts dir during pybuild process.") assert True return DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run web requests in debhelper tests.") assert True return graph_file = path.join(cmdline_files_dir, 'd1.ttl') shacl_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/s1.ttl" ont_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/o1.ttl" cmd = pyshacl_command args = [graph_file, '-s', shacl_file, '-i', 'rdfs', '-e', ont_file] res = subprocess.run(cmd + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=ENV_VARS) print("result = {}".format(res.returncode)) print(res.stdout.decode('utf-8')) print(res.stderr.decode('utf-8')) assert res.returncode == 0 def test_cmdline_jsonld(): if not hasattr(subprocess, 'run'): print("Subprocess.run() not available, skip this test") assert True return if platform.system() == "Windows": print("Commandline tests cannot run on Windows.") assert True return if os.environ.get("PYBUILD_NAME", None) is not None: print("We don't have access to scripts dir during pybuild process.") assert True return DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run web requests in debhelper tests.") assert True return graph_file = path.join(cmdline_files_dir, 'd1.jsonld') shacl_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/s1.ttl" ont_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/o1.ttl" cmd = pyshacl_command args = [graph_file, '-df', 'json-ld', '-s', shacl_file, '-i', 'rdfs', '-e', ont_file] res = subprocess.run(cmd + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=ENV_VARS) print("result = {}".format(res.returncode)) print(res.stdout.decode('utf-8')) print(res.stderr.decode('utf-8')) assert res.returncode == 0 if __name__ == "__main__": test_cmdline() test_cmdline_fail() test_cmdline_table() test_cmdline_web() test_cmdline_jsonld() pyshacl-0.30.1/test/test_cmdline_rules.py0000644000000000000000000000720700000000000015350 0ustar00# -*- coding: utf-8 -*- # import os import platform import subprocess import sys from os import getenv, path from sys import stderr from rdflib import RDF, Graph, URIRef PATH = getenv("PATH", "") PP = getenv('PYTHONPATH', "") here_dir = path.abspath(path.dirname(__file__)) ENV_VARS = {"PATH": PATH, "PYTHONPATH": ':'.join((here_dir, PP))} PH = getenv('PYTHONHOME', "") if PH: ENV_VARS['PYTHONHOME'] = PH VE = getenv('VIRTUAL_ENV', "") if VE: ENV_VARS['VIRTUAL_ENV'] = VE virtual_bin = path.join(VE, "bin") ENV_VARS['PATH'] = ':'.join((virtual_bin, PATH)) abs_resources_dir = path.join(here_dir, 'resources') cmdline_files_dir = path.join(abs_resources_dir, 'cmdline_tests') check_resources = path.join(path.abspath(os.getcwd()), 'resources') in_test_dir = False if path.exists(check_resources) and path.isdir(check_resources): in_test_dir = True else: in_test_dir = False if in_test_dir: lib_dir = os.path.abspath(os.path.join(here_dir, os.pardir)) ENV_VARS["PYTHONPATH"] = ':'.join((lib_dir, PP)) it = ENV_VARS["PYTHONPATH"].split(":") scr_dir = "scripts-{}.{}".format(sys.version_info[0], sys.version_info[1]) if in_test_dir: scr_dir = path.join('..', scr_dir) check_scrdir = path.join(path.abspath(os.getcwd()), scr_dir) if path.exists(check_scrdir) and path.isdir(check_scrdir): has_scripts_dir = True else: has_scripts_dir = False bin_dir = "bin" if in_test_dir: bin_dir = path.join('..', bin_dir) check_bindir = path.join(path.abspath(os.getcwd()), bin_dir) if path.exists(check_bindir) and path.isdir(check_bindir): has_bin_dir = True else: has_bin_dir = False cli_rules_script = "pyshacl/cli_rules.py" if in_test_dir: cli_rules_script = path.join('..', cli_rules_script) check_cli_script = path.join(path.abspath(os.getcwd()), cli_rules_script) if path.exists(check_cli_script) and path.isfile(check_cli_script): has_cli_script = True else: has_cli_script = False if has_scripts_dir: pyshacl_rules_command = ["{}/pyshacl_rules".format(scr_dir)] elif has_bin_dir: pyshacl_rules_command = ["{}/pyshacl_rules".format(bin_dir)] elif has_cli_script: pyshacl_rules_command = ["python3", cli_rules_script] else: pyshacl_rules_command = ["pyshacl_rules"] def test_cmdline_rules(): if not hasattr(subprocess, 'run'): print("Subprocess.run() not available, skip this test") assert True return True if platform.system() == "Windows": print("Commandline tests cannot run on Windows.") assert True return True if os.environ.get("PYBUILD_NAME", None) is not None: print("We don't have access to scripts dir during pybuild process.") assert True return True graph_file = path.join(cmdline_files_dir, 'rules_d.ttl') shacl_file = path.join(cmdline_files_dir, 'rules_s.ttl') cmd = pyshacl_rules_command args = [graph_file, '-s', shacl_file, '-i', 'rdfs'] res = subprocess.run(cmd + args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=ENV_VARS) print("result = {}".format(res.returncode)) output_unicode = res.stdout.decode('utf-8') print(res.stderr.decode('utf-8')) assert res.returncode == 0 output_g = Graph().parse(data=output_unicode, format='trig') person_classes = set( output_g.objects( URIRef("http://datashapes.org/shasf/tests/expression/rules.test.data#Jenny"), predicate=RDF.type ) ) assert URIRef("http://datashapes.org/shasf/tests/expression/rules.test.ont#Administrator") in person_classes assert URIRef("http://datashapes.org/shasf/tests/expression/rules.test.ont#Person") in person_classes if __name__ == "__main__": test_cmdline_rules() pyshacl-0.30.1/test/test_dash_validate.py0000644000000000000000000003300700000000000015310 0ustar00# -*- coding: utf-8 -*- # import pytest from os import path, walk import glob import rdflib import pyshacl from pyshacl.errors import ReportableRuntimeError here_dir = path.abspath(path.dirname(__file__)) dash_files_dir = path.join(here_dir, 'resources', 'dash_tests') dash_core_files = [] dash_sparql_files = [] dash_triple_rules_files = [] dash_sparql_rules_files = [] dash_expression_files = [] dash_target_files = [] dash_fn_files = [] # There are some tests we know will fail, but we don't want to stop deployment # if we hit them. List them here: ALLOWABLE_NOT_IMPLEMENTED = [] # This one relies on owl_imports to be turned on # and also needs this file, but its missing: http://datashapes.org/shasf/tests/rules/triple/person ALLOWABLE_FAILURES = ["/rules/triple/person2schema.test.ttl"] for x in walk(path.join(dash_files_dir, 'core')): for y in glob.glob(path.join(x[0], '*.test.ttl')): if "node/datatype-002" in y: dash_core_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_core_files) def test_dash_validate_all_core(target_file, shacl_file): # Literals in the data graph should be exactly the same as literals in the shapes graph # When the validator parses the shapes graph, it does it with NORMALIZE_LITERALS disabled # So we must also disable NORMALIZE_LITERALS when parsing the data graph rdflib.NORMALIZE_LITERALS = False try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False ) except (NotImplementedError, ReportableRuntimeError) as e: print(e) val = False v_text = "" assert val print(v_text) @pytest.mark.parametrize('target_file, shacl_file', dash_core_files) def test_dash_validate_all_core_sparql_mode(target_file, shacl_file): # Literals in the data graph should be exactly the same as literals in the shapes graph # When the validator parses the shapes graph, it does it with NORMALIZE_LITERALS disabled # So we must also disable NORMALIZE_LITERALS when parsing the data graph rdflib.NORMALIZE_LITERALS = False try: if shacl_file is None: # shacl_file cannot be None in SPARQL Remote Graph Mode shacl_file = target_file val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, inference='none', check_dash_result=True, debug=True, sparql_mode=True, meta_shacl=False, ) except (NotImplementedError, ReportableRuntimeError) as e: print(e) val = False v_text = "" print(v_text) assert val for x in walk(path.join(dash_files_dir, 'sparql')): for y in glob.glob(path.join(x[0], '*.test.ttl')): dash_sparql_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_sparql_files) def test_dash_validate_all_sparql(target_file, shacl_file): # Literals in the data graph should be exactly the same as literals in the shapes graph # When the validator parses the shapes graph, it does it with NORMALIZE_LITERALS disabled # So we must also disable NORMALIZE_LITERALS when parsing the data graph rdflib.NORMALIZE_LITERALS = False try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False ) except (NotImplementedError, ReportableRuntimeError) as e: print(e) val = False v_text = "" assert val print(v_text) @pytest.mark.parametrize('target_file, shacl_file', dash_sparql_files) def test_dash_validate_all_sparql_sparql_mode(target_file, shacl_file): # Literals in the data graph should be exactly the same as literals in the shapes graph # When the validator parses the shapes graph, it does it with NORMALIZE_LITERALS disabled # So we must also disable NORMALIZE_LITERALS when parsing the data graph rdflib.NORMALIZE_LITERALS = False try: if shacl_file is None: # shacl_file cannot be None in SPARQL Remote Graph Mode shacl_file = target_file val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, inference='none', check_dash_result=True, debug=True, sparql_mode=True, meta_shacl=False, ) except (NotImplementedError, ReportableRuntimeError) as e: print(e) val = False v_text = "" assert val print(v_text) # Tests for SHACL Advanced Features: https://www.w3.org/TR/shacl-af # Skip these, because sh:target is not part of the SPARQL core spec and support is not implemented # for x in walk(path.join(dash_files_dir, 'target')): # for y in glob.glob(path.join(x[0], '*.test.ttl')): # dash_target_files.append((y, None)) # @pytest.mark.parametrize('target_file, shacl_file', dash_target_files) # def test_dash_validate_all_target(target_file, shacl_file): # try: # val, _, v_text = pyshacl.validate( # target_file, shacl_graph=shacl_file, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False) # except (NotImplementedError, ReportableRuntimeError) as e: # print(e) # val = False # v_text = "" # assert val # print(v_text) # return True # Get all sparql-rules tests. for x in walk(path.join(dash_files_dir, 'rules', 'sparql')): for y in glob.glob(path.join(x[0], '*.test.ttl')): dash_sparql_rules_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_sparql_rules_files) def test_dash_validate_all_sparql_rules(target_file, shacl_file): try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, advanced=True, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False, ) except (NotImplementedError, ReportableRuntimeError) as e: import traceback print(e) traceback.print_tb(e.__traceback__) val = False v_text = "" assert val print(v_text) # Get all triple-rules tests. for x in walk(path.join(dash_files_dir, 'rules', 'triple')): for y in glob.glob(path.join(x[0], '*.test.ttl')): dash_triple_rules_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_triple_rules_files) def test_dash_validate_all_triple_rules(target_file, shacl_file): test_name = shacl_file or target_file try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, advanced=True, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False, ) except NotImplementedError as ne: for ani in ALLOWABLE_NOT_IMPLEMENTED: if test_name.endswith(ani): v_text = "Skipping not implemented feature in test: {}".format(test_name) print(v_text) val = True break else: print(ne) val = False v_text = "" except ReportableRuntimeError as e: import traceback print(e) traceback.print_tb(e.__traceback__) val = False v_text = "" try: assert val except AssertionError as ae: for af in ALLOWABLE_FAILURES: if test_name.endswith(af): v_text = "Allowing failure in test: {}".format(test_name) print(v_text) break else: raise ae print(v_text) # Get all SHACL-AF sh:target tests. for x in walk(path.join(dash_files_dir, 'target')): for y in glob.glob(path.join(x[0], '*.test.ttl')): dash_target_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_target_files) def test_dash_validate_target(target_file, shacl_file): test_name = shacl_file or target_file try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, advanced=True, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False, ) except NotImplementedError as ne: for ani in ALLOWABLE_NOT_IMPLEMENTED: if test_name.endswith(ani): v_text = "Skipping not implemented feature in test: {}".format(test_name) print(v_text) val = True break else: print(ne) val = False v_text = "" except ReportableRuntimeError as e: import traceback print(e) traceback.print_tb(e.__traceback__) val = False v_text = "" try: assert val except AssertionError as ae: for af in ALLOWABLE_FAILURES: if test_name.endswith(af): v_text = "Allowing failure in test: {}".format(test_name) print(v_text) break else: raise ae print(v_text) @pytest.mark.parametrize('target_file, shacl_file', dash_target_files) def test_dash_validate_target_sparql_mode(target_file, shacl_file): test_name = shacl_file or target_file try: if shacl_file is None: # shacl_file cannot be None in SPARQL Remote Graph Mode shacl_file = target_file val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, advanced=True, inference='none', check_dash_result=True, debug=True, sparql_mode=True, meta_shacl=False, ) except NotImplementedError as ne: for ani in ALLOWABLE_NOT_IMPLEMENTED: if test_name.endswith(ani): v_text = "Skipping not implemented feature in test: {}".format(test_name) print(v_text) val = True break else: print(ne) val = False v_text = "" except ReportableRuntimeError as e: import traceback print(e) traceback.print_tb(e.__traceback__) val = False v_text = "" try: assert val except AssertionError as ae: for af in ALLOWABLE_FAILURES: if test_name.endswith(af): v_text = "Allowing failure in test: {}".format(test_name) print(v_text) break else: raise ae print(v_text) # Get all SHACL-AF sh:expression tests. for x in walk(path.join(dash_files_dir, 'expression')): for y in glob.glob(path.join(x[0], '*.test.ttl')): dash_expression_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_expression_files) def test_dash_validate_expression(target_file, shacl_file): test_name = shacl_file or target_file try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, advanced=True, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False, ) except NotImplementedError as ne: for ani in ALLOWABLE_NOT_IMPLEMENTED: if test_name.endswith(ani): v_text = "Skipping not implemented feature in test: {}".format(test_name) print(v_text) val = True break else: print(ne) val = False v_text = "" except ReportableRuntimeError as e: import traceback print(e) traceback.print_tb(e.__traceback__) val = False v_text = "" try: assert val except AssertionError as ae: for af in ALLOWABLE_FAILURES: if test_name.endswith(af): v_text = "Allowing failure in test: {}".format(test_name) print(v_text) break else: raise ae print(v_text) # Get all SHACLFunction tests for x in walk(path.join(dash_files_dir, 'function')): for y in glob.glob(path.join(x[0], '*.test.ttl')): dash_fn_files.append((y, None)) @pytest.mark.parametrize('target_file, shacl_file', dash_fn_files) def test_dash_validate_functions(target_file, shacl_file): test_name = shacl_file or target_file try: val, _, v_text = pyshacl.validate( target_file, shacl_graph=shacl_file, advanced=True, inference='rdfs', check_dash_result=True, debug=True, meta_shacl=False, ) except NotImplementedError as ne: for ani in ALLOWABLE_NOT_IMPLEMENTED: if test_name.endswith(ani): v_text = "Skipping not implemented feature in test: {}".format(test_name) print(v_text) val = True break else: print(ne) val = False v_text = "" except ReportableRuntimeError as e: import traceback print(e) traceback.print_tb(e.__traceback__) val = False v_text = "" try: assert val except AssertionError as ae: for af in ALLOWABLE_FAILURES: if test_name.endswith(af): v_text = "Allowing failure in test: {}".format(test_name) print(v_text) break else: raise ae print(v_text) pyshacl-0.30.1/test/test_extra.py0000644000000000000000000004221300000000000013642 0ustar00# -*- coding: utf-8 -*- # # Extra tests which are not part of the SHT or DASH test suites, # nor the discrete issues tests or the cmdline_test file. # The need for these tests are discovered by doing coverage checks and these # are added as required. import os import re from rdflib import Graph from pyshacl import validate from pyshacl.errors import ReportableRuntimeError ontology_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . exOnt:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf exOnt:Animal . exOnt:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf exOnt:Animal . exOnt:hasPet a rdf:Property ; rdfs:domain exOnt:Human ; rdfs:range exOnt:Pet . exOnt:nLegs a rdf:Property ; rdfs:domain exOnt:Animal ; rdfs:range xsd:integer . exOnt:Teacher a rdfs:Class ; rdfs:comment "A Human who is a teacher."@en ; rdfs:subClassOf exOnt:Human . exOnt:PreschoolTeacher a rdfs:Class ; rdfs:comment "A Teacher who teaches preschool."@en ; rdfs:subClassOf exOnt:Teacher . exOnt:Lizard a rdfs:Class ; rdfs:subClassOf exOnt:Pet . exOnt:Goanna a rdfs:Class ; rdfs:subClassOf exOnt:Lizard . """ shacl_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:HumanShape a sh:NodeShape ; sh:property [ sh:class exOnt:Pet ; sh:path exOnt:hasPet ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass exOnt:Human . exShape:AnimalShape a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; ] ; sh:targetClass exOnt:Animal . """ data_file_text = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet1 . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "4"^^xsd:integer . """ data_file_text_bad = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Sebastian"^^xsd:string . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "four"^^xsd:string . """ def test_validate_with_ontology(): g = Graph().parse(data=data_file_text, format='turtle') e = Graph().parse(data=ontology_file_text, format='turtle') g_len = len(g) res = validate( g, shacl_graph=shacl_file_text, shacl_graph_format='turtle', ont_graph=e, inference='both', debug=True ) conforms, graph, string = res g_len2 = len(g) assert conforms assert g_len2 == g_len def test_validate_with_ontology_inplace(): g = Graph().parse(data=data_file_text, format='turtle') e = Graph().parse(data=ontology_file_text, format='turtle') g_len = len(g) res = validate( g, shacl_graph=shacl_file_text, shacl_graph_format='turtle', ont_graph=e, inference='both', debug=True, inplace=True, ) conforms, graph, string = res g_len2 = len(g) assert conforms assert g_len2 != g_len def test_validate_with_ontology_fail1(): res = validate( data_file_text_bad, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert not conforms def test_validate_with_ontology_fail2(): res = validate( data_file_text_bad, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference=None, debug=True, ) conforms, graph, string = res assert not conforms def test_metashacl_pass(): res = validate( data_file_text, shacl_graph=shacl_file_text, meta_shacl=True, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert conforms def test_metashacl_fail(): bad_shacl_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:HumanShape a sh:NodeShape ; sh:property [ sh:class ex:Pet ; sh:path "2"^^xsd:integer ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path ex:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass ex:Human . ex:AnimalShape a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:path ex:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; ] ; sh:targetClass ex:Animal . """ did_error = False try: res = validate( data_file_text, shacl_graph=bad_shacl_text, meta_shacl=True, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert not conforms except ReportableRuntimeError as r: assert "Shapes SHACL (MetaSHACL) file." in r.message did_error = True assert did_error data_file_text_bn = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Student1 exOnt:hasTeacher [ rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet1 ] . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "4"^^xsd:integer . """ data_file_text_bad_bn = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Student1 exOnt:hasTeacher [ rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Sebastian"^^xsd:string ] . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "four"^^xsd:string . """ def test_blank_node_string_generation(): res = validate( data_file_text_bad_bn, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='rdfs', debug=True, ) conforms, graph, string = res assert not conforms rx = r"^\s*Focus Node\:\s+\[.+rdf:type\s+exOnt\:PreschoolTeacher.*\]$" matches = re.search(rx, string, flags=re.MULTILINE) assert matches def test_serialize_report_graph(): res = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', serialize_report_graph=True, shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert isinstance(graph, (str, bytes)) shacl_file_property_shapes_text = """\ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:HumanHasPetShape a sh:PropertyShape ; sh:class exOnt:Pet ; sh:path exOnt:hasPet ; sh:targetClass exOnt:Human . exShape:HumanHasLegsShape a sh:PropertyShape ; sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; sh:targetClass exOnt:Human . exShape:PetHasLegsShape a sh:PropertyShape ; sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; sh:targetClass exOnt:Animal . """ def test_property_shape_focus(): res = validate( data_file_text, shacl_graph=shacl_file_property_shapes_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='rdfs', debug=True, ) conforms, graph, string = res assert conforms def test_property_shape_focus_fail1(): res = validate( data_file_text_bad, shacl_graph=shacl_file_property_shapes_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='rdfs', debug=True, ) conforms, graph, string = res assert not conforms web_d1_ttl = """\ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:Human ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet1 . ex:Pet1 rdf:type exOnt:Lizard ; rdf:label "Sebastian" ; exOnt:nLegs "4"^^xsd:integer . """ web_d2_ttl = """\ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:Human ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Sebastian"^^xsd:string . ex:Pet1 rdf:type exOnt:Lizard ; rdf:label "Sebastian" ; exOnt:nLegs "g"^^xsd:string . """ def test_web_retrieve(): DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run web requests in debhelper tests.") assert True return True shacl_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/s1.ttl" ont_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/o1.ttl" res = validate( web_d1_ttl, shacl_graph=shacl_file, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ont_file, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert conforms def test_web_retrieve_fail(): DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run web requests in debhelper tests.") assert True return True shacl_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/s1.ttl" ont_file = "https://raw.githubusercontent.com/RDFLib/pySHACL/master/test/resources/cmdline_tests/o1.ttl" res = validate( web_d2_ttl, shacl_graph=shacl_file, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ont_file, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res assert not conforms my_partial_shapes_text = """ @prefix owl: . @prefix ex: . a owl:Ontology ; owl:imports . """ my_partial_ont_text = """ @prefix owl: . @prefix ex: . a owl:Ontology ; owl:imports . """ def test_owl_imports(): DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run owl:imports in debhelper tests.") assert True return True res = validate( web_d1_ttl, shacl_graph=my_partial_shapes_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=my_partial_ont_text, ont_graph_format="turtle", inference='both', debug=True, do_owl_imports=True, ) conforms, graph, string = res print(string) assert conforms def test_owl_imports_fail(): DEB_BUILD_ARCH = os.environ.get('DEB_BUILD_ARCH', None) DEB_HOST_ARCH = os.environ.get('DEB_HOST_ARCH', None) if DEB_BUILD_ARCH is not None or DEB_HOST_ARCH is not None: print("Cannot run owl:imports in debhelper tests.") assert True return True res = validate( web_d2_ttl, shacl_graph=my_partial_shapes_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=my_partial_ont_text, ont_graph_format=None, inference='both', debug=True, do_owl_imports=True, ) conforms, graph, string = res print(string) assert not conforms def test_sparql_message_subst(): df = '''@prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . ex:ValidResource1 rdf:type rdfs:Resource ; . ex:InvalidResource1 rdf:type rdfs:Resource ; rdfs:label "Invalid resource 1" ; . ex:InvalidResource2 rdf:type rdfs:Resource ; rdfs:label "Invalid label 1" ; rdfs:label "Invalid label 2" ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:sparql ex:TestShape-sparql ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:InvalidResource2 ; sh:targetNode ex:ValidResource1 ; . ex:TestShape-sparql sh:message "{$this} cannot have a {$path} of {$value}" ; sh:prefixes ; sh:select """ SELECT $this ?path ?value WHERE { $this ?path ?value . FILTER (?path = ) . }""" ; .''' res = validate( df, data_graph_format='turtle', inference=None, debug=True, ) conforms, graph, s = res assert "#InvalidResource1 cannot have a http://www.w3.org/2000/01/rdf-schema#label of Invalid resource 1" in s assert "#InvalidResource2 cannot have a http://www.w3.org/2000/01/rdf-schema#label of Invalid label 1" in s assert "#InvalidResource2 cannot have a http://www.w3.org/2000/01/rdf-schema#label of Invalid label 2" in s assert not conforms if __name__ == "__main__": test_validate_with_ontology() test_validate_with_ontology_fail1() test_validate_with_ontology_fail2() test_metashacl_pass() test_metashacl_fail() test_blank_node_string_generation() test_property_shape_focus() test_property_shape_focus_fail1() test_web_retrieve() test_serialize_report_graph() test_owl_imports() test_owl_imports_fail() test_sparql_message_subst() pyshacl-0.30.1/test/test_inoculate.py0000644000000000000000000001465500000000000014513 0ustar00# -*- coding: utf-8 -*- # # Extra tests which are not part of the SHT or DASH test suites, # nor the discrete issues tests or the cmdline_test file. # The need for these tests are discovered by doing coverage checks and these # are added as required. import os import re from rdflib import Graph, Dataset from pyshacl import validate from pyshacl.errors import ReportableRuntimeError ontology_graph_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . exOnt:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf exOnt:Animal . exOnt:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf exOnt:Animal . exOnt:hasPet a rdf:Property ; rdfs:domain exOnt:Human ; rdfs:range exOnt:Pet . exOnt:nLegs a rdf:Property ; rdfs:domain exOnt:Animal ; rdfs:range xsd:integer . exOnt:Teacher a rdfs:Class ; rdfs:comment "A Human who is a teacher."@en ; rdfs:subClassOf exOnt:Human . exOnt:PreschoolTeacher a rdfs:Class ; rdfs:comment "A Teacher who teaches preschool."@en ; rdfs:subClassOf exOnt:Teacher . exOnt:Lizard a rdfs:Class ; rdfs:subClassOf exOnt:Pet . exOnt:Goanna a rdfs:Class ; rdfs:subClassOf exOnt:Lizard . """ ontology_ds_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . # This is a TRIG file. { a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . exOnt:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf exOnt:Animal . exOnt:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf exOnt:Animal . exOnt:hasPet a rdf:Property ; rdfs:domain exOnt:Human ; rdfs:range exOnt:Pet . exOnt:nLegs a rdf:Property ; rdfs:domain exOnt:Animal ; rdfs:range xsd:integer . exOnt:Teacher a rdfs:Class ; rdfs:comment "A Human who is a teacher."@en ; rdfs:subClassOf exOnt:Human . exOnt:PreschoolTeacher a rdfs:Class ; rdfs:comment "A Teacher who teaches preschool."@en ; rdfs:subClassOf exOnt:Teacher . exOnt:Lizard a rdfs:Class ; rdfs:subClassOf exOnt:Pet . exOnt:Goanna a rdfs:Class ; rdfs:subClassOf exOnt:Lizard . } """ shacl_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:HumanShape a sh:NodeShape ; sh:property [ sh:class exOnt:Pet ; sh:path exOnt:hasPet ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass exOnt:Human . exShape:AnimalShape a sh:NodeShape ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 4 ; sh:minInclusive 1 ; ] ; sh:targetClass exOnt:Animal . """ data_file_text = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet1 . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "4"^^xsd:integer . """ data_file_text_bad = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Sebastian"^^xsd:string . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "four"^^xsd:string . """ def test_validate_ds_with_graph_ontology(): ds = Dataset() ds.parse(data=data_file_text_bad, format='turtle') extra_g = Graph() extra_g.parse(data=ontology_graph_text, format='turtle') ds_len = len(ds) res = validate( ds, shacl_graph=shacl_file_text, shacl_graph_format='turtle', ont_graph=extra_g, inference='rdfs', debug=True ) conforms, graph, string = res assert not conforms # Assert that the dataset is unchanged ds_len2 = len(ds) assert ds_len2 == ds_len def test_validate_ds_with_ds_ontology(): ds = Dataset() ds.parse(data=data_file_text_bad, format='turtle') extra_ds = Dataset() extra_ds.parse(data=ontology_ds_text, format='trig') ds_len = len(ds) res = validate( ds, shacl_graph=shacl_file_text, shacl_graph_format='turtle', ont_graph=extra_ds, inference='rdfs', debug=True ) conforms, graph, string = res assert not conforms # Assert that the dataset is unchanged ds_len2 = len(ds) assert ds_len2 == ds_len def test_validate_ds_with_ds_ontology_inplace(): ds = Dataset() ds.parse(data=data_file_text_bad, format='turtle') extra_ds = Dataset() extra_ds.parse(data=ontology_ds_text, format='trig') ds_len = len(ds) res = validate( ds, shacl_graph=shacl_file_text, shacl_graph_format='turtle', ont_graph=extra_ds, inference='rdfs', debug=True, inplace=True ) conforms, graph, string = res assert not conforms # Assert that the dataset is changed ds_len2 = len(ds) assert ds_len2 != ds_len a = ds.serialize(format='trig') print(a) pyshacl-0.30.1/test/test_integers.py0000644000000000000000000002064500000000000014344 0ustar00# -*- coding: utf-8 -*- # # This software was developed at the National Institute of Standards # and Technology by employees of the Federal Government in the course # of their official duties. Pursuant to title 17 Section 105 of the # United States Code this software is not subject to copyright # protection and is in the public domain. NIST assumes no # responsibility whatsoever for its use by other parties, and makes # no guarantees, expressed or implied, about its quality, # reliability, or any other characteristic. # # We would appreciate acknowledgement if the software is used. """ Test that values declared as the various XSD integer types are confirmed to be in their value spaces. _PASS and _XFAIL name portions on tests in this script denote whether the input data graph should have a True or False conformance result. """ from typing import Set, Tuple from rdflib import Graph, Literal, Namespace, RDF, SH, URIRef, XSD from pyshacl import validate EX_ONT = Namespace("http://example.com/exOnt#") ontology_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:NumberHolder a owl:Class . exOnt:propInteger a owl:DatatypeProperty ; rdfs:domain exOnt:NumberHolder ; rdfs:range xsd:integer . exOnt:propNegativeInteger a owl:DatatypeProperty ; rdfs:domain exOnt:NumberHolder ; rdfs:range xsd:negativeInteger . exOnt:propNonNegativeInteger a owl:DatatypeProperty ; rdfs:domain exOnt:NumberHolder ; rdfs:range xsd:nonNegativeInteger . exOnt:propNonPositiveInteger a owl:DatatypeProperty ; rdfs:domain exOnt:NumberHolder ; rdfs:range xsd:nonPositiveInteger . exOnt:propPositiveInteger a owl:DatatypeProperty ; rdfs:domain exOnt:NumberHolder ; rdfs:range xsd:positiveInteger . """ shacl_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:NumberHolderShape sh:property [ sh:datatype xsd:integer ; sh:path exOnt:propInteger ; ], [ sh:datatype xsd:negativeInteger ; sh:path exOnt:propNegativeInteger ; ], [ sh:datatype xsd:nonNegativeInteger ; sh:path exOnt:propNonNegativeInteger ], [ sh:datatype xsd:nonPositiveInteger ; sh:path exOnt:propNonPositiveInteger ; ], [ sh:datatype xsd:positiveInteger ; sh:path exOnt:propPositiveInteger ; ] ; sh:targetClass exOnt:NumberHolder ; . """ data_file_text_PASS = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:holder0 a exOnt:NumberHolder ; exOnt:propInteger -1 ; exOnt:propInteger 0 ; exOnt:propInteger 1 ; exOnt:propNegativeInteger "-1"^^xsd:negativeInteger ; exOnt:propNonNegativeInteger "0"^^xsd:nonNegativeInteger ; exOnt:propNonNegativeInteger "1"^^xsd:nonNegativeInteger ; exOnt:propNonPositiveInteger "-1"^^xsd:nonPositiveInteger ; exOnt:propNonPositiveInteger "0"^^xsd:nonPositiveInteger ; exOnt:propPositiveInteger "1"^^xsd:positiveInteger ; . """ def test_validate_with_ontology() -> None: g = Graph().parse(data=data_file_text_PASS, format='turtle') e = Graph().parse(data=ontology_file_text, format='turtle') g_len = len(g) res = validate( g, shacl_graph=shacl_file_text, shacl_graph_format='turtle', ont_graph=e, inference='both', debug=True ) conforms, graph, string = res g_len2 = len(g) assert conforms assert g_len2 == g_len data_file_text_XFAIL_sh_datatypes = """ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:holder1 a exOnt:NumberHolder ; rdfs:comment "Each property except propInteger has an error. All properties except propInteger use the wrong datatype, as Turtle infers xsd:integer on unannotated integer lexical values when none is specified."@en ; rdfs:seeAlso ; exOnt:propInteger -1 ; exOnt:propInteger 0 ; exOnt:propInteger 1 ; exOnt:propNegativeInteger -1 ; exOnt:propNonNegativeInteger 0 ; exOnt:propNonNegativeInteger 1 ; exOnt:propNonPositiveInteger -1 ; exOnt:propNonPositiveInteger 0 ; exOnt:propPositiveInteger 1 ; . """ def test_validate_with_ontology_XFAIL_sh_datatypes() -> None: res = validate( data_file_text_XFAIL_sh_datatypes, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res validation_result_tally = 0 for triple in graph.triples((None, RDF.type, SH.ValidationResult)): validation_result_tally += 1 assert not conforms assert validation_result_tally == 6 data_file_text_XFAIL_spaces = """ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:holder2 a exOnt:NumberHolder ; rdfs:comment "Each property has an error with the object-position node's datatype. propInteger's has a lexical-space error. Each other has a value-space error when considering the datatype declaration in the Literal."@en ; exOnt:propInteger "zero"^^xsd:integer ; exOnt:propNegativeInteger "0"^^xsd:negativeInteger ; exOnt:propNegativeInteger "1"^^xsd:negativeInteger ; exOnt:propNonNegativeInteger "-1"^^xsd:nonNegativeInteger ; exOnt:propNonPositiveInteger "1"^^xsd:nonPositiveInteger ; exOnt:propPositiveInteger "-1"^^xsd:positiveInteger ; exOnt:propPositiveInteger "0"^^xsd:positiveInteger ; . """ def test_validate_with_ontology_XFAIL_spaces() -> None: res = validate( data_file_text_XFAIL_spaces, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', debug=True, ) conforms, graph, string = res expected_path_values: Set[Tuple[URIRef, Literal]] = { (EX_ONT.propInteger, Literal("zero", datatype=XSD.integer)), (EX_ONT.propNegativeInteger, Literal("0", datatype=XSD.negativeInteger)), (EX_ONT.propNegativeInteger, Literal("1", datatype=XSD.negativeInteger)), (EX_ONT.propNonNegativeInteger, Literal("-1", datatype=XSD.nonNegativeInteger)), (EX_ONT.propNonPositiveInteger, Literal("1", datatype=XSD.nonPositiveInteger)), (EX_ONT.propPositiveInteger, Literal("-1", datatype=XSD.positiveInteger)), (EX_ONT.propPositiveInteger, Literal("0", datatype=XSD.positiveInteger)), } computed_path_values: Set[Tuple[URIRef, Literal]] = set() # .triples() is used somewhat redundantly instead of using SPARQL, to avoid the possibility of any extra interpretation steps with SPARQL conversion. for triple0 in graph.triples((None, RDF.type, SH.ValidationResult)): n_validation_result = triple0[0] for triple1 in graph.triples((n_validation_result, SH.resultPath, None)): n_path = triple1[2] for triple2 in graph.triples((n_validation_result, SH.value, None)): l_value: Literal = triple2[2] assert isinstance(l_value, Literal) computed_path_values.add((n_path, l_value)) assert not conforms assert expected_path_values == computed_path_values pyshacl-0.30.1/test/test_js/__init__.py0000644000000000000000000000000000000000000014656 0ustar00pyshacl-0.30.1/test/test_js/conftest.py0000644000000000000000000000026200000000000014756 0ustar00import pytest from pyshacl import extras def pytest_runtest_setup(item): extras.dev_mode = True def pytest_runtest_teardown(item, call=None): extras.dev_mode = False pyshacl-0.30.1/test/test_js/test_js_constraint.py0000644000000000000000000000247500000000000017060 0ustar00from rdflib import Graph from pyshacl import validate, extras shapes_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:LanguageExampleShape a sh:NodeShape ; sh:targetClass ex:Country ; sh:js [ a sh:JSConstraint ; sh:message "Values are literals with German language tag." ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/germanLabel.js" ] ; sh:jsFunctionName "validateGermanLabel" ; ] . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix ex: . ex:ValidCountry a ex:Country ; ex:germanLabel "Spanien"@de . ex:InvalidCountry a ex:Country ; ex:germanLabel "Spain"@en . ''' extras.dev_mode = True def test_js_constraint(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_constraint() pyshacl-0.30.1/test/test_js/test_js_constraint_component.py0000644000000000000000000000351700000000000021140 0ustar00from rdflib import Graph from pyshacl import validate shapes_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:MaxLengthConstraintComponent a sh:ConstraintComponent ; sh:parameter [ sh:path ex:maxLength ; sh:datatype xsd:integer ; ] ; sh:validator ex:hasMaxLength . ex:hasMaxLength a sh:JSValidator ; sh:message "Value has more than {$maxLength} characters" ; rdfs:comment """ Note that $value and $maxLength are RDF nodes expressed in JavaScript Objects. Their string value is accessed via the .lex and .uri attributes. The function returns true if no violation has been found. """ ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/hasMaxLength.js"^^xsd:anyURI ] ; sh:jsFunctionName "hasMaxLength" . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property [ sh:path ex:postcode ; ex:maxLength 4 ; ] ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix ex: . ex:InvalidResource1 a rdf:Resource ; ex:postcode "12345" . ex:ValidResource1 a rdf:Resource ; ex:postcode "1234" . ''' def test_js_constraint_component(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_constraint_component() pyshacl-0.30.1/test/test_js/test_js_constraint_path_component.py0000644000000000000000000000326700000000000022156 0ustar00from rdflib import Graph from pyshacl import validate shapes_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:MaxCountConstraintComponent a sh:ConstraintComponent ; sh:parameter [ sh:path ex:maxCount ; sh:datatype xsd:integer ; ] ; sh:propertyValidator ex:hasMaxCount . ex:hasMaxCount a sh:JSValidator ; sh:message "Path has more than {$maxCount} values." ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/hasMaxCount.js"^^xsd:anyURI ] ; sh:jsFunctionName "hasMaxCount" . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property [ sh:path ex:parent ; ex:maxCount 2 ; ] ; sh:targetNode ex:InvalidResource1 ; sh:targetNode ex:ValidResource1 ; . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix ex: . ex:InvalidResource1 a rdf:Resource ; ex:parent ex:Parent1 ; ex:parent ex:Parent2 ; ex:parent ex:Parent3 . ex:ValidResource1 a rdf:Resource ; ex:parent ex:Parent1 ; ex:parent ex:Parent2 . ''' def test_js_constraint_path_component(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_constraint_path_component() pyshacl-0.30.1/test/test_js/test_js_function.py0000644000000000000000000000512200000000000016511 0ustar00from rdflib import Graph from pyshacl import validate shapes_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:Rectangle rdf:type rdfs:Class ; rdf:type sh:NodeShape ; rdfs:label "Rectangle" ; rdfs:subClassOf rdfs:Resource ; sh:property [ sh:path ex:height ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "height" ; ] ; sh:property [ sh:path ex:width ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "width" ; ] ; sh:property [ sh:path ex:area ; sh:datatype xsd:integer ; sh:maxCount 1 ; sh:minCount 1 ; sh:name "area" ; ] ; . ex:CheckArea rdf:type sh:PropertyShape ; sh:path ex:area ; sh:sparql ex:CheckArea-sparql ; sh:targetClass ex:Rectangle ; . ex:CheckArea-sparql rdf:type sh:SPARQLConstraintObject ; sh:message "Height * Width = Area." ; sh:prefixes ; sh:select """ SELECT $this ?value WHERE { $this ex:width ?width . $this ex:height ?height . $this $PATH ?value . FILTER (ex:multiply(?width, ?height) != ?value) } """ ; . ex:multiply a sh:JSFunction ; rdfs:comment "Multiplies its two arguments $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first operand" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second operand" ; ] ; sh:returnType xsd:integer ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/multiply.js" ] ; sh:jsFunctionName "multiply" ; . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix ex: . @prefix exdata: . exdata:NonSquareRectangle rdf:type ex:Rectangle ; ex:height 3 ; ex:width 4 ; ex:area 12 ; . exdata:SquareRectangle rdf:type ex:Rectangle ; ex:height 6 ; ex:width 6 ; ex:area 12 ; . ''' def test_js_function(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_function() pyshacl-0.30.1/test/test_js/test_js_rules.py0000644000000000000000000000270700000000000016024 0ustar00from rdflib import Graph from pyshacl import validate shapes_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:RectangleShape a sh:NodeShape ; sh:targetClass ex:Rectangle ; sh:rule [ a sh:JSRule ; # This triple is optional sh:jsFunctionName "computeArea" ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/rectangle.js"^^xsd:anyURI ] ; ] ; sh:property [ sh:path ex:area ; sh:datatype xsd:double ; sh:minCount 1 ; sh:maxCount 1 ; ] . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix ex: . @prefix exdata: . exdata:ExampleRectangle a ex:Rectangle ; ex:width 7 ; ex:height 8 . ''' def test_js_rules(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_rules() pyshacl-0.30.1/test/test_js/test_js_target.py0000644000000000000000000000460400000000000016156 0ustar00from rdflib import Graph from pyshacl import validate shapes_graph = '''\ @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:SPARQLTarget 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:InvalidInstance1 ; sh:resultPath rdfs:label ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:MaxCountConstraintComponent ; sh:sourceShape ex:TestShape-label ; ] ; ] ; . ex:TestShape rdf:type sh:NodeShape ; rdfs:label "Test shape" ; sh:property ex:TestShape-label ; sh:target [ rdf:type sh:JSTarget ; sh:jsFunctionName "findThings" ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/findThings.js"^^xsd:anyURI ] ; ] ; . ex:TestShape-label sh:path rdfs:label ; rdfs:comment "Must not have any rdfs:label" ; rdfs:label "label" ; sh:datatype xsd:string ; sh:maxCount 0 ; . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix owl: . @prefix ex: . @prefix exdata: . exdata:InvalidInstance1 rdf:type owl:Thing ; rdfs:label "Invalid instance1" ; . exdata:ValidInstance1 rdf:type owl:Thing ; . ''' def test_js_target(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_target() pyshacl-0.30.1/test/test_js/test_js_target_type.py0000644000000000000000000000574500000000000017226 0ustar00from rdflib import Graph from pyshacl import validate shapes_graph = '''\ @prefix dash: . @prefix ex: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of sh:JSTargetType 001" ; owl:imports ; . ex:GraphValidationTestCase rdf:type dash:GraphValidationTestCase ; dash:expectedResult [ rdf:type sh:ValidationReport ; sh:conforms "false"^^xsd:boolean ; sh:result [ rdf:type sh:ValidationResult ; sh:focusNode ex:Barry ; sh:resultSeverity sh:Violation ; sh:sourceConstraintComponent sh:ClassConstraintComponent ; sh:sourceShape ex:USCitizenShape ; sh:value ex:Barry ; ] ; ] ; . ex:Person rdf:type owl:Class ; rdfs:label "A person" ; . ex:Country rdf:type owl:Class ; rdfs:label "A country" ; . ex:USA rdf:type ex:Country ; . ex:Germany rdf:type ex:Country ; . ex:bornIn rdf:type owl:ObjectProperty ; . ex:GermanCitizen rdf:type owl:Class ; . ex:USCitizen rdf:type owl:Class ; . ex:PeopleBornInCountryTarget a sh:JSTargetType ; rdfs:subClassOf sh:Target ; sh:labelTemplate "All persons born in {$country}" ; sh:parameter [ sh:path ex:country ; sh:description "The country that the focus nodes are 'born' in." ; sh:class ex:Country ; sh:nodeKind sh:IRI ; ] ; sh:jsFunctionName "findBornIn" ; sh:jsLibrary [ sh:jsLibraryURL "file:./test/resources/js/findBornIn.js"^^xsd:anyURI ] ; . ex:GermanCitizenShape a sh:NodeShape ; sh:target [ a ex:PeopleBornInCountryTarget ; ex:country ex:Germany ; ] ; sh:class ex:GermanCitizen ; . ex:USCitizenShape a sh:NodeShape ; sh:target [ a ex:PeopleBornInCountryTarget ; ex:country ex:USA ; ] ; sh:class ex:USCitizen ; . ''' data_graph = '''\ @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix owl: . @prefix ex: . @prefix exdata: . exdata:Ludwig rdf:type ex:Person ; rdf:type ex:GermanCitizen ; ex:bornIn ex:Germany . exdata:Barry rdf:type ex:Person ; ex:bornIn ex:USA . ''' def test_js_target_type(): s1 = Graph().parse(data=shapes_graph, format="turtle") g1 = Graph().parse(data=data_graph, format="turtle") conforms, result_graph, result_text = validate(g1, shacl_graph=s1, advanced=True, debug=True, js=True) assert not conforms if __name__ == "__main__": test_js_target_type() pyshacl-0.30.1/test/test_manual_targeting.py0000644000000000000000000001451100000000000016040 0ustar00# -*- coding: utf-8 -*- # # Extra tests which are not part of the SHT or DASH test suites, # nor the discrete issues tests or the cmdline_test file. # The need for these tests are discovered by doing coverage checks and these # are added as required. from pyshacl import validate ontology_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . @prefix exOnt: . a owl:Ontology ; rdfs:label "An example extra-ontology file."@en . exOnt:Animal a rdfs:Class ; rdfs:comment "The parent class for Humans and Pets"@en ; rdfs:subClassOf owl:Thing . exOnt:Human a rdfs:Class ; rdfs:comment "A Human being"@en ; rdfs:subClassOf exOnt:Animal . exOnt:Pet a rdfs:Class ; rdfs:comment "An animal owned by a human"@en ; rdfs:subClassOf exOnt:Animal . exOnt:hasPet a rdf:Property ; rdfs:domain exOnt:Human ; rdfs:range exOnt:Pet . exOnt:nLegs a rdf:Property ; rdfs:domain exOnt:Animal ; rdfs:range xsd:integer . exOnt:Teacher a rdfs:Class ; rdfs:comment "A Human who is a teacher."@en ; rdfs:subClassOf exOnt:Human . exOnt:PreschoolTeacher a rdfs:Class ; rdfs:comment "A Teacher who teaches preschool."@en ; rdfs:subClassOf exOnt:Teacher . exOnt:Lizard a rdfs:Class ; rdfs:subClassOf exOnt:Pet . exOnt:Turtle a rdfs:Class ; rdfs:subClassOf exOnt:Pet . exOnt:Goanna a rdfs:Class ; rdfs:subClassOf exOnt:Lizard . """ shacl_file_text = """ @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . @prefix exShape: . @prefix exOnt: . a owl:Ontology ; rdfs:label "Example Shapes File"@en . exShape:HumanShape a sh:NodeShape ; sh:property [ sh:class exOnt:Pet ; sh:path exOnt:hasPet ; ] ; sh:property [ sh:datatype xsd:integer ; sh:path exOnt:nLegs ; sh:maxInclusive 2 ; sh:minInclusive 2 ; ] ; sh:targetClass exOnt:Human . exShape:AnimalShape a sh:NodeShape ; sh:property [ sh:path exOnt:nLegs ; sh:or ( [ sh:datatype xsd:integer ; sh:minInclusive 0 ; sh:maxInclusive 0 ] [ sh:datatype xsd:integer ; sh:minInclusive 1 ; sh:maxInclusive 8 ] ) ; ] ; sh:targetClass exOnt:Animal . """ data_file_text = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet1 . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "4"^^xsd:integer . ex:Human2 rdf:type exOnt:PreschoolTeacher ; rdf:label "JoAnne" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet ex:Pet2 . ex:Pet2 rdf:type exOnt:Turtle ; rdf:label "Terrance" ; exOnt:nLegs "4"^^xsd:integer . """ data_file_text_bad = """ @prefix rdf: . @prefix xsd: . @prefix exOnt: . @prefix ex: . ex:Human1 rdf:type exOnt:PreschoolTeacher ; rdf:label "Amy" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Sebastian"^^xsd:string . ex:Pet1 rdf:type exOnt:Goanna ; rdf:label "Sebastian" ; exOnt:nLegs "four"^^xsd:string . ex:Human2 rdf:type exOnt:PreschoolTeacher ; rdf:label "JoAnne" ; exOnt:nLegs "2"^^xsd:integer ; exOnt:hasPet "Terrance"^^xsd:string . ex:Pet2 rdf:type exOnt:Turtle ; rdf:label "Terrance" ; exOnt:nLegs "four"^^xsd:string . """ def test_validate_pass_manual_targeting_focus(): res = validate( data_file_text, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', focus_nodes=["ex:Human1"], debug=True, ) conforms, graph, string = res assert "Results (1)" not in string assert conforms def test_validate_fail_manual_targeting_focus(): res = validate( data_file_text_bad, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', focus_nodes=["ex:Human1"], debug=True, ) conforms, graph, string = res assert "Results (1)" in string assert not conforms def test_validate_fail_manual_targeting_shape(): res = validate( data_file_text_bad, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', use_shapes=["exShape:HumanShape"], debug=True, ) conforms, graph, string = res assert "Results (2)" in string assert not conforms def test_validate_fail_manual_targeting_shape_or(): res = validate( data_file_text_bad, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='rdfs', use_shapes=["exShape:AnimalShape"], debug=True, ) conforms, graph, string = res assert "Results (2)" in string assert not conforms def test_validate_fail_manual_targeting_focus_with_shape(): res = validate( data_file_text_bad, shacl_graph=shacl_file_text, data_graph_format='turtle', shacl_graph_format='turtle', ont_graph=ontology_file_text, ont_graph_format="turtle", inference='both', focus_nodes=["ex:Human1"], use_shapes=["exShape:HumanShape"], debug=True, ) conforms, graph, string = res assert "Results (1)" in string assert not conforms pyshacl-0.30.1/test/test_schema_org.py0000644000000000000000000000307200000000000014626 0ustar00from pyshacl import validate import rdflib SCHEMA_PATH = "http://datashapes.org/schema.ttl" data = """\ @prefix ex: . @prefix sch: . @prefix xsd: . ex:asdgjkj a sch:CommunicateAction ; sch:about [ a sch:GameServer ; sch:playersOnline "42"^^xsd:integer ] . """ shacl = """\ # baseURI: http://example.org/myschema # imports: http://datashapes.org/schema @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix schema: . @prefix sh: . @prefix xsd: . @prefix : . a owl:Ontology ; rdfs:comment "Dummy Schema importing from Schema.org shape"@en ; rdfs:label "Schema.org importer" ; owl:imports . """ def schema_org(): dataGraph = rdflib.Graph().parse(data=data, format='ttl') # print(dataGraph.serialize(format='ttl').decode('utf8')) shaclDS = rdflib.Dataset() shaclGraph = shaclDS.default_context shaclDS.graph(shaclGraph) shaclGraph.parse(data=shacl, format='ttl') report = validate( dataGraph, shacl_graph=shaclDS, abort_on_first=False, inference='both', meta_shacl=False, debug=False, advanced=True, do_owl_imports=True, ) print(report[2]) if __name__ == "__main__": schema_org() pyshacl-0.30.1/test/test_sh_details.py0000644000000000000000000000301500000000000014633 0ustar00import pyshacl from rdflib.namespace import SH test_node_ttl = """\ @prefix rdfs: . @prefix rdf: . @prefix sh: . @prefix xsd: . @prefix ex: . ex:PersonShape a sh:NodeShape ; sh:targetClass ex:Person ; sh:node ex:Shape1 ; . ex:Shape1 a sh:NodeShape ; sh:node ex:Shape2 ; sh:property [ a sh:PropertyShape ; sh:path ex:familyName ; sh:datatype xsd:string ; sh:minCount 1 ; ] ; . ex:Shape2 a sh:NodeShape ; sh:property [ a sh:PropertyShape ; sh:path ex:givenName ; sh:datatype xsd:string ; sh:minCount 1 ; ] ; . ex:Person1 a ex:Person ; . """ def test_node_details(): conforms, graph, text = pyshacl.validate(test_node_ttl, data_graph_format="turtle") assert not conforms top_results = set(graph.objects(None, SH.result)) assert len(top_results) == 1 top_result = top_results.pop() details = set(graph.objects(top_result, SH.detail)) assert len(details) == 2 for r in details: details = set(graph.objects(r, SH.detail)) if len(details) == 0: source_1 = r elif len(details) == 1: mid_result = r assert source_1 assert mid_result assert (source_1, SH.sourceConstraintComponent, SH.MinCountConstraintComponent) in graph assert (mid_result, SH.detail / SH.sourceConstraintComponent, SH.MinCountConstraintComponent) in graph pyshacl-0.30.1/test/test_shacl_rules_runner.py0000644000000000000000000001011600000000000016411 0ustar00"""\ A Test for the SHACL Rules Runner mode. """ from rdflib import RDF, Graph, URIRef from pyshacl import shacl_rules shacl_file = '''\ # prefix: ex @prefix ex: . @prefix exOnt: . @prefix exData: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix sh: . @prefix xsd: . rdf:type owl:Ontology ; rdfs:label "Test of SHACL Rules expander mode" ; . ex:concat a sh:SPARQLFunction ; rdfs:comment "Concatenates strings $op1 and $op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The first string" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:string ; sh:description "The second string" ; ] ; sh:returnType xsd:string ; sh:select """ SELECT ?result WHERE { BIND(CONCAT(STR(?op1),STR(?op2)) AS ?result) . } """ . ex:strlen a sh:SPARQLFunction ; rdfs:comment "Returns length of the given string." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:string ; sh:description "The string" ; ] ; sh:returnType xsd:integer ; sh:select """ SELECT ?result WHERE { BIND(STRLEN(?op1) AS ?result) . } """ . ex:lessThan a sh:SPARQLFunction ; rdfs:comment "Returns True if op1 < op2." ; sh:parameter [ sh:path ex:op1 ; sh:datatype xsd:integer ; sh:description "The first int" ; ] ; sh:parameter [ sh:path ex:op2 ; sh:datatype xsd:integer ; sh:description "The second int" ; ] ; sh:returnType xsd:boolean ; sh:select """ SELECT ?result WHERE { BIND(IF(?op1 < ?op2, true, false) AS ?result) . } """ . ex:PersonExpressionShape a sh:NodeShape ; sh:targetClass exOnt:Person ; sh:expression [ sh:message "Person's firstName and lastName together should be less than 35 chars long." ; ex:lessThan ( [ ex:strlen ( [ ex:concat ( [ sh:path exOnt:firstName] [ sh:path exOnt:lastName ] ) ] ) ] 35 ); ] . ex:PersonRuleShape a sh:NodeShape ; sh:targetClass exOnt:Administrator ; sh:message "An administrator is a person too." ; sh:rule [ a sh:TripleRule ; sh:subject sh:this ; sh:predicate rdf:type ; sh:object exOnt:Person ; ] . ''' data_graph = ''' # prefix: ex @prefix ex: . @prefix exOnt: . @prefix owl: . @prefix rdf: . @prefix rdfs: . @prefix xsd: . ex:Kate rdf:type exOnt:Person ; exOnt:firstName "Kate" ; exOnt:lastName "Jones" ; . ex:Jenny rdf:type exOnt:Administrator ; exOnt:firstName "Jennifer" ; exOnt:lastName "Wolfeschlegelsteinhausenbergerdorff" ; . ''' def test_rules_runner(): d = Graph().parse(data=data_graph, format="turtle") s = Graph().parse(data=shacl_file, format="turtle") output_g = shacl_rules(d, shacl_graph=s, advanced=True, debug=False) person_classes = set( output_g.objects( URIRef("http://datashapes.org/shasf/tests/expression/rules.test.data#Jenny"), predicate=RDF.type ) ) assert URIRef("http://datashapes.org/shasf/tests/expression/rules.test.ont#Administrator") in person_classes assert URIRef("http://datashapes.org/shasf/tests/expression/rules.test.ont#Person") in person_classes print(output_g.serialize(format="turtle")) if __name__ == "__main__": exit(test_rules_runner()) pyshacl-0.30.1/test/test_sht_validate.py0000644000000000000000000000650000000000000015165 0ustar00# -*- coding: utf-8 -*- # import logging from collections import OrderedDict, defaultdict from os import path from test.helpers import flatten_manifests, load_manifest import pytest from rdflib.namespace import RDF, RDFS, Namespace import pyshacl from pyshacl.errors import ReportableRuntimeError from pyshacl.validator_conformance import check_sht_result here_dir = path.abspath(path.dirname(__file__)) sht_files_dir = path.join(here_dir, 'resources', 'sht_tests') sht_main_manifest = path.join(sht_files_dir, 'manifest.ttl') MF = Namespace('http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#') SHT = Namespace('http://www.w3.org/ns/shacl-test#') main_manifest = load_manifest(sht_main_manifest) manifests_with_entries = flatten_manifests(main_manifest,True) tests_found_in_manifests = defaultdict(lambda: []) for m in manifests_with_entries: tests = m.collect_tests() tests_found_in_manifests[m.base].extend(tests) tests_found_in_manifests = OrderedDict(sorted(tests_found_in_manifests.items())) test_index_map = [[base, i] for base, tests in tests_found_in_manifests.items() for i, t in enumerate(tests)] # There are some tests we know will fail, but we don't want to stop deployment # if we hit them. List them here: ALLOWABLE_FAILURES = ["/sparql/pre-binding/shapesGraph-001"] @pytest.mark.parametrize("base, index", test_index_map) def test_sht_all(base, index, caplog) -> None: caplog.set_level(logging.DEBUG) tests = tests_found_in_manifests[base] test = tests[index] run_sht_test(test, {"inference": 'rdfs', "debug": True, "meta_shacl": False}) @pytest.mark.parametrize("base, index", test_index_map) def test_sht_all_sparql_mode(base, index, caplog) -> None: caplog.set_level(logging.DEBUG) tests = tests_found_in_manifests[base] test = tests[index] run_sht_test(test, {"inference": 'none', "debug": True, "sparql_mode": True, "meta_shacl": False}) def run_sht_test(sht_test, validate_args: dict) -> None: logger = logging.getLogger() # pytest uses the root logger with a capturing handler if sht_test.node.startswith("file:///"): test_id = str(sht_test.node).replace("file:///", "") elif sht_test.node.startswith("file://"): test_id = str(sht_test.node).replace("file://", "") elif sht_test.node.startswith("file:"): test_id = str(sht_test.node).replace("file:", "") label = sht_test.label data_file = sht_test.data_graph shacl_file = sht_test.shapes_graph sparql_mode = validate_args.get('sparql_mode', False) if sparql_mode and shacl_file is None: # shacl_file cannot be None in SPARQL Remote Graph Mode shacl_file = data_file if label: logger.info("testing: ".format(label)) try: conforms, r_graph, r_text = pyshacl.validate(data_file, shacl_graph=shacl_file, **validate_args) except (NotImplementedError, ReportableRuntimeError) as e: logger.exception(e) r_text = "" passes = False else: passes = check_sht_result(r_graph, sht_test.sht_graph, sht_test.sht_result, log=logger) logger.info(r_text) try: assert passes except AssertionError as ae: for af in ALLOWABLE_FAILURES: if test_id.endswith(af): logger.warning("Allowing failure in test: {}".format(test_id)) break else: raise ae pyshacl-0.30.1/PKG-INFO0000644000000000000000000010457400000000000011235 0ustar00Metadata-Version: 2.3 Name: pyshacl Version: 0.30.1 Summary: Python SHACL Validator License: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Keywords: Linked Data,Semantic Web,RDF,Graph,Python,SHACL,Shapes,Schema,Validate,Validator Author: Ashley Sommer Author-email: Ashley.Sommer@csiro.au Requires-Python: >=3.9,<4 Classifier: License :: OSI Approved :: Apache Software License Classifier: Development Status :: 5 - Production/Stable Classifier: Topic :: Utilities Classifier: Intended Audience :: Developers Classifier: Natural Language :: English Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3 :: Only Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Operating System :: OS Independent Provides-Extra: dev-coverage Provides-Extra: dev-lint Provides-Extra: dev-type-checking Provides-Extra: http Provides-Extra: js Requires-Dist: coverage (>6.1,!=6.1.1,<7) ; extra == "dev-coverage" Requires-Dist: importlib-metadata (>6) ; python_version < "3.12" Requires-Dist: mypy (>=1.13.0) ; extra == "dev-type-checking" Requires-Dist: owlrl (>=7.1.2,<8) Requires-Dist: packaging (>=21.3) Requires-Dist: platformdirs ; extra == "dev-coverage" Requires-Dist: platformdirs ; extra == "dev-lint" Requires-Dist: platformdirs ; extra == "dev-type-checking" Requires-Dist: prettytable (>=3.5.0) ; python_version < "3.12" Requires-Dist: prettytable (>=3.7.0) ; python_version >= "3.12" Requires-Dist: pyduktape2 (>=0.4.6,<1) ; extra == "js" Requires-Dist: pytest-cov (>=2.8.1,<3) ; extra == "dev-coverage" Requires-Dist: rdflib[html] (>=7.1.1,!=7.1.2,<8.0) Requires-Dist: ruff (>=0.9.3,<0.10) ; extra == "dev-lint" Requires-Dist: sanic (>=22.12,<23) ; extra == "http" Requires-Dist: sanic-cors (==2.2.0) ; extra == "http" Requires-Dist: sanic-ext (>=23.3,<23.6) ; extra == "http" Requires-Dist: types-setuptools ; extra == "dev-type-checking" Project-URL: Homepage, https://github.com/RDFLib/pySHACL Project-URL: changelog, https://github.com/RDFLib/pySHACL/blob/master/CHANGELOG.md Project-URL: download, https://github.com/RDFLib/pySHACL/releases Project-URL: issues, https://github.com/RDFLib/pySHACL/issues Project-URL: source, https://github.com/RDFLib/pySHACL Description-Content-Type: text/markdown ![](pySHACL-250.png) # pySHACL A Python validator for SHACL. [![Build Status](https://drone.rdflib.ashs.dev/api/badges/RDFLib/pySHACL/status.svg)](https://drone.rdflib.ashs.dev/RDFLib/pySHACL) [![DOI](https://zenodo.org/badge/147505799.svg)](https://zenodo.org/badge/latestdoi/147505799) [![Downloads](https://pepy.tech/badge/pyshacl)](https://pepy.tech/project/pyshacl) [![Downloads](https://pepy.tech/badge/pyshacl/month)](https://pepy.tech/project/pyshacl/month) [![Downloads](https://pepy.tech/badge/pyshacl/week)](https://pepy.tech/project/pyshacl/week) This is a pure Python module which allows for the validation of [RDF](https://www.w3.org/2001/sw/wiki/RDF) graphs against Shapes Constraint Language ([SHACL](https://www.w3.org/TR/shacl/)) graphs. This module uses the [rdflib](https://github.com/RDFLib/rdflib) Python library for working with RDF and is dependent on the [OWL-RL](https://github.com/RDFLib/OWL-RL) Python module for [OWL2 RL Profile](https://www.w3.org/TR/owl2-overview/#ref-owl-2-profiles) based expansion of data graphs. This module is developed to adhere to the SHACL Recommendation: > Holger Knublauch; Dimitris Kontokostas. *Shapes Constraint Language (SHACL)*. 20 July 2017. W3C Recommendation. URL: ED: # Community for Help and Support The SHACL community has a discord server for discussion of topics around SHACL and the SHACL specification. [Use this invitation link: https://discord.gg/RTbGfJqdKB to join the server](https://discord.gg/RTbGfJqdKB) There is a \#pyshacl channel for discussion of this python library, and you can ask for general SHACL help too. ## Installation Install with PIP (Using the Python3 pip installer `pip3`) ```bash $ pip3 install pyshacl ``` Or in a python virtualenv _(these example commandline instructions are for a Linux/Unix based OS)_ ```bash $ python3 -m virtualenv --python=python3 --no-site-packages .venv $ source ./.venv/bin/activate $ pip3 install pyshacl ``` To exit the virtual enviornment: ```bash $ deactivate ``` ## Command Line Use For command line use: _(these example commandline instructions are for a Linux/Unix based OS)_ ```bash $ pyshacl -s /path/to/shapesGraph.ttl -m -i rdfs -a -j -f human /path/to/dataGraph.ttl ``` Where - `-s` is an (optional) path to the shapes graph to use - `-e` is an (optional) path to an extra ontology graph to import - `-i` is the pre-inferencing option - `-f` is the ValidationReport output format (`human` = human-readable validation report) - `-m` enable the meta-shacl feature - `-a` enable SHACL Advanced Features - `-j` enable SHACL-JS Features (if `pyshacl[js]` is installed) System exit codes are: `0` = DataGraph is Conformant `1` = DataGraph is Non-Conformant `2` = The validator encountered a RuntimeError (check stderr output for details) `3` = Not-Implemented; The validator encountered a SHACL feature that is not yet implemented. Full CLI Usage options: ```bash $ pyshacl -h $ python3 -m pyshacl -h usage: pyshacl [-h] [-s [SHACL]] [-e [ONT]] [-i {none,rdfs,owlrl,both}] [-m] [-im] [-a] [-j] [-it] [--abort] [--allow-info] [-w] [--max-depth [MAX_DEPTH]] [-d] [-f {human,table,turtle,xml,json-ld,nt,n3}] [-df {auto,turtle,xml,json-ld,nt,n3}] [-sf {auto,turtle,xml,json-ld,nt,n3}] [-ef {auto,turtle,xml,json-ld,nt,n3}] [-V] [-o [OUTPUT]] [--server] DataGraph PySHACL 0.27.0 command line tool. positional arguments: DataGraph The file containing the Target Data Graph. optional arguments: --server Ignore all the rest of the options, start the HTTP Server. -h, --help show this help message and exit -s [SHACL], --shacl [SHACL] A file containing the SHACL Shapes Graph. -e [ONT], --ont-graph [ONT] A file path or URL to a document containing extra ontological information. RDFS and OWL definitions from this are used to inoculate the DataGraph. -i {none,rdfs,owlrl,both}, --inference {none,rdfs,owlrl,both} Choose a type of inferencing to run against the Data Graph before validating. -m, --metashacl Validate the SHACL Shapes graph against the shacl- shacl Shapes Graph before validating the Data Graph. -im, --imports Allow import of sub-graphs defined in statements with owl:imports. -a, --advanced Enable features from the SHACL Advanced Features specification. -j, --js Enable features from the SHACL-JS Specification. -it, --iterate-rules Run Shape's SHACL Rules iteratively until the data_graph reaches a steady state. --abort Abort on first invalid data. --allow-info, --allow-infos Shapes marked with severity of Info will not cause result to be invalid. -w, --allow-warning, --allow-warnings Shapes marked with severity of Warning or Info will not cause result to be invalid. --max-depth [MAX_DEPTH] The maximum number of SHACL shapes "deep" that the validator can go before reaching an "endpoint" constraint. -d, --debug Output additional verbose runtime messages. --focus [FOCUS] Optional IRIs of focus nodes from the DataGraph, the shapes will validate only these node. Comma-separated list. --shape [SHAPE] Optional IRIs of a NodeShape or PropertyShape from the SHACL ShapesGraph, only these shapes will be used to validate the DataGraph. Comma-separated list. -f {human,table,turtle,xml,json-ld,nt,n3}, --format {human,table,turtle,xml,json-ld,nt,n3} Choose an output format. Default is "human". -df {auto,turtle,xml,json-ld,nt,n3}, --data-file-format {auto,turtle,xml,json-ld,nt,n3} Explicitly state the RDF File format of the input DataGraph file. Default="auto". -sf {auto,turtle,xml,json-ld,nt,n3}, --shacl-file-format {auto,turtle,xml,json-ld,nt,n3} Explicitly state the RDF File format of the input SHACL file. Default="auto". -ef {auto,turtle,xml,json-ld,nt,n3}, --ont-file-format {auto,turtle,xml,json-ld,nt,n3} Explicitly state the RDF File format of the extra ontology file. Default="auto". -V, --version Show PySHACL version and exit. -o [OUTPUT], --output [OUTPUT] Send output to a file (defaults to stdout). --server Ignore all the rest of the options, start the HTTP Server. Same as `pyshacl_server`. ``` ## Python Module Use For basic use of this module, you can just call the `validate` function of the `pyshacl` module like this: ```python from pyshacl import validate r = validate(data_graph, shacl_graph=sg, ont_graph=og, inference='rdfs', abort_on_first=False, allow_infos=False, allow_warnings=False, meta_shacl=False, advanced=False, js=False, debug=False) conforms, results_graph, results_text = r ``` Where: * `data_graph` is an rdflib `Graph` object or file path of the graph to be validated * `shacl_graph` is an rdflib `Graph` object or file path or Web URL of the graph containing the SHACL shapes to validate with, or None if the SHACL shapes are included in the data_graph. * `ont_graph` is an rdflib `Graph` object or file path or Web URL a graph containing extra ontological information, or None if not required. RDFS and OWL definitions from this are used to inoculate the DataGraph. * `inference` is a Python string value to indicate whether or not to perform OWL inferencing expansion of the `data_graph` before validation. Options are 'rdfs', 'owlrl', 'both', or 'none'. The default is 'none'. * `abort_on_first` (optional) `bool` value to indicate whether or not the program should abort after encountering the first validation failure or to continue. Default is to continue. * `allow_infos` (optional) `bool` value, Shapes marked with severity of Info will not cause result to be invalid. * `allow_warnings` (optional) `bool` value, Shapes marked with severity of Warning or Info will not cause result to be invalid. * `meta_shacl` (optional) `bool` value to indicate whether or not the program should enable the Meta-SHACL feature. Default is False. * `advanced`: (optional) `bool` value to enable SHACL Advanced Features * `js`: (optional) `bool` value to enable SHACL-JS Features (if `pyshacl[js]` is installed) * `debug` (optional) `bool` value to indicate whether or not the program should emit debugging output text, including violations that didn't lead to non-conformance overall. So when debug is True don't judge conformance by absense of violation messages. Default is False. Some other optional keyword variables available on the `validate` function: * `data_graph_format`: Override the format detection for the given data graph source file. * `shacl_graph_format`: Override the format detection for the given shacl graph source file. * `ont_graph_format`: Override the format detection for the given extra ontology graph source file. * `iterate_rules`: Iterate SHACL Rules until steady state is found (only works with advanced mode). * `do_owl_imports`: Enable the feature to allow the import of subgraphs using `owl:imports` for the shapes graph and the ontology graph. Note, you explicitly cannot use this on the target data graph. * `serialize_report_graph`: Convert the report results_graph into a serialised representation (for example, 'turtle') * `check_dash_result`: Check the validation result against the given expected DASH test suite result. Return value: * a three-component `tuple` containing: * `conforms`: a `bool`, indicating whether the `data_graph` conforms to the `shacl_graph` * `results_graph`: a `Graph` object built according to the SHACL specification's [Validation Report](https://www.w3.org/TR/shacl/#validation-report) scheme * `results_text`: python string representing a verbose textual representation of the [Validation Report](https://www.w3.org/TR/shacl/#validation-report) ## Python Module Call You can get an equivalent of the Command Line Tool using the Python3 executable by doing: ```bash $ python3 -m pyshacl ``` ## Errors Under certain circumstances pySHACL can produce a [`Validation Failure`](https://www.w3.org/TR/shacl/#failures). This is a formal error [defined by the SHACL specification](https://www.w3.org/TR/shacl/#failures) and is required to be produced as a result of specific conditions within the SHACL graph that leads to the inability to complete the validation. If the validator produces a [`Validation Failure`](https://www.w3.org/TR/shacl/#failures), the `results_graph` variable returned by the `validate()` function will be an instance of `ValidationFailure`. See the `message` attribute on that instance to get more information about the validation failure. Other errors the validator can generate: - `ShapeLoadError`: This error is thrown when a SHACL Shape in the SHACL graph is in an invalid state and cannot be loaded into the validation engine. - `ConstraintLoadError`: This error is thrown when a SHACL Constraint Component is in an invalid state and cannot be loaded into the validation engine. - `ReportableRuntimeError`: An error occurred for a different reason, and the reason should be communicated back to the user of the validator. - `RuntimeError`: The validator encountered a situation that caused it to throw an error, but the reason does not concern the user. Unlike `ValidationFailure`, these errors are not passed back as a result by the `validate()` function, but thrown as exceptions by the validation engine and must be caught in a `try ... except` block. In the case of `ShapeLoadError` and `ConstraintLoadError`, see the `str()` string representation of the exception instance for the error message along with a link to the relevant section in the SHACL spec document. ## Focus Node Filtering, and Shape Selection PySHACL v0.27.0 and above has two powerful new features: - Focus Node Filtering - You can pass in a list of focus nodes to the validator, and it will only validate those focus nodes. - _Note_, you still need to use a SHACL ShapesGraph, and the Shapes _still need to target_ the focus nodes. - This feature will filter the Shapes' targeted focus nodes to include only those that are in the list of specified focus nodes. - SHACL Shape selection - You can pass in a list of SHACL Shapes to the validator, and it will use only those Shapes for validation. - This is useful for testing new shapes in your shapes graph, or for many other procedure-driven use cases. - Combined Shape Selection with Focus Node filtering - The combination of the above two new features is especially powerful. - If you give the validator a list of Shapes to use, and a list of focus nodes, the validator will operate in a highly-targeted mode, it feeds those focus nodes directly into those given Shapes for validation. - In this mode, the selected SHACL Shape does not need to specify any focus-targeting mechanisms of its own. ## SPARQL Remote Graph Mode _**PySHACL now has a built-in SPARQL Remote Graph Mode, which allows you to validate a data graph that is stored on a remote server.**_ - In this mode, PySHAL operates strictly in read-only mode, and does not modify the remote data graph. - Some features are disabled when using the SPARQL Remote Graph Mode: - "rdfs" and "owl" inferencing is not allowed (because the remote graph is read-only, it cannot be expanded) - Extra Ontology file (Inoculation or Mix-In mode) is disabled (because the remote graph is read-only) - SHACL Rules (Advanced mode SPARQL-Rules) are not allowed (because the remote graph is read-only) - All SHACL-JS features are disabled (this is not safe when operating on a remote graph) - "inplace" mode is disabled (actually all operations on the remote data graph are inherently performed in-place) ## Integrated OpenAPI-3.0-compatible HTTP REST Service PySHACL now has a built-in validation service, exposed via an OpenAPI3.0-compatible REST API. Due to the additional dependencies required to run, this feature is an optional extra. You must first install PySHACL with the `http` extra option enabled: ```bash $ pip3 install -U pyshacl[http] ``` When that is installed, you can start the service using the by executing the CLI entrypoint: ```bash $ pyshacl --server # or $ pyshacl_server # or $ python3 -m pyshacl server # or $ docker run --rm -e PYSHACL_SERVER=TRUE -i -t docker.io/ashleysommer/pyshacl:latest ``` By default, this will run the service on localhost address `127.0.0.1` on port `8099`. To view the SwaggerUI documentation for the service, navigate to `http://127.0.0.1:8099/docs/swagger` and for the ReDoc version, go to `http://127.0.0.1:8099/docs/redoc`. To view the OpenAPI3 schema see `http://127.0.0.1:8099/docs/openapi.json` ### Configuring the HTTP REST Service - You can force PySHACL CLI to start up in HTTP Server mode by passing environment variable `PYSHACL_SERVER=TRUE`. This is useful in a containerised service, where you will _only_ be running PySHACL in this mode. - `PYSHACL_SERVER_LISTEN=1.2.3.4` listen on a different IP Address or hostname - `PYSHACL_SERVER_PORT=8080` listen on given different TCP PORT - `PYSHACL_SERVER_HOSTNAME=example.org` when you are hosting the server behind a reverse-proxy or in a containerised environment, use this so PySHACL server knows what your externally facing hostname is ## Windows CLI [Pyinstaller](https://www.pyinstaller.org/) can be [used](https://pyinstaller.readthedocs.io/en/stable/usage.html) to create an executable for Windows that has the same characteristics as the Linux/Mac CLI program. The necessary ``.spec`` file is already included in ``pyshacl/pyshacl-cli.spec``. The ``pyshacl-cli.spec`` PyInstaller spec file creates a ``.exe`` for the pySHACL Command Line utility. See above for the pySHACL command line util usage instructions. See [the PyInstaller installation guide](https://pyinstaller.readthedocs.io/en/stable/installation.html#installing-in-windows) for info on how to install PyInstaller for Windows. Once you have pyinstaller, use pyinstaller to generate the ``pyshacl.exe`` CLI file like so: ```bash powershell $ cd src/pyshacl $ pyinstaller pyshacl-cli.spec ``` This will output ``pyshacl.exe`` in the ``dist`` directory in ``src/pyshacl``. You can now run the pySHACL Command Line utility via ``pyshacl.exe``. See above for the pySHACL command line util usage instructions. ## Docker Pull the official docker image from Dockerhub: `docker pull docker.io/ashleysommer/pyshacl:latest` Or build the image yourself, from the PySHACL repository with `docker build . -t pyshacl`. You can now run PySHACL inside a container; but you need to mount the data you want to validate. For example, to validate `graph.ttl` against `shacl.ttl`, run : ```bash docker run --rm -i -t --mount type=bind,src=`pwd`,dst=/data pyshacl -s /data/shacl.ttl /data/graph.ttl ``` ## Compatibility PySHACL is a Python3 library. For best compatibility use Python v3.8 or greater. Python3 v3.7 or below is _**not supported**_ and this library _**does not work**_ on Python v2.7.x or below. PySHACL is a PEP518 & PEP517 project, it uses `pyproject.toml` and `poetry` to manage dependencies, build and install. For best compatibility when installing from PyPI with `pip`, upgrade to pip v20.0.2 or above. - If you're on Ubuntu 18.04 or older, you will need to run `sudo pip3 install --upgrade pip` to get the newer version. ## Features A features matrix is kept in the [FEATURES file](https://github.com/RDFLib/pySHACL/blob/master/FEATURES.md). ## Changelog A comprehensive changelog is kept in the [CHANGELOG file](https://github.com/RDFLib/pySHACL/blob/master/CHANGELOG.md). ## Benchmarks This project includes a script to measure the difference in performance of validating the same source graph that has been inferenced using each of the four different inferencing options. Run it on your computer to see how fast the validator operates for you. ## License This repository is licensed under Apache License, Version 2.0. See the [LICENSE deed](https://github.com/RDFLib/pySHACL/blob/master/LICENSE.txt) for details. ## Contributors See the [CONTRIBUTORS file](https://github.com/RDFLib/pySHACL/blob/master/CONTRIBUTORS.md). ## Citation DOI: [10.5281/zenodo.4750840](https://doi.org/10.5281/zenodo.4750840) (For all versions/latest version) ## Contacts Project Lead: **Nicholas Car** *Senior Experimental Scientist* CSIRO Land & Water, Environmental Informatics Group Brisbane, Qld, Australia Lead Developer: **Ashley Sommer** *Informatics Software Engineer* CSIRO Land & Water, Environmental Informatics Group Brisbane, Qld, Australia