PYSHACL(1)
π PYSHACL π
okay bestie, sit down, hydrate, because we're about to talk about PySHACL β that's the manual page for PySHACL, from the User Commands section of your friendly neighborhood man pages. It's giving validator energy and honestly? we're obsessed. π¦
β¨ DESCRIPTION β¨
PySHACL 0.30.1 Validator command line tool. that's it, that's the whole vibe. it validates. it's a validator. slay.
here's the usage, and I'm putting it here character for character because the way that this thing has so many flags is genuinely iconic of it:
usage: pyshacl [-h] [-s [SHACL]] [-e [ONT]] [-i {none,rdfs,owlrl,both}]
[-m]
[-q] [-im] [-a] [-j] [-it] [--abort] [--allow-info] [-w]
[--max-depth [MAX_DEPTH]] [-d] [--focus [FOCUS]] [--shape
[SHAPE]] [-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]] [--rules]
[--server] [DataGraph]
like ok. we have options. we have options on our options. π«Ά
π positional arguments: π
DataGraphβ the file or endpoint that's holding your Target Data Graph. yes. that one. the data. the graph. the main character. π
π options: π
-h,--helpβ shows this help message and dips. classic. we love a short king. β¨-s,--shapes,--shacl[SHACL]β a file containing the SHACL Shapes Graph. three whole aliases for one flag, because why choose.-e,--ont-graph[ONT]β a file path or a URL pointing at a document with extra ontological information. the RDFS and OWL definitions in there get used to inoculate the DataGraph. yes, inoculate, like a lil vaccine for your graph. π-i,--inference{none,rdfs,owlrl,both}β pick which flavor of inferencing runs against the Data Graph before validating. none, rdfs, owlrl, or both. choose your fighter.-m,--metashaclβ validates the SHACL Shapes graph against theshaclshaclShapes Graph before validating the Data Graph. meta? meta. it's giving inception. π-q,--sparql-modeβ treats theDataGraphas a SPARQL endpoint, and validates the graph over at that SPARQL endpoint. no local file needed, bestie. remote girlboss behavior.-im,--importsβ allows importing sub-graphs that are defined in statements withowl:imports. let it fetch. π₯-a,--advancedβ turns on features from the SHACL Advanced Features specification. fancy mode: ON.-j,--jsβ turns on features from the SHACL-JS Specification. yes there's JavaScript in your shapes now. we're living in the future. π-it,--iterate-rulesβ runs the Shape's SHACL Rules over and over, iteratively, until thedata_graphhits a steady state. it'll keep going till it stops changing, no cap.--abortβ aborts on the very first invalid data. first red flag, we're out. π--allow-info,--allow-infosβ shapes marked with a severity of Info will not cause the result to be invalid. soft launch those.-w,--allow-warning,--allow-warningsβ shapes marked with a severity of Warning or Info will not cause the result to be invalid. even more lenient, even more chill. πΈ--max-depth[MAX_DEPTH]β the maximum number of SHACL shapes "deep" that the validator can go before it reaches an "endpoint" constraint. depth limit, because we can't go down forever. π³οΈ-d,--debugβ outputs extra verbose runtime messages. for when you need the lore. π--focus[FOCUS]β optional IRIs of focus nodes from theDataGraph; the shapes will validate only these node. comma-separated list. pick your faves. β--shape[SHAPE]β optional IRIs of aNodeShapeorPropertyShapefrom the SHACLShapesGraph; only these shapes get used to validate theDataGraph. comma-separated list. a curated selection, if you will. π-f,--format{human,table,turtle,xml,json-ld,nt,n3}β choose an output format. default is"human". so it speaks to you like a person. π«Ά-df,--data-file-format{auto,turtle,xml,json-ld,nt,n3}β explicitly states the RDF File format of the inputDataGraphfile. default="auto". don't make it guess, bestie.-sf,--shacl-file-format{auto,turtle,xml,json-ld,nt,n3}β explicitly states the RDF File format of the input SHACL file. default="auto".-ef,--ont-file-format{auto,turtle,xml,json-ld,nt,n3}β explicitly states the RDF File format of the extra ontology file. default="auto".-V,--versionβ shows the PySHACL version and exits. hello and goodbye. β¨-o,--output[OUTPUT]β sends output to a file (it defaults tostdout). save it for later, scrapbook it, whatever. π--rulesβ ignores validation options and runs PySHACL in Rules Expansion mode. same aspyshacl_rules. rules mode. literally. π₯--serverβ ignores all the rest of the options and starts the HTTP Server. same aspyshacl_server. > heads up bestie: it straight up ignores every other option you passed. it said "not today." π
π SEE ALSO π
the full documentation for PySHACL is maintained as a Texinfo manual. if the info and PySHACL programs are properly installed at your site, this command:
info PySHACL
should give you access to the complete manual. iykyk. go read it, it's the whole extended universe. π
okay that's the page!! π PySHACL Version: 0.30.1, dated September 2025, and that's a wrap on the User Commands manual section. go validate something and make it everyone's problem. mwah. ππ
β¨
π¦ where this page comes from
- fedora 43: python3-pyshacl 0.30.1-5.fc43 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms