customer-transaction-records.rq 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. PREFIX gesli: <https://gesli.example/ontology#>
  2. PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
  3. SELECT ?transactionNo ?inquiryNo ?dealStatus ?isWon ?customerName ?counterpartyName
  4. ?orderNo ?routeName ?brandName ?productName ?supplierName ?offeringChannel
  5. ?transportMode ?transportSubMode ?serviceForm ?routeType ?supplierCostAmount
  6. ?aiRecommendedAmount ?customerPremiumAmount ?salespersonAdjustmentAmount ?finalQuoteAmount
  7. ?quotedAmount ?marketAmount ?dealAmount ?currency ?lossReason
  8. ?pickupLocation ?deliveryLocation ?cargoName ?dangerousGoodsClass
  9. ?cargoVolume ?portToPortTransitDays ?doorToDoorTransitDays
  10. ?grossMarginRate ?grossMarginAmount
  11. WHERE {
  12. ?record a gesli:CustomerTransactionRecord ;
  13. gesli:transactionNo ?transactionNo ;
  14. gesli:transactionCustomer ?customer ;
  15. gesli:transactionCounterparty ?counterparty ;
  16. gesli:routeName ?routeName .
  17. ?customer rdfs:label ?customerName .
  18. ?counterparty rdfs:label ?counterpartyName .
  19. OPTIONAL { ?record gesli:inquiryNo ?inquiryNo . }
  20. OPTIONAL { ?record gesli:dealStatus ?dealStatus . }
  21. OPTIONAL { ?record gesli:isWon ?isWon . }
  22. OPTIONAL { ?record gesli:orderNo ?orderNo . }
  23. OPTIONAL { ?record gesli:quotedAmount ?quotedAmount . }
  24. OPTIONAL { ?record gesli:marketAmount ?marketAmount . }
  25. OPTIONAL { ?record gesli:dealAmount ?dealAmount . }
  26. OPTIONAL { ?record gesli:currency ?currency . }
  27. OPTIONAL { ?record gesli:lossReason ?lossReason . }
  28. OPTIONAL {
  29. ?record gesli:selectedServiceProductRef ?product .
  30. ?product gesli:productName ?productName ;
  31. gesli:transportMode ?transportMode ;
  32. gesli:transportSubMode ?transportSubMode ;
  33. gesli:serviceForm ?serviceForm ;
  34. gesli:routeType ?routeType .
  35. OPTIONAL {
  36. ?product gesli:hasServiceBrand ?brand .
  37. ?brand gesli:brandName ?brandName .
  38. }
  39. }
  40. OPTIONAL {
  41. ?record gesli:selectedSupplierOffering ?offering .
  42. ?offering gesli:offeredBySupplier ?supplier .
  43. ?supplier rdfs:label ?supplierName .
  44. OPTIONAL { ?offering gesli:offeringChannel ?offeringChannel . }
  45. }
  46. OPTIONAL {
  47. ?record gesli:usesSupplierQuote ?supplierQuote .
  48. ?supplierQuote gesli:supplierCostAmount ?supplierCostAmount .
  49. }
  50. OPTIONAL {
  51. ?record gesli:hasCustomerQuote ?customerQuote .
  52. ?customerQuote gesli:usesRecommendedPrice ?recommendedPrice ;
  53. gesli:finalQuoteAmount ?finalQuoteAmount .
  54. ?recommendedPrice gesli:aiRecommendedAmount ?aiRecommendedAmount .
  55. OPTIONAL { ?customerQuote gesli:salespersonAdjustmentAmount ?salespersonAdjustmentAmount . }
  56. OPTIONAL {
  57. ?customerQuote gesli:usesPremiumDecision ?premiumDecision .
  58. ?premiumDecision gesli:customerPremiumAmount ?customerPremiumAmount .
  59. }
  60. }
  61. OPTIONAL { ?record gesli:pickupLocation ?pickupLocation . }
  62. OPTIONAL { ?record gesli:deliveryLocation ?deliveryLocation . }
  63. OPTIONAL { ?record gesli:cargoName ?cargoName . }
  64. OPTIONAL { ?record gesli:dangerousGoodsClass ?dangerousGoodsClass . }
  65. OPTIONAL { ?record gesli:cargoVolume ?cargoVolume . }
  66. OPTIONAL { ?record gesli:portToPortTransitDays ?portToPortTransitDays . }
  67. OPTIONAL { ?record gesli:doorToDoorTransitDays ?doorToDoorTransitDays . }
  68. OPTIONAL { ?record gesli:grossMarginRate ?grossMarginRate . }
  69. OPTIONAL { ?record gesli:grossMarginAmount ?grossMarginAmount . }
  70. }
  71. ORDER BY ?transactionNo