# cmem-plugin-pyshacl
This is a plugin for [eccenca](https://eccenca.com) [Corporate Memory](https://documentation.eccenca.com) plugin performing [SHACL](https://www.w3.org/TR/shacl/) validation with [pySHACL](https://github.com/RDFLib/pySHACL).
## Installation
```
cmemc admin workspace python install cmem-plugin-pyshacl
```
## Options
### Data graph URI
The URI of the graph to be validated. The graph URI is selected from a list of graphs of types:
- `di:Dataset`
- `dsm:ThesaurusProject`
- `owl:Ontology`
- `shui:ShapeCatalog`
- `void:Dataset`
### SHACL graph URI
The URI of the graph containing the SHACL shapes to be validated against. The graph URI is selected from a list of graphs of type `shui:ShapeCatalog`.
### Generate validation graph
If enabled, the validation graph is posted to the CMEM instance with the graph URI specified with the *validation graph URI* option. Default value: *false*.
### Validation graph URI
If the *generate validation graph* option is enabled the validation graph is posted to the CMEM instance with this graph URI.
### Output entities
If enabled, the plugin outputs the validation results and can be connected to, for instance, a CSV dataset to produce a results table. Default value: *false*.
### Clear validation graph
If enabled, the validation graph is cleared before workflow execution. Default value: *true*.
## Advanced Options
### Resolve owl:imports
If enabled, the graph tree defined with `owl:imports` in the data graph is resolved. Default value: *true*.
### Blank node skolemization
If enabled, blank nodes in the validation graph are skolemized into URIs. Default value: *true*.
### Add labels
If enabled, `rdfs:label` triples are added to the validation graph for instances of `sh:ValidationReport` and `sh:ValidationResult`. Default value: *true*.
### Add labels from data and SHACL graphs
If enabled along with the *add labels* option, `rdfs:label` triples are added for the focus nodes, values and SHACL shapes in the validation graph. The labels are taken from the specified data and SHACL graphs. Default value: *false*.
### Add shui:conforms flag to focus node resources
If enabled, `shui:conforms false` triples are added to the focus nodes in the validation graph. Default value: *false*.
### Meta-SHACL
If enabled, the SHACL shapes graph is validated against the SHACL-SHACL shapes graph before validating the data graph. Default value: *false*.
### Ontology graph URI
The URI of a graph containing extra ontological information. RDFS and OWL definitions from this are used to inoculate the data graph. The graph URI is selected from a list of graphs of type `owl:Ontology`.
### Inference
If enabled, OWL inferencing expansion of the data graph is performed before validation. Options are *RDFS*, *OWLRL*, *Both*, *None*. Default value: *None*.
### Advanced
Enable SHACL Advanced Features. Default value: *false*.
## Parameter Input
In order to set options via the input the following parameter names can be used:
| Option | Name |
|------------------------------------------------|------------------------|
| Data graph URI | data_graph_uri |
| SHACL graph URI | shacl_graph_uri |
| Generate validation graph | generate_graph |
| Validation graph URI | validation_graph_uri |
| Output entities | output_entities |
| Clear validation graph | clear_validation_graph |
| Resolve owl:imports | owl_imports |
| Blank node skolemization | skolemize |
| Add labels | add_labels |
| Add labels from data and SHACL graphs | include_graphs_labels |
| Add shui:conforms flag to focus node resources | add_shui_conforms |
| Meta-SHACL | meta_shacl |
| Ontology graph URI | ontology_graph_uri |
| Inference | inference |
| Advanced | advanced |
Raw data
{
"_id": null,
"home_page": "https://github.com/eccenca/cmem-plugin-pyshacl",
"name": "cmem-plugin-pyshacl",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4.0",
"maintainer_email": "",
"keywords": "eccenca Corporate Memory,plugin,SHACL",
"author": "eccenca GmbH",
"author_email": "cmempy-developer@eccenca.com",
"download_url": "https://files.pythonhosted.org/packages/fa/9f/6295b7a631cf6ba460432ff58991d18eb1f112d0c0249d59a15e6abad0d1/cmem_plugin_pyshacl-4.2.0rc6.tar.gz",
"platform": null,
"description": "# cmem-plugin-pyshacl\n\nThis is a plugin for [eccenca](https://eccenca.com) [Corporate Memory](https://documentation.eccenca.com) plugin performing [SHACL](https://www.w3.org/TR/shacl/) validation with [pySHACL](https://github.com/RDFLib/pySHACL).\n\n## Installation\n\n```\ncmemc admin workspace python install cmem-plugin-pyshacl\n```\n\n## Options\n\n### Data graph URI\n\nThe URI of the graph to be validated. The graph URI is selected from a list of graphs of types:\n- `di:Dataset`\n- `dsm:ThesaurusProject`\n- `owl:Ontology`\n- `shui:ShapeCatalog`\n- `void:Dataset`\n\n### SHACL graph URI\n\nThe URI of the graph containing the SHACL shapes to be validated against. The graph URI is selected from a list of graphs of type `shui:ShapeCatalog`.\n\n### Generate validation graph\n\nIf enabled, the validation graph is posted to the CMEM instance with the graph URI specified with the *validation graph URI* option. Default value: *false*.\n\n### Validation graph URI\n\nIf the *generate validation graph* option is enabled the validation graph is posted to the CMEM instance with this graph URI.\n\n### Output entities\n\nIf enabled, the plugin outputs the validation results and can be connected to, for instance, a CSV dataset to produce a results table. Default value: *false*.\n\n### Clear validation graph\n\nIf enabled, the validation graph is cleared before workflow execution. Default value: *true*.\n\n## Advanced Options\n\n### Resolve owl:imports\n\nIf enabled, the graph tree defined with `owl:imports` in the data graph is resolved. Default value: *true*.\n\n### Blank node skolemization\n\nIf enabled, blank nodes in the validation graph are skolemized into URIs. Default value: *true*.\n\n### Add labels\n\nIf enabled, `rdfs:label` triples are added to the validation graph for instances of `sh:ValidationReport` and `sh:ValidationResult`. Default value: *true*.\n\n### Add labels from data and SHACL graphs\n\nIf enabled along with the *add labels* option, `rdfs:label` triples are added for the focus nodes, values and SHACL shapes in the validation graph. The labels are taken from the specified data and SHACL graphs. Default value: *false*.\n\n### Add shui:conforms flag to focus node resources\n\nIf enabled, `shui:conforms false` triples are added to the focus nodes in the validation graph. Default value: *false*.\n\n### Meta-SHACL\n\nIf enabled, the SHACL shapes graph is validated against the SHACL-SHACL shapes graph before validating the data graph. Default value: *false*.\n\n### Ontology graph URI\n\nThe URI of a graph containing extra ontological information. RDFS and OWL definitions from this are used to inoculate the data graph. The graph URI is selected from a list of graphs of type `owl:Ontology`.\n\n### Inference\n\nIf enabled, OWL inferencing expansion of the data graph is performed before validation. Options are *RDFS*, *OWLRL*, *Both*, *None*. Default value: *None*.\n\n### Advanced\n\nEnable SHACL Advanced Features. Default value: *false*.\n\n\n## Parameter Input\n\nIn order to set options via the input the following parameter names can be used:\n\n| Option | Name |\n|------------------------------------------------|------------------------|\n| Data graph URI | data_graph_uri |\n| SHACL graph URI | shacl_graph_uri |\n| Generate validation graph | generate_graph |\n| Validation graph URI | validation_graph_uri |\n| Output entities | output_entities |\n| Clear validation graph | clear_validation_graph |\n| Resolve owl:imports | owl_imports |\n| Blank node skolemization | skolemize |\n| Add labels | add_labels |\n| Add labels from data and SHACL graphs | include_graphs_labels |\n| Add shui:conforms flag to focus node resources | add_shui_conforms | \n| Meta-SHACL | meta_shacl |\n| Ontology graph URI | ontology_graph_uri |\n| Inference | inference |\n| Advanced | advanced |",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Validate your Knowledge Graphs based on tests generated from SHACL shapes.",
"version": "4.2.0rc6",
"project_urls": {
"Homepage": "https://github.com/eccenca/cmem-plugin-pyshacl"
},
"split_keywords": [
"eccenca corporate memory",
"plugin",
"shacl"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6e8ed004a005a9c443fb6b87078bebdd962e567400de260727e24bb244d47e11",
"md5": "5925a8780129472e3d726a07d8589e2a",
"sha256": "4cfa99f4e9f60d48e225880fb87100b02b47c7344e558e61d426a17834abaa98"
},
"downloads": -1,
"filename": "cmem_plugin_pyshacl-4.2.0rc6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5925a8780129472e3d726a07d8589e2a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4.0",
"size": 12900,
"upload_time": "2023-10-23T12:01:34",
"upload_time_iso_8601": "2023-10-23T12:01:34.097593Z",
"url": "https://files.pythonhosted.org/packages/6e/8e/d004a005a9c443fb6b87078bebdd962e567400de260727e24bb244d47e11/cmem_plugin_pyshacl-4.2.0rc6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "fa9f6295b7a631cf6ba460432ff58991d18eb1f112d0c0249d59a15e6abad0d1",
"md5": "f2bc94bceba69ecdee9654f64a29861e",
"sha256": "628b5b1ab87292c10709e00e25283883f131ef1241145e3ee2a6eda2e948f30e"
},
"downloads": -1,
"filename": "cmem_plugin_pyshacl-4.2.0rc6.tar.gz",
"has_sig": false,
"md5_digest": "f2bc94bceba69ecdee9654f64a29861e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4.0",
"size": 12810,
"upload_time": "2023-10-23T12:01:35",
"upload_time_iso_8601": "2023-10-23T12:01:35.780576Z",
"url": "https://files.pythonhosted.org/packages/fa/9f/6295b7a631cf6ba460432ff58991d18eb1f112d0c0249d59a15e6abad0d1/cmem_plugin_pyshacl-4.2.0rc6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-23 12:01:35",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "eccenca",
"github_project": "cmem-plugin-pyshacl",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cmem-plugin-pyshacl"
}