Is there a shortcut for making queries where a data value can be single item or list of items?

For example this is how I do a query now using UNION. Both parts are identical except for the single/list section in owl:someValuesFrom []. This is still somewhat readable but if there are multiple occurences, query lenght and complexity grows exponentially.

{
        ?finding owl:equivalentClass|rdfs:subClassOf [
            owl:intersectionOf [
                list:member [
                    rdf:type owl:Restriction ;
                    owl:onProperty id:609096000 ;
                    owl:someValuesFrom [
                        rdf:type owl:Restriction ;
                        owl:onProperty id:363698007 ;
                        owl:someValuesFrom ?site
                    ]
                ]
            ]
        ]
    }
    UNION
    {
        ?finding owl:equivalentClass|rdfs:subClassOf [
            owl:intersectionOf [
                list:member [
                    rdf:type owl:Restriction ;
                    owl:onProperty id:609096000 ;
                    owl:someValuesFrom [
                        owl:intersectionOf [
                            list:member [
                                rdf:type owl:Restriction ;
                                owl:onProperty id:363698007 ;
                                owl:someValuesFrom ?site
                            ]
                        ]
                    ]
                ]
            ]
        ]
    }

The data is not ours so we can't make everything lists.

Reply via email to