bsh:BuildingMeterRule leaf node


URI

https://brickschema.org/schema/BrickShape#BuildingMeterRule

Label

BuildingMeterRule

Targets (1)

Implementation

@prefix brick: <https://brickschema.org/schema/Brick#> .
@prefix bsh: <https://brickschema.org/schema/BrickShape#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

bsh:BuildingMeterRule a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
        CONSTRUCT {
            $this rdf:type ?newtype .
        }
        WHERE {
            $this brick:meters ?bldg .
            ?bldg rdf:type/rdfs:subClassOf* brick:Building .
            $this rdf:type ?type .
            BIND(IRI(CONCAT("https://brickschema.org/schema/Brick#Building_", strafter(str(?type), "https://brickschema.org/schema/Brick#"))) as ?newtype) .
            FILTER (strEnds(str(?type), "_Meter"))
            FILTER (!strStarts(str(?type), "https://brickschema.org/schema/Brick#Building_"))
        }
        """ ;
            sh:prefixes <https://brickschema.org/schema/1.4/Brick> ] ;
    sh:targetClass brick:Meter .