|
@@ -0,0 +1,53 @@
|
|
|
+# Basic info from "PRODQNT"
|
|
|
+
|
|
|
+:DirectObservation[?ID] ,
|
|
|
+[?ID, :objectDirectlyDefinedBy, ?Object] ,
|
|
|
+[?ID, :hasRegion, ?Region] ,
|
|
|
+[?ID, :hasTimePeriod, ?TimePeriod] ,
|
|
|
+[?ID, :hasRole, :SoldProduction] ,
|
|
|
+[?ID, :partOfDataset, ufpc:PRODCOM] ,
|
|
|
+[?ID, :bound, :ExactBound]
|
|
|
+ :-
|
|
|
+ ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
|
|
|
+ FILTER(?Indicators = "PRODQNT"),
|
|
|
+ BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, ?Indicators)))) AS ?ID),
|
|
|
+ BIND(IRI(CONCAT(STR(ufpc:), "Object-", ?PRCCODE)) AS ?Object) ,
|
|
|
+ BIND(IRI(CONCAT(STR(gnd:), "TODO-GN-CODE-", ?Decl)) AS ?Region),
|
|
|
+ BIND(IRI(CONCAT(STR(:), "TimePeriod_YearOf", ?Year)) AS ?TimePeriod) .
|
|
|
+
|
|
|
+
|
|
|
+# Additional info from other rows about units and flags
|
|
|
+
|
|
|
+ufu:NG(?ID, ufu:measurementUnit, ?Measurement)
|
|
|
+ :-
|
|
|
+ ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
|
|
|
+ FILTER(?Indicators = "PRODQNT"),
|
|
|
+ BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, ?Indicators)))) AS ?ID) ,
|
|
|
+ :DirectObservation[?ID] ,
|
|
|
+
|
|
|
+ # Don't use the measurement value when there is a "confidential" flag,
|
|
|
+ # this means that a zero value really means "missing"
|
|
|
+ NOT [?ID, :measurementFlag, ":C"],
|
|
|
+
|
|
|
+ BIND(xsd:decimal(?ObsValue) AS ?Measurement).
|
|
|
+
|
|
|
+
|
|
|
+ufu:NG(?ID, ufu:unit, ?UnitID)
|
|
|
+ :-
|
|
|
+ ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
|
|
|
+ FILTER(?Indicators = "QNTUNIT"),
|
|
|
+ BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, "PRODQNT")))) AS ?ID) ,
|
|
|
+ :DirectObservation[?ID] ,
|
|
|
+ BIND(IRI(CONCAT(STR(:), "Unit-", SHA256(?ObsValue))) AS ?UnitID) .
|
|
|
+
|
|
|
+
|
|
|
+[?ID, :measurementFlag, ?ObsValue]
|
|
|
+ :-
|
|
|
+ ufrd:PRODCOM_DATA_NEW(?Decl, ?Year, ?PRCCODE, ?Indicators, ?ObsValue, ?ObsFlag),
|
|
|
+ FILTER(?Indicators = "PQNTFLAG"),
|
|
|
+ BIND(IRI(CONCAT(STR(ufpcd:), ?Year, "/Observation-", SHA256(CONCAT(?Decl, ?Year, ?PRCCODE, "PRODQNT")))) AS ?ID) ,
|
|
|
+ :DirectObservation[?ID] .
|
|
|
+
|
|
|
+
|
|
|
+# EU prefix: "http://data.europa.eu/qw1/prodcom2021/"
|
|
|
+
|