@@ -1290,7 +1290,10 @@ tedm:MG-EAuctionTechnique-usesTechnique-Lot_ND-AuctionTerms a rr:TriplesMap ;
12901290 rr:subjectMap
12911291 [
12921292 rdfs:label " ND-AuctionTerms" ;
1293- rr:template " http://data.europa.eu/a4g/resource/{/*/cbc:ID[@schemeName='notice-id']}-{/*/cbc:VersionID}/AuctionTerms${replace(translate(path(), concat(codepoints-to-string(123), codepoints-to-string(125), '/[]'), ' _'), 'Q .*? ', '')}" ;
1293+ # Avoid type-only epo:EAuctionTechnique:
1294+ # Only instantiate when we can also emit at least one predicate (currently: epo:hasUsage).
1295+ # Here: create only when the auction is actually used (true/1).
1296+ rml:reference " if (lower-case(cbc:AuctionConstraintIndicator) = ('true','1')) then 'http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || '/AuctionTerms$' || replace(translate(path(), concat(codepoints-to-string(123), codepoints-to-string(125), '/[]'), ' _'), 'Q .*? ', '') else null" ;
12941297 rr:class epo:EAuctionTechnique ;
12951298 ] ;
12961299 rr:predicateObjectMap
@@ -1302,14 +1305,7 @@ tedm:MG-EAuctionTechnique-usesTechnique-Lot_ND-AuctionTerms a rr:TriplesMap ;
13021305 [
13031306 rdfs:label " at-voc:usage" ;
13041307 rdfs:comment " translation of 'true' to at-voc:usage:used" ;
1305- rml:reference " if(cbc:AuctionConstraintIndicator/text()='true') then 'http://publications.europa.eu/resource/authority/usage/used' else null" ;
1306- rr:termType rr:IRI
1307- ] ;
1308- rr:objectMap
1309- [
1310- rdfs:label " at-voc:usage" ;
1311- rdfs:comment " translation of 'false' to at-voc:usage:n-used" ;
1312- rml:reference " if(cbc:AuctionConstraintIndicator/text()='false') then 'http://publications.europa.eu/resource/authority/usage/n-used' else null" ;
1308+ rml:reference " if (lower-case(cbc:AuctionConstraintIndicator) = ('true','1')) then 'http://publications.europa.eu/resource/authority/usage/used' else null" ;
13131309 rr:termType rr:IRI
13141310 ] ;
13151311 ] ;
@@ -1438,7 +1434,7 @@ tedm:MG-DynamicPurchaseSystemTechnique-usesTechnique-Lot_ND-LotTenderingProcess
14381434 [
14391435 rdfs:label " ND-LotTenderingProcess" ;
14401436 # INFO: forbidden in subtypes 1-6, 14-15, 19, 23-24, 28, 32, 35-40, CEI, E1-E2, E6, T01-T02
1441- rml:reference " if (exists(cac:ContractingSystem/cbc:ContractingSystemTypeCode)) then 'http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || '/DynamicPurchaseSystemTechnicalUsage$' || replace(replace(replace(path(), 'Q\\{[^}]+\\}', ''), '\\[([0-9]+)\\]', '$1'), '/', '_') else null" ;
1437+ rml:reference " if (exists(cac:ContractingSystem/cbc:ContractingSystemTypeCode[@listName='dps-usage'] )) then 'http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || '/DynamicPurchaseSystemTechnicalUsage$' || replace(replace(replace(path(), 'Q\\{[^}]+\\}', ''), '\\[([0-9]+)\\]', '$1'), '/', '_') else null" ;
14421438 rr:class epo:DynamicPurchaseSystemTechnique
14431439 ] ;
14441440 rr:predicateObjectMap
@@ -1613,7 +1609,7 @@ tedm:MG-MultipleStageProcedureTerm-isSubjectToLotSpecificTerm-Lot_ND-SecondStage
16131609 rr:subjectMap
16141610 [
16151611 rdfs:label " ND-SecondStage" ;
1616- rml:reference " if (exists(cbc:LimitationDescription) or exists(cbc: MaximumQuantity) or exists(cbc:MinimumQuantity)) then 'http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || '/MultipleStageProcedureTerm$' || replace(replace(replace(path(../..), 'Q\\{[^}]+\\}', ''), '\\[([0-9]+)\\]', '$1'), '/', '_') else null" ;
1612+ rml:reference " if (exists(cbc:MaximumQuantity) or exists(cbc:MinimumQuantity)) then 'http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || '/MultipleStageProcedureTerm$' || replace(replace(replace(path(../..), 'Q\\{[^}]+\\}', ''), '\\[([0-9]+)\\]', '$1'), '/', '_') else null" ;
16171613 rr:class epo:MultipleStageProcedureTerm
16181614 ] ;
16191615 rr:predicateObjectMap
@@ -3040,7 +3036,7 @@ tedm:MG-ContractTerm-foreseesContractSpecificTerm-Lot_ND-LotProcurementScope a r
30403036 rr:subjectMap
30413037 [
30423038 rdfs:label " ND-LotProcurementScope" ;
3043- rr:template " http://data.europa.eu/a4g/resource/{ /*/cbc:ID[@schemeName='notice-id']}-{ /*/cbc:VersionID} /ContractTerm${ replace(translate(path(..), concat(codepoints-to-string(123), codepoints-to-string(125), '/[]'), ' _'), 'Q .*? ', '')} " ;
3039+ rml:reference " if (exists(cbc:ProcurementTypeCode[@listName='contract-nature']) or exists(cac:PlannedPeriod/cbc:DurationMeasure) or exists(cac:PlannedPeriod/cbc:StartDate) or exists(cac:PlannedPeriod/cbc:EndDate) or exists(cac:PlannedPeriod/cbc:DescriptionCode)) then ' http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || ' /ContractTerm$' || replace(translate(path(..), concat(codepoints-to-string(123), codepoints-to-string(125), '/[]'), ' _'), 'Q .*? ', '') else null " ;
30443040 rr:class epo:ContractTerm
30453041 ] ;
30463042 rr:predicateObjectMap
@@ -3655,7 +3651,7 @@ rdfs:label "MG-StrategicProcurement";
36553651 rr:subjectMap
36563652 [
36573653 rdfs:label " ND-StrategicProcurementType" ;
3658- rr:template " http://data.europa.eu/a4g/resource/{ /*/cbc:ID[@schemeName='notice-id']}-{ /*/cbc:VersionID} /StrategicProcurement${ replace(translate( path(..), concat(codepoints-to-string(123), codepoints-to-string(125 ), '/[]') , ' _ '), 'Q .*? ', '')} " ;
3654+ rml:reference " if (cbc:ProcurementTypeCode/text()!='none') then ' http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || ' /StrategicProcurement$' || replace(replace(replace( path(..), 'Q\\{[^}]+\\}', '' ), '\\[([0-9]+)\\]' , '$1 '), '/ ', '_') else null " ;
36593655 rr:class epo:StrategicProcurement
36603656 ] ;
36613657 # rr:predicateObjectMap
@@ -3692,7 +3688,9 @@ rdfs:label "MG-StrategicProcurement";
36923688 rr:predicate rdf:type ;
36933689 rr:objectMap
36943690 [
3695- rml:reference " if (cbc:ProcurementTypeCode/text()='env-imp') then 'http://data.europa.eu/a4g/ontology#GreenProcurement' else null" ;
3691+ # NOTE: Avoid generating type-only GreenProcurement on StrategicProcurement.
3692+ # Details come from BT-774 via environmental-impact mapping (GreenProcurement fulfillsRequirement).
3693+ rml:reference " if (false()) then 'http://data.europa.eu/a4g/ontology#GreenProcurement' else null" ;
36963694 rr:termType rr:IRI ;
36973695 ] ;
36983696 rr:objectMap
@@ -4415,7 +4413,7 @@ tedm:MG-ContractTerm-foreseesContractSpecificTerm-Lot_ND-LotPlacePerformance a r
44154413 rr:subjectMap
44164414 [
44174415 rdfs:label " ND-LotProcurementScope" ;
4418- rr:template " http://data.europa.eu/a4g/resource/{ /*/cbc:ID[@schemeName='notice-id']}-{ /*/cbc:VersionID} /ContractTerm${ replace(translate(path(../.. ), concat(codepoints-to-string(123), codepoints-to-string(125), '/[]'), ' _'), 'Q .*? ', '')} " ;
4416+ rml:reference " if (exists(cbc:Description)) then ' http://data.europa.eu/a4g/resource/' || /*/cbc:ID[@schemeName='notice-id'] || '-' || /*/cbc:VersionID || ' /ContractTerm$' || replace(translate(path(), concat(codepoints-to-string(123), codepoints-to-string(125), '/[]'), ' _'), 'Q .*? ', '') else null " ;
44194417 rr:class epo:ContractTerm
44204418 ] ;
44214419 # rr:predicateObjectMap
0 commit comments