brick:Collection


URI

https://brickschema.org/schema/Brick#Collection

Label

Collection

Targets (1)

Node Constraints

value type sh:not [brick:Equipment], sh:not [brick:Location], sh:not [brick:Point], sh:not [brick:Quantity], sh:not [brick:Substance], sh:not [rec:Space]

Property Constraints (3)

Focus nodes of this shape (brick:Collection) can have the following properties:

PROPERTY DESCRIPTION MIN MAX VALUE TYPE OTHER CONSTRAINTS
brick:hasPart The subject is composed in part of the entity given by the object
sh:message A Collection can be associated with Equipments, Locations/Spaces, Points, and other Collections.
0 *
sh:or ( brick:Equipment | brick:Location | rec:Space | brick:Point | brick:Collection )
brick:isMeteredBy Indicates the meter measuring the consumption/production of some substance by the subject entity 0 * brick:Meter
rec:includes includes
1 * sh:IRI
sh:or ( brick:Equipment | brick:Collection )

Implementation

@prefix brick: <https://brickschema.org/schema/Brick#> .
@prefix bsh: <https://brickschema.org/schema/BrickShape#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix rec: <https://w3id.org/rec#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix tag: <https://brickschema.org/schema/BrickTag#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

brick:Collection a owl:Class,
        sh:NodeShape ;
    rdfs:label "Collection"@en ;
    rdfs:subClassOf brick:Class,
        brick:Entity,
        rec:Collection ;
    sh:node [ sh:message "Collection is an exclusive top class." ;
            sh:not [ sh:class brick:Equipment ] ],
        [ sh:message "Collection is an exclusive top class." ;
            sh:not [ sh:class brick:Location ] ],
        [ sh:message "Collection is an exclusive top class." ;
            sh:not [ sh:class rec:Space ] ],
        [ sh:message "Collection is an exclusive top class." ;
            sh:not [ sh:class brick:Substance ] ],
        [ sh:message "Collection is an exclusive top class." ;
            sh:not [ sh:class brick:Quantity ] ],
        [ sh:message "Collection is an exclusive top class." ;
            sh:not [ sh:class brick:Point ] ] ;
    sh:property [ sh:message "A Collection can be associated with Equipments, Locations/Spaces, Points, and other Collections." ;
            sh:or ( [ sh:class brick:Equipment ] [ sh:class brick:Location ] [ sh:class rec:Space ] [ sh:class brick:Point ] [ sh:class brick:Collection ] ) ;
            sh:path brick:hasPart ],
        [ a sh:PropertyShape ;
            sh:minCount 1 ;
            sh:name "includes" ;
            sh:nodeKind sh:IRI ;
            sh:or ( [ sh:class brick:Equipment ] [ sh:class brick:Collection ] ) ;
            sh:path rec:includes ],
        bsh:isMeteredByShape ;
    sh:rule [ a sh:TripleRule ;
            sh:object tag:Collection ;
            sh:predicate brick:hasTag ;
            sh:subject sh:this ] ;
    brick:hasAssociatedTag tag:Collection .