Skip to content

Commit b6fd9fa

Browse files
authored
Merge pull request #137 from OP-TED/feature/TEDSWS-314_exclusion-ground
[TEDSWS-314,359] Fix BT-67(b)-Procedure(-Language) ExclusionGround for v1.12+ w/ new vocab
2 parents 5587083 + d7bfcd4 commit b6fd9fa

File tree

47 files changed

+6098
-1061
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+6098
-1061
lines changed

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

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -3847,64 +3847,6 @@ tedm:MG-ReviewTerm-isSubjectToLotSpecificTerm-Lot_ND-LotReviewTerms a rr:Triples
38473847
] ;
38483848
.
38493849

3850-
# this is an example of an object referred to by multiple top-level subjects (all Lots) at orthogonal XPaths
3851-
tedm:MG-ExclusionGround-specifiesProcurementCriterion-Lot_ND-ExclusionGrounds a rr:TriplesMap ;
3852-
rdfs:label "MG-ExclusionGround";
3853-
rml:logicalSource
3854-
[
3855-
rml:source "data/source.xml" ;
3856-
rml:iterator "/*/cac:TenderingTerms/cac:TendererQualificationRequest/cac:SpecificTendererRequirement";
3857-
rml:referenceFormulation ql:XPath
3858-
] ;
3859-
rr:subjectMap
3860-
[
3861-
rdfs:label "ND-ExclusionGrounds";
3862-
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_ExclusionGround_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path()) || '?response_type=raw')}" ;
3863-
rr:class epo:ExclusionGround
3864-
3865-
] ;
3866-
rr:predicateObjectMap
3867-
[
3868-
rdfs:label "BT-67(a)-Procedure";
3869-
rdfs:comment "Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds";
3870-
rr:predicate dct:type;
3871-
rr:objectMap
3872-
[
3873-
rml:reference "cbc:TendererRequirementTypeCode[@listName='exclusion-ground']";
3874-
rdfs:label "at-voc:criterion" ;
3875-
rr:parentTriplesMap tedm:criterion ;
3876-
rr:joinCondition [
3877-
rr:child "cbc:TendererRequirementTypeCode[@listName='exclusion-ground']" ;
3878-
rr:parent "code.value" ;
3879-
] ;
3880-
] ;
3881-
] ;
3882-
# rr:predicateObjectMap
3883-
# [
3884-
# rdfs:label "BT-67(b)-Procedure";
3885-
# rdfs:comment "Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds";
3886-
# rr:predicate dct:description;
3887-
# rr:objectMap
3888-
# [
3889-
# rdfs:label "BT-67(b)-Procedure-Language";
3890-
# rdfs:comment "Language of Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds";
3891-
# rml:reference "cbc:Description";
3892-
# rml:languageMap [
3893-
# fnml:functionValue [
3894-
# rr:predicateObjectMap [
3895-
# rr:predicate idlab-fn:str ;
3896-
# rr:objectMap [ rml:reference "cbc:Description/@languageID" ]
3897-
# ] ,
3898-
# tedm:idlab-fn_executes_lookup ,
3899-
# tedm:idlab-fn_inputFile_language ,
3900-
# tedm:idlab-fn_fromColumn_code ,
3901-
# tedm:idlab-fn_toColumn_code
3902-
# ]
3903-
# ] ;
3904-
# ] ;
3905-
# ] ;
3906-
.
3907-
39083850
tedm:MG-ContractTerm-foreseesContractSpecificTerm-Lot_ND-LotContractAdditionalNature a rr:TriplesMap ;
39093851
rdfs:label "MG-ContractTerm";
39103852
rml:logicalSource
@@ -4803,43 +4745,6 @@ tedm:MG-langString-description-EAuctionTechnique-usesTechnique-Lot_ND-AuctionTer
48034745
] ;
48044746
rdfs:label "MG-EAuctionTechnique" .
48054747

4806-
tedm:MG-langString-description-ExclusionGround-specifiesProcurementCriterion-Lot_ND-ExclusionGrounds a rr:TriplesMap ;
4807-
rml:logicalSource [
4808-
rml:source "data/source.xml" ;
4809-
rml:iterator "/*/cac:TenderingTerms/cac:TendererQualificationRequest/cac:SpecificTendererRequirement/cbc:Description" ;
4810-
rml:referenceFormulation ql:XPath ;
4811-
] ;
4812-
rr:subjectMap [
4813-
rr:class epo-not:ExclusionGround ;
4814-
rdfs:label "ND-ExclusionGrounds" ;
4815-
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_ExclusionGround_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path(..)) || '?response_type=raw')}" ;
4816-
] ;
4817-
rr:predicateObjectMap [
4818-
rr:predicate dct:description ;
4819-
rr:objectMap [
4820-
rml:reference "." ;
4821-
rml:languageMap [
4822-
fnml:functionValue [
4823-
rr:predicateObjectMap [
4824-
rr:predicate idlab-fn:str ;
4825-
rr:objectMap [
4826-
rml:reference "@languageID" ;
4827-
] ;
4828-
] ;
4829-
rr:predicateObjectMap tedm:idlab-fn_executes_lookup ;
4830-
rr:predicateObjectMap tedm:idlab-fn_fromColumn_code ;
4831-
rr:predicateObjectMap tedm:idlab-fn_inputFile_language ;
4832-
rr:predicateObjectMap tedm:idlab-fn_toColumn_code ;
4833-
] ;
4834-
] ;
4835-
rdfs:comment "Language of Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds" ;
4836-
rdfs:label "BT-67(b)-Procedure-Language" ;
4837-
] ;
4838-
rdfs:comment "Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds" ;
4839-
rdfs:label "BT-67(b)-Procedure" ;
4840-
] ;
4841-
rdfs:label "MG-ExclusionGround" .
4842-
48434748
tedm:MG-langString-description-Fund-isFundedBy-Lot_ND-Funding a rr:TriplesMap ;
48444749
rml:logicalSource [
48454750
rml:source "data/source.xml" ;
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
#--- MG-Lot version-specific SDK v0-1.11 ---
2+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
3+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
4+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
5+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
6+
@prefix rr: <http://www.w3.org/ns/r2rml#> .
7+
@prefix rml: <http://semweb.mmlab.be/ns/rml#> .
8+
@prefix ql: <http://semweb.mmlab.be/ns/ql#> .
9+
@prefix locn: <http://www.w3.org/ns/locn#> .
10+
@prefix dct: <http://purl.org/dc/terms/> .
11+
@prefix tedm: <http://data.europa.eu/a4g/mapping/sf-rml/> .
12+
@prefix epd: <http://data.europa.eu/a4g/resource/> .
13+
@prefix epo: <http://data.europa.eu/a4g/ontology#> .
14+
@prefix epo-not: <http://data.europa.eu/a4g/ontology#>.
15+
@prefix cv: <http://data.europa.eu/m8g/> .
16+
@prefix cccev: <http://data.europa.eu/m8g/> .
17+
@prefix org: <http://www.w3.org/ns/org#> .
18+
@prefix cpov: <http://data.europa.eu/m8g/> .
19+
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
20+
@prefix time: <http://www.w3.org/2006/time#>.
21+
@prefix adms: <http://www.w3.org/ns/adms#> .
22+
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
23+
@prefix fnml: <http://semweb.mmlab.be/ns/fnml#> .
24+
@prefix fno: <https://w3id.org/function/ontology#> .
25+
@prefix idlab-fn: <http://example.com/idlab/function/> .
26+
27+
tedm:MG-GreenProcurement-fulfillsStrategicProcurement-Lot_ND-StrategicProcurementLot a rr:TriplesMap;
28+
rml:logicalSource
29+
[
30+
rml:source "data/source.xml" ;
31+
rml:iterator "/*/cac:ProcurementProjectLot[cbc:ID/@schemeName='Lot']/cac:TenderingTerms/ext:UBLExtensions/ext:UBLExtension/ext:ExtensionContent/efext:EformsExtension/efac:StrategicProcurement";
32+
rml:referenceFormulation ql:XPath
33+
];
34+
rr:predicateObjectMap
35+
[
36+
rdfs:label "BT-717-Lot";
37+
rdfs:comment "CleanVehiclesDirective of MG-GreenProcurement under ND-StrategicProcurementLot";
38+
rr:predicate epo:usesCleanVehicleDirective ;
39+
rr:objectMap
40+
[
41+
# while this field is introduced in 1.9,
42+
# the mapping is applicable since time immemorial
43+
# tedm:minSDKVersion "1.9.1" ;
44+
tedm:maxSDKVersion "1.12" ;
45+
rml:reference "efbc:ApplicableLegalBasis";
46+
rr:datatype xsd:boolean
47+
] ;
48+
]
49+
.
50+
51+
# this is an example of an object referred to by multiple top-level subjects (all Lots) at orthogonal XPaths
52+
tedm:MG-ExclusionGround-specifiesProcurementCriterion-Lot_ND-ExclusionGrounds a rr:TriplesMap ;
53+
rdfs:label "MG-ExclusionGround" ;
54+
rml:logicalSource
55+
[
56+
rml:source "data/source.xml" ;
57+
rml:iterator "/*/cac:TenderingTerms/cac:TendererQualificationRequest/cac:SpecificTendererRequirement" ;
58+
rml:referenceFormulation ql:XPath
59+
] ;
60+
rr:subjectMap
61+
[
62+
rdfs:label "ND-ExclusionGrounds" ;
63+
rml:reference "if(exists(cbc:Description) or exists(cbc:TendererRequirementTypeCode[@listName='exclusion-ground'])) then 'http://data.europa.eu/a4g/resource/id_' || replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-') || '_ExclusionGround_' || unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path()) || '?response_type=raw') else null" ;
64+
rr:class epo:ExclusionGround
65+
] ;
66+
rr:predicateObjectMap
67+
[
68+
rdfs:label "BT-67(a)-Procedure" ;
69+
rdfs:comment "Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds" ;
70+
rr:predicate dct:type ;
71+
rr:objectMap
72+
[
73+
tedm:maxSDKVersion "1.11" ;
74+
rdfs:label "at-voc:criterion" ;
75+
rr:parentTriplesMap tedm:criterion ;
76+
rr:joinCondition [
77+
rr:child "cbc:TendererRequirementTypeCode[@listName='exclusion-ground']" ;
78+
rr:parent "code.value" ;
79+
] ;
80+
] ;
81+
] ;
82+
# BT-67(b)-Procedure is in dedicated language TMap
83+
# rr:predicateObjectMap
84+
# [
85+
# rdfs:label "BT-67(b)-Procedure";
86+
# rdfs:comment "Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds";
87+
# rr:predicate dct:description;
88+
# rr:objectMap
89+
# [
90+
# rdfs:label "BT-67(b)-Procedure-Language";
91+
# rdfs:comment "Language of Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds";
92+
# rml:reference "cbc:Description";
93+
# rml:languageMap [
94+
# fnml:functionValue [
95+
# rr:predicateObjectMap [
96+
# rr:predicate idlab-fn:str ;
97+
# rr:objectMap [ rml:reference "cbc:Description/@languageID" ]
98+
# ] ,
99+
# tedm:idlab-fn_executes_lookup ,
100+
# tedm:idlab-fn_inputFile_language ,
101+
# tedm:idlab-fn_fromColumn_code ,
102+
# tedm:idlab-fn_toColumn_code
103+
# ]
104+
# ] ;
105+
# ] ;
106+
# ] ;
107+
.
108+
109+
tedm:MG-langString-description-ExclusionGround-specifiesProcurementCriterion-Lot_ND-ExclusionGrounds a rr:TriplesMap ;
110+
rml:logicalSource [
111+
rml:source "data/source.xml" ;
112+
rml:iterator "/*/cac:TenderingTerms/cac:TendererQualificationRequest/cac:SpecificTendererRequirement/cbc:Description" ;
113+
rml:referenceFormulation ql:XPath ;
114+
] ;
115+
rr:subjectMap [
116+
rr:class epo-not:ExclusionGround ;
117+
rdfs:label "ND-ExclusionGrounds" ;
118+
rr:template "http://data.europa.eu/a4g/resource/id_{replace(replace(/*/cbc:ID[@schemeName='notice-id'], ' ', '-' ), '/' , '-')}_ExclusionGround_{unparsed-text('https://digest-api.ted-data.eu/api/v1/hashing/fn/uuid/' || encode-for-uri(path(..)) || '?response_type=raw')}" ;
119+
] ;
120+
rr:predicateObjectMap [
121+
rr:predicate dct:description ;
122+
rr:objectMap [
123+
rml:reference "." ;
124+
rml:languageMap [
125+
fnml:functionValue [
126+
rr:predicateObjectMap [
127+
rr:predicate idlab-fn:str ;
128+
rr:objectMap [
129+
rml:reference "@languageID" ;
130+
] ;
131+
] ;
132+
rr:predicateObjectMap tedm:idlab-fn_executes_lookup ;
133+
rr:predicateObjectMap tedm:idlab-fn_fromColumn_code ;
134+
rr:predicateObjectMap tedm:idlab-fn_inputFile_language ;
135+
rr:predicateObjectMap tedm:idlab-fn_toColumn_code ;
136+
] ;
137+
] ;
138+
rdfs:comment "Language of Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds" ;
139+
rdfs:label "BT-67(b)-Procedure-Language" ;
140+
] ;
141+
rdfs:comment "Exclusion Grounds of MG-ExclusionGround under ND-ExclusionGrounds" ;
142+
rdfs:label "BT-67(b)-Procedure" ;
143+
] ;
144+
rdfs:label "MG-ExclusionGround" .

mappings/package_eforms_sdk1.10_epo4.0/transformation/mappings/controlled-lists.rml.ttl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,20 @@ tedm:award-criterion-type a rr:TriplesMap ;
349349
]
350350
.
351351

352+
tedm:exclusion-ground a rr:TriplesMap ;
353+
rml:logicalSource
354+
[
355+
rml:source "transformation/resources/exclusion-ground.json" ;
356+
rml:iterator "$.results.bindings[*]" ;
357+
rml:referenceFormulation ql:JSONPath
358+
] ;
359+
rr:subjectMap
360+
[
361+
rml:reference
362+
"conceptURI.value" ;
363+
]
364+
.
365+
352366
tedm:number-fixed a rr:TriplesMap ;
353367
rml:logicalSource
354368
[

0 commit comments

Comments
 (0)