@prefix macro:    <http://tpl.ottr.xyz/p/asset-maintenance/owl/macro/0.1/> .
@prefix o-owl-ax: <http://tpl.ottr.xyz/owl/axiom/0.1/> .
@prefix o-owl-re: <http://tpl.ottr.xyz/owl/restriction/0.1/> .
@prefix ottr:     <http://ns.ottr.xyz/0.4/> .
@prefix owl:      <http://www.w3.org/2002/07/owl#> .
@prefix rdf:      <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

macro:SubObjectAllValuesFromUnion
        rdf:type         ottr:Template ;
        ottr:parameters  ( [ ottr:type      owl:Class ;
                             ottr:variable  _:b0
                           ]
                           [ ottr:type      owl:ObjectProperty ;
                             ottr:variable  _:b1
                           ]
                           [ ottr:type      ( ottr:NEList owl:Class ) ;
                             ottr:variable  _:b2
                           ]
                         ) ;
        ottr:pattern     [ ottr:of      o-owl-re:ObjectUnionOf ;
                           ottr:values  ( _:b3
                                          _:b2
                                        )
                         ] ;
        ottr:pattern     [ ottr:of      o-owl-ax:SubObjectAllValuesFrom ;
                           ottr:values  ( _:b0
                                          _:b1
                                          _:b3
                                        )
                         ] .
