bsh:MeterInferSubclassNonBuildingMeter leaf node


URI

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

Label

MeterInferSubclassNonBuildingMeter

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:MeterInferSubclassNonBuildingMeter a sh:NodeShape ;
    sh:rule [ a sh:SPARQLRule ;
            sh:construct """
        CONSTRUCT {
            $this rdf:type ?metertype .
        } WHERE {
            $this rdf:type/rdfs:subClassOf* brick:Meter .
            $this brick:hasSubstance ?substance .
            ?metertype brick:hasSubstance ?substance .
            FILTER NOT EXISTS {
                $this rdf:type/rdf:subClassOf* brick:Building_Meter
            }
            MINUS {
                ?metertype rdfs:subClassOf* brick:Building_Meter .
            }
        }
        """ ;
            sh:prefixes <https://brickschema.org/schema/1.4/Brick> ] ;
    sh:targetClass brick:Meter .