Run rules for semantic groups in OH3

I was afraid of that. So, basically, I need to flatten out my ontology and duplicate that information. I was really hoping we could use relations to build a group on the fly. Going with groups, or tags, I would need an extra piece of information for each level.

In my locations groups below, it would be nice to be able to pull out Gf_H, and all decedents, and whatever shows up as a light in that group, to turn it on.

a subset of my lights:

Group Gf_F_FourierLight    "Fourier Lights"    <light> (Gf_F_Fourier)    ["Lightbulb"]
Dimmer LightFourierInner "Fourier inner cans"                   <light> (Gf_F_FourierLight)    ["Setpoint", "Light"] {channel="zwave:device:e8358de4:node11:switch_dimmer", autoupdate="true"}
Dimmer LightFourierOuter "Fourier outer cans"                   <light> (Gf_F_FourierLight)    ["Setpoint", "Light"] {channel="zwave:device:e8358de4:node10:switch_dimmer", autoupdate="true"}

my locations:

Group Gf                    "Ground Floor"        <groundfloor>           ["GroundFloor"]
Group Gf_F                  "Front Area"          <groundfloor> (Gf)      ["GroundFloor"]
Group Gf_F_Fourier          "Fourier"             <groundfloor> (Gf_F)    ["Entry"]
Group Gf_F_Vestibule        "Vestibule"           <groundfloor> (Gf_F)    ["Room"]
Group Gf_F_MenBR            "Front Mens BR"       <groundfloor> (Gf_F)    ["Bathroom"]
Group Gf_F_WomenBR          "Front Womens BR"     <groundfloor> (Gf_F)    ["Bathroom"]
Group Gf_H                  "Hall"                <groundfloor> (Gf)      ["GroundFloor"]
Group Gf_H_Stage            "Stage"               <groundfloor> (Gf_H)    ["Room"]
Group Gf_H_DanceFloor       "DanceFloor"          <groundfloor> (Gf_H)    ["Room"]
Group Gf_H_NWing            "North Wing"          <groundfloor> (Gf_H)    ["Room"]
Group Gf_H_SWing            "South Wing"          <groundfloor> (Gf_H)    ["Room"]
Group Gf_H_MenBR            "Hall Mens BR"        <groundfloor> (Gf_H)    ["Bathroom"]
Group Gf_H_WomenBR          "Hall Womens BR"      <groundfloor> (Gf_H)    ["Bathroom"]
Group Gf_H_Bar              "Hall Bar"            <groundfloor> (Gf_H)    ["Room"]
Group Gf_B                  "Back Area"           <groundfloor> (Gf)      ["GroundFloor"]
Group Gf_B_Concourse        "Concourse"           <groundfloor> (Gf_B)    ["Room"]
Group Gf_B_A                "Alley"               <groundfloor> (Gf_B)    ["Room"]
Group Gf_B_A_Consoles       "Consoles"            <groundfloor> (Gf_B_A)  ["Room"]
Group Gf_B_A_Lanes          "Lanes"               <groundfloor> (Gf_B_A)  ["Room"]
Group Gf_B_A_Mechanical     "Mechanical"          <groundfloor> (Gf_B_A)  ["Room"]
Group Gf_B_Kitchen          "Kitchen"             <groundfloor> (Gf_B)    ["Kitchen"]
Group Gf_B_Locker           "Locker"              <groundfloor> (Gf_B)    ["Room"]
Group Gf_B_MenBR            "Concourse Mens BR"   <groundfloor> (Gf_B)    ["Bathroom"]
Group Gf_B_WomenBR          "Concourse Womens BR" <groundfloor> (Gf_B)    ["Bathroom"]
Group Gf_B_ElevatorRoom     "ElevatorRoom"        <groundfloor> (Gf_B)    ["Room"]
Group Gf_B_MainStairs       "MainStairs"          <groundfloor> (Gf_B)    ["Corridor"]
Group Gf_B_StairsToAlley    "StairsToAlley"       <groundfloor> (Gf_B)    ["Corridor"]
Group Gf_B_StairsToBasement "StairsToBasement"    <groundfloor> (Gf_B)    ["Corridor"]
Group Gf_B_StairsToChoir    "StairsToChoir"       <groundfloor> (Gf_B)    ["Corridor"]
Group Gf_B_Janitor          "Concourse Janitor"   <groundfloor> (Gf_B)    ["Room"]
Group Sf                    "Second Floor"        <firstfloor>            ["SecondFloor"]
Group Sf_Patio              "Patio"               <firstfloor>  (Sf)      ["Patio"]
Group Sf_Choir              "Choir"               <firstfloor>  (Sf)      ["Room"]
Group Sf_Kitchen            "Choir Kitchen"       <firstfloor>  (Sf)      ["Kitchen"]
Group Sf_Janitor            "Choir Janitor"       <firstfloor>  (Sf)      ["Room"]
Group Sf_Vorstand           "Vorstand"            <firstfloor>  (Sf)      ["Room"]
Group Sf_MenBR              "Choir Mens BR"       <firstfloor>  (Sf)      ["Bathroom"]
Group Sf_womenBR            "Choir Womens BR"     <firstfloor>  (Sf)      ["Bathroom"]
Group Bf                    "Basement"            <cellar>                ["Basement"]
Group Bf_Storage            "Basement Storage"    <cellar>      (Bf)      ["Cellar"]
Group Bf_office             "Basement Office"     <cellar>      (Bf)      ["Office"]
Group Bf_unfinished         "Basement unfinished" <cellar>      (Bf)      ["Cellar"]