Skip to content

Commit 8b8ba2a

Browse files
committed
Fix missing AwardCriterion threshold Constraint linkage
This occurs due to an unwarranted connection to Constraint from SelectionCriterion and missing AwardCriterion TriplesMap for ND-LotAwardThresholdCriterionParameter `number-threshold`. Affects BT-5423-Lot and BT-541-Lot-ThresholdNumber. Issue can be observed in notice 775926-2023 (CN v1.10). There is also a missing linkage for the ND-LotAwardFixedCriterionParameter number-fixed counterpart, affecting BT-5422-Lot and BT-541-Lot-FixedNumber, due to duplicate connection for the ND-LotAwardWeightCriterionParameter `number-weight` counterpart. This is not evident in the above notice but may be in others. Fixes gh-154.
1 parent b2e7887 commit 8b8ba2a

11 files changed

Lines changed: 484 additions & 176 deletions

File tree

  • mappings
    • package_eforms_sdk1.10_epo4.0/transformation/mappings
    • package_eforms_sdk1.11_epo4.0/transformation/mappings
    • package_eforms_sdk1.12_epo4.0/transformation/mappings
    • package_eforms_sdk1.13_epo4.0/transformation/mappings
    • package_eforms_sdk1.3_epo4.0/transformation/mappings
    • package_eforms_sdk1.5_epo4.0/transformation/mappings
    • package_eforms_sdk1.6_epo4.0/transformation/mappings
    • package_eforms_sdk1.7_epo4.0/transformation/mappings
    • package_eforms_sdk1.8_epo4.0/transformation/mappings
    • package_eforms_sdk1.9_epo4.0/transformation/mappings
  • src/mappings

mappings/package_eforms_sdk1.10_epo4.0/transformation/mappings/Lot.rml.ttl

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
454454
];
455455
rr:predicateObjectMap
456456
[
457-
rdfs:label "BT-5421 and BT-541";
457+
rdfs:label "BT-5421-Lot and BT-541-Lot-WeightNumber";
458458
rr:predicate epo:specifiesProcurementCriterion;
459459
rr:objectMap
460460
[
@@ -465,13 +465,26 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
465465
];
466466
] ;
467467
];
468+
rr:predicateObjectMap
469+
[
470+
rdfs:label "BT-5423-Lot and BT-541-Lot-ThresholdNumber";
471+
rr:predicate epo:specifiesProcurementCriterion;
472+
rr:objectMap
473+
[
474+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter;
475+
rr:joinCondition [
476+
rr:child "path(.)";
477+
rr:parent "path(../../../../../../../../..)";
478+
];
479+
] ;
480+
];
468481
rr:predicateObjectMap
469482
[
470483
rdfs:label "BT-5422-Lot and BT-541-Lot-FixedNumber";
471484
rr:predicate epo:specifiesProcurementCriterion;
472485
rr:objectMap
473486
[
474-
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriterionParameter;
487+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter;
475488
rr:joinCondition [
476489
rr:child "path(.)";
477490
rr:parent "path(../../../../../../../../..)";
@@ -2217,20 +2230,6 @@ tedm:MG-SelectionCriterion-specifiesProcurementCriterion-Lot_ND-SelectionCriteri
22172230
rr:datatype xsd:boolean;
22182231
] ;
22192232
];
2220-
rr:predicateObjectMap
2221-
[
2222-
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2223-
rr:predicate epo:hasConstraint ;
2224-
rr:objectMap
2225-
[
2226-
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2227-
rr:joinCondition [
2228-
rr:child "path(.)";
2229-
rr:parent "path(../../../../../../../../..)" ;
2230-
];
2231-
] ;
2232-
]
2233-
22342233
.
22352234

22362235
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardCriterion a rr:TriplesMap ;
@@ -2359,6 +2358,35 @@ tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriter
23592358
] ;
23602359
.
23612360

2361+
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter a rr:TriplesMap ;
2362+
rdfs:label "MG-AwardCriterion";
2363+
rml:logicalSource
2364+
[
2365+
rml:source "data/source.xml" ;
2366+
rml:iterator "/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingTerms/cac:AwardingTerms/cac:AwardingCriterion/cac:SubordinateAwardingCriterion/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:AwardCriterionParameter[efbc:ParameterCode/@listName='number-threshold']";
2367+
rml:referenceFormulation ql:XPath
2368+
];
2369+
rr:subjectMap
2370+
[
2371+
rdfs:label "ND-LotAwardThresholdCriterionParameter";
2372+
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_AwardCriterion_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path(../../../../..)) || '?response_type=raw')}" ;
2373+
rr:class epo:AwardCriterion
2374+
] ;
2375+
rr:predicateObjectMap
2376+
[
2377+
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2378+
rr:predicate epo:hasConstraint ;
2379+
rr:objectMap
2380+
[
2381+
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2382+
rr:joinCondition [
2383+
rr:child "path(.)";
2384+
rr:parent "path(.)" ;
2385+
];
2386+
] ;
2387+
];
2388+
.
2389+
23622390
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter a rr:TriplesMap ;
23632391
rdfs:label "MG-AwardCriterion";
23642392
rml:logicalSource

mappings/package_eforms_sdk1.11_epo4.0/transformation/mappings/Lot.rml.ttl

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
454454
];
455455
rr:predicateObjectMap
456456
[
457-
rdfs:label "BT-5421 and BT-541";
457+
rdfs:label "BT-5421-Lot and BT-541-Lot-WeightNumber";
458458
rr:predicate epo:specifiesProcurementCriterion;
459459
rr:objectMap
460460
[
@@ -465,13 +465,26 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
465465
];
466466
] ;
467467
];
468+
rr:predicateObjectMap
469+
[
470+
rdfs:label "BT-5423-Lot and BT-541-Lot-ThresholdNumber";
471+
rr:predicate epo:specifiesProcurementCriterion;
472+
rr:objectMap
473+
[
474+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter;
475+
rr:joinCondition [
476+
rr:child "path(.)";
477+
rr:parent "path(../../../../../../../../..)";
478+
];
479+
] ;
480+
];
468481
rr:predicateObjectMap
469482
[
470483
rdfs:label "BT-5422-Lot and BT-541-Lot-FixedNumber";
471484
rr:predicate epo:specifiesProcurementCriterion;
472485
rr:objectMap
473486
[
474-
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriterionParameter;
487+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter;
475488
rr:joinCondition [
476489
rr:child "path(.)";
477490
rr:parent "path(../../../../../../../../..)";
@@ -2217,20 +2230,6 @@ tedm:MG-SelectionCriterion-specifiesProcurementCriterion-Lot_ND-SelectionCriteri
22172230
rr:datatype xsd:boolean;
22182231
] ;
22192232
];
2220-
rr:predicateObjectMap
2221-
[
2222-
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2223-
rr:predicate epo:hasConstraint ;
2224-
rr:objectMap
2225-
[
2226-
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2227-
rr:joinCondition [
2228-
rr:child "path(.)";
2229-
rr:parent "path(../../../../../../../../..)" ;
2230-
];
2231-
] ;
2232-
]
2233-
22342233
.
22352234

22362235
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardCriterion a rr:TriplesMap ;
@@ -2359,6 +2358,35 @@ tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriter
23592358
] ;
23602359
.
23612360

2361+
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter a rr:TriplesMap ;
2362+
rdfs:label "MG-AwardCriterion";
2363+
rml:logicalSource
2364+
[
2365+
rml:source "data/source.xml" ;
2366+
rml:iterator "/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingTerms/cac:AwardingTerms/cac:AwardingCriterion/cac:SubordinateAwardingCriterion/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:AwardCriterionParameter[efbc:ParameterCode/@listName='number-threshold']";
2367+
rml:referenceFormulation ql:XPath
2368+
];
2369+
rr:subjectMap
2370+
[
2371+
rdfs:label "ND-LotAwardThresholdCriterionParameter";
2372+
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_AwardCriterion_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path(../../../../..)) || '?response_type=raw')}" ;
2373+
rr:class epo:AwardCriterion
2374+
] ;
2375+
rr:predicateObjectMap
2376+
[
2377+
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2378+
rr:predicate epo:hasConstraint ;
2379+
rr:objectMap
2380+
[
2381+
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2382+
rr:joinCondition [
2383+
rr:child "path(.)";
2384+
rr:parent "path(.)" ;
2385+
];
2386+
] ;
2387+
];
2388+
.
2389+
23622390
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter a rr:TriplesMap ;
23632391
rdfs:label "MG-AwardCriterion";
23642392
rml:logicalSource

mappings/package_eforms_sdk1.12_epo4.0/transformation/mappings/Lot.rml.ttl

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
454454
];
455455
rr:predicateObjectMap
456456
[
457-
rdfs:label "BT-5421 and BT-541";
457+
rdfs:label "BT-5421-Lot and BT-541-Lot-WeightNumber";
458458
rr:predicate epo:specifiesProcurementCriterion;
459459
rr:objectMap
460460
[
@@ -465,13 +465,26 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
465465
];
466466
] ;
467467
];
468+
rr:predicateObjectMap
469+
[
470+
rdfs:label "BT-5423-Lot and BT-541-Lot-ThresholdNumber";
471+
rr:predicate epo:specifiesProcurementCriterion;
472+
rr:objectMap
473+
[
474+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter;
475+
rr:joinCondition [
476+
rr:child "path(.)";
477+
rr:parent "path(../../../../../../../../..)";
478+
];
479+
] ;
480+
];
468481
rr:predicateObjectMap
469482
[
470483
rdfs:label "BT-5422-Lot and BT-541-Lot-FixedNumber";
471484
rr:predicate epo:specifiesProcurementCriterion;
472485
rr:objectMap
473486
[
474-
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriterionParameter;
487+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter;
475488
rr:joinCondition [
476489
rr:child "path(.)";
477490
rr:parent "path(../../../../../../../../..)";
@@ -2217,20 +2230,6 @@ tedm:MG-SelectionCriterion-specifiesProcurementCriterion-Lot_ND-SelectionCriteri
22172230
rr:datatype xsd:boolean;
22182231
] ;
22192232
];
2220-
rr:predicateObjectMap
2221-
[
2222-
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2223-
rr:predicate epo:hasConstraint ;
2224-
rr:objectMap
2225-
[
2226-
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2227-
rr:joinCondition [
2228-
rr:child "path(.)";
2229-
rr:parent "path(../../../../../../../../..)" ;
2230-
];
2231-
] ;
2232-
]
2233-
22342233
.
22352234

22362235
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardCriterion a rr:TriplesMap ;
@@ -2359,6 +2358,35 @@ tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriter
23592358
] ;
23602359
.
23612360

2361+
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter a rr:TriplesMap ;
2362+
rdfs:label "MG-AwardCriterion";
2363+
rml:logicalSource
2364+
[
2365+
rml:source "data/source.xml" ;
2366+
rml:iterator "/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingTerms/cac:AwardingTerms/cac:AwardingCriterion/cac:SubordinateAwardingCriterion/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:AwardCriterionParameter[efbc:ParameterCode/@listName='number-threshold']";
2367+
rml:referenceFormulation ql:XPath
2368+
];
2369+
rr:subjectMap
2370+
[
2371+
rdfs:label "ND-LotAwardThresholdCriterionParameter";
2372+
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_AwardCriterion_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path(../../../../..)) || '?response_type=raw')}" ;
2373+
rr:class epo:AwardCriterion
2374+
] ;
2375+
rr:predicateObjectMap
2376+
[
2377+
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2378+
rr:predicate epo:hasConstraint ;
2379+
rr:objectMap
2380+
[
2381+
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2382+
rr:joinCondition [
2383+
rr:child "path(.)";
2384+
rr:parent "path(.)" ;
2385+
];
2386+
] ;
2387+
];
2388+
.
2389+
23622390
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter a rr:TriplesMap ;
23632391
rdfs:label "MG-AwardCriterion";
23642392
rml:logicalSource

mappings/package_eforms_sdk1.13_epo4.0/transformation/mappings/Lot.rml.ttl

Lines changed: 44 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -454,7 +454,7 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
454454
];
455455
rr:predicateObjectMap
456456
[
457-
rdfs:label "BT-5421 and BT-541";
457+
rdfs:label "BT-5421-Lot and BT-541-Lot-WeightNumber";
458458
rr:predicate epo:specifiesProcurementCriterion;
459459
rr:objectMap
460460
[
@@ -465,13 +465,26 @@ tedm:MG-Lot_ND-Lot a rr:TriplesMap ;
465465
];
466466
] ;
467467
];
468+
rr:predicateObjectMap
469+
[
470+
rdfs:label "BT-5423-Lot and BT-541-Lot-ThresholdNumber";
471+
rr:predicate epo:specifiesProcurementCriterion;
472+
rr:objectMap
473+
[
474+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter;
475+
rr:joinCondition [
476+
rr:child "path(.)";
477+
rr:parent "path(../../../../../../../../..)";
478+
];
479+
] ;
480+
];
468481
rr:predicateObjectMap
469482
[
470483
rdfs:label "BT-5422-Lot and BT-541-Lot-FixedNumber";
471484
rr:predicate epo:specifiesProcurementCriterion;
472485
rr:objectMap
473486
[
474-
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriterionParameter;
487+
rr:parentTriplesMap tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter;
475488
rr:joinCondition [
476489
rr:child "path(.)";
477490
rr:parent "path(../../../../../../../../..)";
@@ -2217,20 +2230,6 @@ tedm:MG-SelectionCriterion-specifiesProcurementCriterion-Lot_ND-SelectionCriteri
22172230
rr:datatype xsd:boolean;
22182231
] ;
22192232
];
2220-
rr:predicateObjectMap
2221-
[
2222-
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2223-
rr:predicate epo:hasConstraint ;
2224-
rr:objectMap
2225-
[
2226-
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2227-
rr:joinCondition [
2228-
rr:child "path(.)";
2229-
rr:parent "path(../../../../../../../../..)" ;
2230-
];
2231-
] ;
2232-
]
2233-
22342233
.
22352234

22362235
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardCriterion a rr:TriplesMap ;
@@ -2359,6 +2358,35 @@ tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardWeightCriter
23592358
] ;
23602359
.
23612360

2361+
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter a rr:TriplesMap ;
2362+
rdfs:label "MG-AwardCriterion";
2363+
rml:logicalSource
2364+
[
2365+
rml:source "data/source.xml" ;
2366+
rml:iterator "/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingTerms/cac:AwardingTerms/cac:AwardingCriterion/cac:SubordinateAwardingCriterion/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:AwardCriterionParameter[efbc:ParameterCode/@listName='number-threshold']";
2367+
rml:referenceFormulation ql:XPath
2368+
];
2369+
rr:subjectMap
2370+
[
2371+
rdfs:label "ND-LotAwardThresholdCriterionParameter";
2372+
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_AwardCriterion_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path(../../../../..)) || '?response_type=raw')}" ;
2373+
rr:class epo:AwardCriterion
2374+
] ;
2375+
rr:predicateObjectMap
2376+
[
2377+
rdfs:label "BT-5423-Lot,BT-541-Lot-ThresholdNumber" ;
2378+
rr:predicate epo:hasConstraint ;
2379+
rr:objectMap
2380+
[
2381+
rr:parentTriplesMap tedm:MG-Constraint-hasConstraint-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardThresholdCriterionParameter ;
2382+
rr:joinCondition [
2383+
rr:child "path(.)";
2384+
rr:parent "path(.)" ;
2385+
];
2386+
] ;
2387+
];
2388+
.
2389+
23622390
tedm:MG-AwardCriterion-specifiesProcurementCriterion-Lot_ND-LotAwardFixedCriterionParameter a rr:TriplesMap ;
23632391
rdfs:label "MG-AwardCriterion";
23642392
rml:logicalSource

0 commit comments

Comments
 (0)