@prefix brick: <https://brickschema.org/schema/Brick#> .
@prefix bsh: <https://brickschema.org/schema/BrickShape#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
bsh:MeterInferSubclassBuildingMeter a sh:NodeShape ;
sh:rule [ a sh:SPARQLRule ;
sh:construct """
CONSTRUCT {
$this rdf:type ?metertype .
} WHERE {
$this rdf:type/rdfs:subClassOf* brick:Building_Meter .
$this brick:hasSubstance ?substance .
?metertype brick:hasSubstance ?substance .
?metertype rdfs:subClassOf+ brick:Building_Meter .
}
""" ;
sh:prefixes <https://brickschema.org/schema/1.4/Brick> ] ;
sh:targetClass brick:Building_Meter .