Shacl graph generator
Project description
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.
Installation
Using pip:
pip install shaclgen
From source:
Command line use:
$ shaclgen graph [optional arguments]
Example usage:
$ 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.