reteplayground
Select

Nearest the staircase, across floors (geo3)

ElementTypeFloor+2
IfcRailing @enIfcRailingDachgeschoss @en
Wand-Int-ERDG-4 @enIfcWallStandardCaseErdgeschoss @en
EG-Fenster-8 @enIfcWindowErdgeschoss @en
EG-Fenster-9 @enIfcWindowErdgeschoss @en
Run this query → no server · no download · no account
caviri.github.io/rete
Run this query in the playground → 12 rows · 13 ms · no server, no download — the query runs in your browser.

The query

PREFIX bot: <https://w3id.org/bot#> PREFIX cad: <https://w3id.org/rete/cad#> PREFIX geo: <http://www.opengis.net/ont/geosparql#> PREFIX geo3: <https://w3id.org/rete/geo3#> PREFIX geof3: <https://w3id.org/rete/geo3/function/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?element ?type ?floor (ROUND(geof3:distance3D(?sw,?w)*100)/100 AS ?m) ?z WHERE { ?stair cad:ifcClass "IfcStair" ; geo:hasGeometry/geo3:asWKT3D ?sw . ?e a bot:Element ; rdfs:label ?element ; cad:ifcClass ?type ; cad:inStorey ?st ; geo:hasGeometry ?g . ?g geo3:asWKT3D ?w ; geo3:z ?z . ?st rdfs:label ?floor . FILTER(?e != ?stair && ?type != "IfcOpeningElement") } ORDER BY ?m LIMIT 12

rete playground · documentation · github.com/caviri/rete