map_prodcom_bulk_sold.dlog 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. # Basic info from "PRODQNT"
  2. :DirectObservation[?ID] ,
  3. [?ID, :objectDirectlyDefinedBy, ?Object] ,
  4. [?ID, :hasTimePeriod, ?TimePeriod] ,
  5. [?ID, :hasRole, :SoldProduction] ,
  6. [?ID, :partOfDataset, ufpc:PRODCOM] ,
  7. [?ID, :bound, :ExactBound]
  8. :-
  9. ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
  10. FILTER(?Indicators = "PRODQNT" || (?Indicators = "PQNTFLAG" && ?ObsValue = ":C")),
  11. BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, "PRODQNT")))) AS ?ID),
  12. BIND(IRI(CONCAT(STR(ufpc2017:), "Object-", ?PRCCODE)) AS ?Object) ,
  13. BIND(IRI(CONCAT(STR(:), "TimePeriod_YearOf", ?Year)) AS ?TimePeriod) .
  14. [?ID, :hasRegion, ?Region]
  15. :-
  16. ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
  17. ufrd:GEONAMES(?Decl, ?RegionID) ,
  18. FILTER(?RegionID != "0"),
  19. BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, ?Indicators)))) AS ?ID),
  20. BIND(IRI(CONCAT(STR(gnd:), STR(?RegionID))) AS ?Region) .
  21. [?ID, :hasRegion, ?Region]
  22. :-
  23. ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
  24. ufrd:GEONAMES(?Decl, ?RegionID) ,
  25. FILTER(?RegionID = "0"),
  26. BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, ?Indicators)))) AS ?ID),
  27. BIND(IRI(CONCAT(STR(ufpc:), "Region-", STR(?Decl))) AS ?Region) .
  28. # Additional info from other rows about units and flags
  29. ufu:NG(?ID, ufu:measurementUnit, ?Measurement)
  30. :-
  31. ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
  32. FILTER(?Indicators = "PRODQNT"),
  33. BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, ?Indicators)))) AS ?ID) ,
  34. :DirectObservation[?ID] ,
  35. # Don't use the measurement value when there is a "confidential" flag,
  36. # this means that a zero value really means "missing"
  37. NOT [?ID, :measurementFlag, ":C"],
  38. BIND(xsd:decimal(?ObsValue) AS ?Measurement).
  39. ufu:NG(?ID, ufu:unit, ?UnitID)
  40. :-
  41. ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
  42. FILTER(?Indicators = "QNTUNIT"),
  43. BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, "PRODQNT")))) AS ?ID) ,
  44. :DirectObservation[?ID] ,
  45. BIND(IRI(CONCAT(STR(:), "Unit-", SHA256(?ObsValue))) AS ?UnitID) .
  46. [?ID, :measurementFlag, ?ObsValue]
  47. :-
  48. ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
  49. FILTER(?Indicators = "PQNTFLAG"),
  50. BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, "PRODQNT")))) AS ?ID) ,
  51. :DirectObservation[?ID] .
  52. # EU prefix: "http://data.europa.eu/qw1/prodcom2021/"