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

SELECT ?customerName ?country ?region ?industry ?routeName ?quoteWinRate
       ?dealPriceMarketPriceRatio ?repeatPurchaseCount ?grossMarginRate
       ?creditTermDays ?overdueDays ?notificationRequirement
WHERE {
  ?customer a gesli:Customer ;
            rdfs:label ?customerName .

  OPTIONAL {
    ?customer gesli:hasBasicInfo ?basic .
    ?basic gesli:country ?country ;
           gesli:region ?region .
  }

  OPTIONAL {
    ?customer gesli:hasTradeProfile ?trade .
    ?trade gesli:industry ?industry ;
           gesli:routeName ?routeName ;
           gesli:quoteWinRate ?quoteWinRate ;
           gesli:dealPriceMarketPriceRatio ?dealPriceMarketPriceRatio ;
           gesli:repeatPurchaseCount ?repeatPurchaseCount ;
           gesli:grossMarginRate ?grossMarginRate .
  }

  OPTIONAL {
    ?customer gesli:hasCreditProfile ?credit .
    ?credit gesli:creditTermDays ?creditTermDays ;
            gesli:overdueDays ?overdueDays .
  }

  OPTIONAL {
    ?customer gesli:hasServiceProfile ?service .
    ?service gesli:notificationRequirement ?notificationRequirement .
  }
}
ORDER BY ?customerName
