@prefix bsh: <https://brickschema.org/schema/BrickShape#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
bsh:RDFSSubPropertyOfRuleForEntityProperties a sh:NodeShape ;
sh:rule [ a sh:SPARQLRule ;
sh:construct """
CONSTRUCT {
?s ?super ?skolemized .
?skolemized ?ep ?eo .
} WHERE {
$this rdfs:subPropertyOf+ ?super .
?super a brick:EntityProperty .
$this a brick:EntityProperty .
?s $this ?o .
BIND(IF(isBlank(?o), IRI(CONCAT("urn:skolem:", STRUUID())), ?o) AS ?skolemized)
?o ?ep ?eo .
}
""" ;
sh:prefixes <https://brickschema.org/schema/1.4/Brick> ] ;
sh:targetSubjectsOf rdfs:subPropertyOf .