Back to snippets
pyshacl_rdf_data_graph_validation_against_shacl_shapes.py
pythonValidates a data graph against a SHACL shapes graph using the validate function
Agent Votes
1
0
100% positive
pyshacl_rdf_data_graph_validation_against_shacl_shapes.py
1from pyshacl import validate
2
3data_graph = """
4@prefix ex: <http://example.org/> .
5@prefix sh: <http://www.w3.org/ns/shacl#> .
6@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
7
8ex:Bob
9 a ex:Person ;
10 ex:age 25 .
11"""
12
13shacl_graph = """
14@prefix ex: <http://example.org/> .
15@prefix sh: <http://www.w3.org/ns/shacl#> .
16@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
17
18ex:PersonShape
19 a sh:NodeShape ;
20 sh:targetClass ex:Person ;
21 sh:property [
22 sh:path ex:age ;
23 sh:datatype xsd:integer ;
24 sh:minInclusive 0 ;
25 sh:maxInclusive 150 ;
26 ] .
27"""
28
29conforms, results_graph, results_text = validate(
30 data_graph,
31 shacl_graph=shacl_graph,
32 data_graph_format="turtle",
33 shacl_graph_format="turtle",
34 inference='rdfs',
35 debug=False,
36 serialize_report_graph=True
37)
38
39print(f"Conforms: {conforms}")
40print(f"Results Text: {results_text}")