prefix bsbm: prefix bsbm-inst: prefix xsd: Select ?vendor (xsd:float(?belowAvg)/?offerCount As ?cheapExpensiveRatio) { { Select ?vendor (count(?offer) As ?belowAvg) { { ?product a %ProductType% . ?offer bsbm:product ?product . ?offer bsbm:vendor ?vendor . ?offer bsbm:price ?price . { Select ?product (avg(xsd:float(xsd:string(?price))) As ?avgPrice) { ?product a %ProductType% . ?offer bsbm:product ?product . ?offer bsbm:vendor ?vendor . ?offer bsbm:price ?price . } Group By ?product } } . FILTER (xsd:float(xsd:string(?price)) < ?avgPrice) } Group By ?vendor } { Select ?vendor (count(?offer) As ?offerCount) { ?product a %ProductType% . ?offer bsbm:product ?product . ?offer bsbm:vendor ?vendor . } Group By ?vendor } } Order by desc(xsd:float(?belowAvg)/?offerCount) ?vendor limit 10