Shacl graph generator
Shaclgen takes either a data graph(s) or schema(s) as input and generates a basic shape file based on the classes and properties present.
Shape files from data graphs: By default, the input graph is processed as a data graph (instance triples). Three formats are possible for data graphs: simple, nested, and extended.
- Simple: Each class and property generate individual Node- and PropertyShapes.
- Nested: Property shapes will be nested in nodeshapes iif they occur with one class.
- Extended: Expands nested shapes to create individual property shapes for each property, in addition to nesting them when appropriate.
Shape files from ontologies: If the input is a schema or ontology, shaclgen generates a nested shape file: properties with rdfs:domain defined in the ontology will be nested within the appropriate NodeShape. rdfs:range definitions for XML and rdfs datatypes are included.
Added support for OWL constructions is planned.
pip install shaclgen
Command line use:
$ shaclgen graph [optional arguments]
$ shaclgen https://www.lib.washington.edu/static/public/cams/data/datasets/uwSemWebParts/webResource-1-0-0.nt
Command line arguments:
positional arguments: graph The data graph(s).
optional arguments: -h, --help show this help message and exit -nf, --nested generates a nested shape file -ef, --extended generates an expanded shape file -o, --ontology input file(s) or URL(s) is a schema or ontology -s SERIALIZATION, --serialization SERIALIZATION result graph serialization, default is turtle
This project is still in development. Comments, questions, and issues are welcome!
Contact alexiskm at uw dot edu.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for shaclgen-0.2.5.2-py3-none-any.whl