Semantic Web and Web 3.0 · class 12 · demo
Break it on purpose
Each button copies the project's files, changes one thing in the copy and runs the five checks over it,
as you would by hand with : > project/chain/chain.nt and git checkout afterwards. Nothing is
saved: reload the report and it is still green.
Empty the chain graphA SHACL violationA query with a wrong prefix
A SHACL violation
What was changed, on a copy: In
output/graph.trig, graph graph:catalogue: product:100 onto:price 4.90 becomes -4.90 (a negative price, as if catalogue.sql had said -4.90).reproducibility check -- 2026-11-01T17:24:32Z [skip] no Docker reachable: the health of the services was not checked [failure] graph with 122 triples, SHACL validation with violations Validation Report Conforms: False Results (1): Constraint Violation in MinInclusiveConstraintComponent (http://www.w3.org/ns/shacl#MinInclusiveConstraintComponent): Severity: sh:Violation Source Shape: [ sh:datatype xsd:decimal ; sh:maxCount Literal("1", datatype=xsd:integer) ; sh:message Literal("Price missing, repeated or negative.") ; sh:minCount Literal("1", datatype=xsd:integer) ; sh:minInclusive Literal("0", datatype=xsd:integer) ; sh:path onto:price ] Focus Node: <https://data.csoares.me/product/100> Value Node: Literal("-4.90", datatype=xsd:decimal) Result Path: onto:price Message: Price missing, repeated or negative. [ok] 7/7 competency queries return results [ok] contract answered in block 8412991 (2 records indexed) [skip] interface not reachable at http://localhost:8080 (nothing listening) 1 check(s) failed, 2 skipped
Exit code 1.
graph [failure] graph with 122 triples, SHACL validation with violations
pyshacl names the focus node, the value and the shape's message. On disk the pipeline would have stopped here (load-semantics.sh uses set -e), and nothing would be sent to the store.
The real project was not touched: its fingerprint is 455c89c03cb22461 before this request and
455c89c03cb22461 after, and the report is still the one from 2026-11-01T17:21:57Z.