@prefix brick: <https://brickschema.org/schema/Brick#> .
@prefix bsh: <https://brickschema.org/schema/BrickShape#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
bsh:CollectionIncludesEquipment a sh:NodeShape ;
sh:rule [ a sh:SPARQLRule ;
sh:construct """
CONSTRUCT {
$this rec:includes ?eq .
}
WHERE {
$this brick:hasPart ?eq .
{
?eq rdf:type/rdfs:subClassOf* brick:Equipment .
}
UNION
{
?eq rdf:type/rdfs:subClassOf* brick:Collection .
}
UNION
{
?eq rdf:type/rdfs:subClassOf* brick:System .
}
}
""" ;
sh:prefixes <https://brickschema.org/schema/1.4/Brick> ] ;
sh:targetClass brick:Collection,
brick:Equipment,
brick:System .