PREFIX gesli: <https://gesli.example/ontology#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?kind ?resource ?amount ?currency ?validFrom ?validTo ?origin ?destination
       ?strategyName ?strategyObjective ?strategyAdjustmentRate
WHERE {
  {
    ?resource a gesli:MarketPriceBenchmark ;
              gesli:marketBenchmarkAmount ?amount ;
              gesli:currency ?currency .
    OPTIONAL { ?resource gesli:originLocation ?origin . }
    OPTIONAL { ?resource gesli:destinationLocation ?destination . }
    OPTIONAL { ?resource gesli:validFrom ?validFrom . }
    OPTIONAL { ?resource gesli:validTo ?validTo . }
    BIND("benchmark" AS ?kind)
  }
  UNION
  {
    ?resource a/rdfs:subClassOf* gesli:ProductStrategy ;
              gesli:strategyName ?strategyName ;
              gesli:strategyObjective ?strategyObjective ;
              gesli:strategyEnabled true ;
              gesli:strategyAdjustmentRate ?strategyAdjustmentRate .
    OPTIONAL { ?resource gesli:strategyScopeOrigin ?origin . }
    OPTIONAL { ?resource gesli:strategyScopeDestination ?destination . }
    OPTIONAL { ?resource gesli:validFrom ?validFrom . }
    OPTIONAL { ?resource gesli:validTo ?validTo . }
    BIND("strategy" AS ?kind)
  }
}
