PREFIX dcat: PREFIX odp: PREFIX dc: PREFIX xsd: PREFIX foaf: PREFIX bud: SELECT ?ArAlias ?Article_Heading ?Amount ?Year ?A_Type FROM WHERE { { SELECT str(?ArAlias) AS ?ArAlias str(?ArHeading) AS ?Article_Heading REPLACE(xsd:string(?A_Type), '.*[/#]', '') AS ?A_Type xsd:decimal(?MV_Value) AS ?Amount sum(xsd:decimal(REPLACE(REPLACE(str(?MV_Value),' ',''),',','.'))) AS ?Amount_a str(?A_Year) AS ?Year WHERE { { ?Article a bud:Article. ?Article bud:alias ?ArAlias. ?Article bud:heading ?ArHeading. FILTER (lang (?ArHeading) = 'en'). ?Article bud:hasAmount ?Amount. ?Amount bud:year ?A_Year. FILTER(str(?A_Year)="2018" OR str(?A_Year)="2017") ?Amount bud:hasPoliticalCategory ?A_CatPol. ?Amount a ?A_Type. ?Amount bud:figure ?MonetaryValue. ?MonetaryValue bud:value ?MV_Value. FILTER(REPLACE(xsd:string(?A_Type), '.*[/#]', '')="Commitment" OR REPLACE(xsd:string(?A_Type), '.*[/#]', '')="NonDifferenciated") } UNION { ?Article bud:alias ?ArAlias. ?Article bud:heading ?ArHeading. FILTER (lang (?ArHeading) = 'en'). ?Article bud:hasItem ?Item. ?Item bud:alias ?ItAlias. ?Item bud:heading ?ItHeading. FILTER (lang (?ItHeading) = 'en'). ?Item bud:hasAmount ?Amount. ?Amount bud:year ?A_Year. FILTER(str(?A_Year)="2018" OR str(?A_Year)="2017") ?Amount a ?A_Type. ?Amount bud:figure ?MonetaryValue. ?MonetaryValue bud:value ?MV_Value. FILTER(REPLACE(xsd:string(?A_Type), '.*[/#]', '')="Commitment" OR REPLACE(xsd:string(?A_Type), '.*[/#]', '')="NonDifferenciated") } } } } GROUP BY(?ArAlias) HAVING(?Amount_a >100000000) ORDER BY(?ArAlias) (?Year) (str(?Amount))